Tutoriel

Alternatives à Postman : Bruno et Hoppscotch sur VPS

Développement8 min de lecture12 étapes

En mars 2026, Postman a retiré les workspaces collaboratifs du plan gratuit, imposant un minimum de 19 $/utilisateur/mois aux petites équipes. Bruno et Hoppscotch offrent une alternative complète : collections stockées en local, zéro abonnement, et une migration depuis Postman qui préserve les variables d'environnement, les authentifications OAuth2 et les tests automatisés. Ce guide explique comment choisir, migrer et déployer l'un ou l'autre en moins d'une heure.

Sommaire· Pourquoi migrer depuis Postman maintenant1/8
  1. 01Pourquoi migrer depuis Postman maintenant
  2. 02Ce que vous gagnez en migrant
  3. 03Prérequis avant de commencer
  4. 04Migrer vers Bruno en six étapes
  5. 05Déployer Hoppscotch self-hosted avec Docker Compose
  6. 06Bruno vs Hoppscotch vs Insomnia — lequel choisir
  7. 07Migrer les tests automatisés Postman
  8. 08Héberger Hoppscotch sur un VPS ServOrbit

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 blame et 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

  1. Exporter vos collections depuis Postman

    Dans Postman, cliquez sur les … à côté de chaque collection, puis Exporter. Choisissez Collection v2.1 (recommended) et enregistrez le fichier JSON. Pour les variables d'environnement, allez dans Environments, cliquez sur … puis Export pour chaque environnement.

  2. Installer Bruno

    Téléchargez le paquet depuis usebruno.com/downloads pour 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.

  3. 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 exemple api-tests/). Bruno y crée un fichier bruno.json et stocke chaque requête comme un fichier .bru — un format texte lisible et diffable.

  4. 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 tests pm.test() sont convertis. Les variables {{variable}} sont préservées sous la syntaxe Bruno {{variable}}.

  5. 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és Secret dans Bruno pour ne pas être commités en clair dans Git.

  6. 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

  1. Récupérer le fichier Docker Compose officiel

    Clonez le dépôt : git clone https://github.com/hoppscotch/hoppscotch.git && cd hoppscotch. Le fichier compose.yml contient trois services : hoppscotch (frontend + API), db (PostgreSQL 15), et hoppscotch-migrate (migrations au démarrage).

  2. 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 bloc Auth.

  3. Démarrer les services

    Lancez docker compose up -d. Au premier démarrage, le service hoppscotch-migrate applique les migrations PostgreSQL, puis s'arrête — c'est normal. Vérifiez avec docker compose ps que hoppscotch et db sont en état running.

  4. Configurer le reverse proxy et le TLS

    Ajoutez un virtual host nginx qui proxifie le port 3000 vers localhost:3000 et le port 8080 (API backend) vers localhost:8080. Obtenez un certificat Let's Encrypt : certbot --nginx -d votre-domaine.com -d api.votre-domaine.com. Rechargez nginx : systemctl reload nginx.

  5. Créer le premier compte administrateur

    Ouvrez https://votre-domaine.com dans votre navigateur. Le premier compte créé reçoit automatiquement les droits admin. Accédez à https://votre-domaine.com/admin pour gérer les utilisateurs, activer ou désactiver les méthodes d'authentification, et définir les politiques d'équipe.

  6. 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 menu Share 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èreBrunoHoppscotch self-hostedInsomnia open-core
ModèleClient de bureau (MIT)Web app self-hosted (MIT)Client de bureau (open-core, Apache 2.0)
Stockage des collectionsFichiers `.bru` dans GitBase PostgreSQL sur votre VPSFichiers locaux ou cloud payant
Collaboration temps réelVia Git (pull/push)Oui, native dans l'UI webNon sur le plan gratuit (cloud requis)
RAM requise< 200 Mo (client seul)1 Go minimum (serveur)< 300 Mo (client seul)
Import Postman v2.1Oui, natifOui, natifOui, natif
OAuth2 / auth avancéeOuiOui, avec providers configurablesOui
Tests automatisés (scripts)Oui (JS)Oui (JS)Oui (JS)
Déploiement équipeAucun serveur — partage via GitDocker Compose, 1 VPSAbonnement cloud ou auto-hébergement Enterprise
Accès hors ligneTotalPartiel (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.

Hébergez votre outil de test d'API sur un VPS développeur

ServOrbit propose des VPS avec accès root, IPv4 dédiée et Docker préconfiguré. Déployez Hoppscotch self-hosted en moins d'une heure, sans configuration réseau supplémentaire.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet