Retour au blog
Développement2026-09-126 min

Comment tester une API REST sans Postman (gratuit, dans le navigateur)

Postman te saoule avec ses 200 MB d'installation et son compte obligatoire ? Voici 3 alternatives légères, dont une 100% gratuite et sans install.

Par Jessy Ngnambongo
... vues|Partager

J'utilise Postman depuis 2017. Mais en 2024, j'ai décidé de l'arrêter. Pourquoi ?

  • 200 MB d'install
  • Un compte obligatoire pour sync
  • L'app Electron qui bouffe 1.5 GB de RAM
  • Des features premium cachées derrière un paywall

J'ai cherché une alternative. J'en ai trouvé 3 qui valent le coup, plus un outil que t'as déjà sur ta machine.

Les 3 alternatives à Postman en 2026

1. Insomnia (l'open source)

  • ✅ Gratuit et open source
  • ✅ Plus léger que Postman (~80 MB)
  • ❌ Compte optionnel (mais sync galère sans)
  • ❌ Pas mal de features payantes maintenant

Pour qui : devs qui veulent une app native, pas un outil web.

2. Hoppscotch (l'open source web)

  • ✅ 100% web, rien à installer
  • ✅ Open source
  • ✅ Self-hostable
  • ❌ UI un peu chargée
  • ✅ Génère le code de ta requête (cURL, fetch, axios, Python…)

Pour qui : devs qui veulent du web, du gratuit, et de l'open source.

3. Bruno (le nouveau challenger)

  • ✅ Open source
  • ✅ Stocke les requêtes en fichiers .bru dans ton repo
  • ✅ Versionné avec Git (fini la perte de collections)
  • ❌ App desktop à installer

Pour qui : équipes qui veulent versionner leurs requêtes API avec le code.

Le bonus : curl, déjà installé

Avant d'installer quoi que ce soit, regarde ton terminal. curl est livré avec macOS, Linux et Windows 10/11.

curl -i https://jsonplaceholder.typicode.com/todos/1
  • ✅ Rien à installer, pas de compte
  • ✅ Pas de souci de CORS : la requête ne part pas d'un navigateur
  • ❌ Moins confortable pour les gros bodies JSON

Pour qui : les tests rapides et les scripts.

Limite connue des outils web : CORS peut bloquer certaines requêtes envoyées depuis le navigateur. Hoppscotch propose une extension et un proxy pour contourner ça. Sinon, repasse par curl.

Comment tester une API en 5 étapes

Étape 1 : Choisis ta méthode

GET pour lire, POST pour créer, PUT pour update, DELETE pour supprimer, PATCH pour update partiel.

Étape 2 : Tape ton URL

https://jsonplaceholder.typicode.com/todos/1

Étape 3 : Ajoute des headers (si besoin)

Content-Type: application/json
Authorization: Bearer eyJhbGciOi...

Étape 4 : Ajoute un body (pour POST/PUT)

{
  "title": "Apprendre à tester une API",
  "completed": false
}

Étape 5 : Clique sur Send

Tu reçois :

  • Le status code (200 OK, 404 Not Found, 500 Server Error)
  • Le temps de réponse (en ms)
  • La taille de la réponse
  • Le body formaté (JSON pretty-print)
  • Les headers de la réponse

Les 4 codes HTTP que tu dois connaître par cœur

CodeSignificationAction
2xxTout va bienContinue
3xxRedirectionSuis la redirection
4xxT'as merdéFix ton code client
5xxLe serveur a merdéFix le backend

Détails utiles :

  • 200 OK : succès
  • 201 Created : ressource créée (POST)
  • 204 No Content : succès mais rien à renvoyer (DELETE)
  • 400 Bad Request : ta requête est mal formée
  • 401 Unauthorized : t'es pas authentifié
  • 403 Forbidden : t'es authentifié mais t'as pas le droit
  • 404 Not Found : la ressource existe pas
  • 429 Too Many Requests : rate limit, attends
  • 500 Internal Server Error : le serveur a crashé
  • 503 Service Unavailable : le serveur est down ou en maintenance

Comment débugger un 401 Unauthorized

Tu reçois un 401 sur ton endpoint protégé. Voici comment diagnostiquer :

  1. Vérifie ton header Authorization : est-ce que le token est bien là ?
  2. Décode ton JWT : est-ce qu'il est expiré ? → JWT Decoder
  3. Vérifie l'algo : Bearer ou Basic ? Le backend attend quoi ?
  4. Teste avec curl : curl -H "Authorization: Bearer xxx" https://api.com/me
  5. Regarde les logs serveur : souvent y'a plus d'info côté backend

Le workflow que j'utilise au quotidien

1. Teste en local avec Hoppscotch (ou curl)
2. Vérifie le status, le body, les headers
3. Copie le code généré (fetch, axios, cURL)
4. Colle dans mon code de prod
5. Teste en staging
6. Deploy

Astuce : pour les APIs en CORS restrictif, je génère le code cURL, je le colle dans mon terminal, et j'ai pas le souci CORS.

La fonctionnalité qui change tout : la génération de code

Tu fais une requête POST avec un body JSON et un header Authorization. Hoppscotch, Insomnia et Bruno savent tous générer le code correspondant :

// fetch
const response = await fetch('https://api.com/users', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer eyJhbG...'
  },
  body: JSON.stringify({ name: 'Jean', email: '[email protected]' })
});
const data = await response.json();
# Python requests
import requests
response = requests.post(
    'https://api.com/users',
    headers={'Authorization': 'Bearer eyJhbG...'},
    json={'name': 'Jean', 'email': '[email protected]'}
)
# cURL
curl -X POST 'https://api.com/users' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer eyJhbG...' \
  -d '{"name": "Jean", "email": "[email protected]"}'

Tu copies, tu colles dans ton projet, c'est prêt. Pas de guessing sur la syntaxe.

TL;DR

  • 3 alternatives à Postman : Insomnia (natif), Hoppscotch (web), Bruno (requêtes en fichiers)
  • Sans rien installer : curl, directement dans ton terminal
  • Codes HTTP : 2xx = OK, 4xx = t'as merdé, 5xx = serveur a merdé
  • Génération de code : copy-paste direct dans ton projet
  • Pour CORS : génère le cURL et teste en terminal

Tu reçois un 401 ? Colle ton token dans mon décodeur JWT pour voir s'il a expiré.

Y'a d'autres outils dev gratuits sur JcHub → jchub.dev/fr/outils

#Développement#api tester#postman alternative#client http gratuit