Pourquoi migrer depuis Postman maintenant
Jusqu'en février 2026, Postman permettait de partager des collections en équipe sur son plan gratuit. Depuis la mise à jour de mars 2026, les workspaces collaboratifs sont réservés aux abonnés payants, avec un tarif de 19 $/utilisateur/mois au minimum (plan Basic). Pour une équipe de cinq développeurs, cela représente 95 $/mois, soit 1 140 $/an, pour un outil dont la valeur principale est le partage de collections. Pour une équipe de dix personnes, la facture dépasse 2 000 $ par an.
Deux alternatives open source couvrent ce besoin sans abonnement. Bruno stocke les collections directement dans votre dépôt Git — chaque requête est un fichier texte versionnable, lisible par tout outil de revue de code. Hoppscotch propose une interface web collaborative, déployable sur votre propre VPS avec Docker Compose en moins de vingt minutes. Les deux projets importent nativement les collections Postman et conservent les variables d'environnement, les scripts de pré-requête et les tests automatisés.
Le choix entre les deux dépend de votre flux de travail : Bruno convient aux équipes qui travaillent déjà en Git et n'ont pas besoin de synchronisation en temps réel — chaque push rend les changements disponibles à tous. Hoppscotch convient aux équipes qui partagent des environnements de test actifs, préfèrent une interface web accessible depuis n'importe quel poste, et souhaitent une visibilité immédiate sur les requêtes modifiées par un collègue.
Ce que vous gagnez en migrant
- Zéro abonnement — Bruno est un client de bureau open source (MIT), Hoppscotch se déploie sur n'importe quel VPS avec Docker
- Collections versionnées — Bruno stocke chaque requête dans un fichier
.bru:git diff,git blameet les revues de code s'appliquent naturellement - Import direct depuis Postman — les deux outils lisent les exports JSON Postman v2.1 et préservent variables, authentifications OAuth2 et tests automatisés
- Aucune donnée envoyée à un tiers — Hoppscotch self-hosted ne contacte aucun serveur externe ; Bruno ne synchronise jamais vos requêtes en cloud
- Ressources légères — Bruno n'a pas de backend ; Hoppscotch tient sur 1 vCPU / 1 Go RAM en usage courant d'équipe
- Équipe sans limite de sièges — un seul déploiement Hoppscotch sert toute l'équipe, quelle que soit sa taille
Prérequis avant de commencer
Pour Bruno, seul le poste de chaque développeur est concerné : le client de bureau s'installe sur macOS, Linux et Windows, sans serveur. Les collections vivent dans un dossier de votre dépôt Git existant. Aucun compte n'est requis, aucun service externe n'est contacté au démarrage.
Pour Hoppscotch self-hosted, vous avez besoin d'un VPS avec au minimum 1 vCPU et 1 Go de RAM (2 Go recommandés pour l'instance avec base de données et cache), Docker et Docker Compose installés, un nom de domaine pointant vers le serveur, et un certificat TLS (Let's Encrypt via Certbot ou Traefik). Prévoyez également un accès SSH au serveur pour la configuration initiale et les mises à jour.
Dans les deux cas, un export de vos collections Postman au format JSON v2.1 est nécessaire. Dans Postman, allez dans Fichier → Exporter → Collection v2.1 pour chaque collection. Les environnements se téléchargent séparément depuis l'onglet Environments. Conservez ces fichiers : ils serviront à la fois pour la migration initiale et comme sauvegarde.
Migrer vers Bruno en six étapes
Exporter vos collections depuis Postman
Dans Postman, cliquez sur les
…à côté de chaque collection, puisExporter. ChoisissezCollection v2.1 (recommended)et enregistrez le fichier JSON. Pour les variables d'environnement, allez dansEnvironments, cliquez sur…puisExportpour chaque environnement.Installer Bruno
Téléchargez le paquet depuis
usebruno.com/downloadspour votre OS. Sur Debian/Ubuntu :sudo dpkg -i bruno_<version>_amd64_linux.deb. Sur macOS via Homebrew :brew install --cask bruno. Bruno est signé et ne nécessite pas de compte.Créer une collection Bruno dans votre dépôt
Ouvrez Bruno, cliquez
Create Collection, choisissez un dossier dans votre dépôt Git (par exempleapi-tests/). Bruno y crée un fichierbruno.jsonet stocke chaque requête comme un fichier.bru— un format texte lisible et diffable.Importer la collection Postman
Dans Bruno, cliquez
Import Collection→Postman Collection v2 / v2.1, puis sélectionnez votre fichier JSON exporté. Les requêtes, les dossiers, les scripts de pré-requête et les testspm.test()sont convertis. Les variables{{variable}}sont préservées sous la syntaxe Bruno{{variable}}.Importer les variables d'environnement
Cliquez sur le sélecteur d'environnement en haut à droite →
Configure→Import. Sélectionnez le fichier JSON d'environnement exporté depuis Postman. Vérifiez que les secrets sont marquésSecretdans Bruno pour ne pas être commités en clair dans Git.Versionner et partager la collection
Commitez le dossier
api-tests/dans votre dépôt :git add api-tests/ && git commit -m 'feat: migrate Postman collections to Bruno'. Chaque développeur clone le dépôt et ouvre le dossier dans Bruno — aucune configuration de compte, aucun workspace cloud.
Déployer Hoppscotch self-hosted avec Docker Compose
Récupérer le fichier Docker Compose officiel
Clonez le dépôt :
git clone https://github.com/hoppscotch/hoppscotch.git && cd hoppscotch. Le fichiercompose.ymlcontient trois services :hoppscotch(frontend + API),db(PostgreSQL 15), ethoppscotch-migrate(migrations au démarrage).Configurer les variables d'environnement
Copiez le fichier exemple :
cp .env.example .env. Renseignez a minima :DATABASE_URL=postgresql://postgres:yourpassword@db:5432/hoppscotch,JWT_SECRET(une chaîne aléatoire de 32 caractères minimum),VITE_BASE_URL=https://api.votre-domaine.com,VITE_SHORTCODE_BASE_URL=https://votre-domaine.com. Pour OAuth2 (login via GitHub, Google ou GitLab), renseignez les clés correspondantes dans le blocAuth.Démarrer les services
Lancez
docker compose up -d. Au premier démarrage, le servicehoppscotch-migrateapplique les migrations PostgreSQL, puis s'arrête — c'est normal. Vérifiez avecdocker compose psquehoppscotchetdbsont en étatrunning.Configurer le reverse proxy et le TLS
Ajoutez un virtual host nginx qui proxifie le port 3000 vers
localhost:3000et le port 8080 (API backend) verslocalhost:8080. Obtenez un certificat Let's Encrypt :certbot --nginx -d votre-domaine.com -d api.votre-domaine.com. Rechargez nginx :systemctl reload nginx.Créer le premier compte administrateur
Ouvrez
https://votre-domaine.comdans votre navigateur. Le premier compte créé reçoit automatiquement les droits admin. Accédez àhttps://votre-domaine.com/adminpour gérer les utilisateurs, activer ou désactiver les méthodes d'authentification, et définir les politiques d'équipe.Importer les collections Postman dans Hoppscotch
Dans Hoppscotch, allez dans
Collections→Import / Export→Import from Postman. Sélectionnez votre fichier JSON v2.1. Les collections, dossiers, requêtes, variables et scripts de tests sont importés. Partagez la collection avec votre équipe via le menuShare Collection— chaque membre connecté y a accès en temps réel.
Insomnia, troisième client d'API couramment cité, a traversé une période de turbulences en 2023 : l'équipe Kong a supprimé la synchronisation locale au profit d'un compte cloud obligatoire, avant de faire marche arrière sous la pression de la communauté. Le projet est aujourd'hui scindé en deux branches — insomnium (fork community, offline-first) et Insomnia officiel (open-core avec cloud optionnel). La comparaison ci-dessous couvre Insomnia dans son état actuel (open-core, licence Apache 2.0), qui reste une alternative valide pour les développeurs solo mais perd de l'avantage dès que la collaboration d'équipe est centrale.
Bruno vs Hoppscotch vs Insomnia — lequel choisir
Faites défiler le tableau
| Critère | Bruno | Hoppscotch self-hosted | Insomnia open-core |
|---|---|---|---|
| Modèle | Client de bureau (MIT) | Web app self-hosted (MIT) | Client de bureau (open-core, Apache 2.0) |
| Stockage des collections | Fichiers `.bru` dans Git | Base PostgreSQL sur votre VPS | Fichiers locaux ou cloud payant |
| Collaboration temps réel | Via Git (pull/push) | Oui, native dans l'UI web | Non sur le plan gratuit (cloud requis) |
| RAM requise | < 200 Mo (client seul) | 1 Go minimum (serveur) | < 300 Mo (client seul) |
| Import Postman v2.1 | Oui, natif | Oui, natif | Oui, natif |
| OAuth2 / auth avancée | Oui | Oui, avec providers configurables | Oui |
| Tests automatisés (scripts) | Oui (JS) | Oui (JS) | Oui (JS) |
| Déploiement équipe | Aucun serveur — partage via Git | Docker Compose, 1 VPS | Abonnement cloud ou auto-hébergement Enterprise |
| Accès hors ligne | Total | Partiel (interface offline, sync impossible) | Total |
Migrer les tests automatisés Postman
Les scripts pm.test() de Postman utilisent la bibliothèque pm globale. Bruno et Hoppscotch exposent tous deux une API compatible : test('nom du test', () => { ... }) avec expect() pour les assertions. La conversion est directe pour les assertions sur le code de statut (pm.response.to.have.status(200) → expect(response.status).toBe(200)) et sur le corps JSON (pm.response.json() reste identique). Les scripts de pré-requête qui modifient des variables d'environnement (pm.environment.set(...)) sont pris en charge nativement par les deux outils.
Héberger Hoppscotch sur un VPS ServOrbit
Un VPS avec Docker préconfiguré convient parfaitement pour héberger Hoppscotch : le stack hoppscotch + db (PostgreSQL 15) + nginx tient dans 1 Go de RAM en usage d'équipe courant, et monte à 2 Go si vous activez la génération de mocks ou l'intégration CI. L'IPv4 dédiée simplifie la configuration DNS et garantit que le trafic de votre instance de test n'est jamais mutualisé.
Un VPS dédié à vos outils développeurs centralise aussi les autres outils de votre stack : Gitea pour le code source, Woodpecker CI pour l'intégration continue, et Hoppscotch pour les tests d'API forment un ensemble cohérent sur un même serveur. ServOrbit propose des VPS pensés pour les développeurs, avec Docker préconfiguré, pour héberger Hoppscotch ou n'importe quelle API à partir de 99 DH/mois.