[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"seo-verification":3,"blog-postman-alternatives-self-hosted-api-testing-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-postman-alternatives-self-hosted-api-testing-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":153,"ctaBody":154,"ctaButton":155,"ctaUrl":156,"relatedPosts":157},487,"postman-alternatives-self-hosted-api-testing",{"fr":10,"en":12,"ar":13,"es":14},"postman-alternatives-bruno-hoppscotch-on-vps","بدائل-postman-bruno-hoppscotch-على-vps","alternativas-a-postman-bruno-y-hoppscotch-en-vps","Alternatives à Postman : Bruno et Hoppscotch sur VPS","Postman a supprimé les workspaces gratuits en mars 2026. Migrez vers Bruno ou Hoppscotch self-hosted en moins d'une heure, sans perdre vos collections.",8,0,false,"2026-10-21T00:00:00+00:00","2026-10-21T15:21:33+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fpostman-alternatives-self-hosted-api-testing-poster.svg","En mars 2026, Postman a retiré les workspaces collaboratifs du plan gratuit, imposant un minimum de 19 $\u002Futilisateur\u002Fmois 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.",[35,39,49,52,74,95,98,146,150],{"type":36,"title":37,"body":38},"h2","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 $\u002Futilisateur\u002Fmois au minimum (plan Basic). Pour une équipe de cinq développeurs, cela représente 95 $\u002Fmois, soit 1 140 $\u002Fan, 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.\n\nDeux 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.\n\nLe 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.",{"type":40,"title":41,"items":42},"ul","Ce que vous gagnez en migrant",[43,44,45,46,47,48],"**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 \u002F 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",{"type":36,"title":50,"body":51},"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.\n\nPour 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.\n\nDans 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.",{"type":53,"title":54,"steps":55},"steps","Migrer vers Bruno en six étapes",[56,59,62,65,68,71],{"title":57,"body":58},"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.",{"title":60,"body":61},"Installer Bruno","Téléchargez le paquet depuis `usebruno.com\u002Fdownloads` pour votre OS. Sur Debian\u002FUbuntu : `sudo dpkg -i bruno_\u003Cversion>_amd64_linux.deb`. Sur macOS via Homebrew : `brew install --cask bruno`. Bruno est signé et ne nécessite pas de compte.",{"title":63,"body":64},"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\u002F`). Bruno y crée un fichier `bruno.json` et stocke chaque requête comme un fichier `.bru` — un format texte lisible et diffable.",{"title":66,"body":67},"Importer la collection Postman","Dans Bruno, cliquez `Import Collection` → `Postman Collection v2 \u002F 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}}`.",{"title":69,"body":70},"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.",{"title":72,"body":73},"Versionner et partager la collection","Commitez le dossier `api-tests\u002F` dans votre dépôt : `git add api-tests\u002F && 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.",{"type":53,"title":75,"steps":76},"Déployer Hoppscotch self-hosted avec Docker Compose",[77,80,83,86,89,92],{"title":78,"body":79},"Récupérer le fichier Docker Compose officiel","Clonez le dépôt : `git clone https:\u002F\u002Fgithub.com\u002Fhoppscotch\u002Fhoppscotch.git && cd hoppscotch`. Le fichier `compose.yml` contient trois services : `hoppscotch` (frontend + API), `db` (PostgreSQL 15), et `hoppscotch-migrate` (migrations au démarrage).",{"title":81,"body":82},"Configurer les variables d'environnement","Copiez le fichier exemple : `cp .env.example .env`. Renseignez a minima : `DATABASE_URL=postgresql:\u002F\u002Fpostgres:yourpassword@db:5432\u002Fhoppscotch`, `JWT_SECRET` (une chaîne aléatoire de 32 caractères minimum), `VITE_BASE_URL=https:\u002F\u002Fapi.votre-domaine.com`, `VITE_SHORTCODE_BASE_URL=https:\u002F\u002Fvotre-domaine.com`. Pour OAuth2 (login via GitHub, Google ou GitLab), renseignez les clés correspondantes dans le bloc `Auth`.",{"title":84,"body":85},"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`.",{"title":87,"body":88},"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`.",{"title":90,"body":91},"Créer le premier compte administrateur","Ouvrez `https:\u002F\u002Fvotre-domaine.com` dans votre navigateur. Le premier compte créé reçoit automatiquement les droits admin. Accédez à `https:\u002F\u002Fvotre-domaine.com\u002Fadmin` pour gérer les utilisateurs, activer ou désactiver les méthodes d'authentification, et définir les politiques d'équipe.",{"title":93,"body":94},"Importer les collections Postman dans Hoppscotch","Dans Hoppscotch, allez dans `Collections` → `Import \u002F 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.",{"type":96,"body":97},"p","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.",{"type":99,"title":100,"headers":101,"rows":106},"comparison","Bruno vs Hoppscotch vs Insomnia — lequel choisir",[102,103,104,105],"Critère","Bruno","Hoppscotch self-hosted","Insomnia open-core",[107,112,117,122,127,130,134,137,142],[108,109,110,111],"Modèle","Client de bureau (MIT)","Web app self-hosted (MIT)","Client de bureau (open-core, Apache 2.0)",[113,114,115,116],"Stockage des collections","Fichiers `.bru` dans Git","Base PostgreSQL sur votre VPS","Fichiers locaux ou cloud payant",[118,119,120,121],"Collaboration temps réel","Via Git (pull\u002Fpush)","Oui, native dans l'UI web","Non sur le plan gratuit (cloud requis)",[123,124,125,126],"RAM requise","\u003C 200 Mo (client seul)","1 Go minimum (serveur)","\u003C 300 Mo (client seul)",[128,129,129,129],"Import Postman v2.1","Oui, natif",[131,132,133,132],"OAuth2 \u002F auth avancée","Oui","Oui, avec providers configurables",[135,136,136,136],"Tests automatisés (scripts)","Oui (JS)",[138,139,140,141],"Déploiement équipe","Aucun serveur — partage via Git","Docker Compose, 1 VPS","Abonnement cloud ou auto-hébergement Enterprise",[143,144,145,144],"Accès hors ligne","Total","Partiel (interface offline, sync impossible)",{"type":147,"title":148,"body":149},"tip","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.",{"type":36,"title":151,"body":152},"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é.\n\nUn 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\u002Fmois.","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.","Voir les VPS développeurs","\u002Fsolutions\u002Fdeveloppeurs",[158,177,200],{"id":159,"slug":160,"slugs":161,"title":165,"excerpt":166,"readTime":167,"views":168,"isPinned":19,"publishedAt":169,"updatedAt":170,"category":171,"categories":172,"featuredImage":30,"bgImage":31,"posterImage":174,"relatedSolution":175},45,"deployer-fastapi-vps",{"fr":160,"en":162,"ar":163,"es":164},"deploy-a-fastapi-application-on-a-vps","نشر-تطبيق-fastapi-على-vps","desplegar-una-aplicacion-fastapi-en-un-vps","Déployer FastAPI sur un VPS : guide complet production","Déployez FastAPI sur un VPS avec Docker multi-stage, Gunicorn, PostgreSQL, CI\u002FCD GitHub Actions et monitoring. Guide Python production 2025.",10,3,"2026-05-06T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[173],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-fastapi-vps-poster.svg",{"categorySlug":25,"appSlug":176},"fastapi",{"id":178,"slug":179,"slugs":180,"title":184,"excerpt":185,"readTime":186,"views":18,"isPinned":19,"publishedAt":187,"updatedAt":188,"category":189,"categories":195,"featuredImage":30,"bgImage":31,"posterImage":197,"relatedSolution":198},74,"heberger-gitea",{"fr":179,"en":181,"ar":182,"es":183},"host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","alojar-gitea-en-un-vps","Héberger Gitea sur votre propre VPS en 2026","Déployez Gitea 1.25 sur VPS avec Docker et SSL. Guide : Gitea Actions CI\u002FCD, comparatif Gitea vs Forgejo v16, administration quotidienne, dépannage SSH et HTTPS.",13,"2026-04-07T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":190,"name":191,"slug":192,"color":193,"icon":194},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[196],{"id":190,"name":191,"slug":192,"color":193,"icon":194},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":25,"appSlug":199},"gitea",{"id":201,"slug":202,"slugs":203,"title":207,"excerpt":208,"readTime":209,"views":210,"isPinned":19,"publishedAt":211,"updatedAt":212,"category":213,"categories":218,"featuredImage":30,"bgImage":31,"posterImage":220,"relatedSolution":30},212,"woodpecker-ci-pipeline-vps-forgejo",{"fr":202,"en":204,"ar":205,"es":206},"woodpecker-ci-and-forgejo-cicd-pipeline-on-a-vps","woodpecker-ci-وforgejo-خط-أنابيب-cicd-على-خادم-vps","woodpecker-ci-forgejo-pipeline-cicd-vps","Woodpecker CI et Forgejo : pipeline CI\u002FCD sur VPS","Déployez Woodpecker CI v3 avec Forgejo sur votre VPS : installation Docker Compose, pipeline YAML, secrets, runners multi-arch et dépannage OAuth.",11,1,"2026-08-02T00:00:00+00:00","2026-10-20T23:18:05+00:00",{"id":214,"name":215,"slug":216,"color":217,"icon":216},2,"Automatisation","automatisation","bg-brand-action\u002F10 text-brand-action",[219],{"id":214,"name":215,"slug":216,"color":217,"icon":216},"\u002Fblog\u002Fcovers\u002Fwoodpecker-ci-pipeline-vps-forgejo-poster.svg",1792596479639]