Postman : qu'est-ce que c'est, tests d'API et travail avec les requêtes

Auteur : IT Sectr Publié le : 2026-05-08 Temps de lecture : 9 min

Postman — une plateforme de test d'API avec interface graphique qui prend en charge les protocoles REST, GraphQL, WebSocket et gRPC. L'outil permet de créer et d'envoyer des requêtes HTTP, de les organiser en collections, d'automatiser les tests avec des scripts et de générer de la documentation pour les endpoints. Selon le Postman Learning Center (2026), plus de 25 millions de développeurs dans le monde utilisent la plateforme.

Points clés

  • Postman est un client d'API universel avec éditeur visuel de requêtes, collections et variables d'environnement.
  • Collections regroupent les requêtes avec possibilité d'exécution via Collection Runner avec des vérifications en JavaScript.
  • Les variables d'environnement permettent de basculer entre dev, staging et production sans modifier les requêtes manuellement.
  • L'automatisation des tests est implémentée via Pre-request Scripts et Tests en JavaScript avec des vérifications asynchrones.
  • La documentation est générée automatiquement à partir de la collection avec prise en charge de Markdown et des exemples de code dans différentes langues.

Qu'est-ce que Postman et ses principales fonctionnalités

Postman est une plateforme de développement et de test d'API, disponible en tant qu'application de bureau (Windows, macOS, Linux) et version web. Créé à l'origine comme extension Chrome en 2012, Postman est devenu un écosystème complet avec prise en charge de la surveillance, des mock servers et de la génération de code client.

Formats de requêtes et de réponses

Postman prend en charge toutes les méthodes HTTP : GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Le corps de la requête peut être aux formats JSON, XML, form-data, x-www-form-urlencoded et binary. La réponse est affichée avec coloration syntaxique, Pretty-print et possibilité d'afficher les en-têtes bruts.

Prise en charge de l'authentification

Les types d'authentification intégrés incluent Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key et AWS Signature. Postman ajoute automatiquement les en-têtes Authorization selon le type sélectionné, ce qui accélère le test des endpoints protégés sans copier les tokens manuellement.

Interface de Postman et navigation

L'interface de Postman se compose d'un panneau latéral (Collections, APIs, Environments), d'une zone de travail (Request Builder/Response Viewer) et d'un panneau inférieur (Console, Runner). L'onglet Params permet de modifier les paramètres de requête de l'URL en vue tabulaire, et l'onglet Headers gère les en-têtes HTTP.

Postman Console

Console (View → Show Postman Console) journalise toutes les requêtes et réponses réseau dans l'ordre chronologique, y compris les redirections intermédiaires et les en-têtes. C'est un outil indispensable lors du débogage de flux OAuth complexes et de chaînes de redirections lorsque le Response Viewer standard n'affiche que le résultat final.

Workspaces et travail d'équipe

Postman prend en charge les espaces de travail d'équipe avec versionnement des collections via Fork et Merge. Les membres de l'équipe peuvent commenter les requêtes, proposer des modifications et synchroniser les collections en temps réel. Public Workspace permet de publier la documentation d'API pour les développeurs externes.

Création et envoi de requêtes HTTP

Une requête de base dans Postman est créée en sélectionnant une méthode HTTP et en saisissant une URL dans la barre d'adresse. Après l'envoi, la réponse est affichée dans le panneau inférieur avec le code de statut, le temps d'exécution et la taille. Les paramètres de la requête sont encodés automatiquement lors de la saisie.

Variables dynamiques et snippets

Des variables dynamiques au format {{$variable}} peuvent être utilisées dans l'URL et le corps de la requête. Les variables intégrées {{$guid}}, {{$timestamp}} et {{$randomInt}} génèrent des valeurs uniques pour chaque requête. Les snippets de code sont disponibles via le bouton Code (), qui génère une requête équivalente en cURL, Python, JavaScript, Kotlin, Swift et d'autres langages.

javascript
// Exemple de script dans Pre-request : génération de signature HMAC
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
    key: "X-Signature",
    value: hash.toString()
});

Collections et variables d'environnement

Les collections sont des groupes de requêtes associées combinées par projet ou module fonctionnel. Chaque collection peut contenir des dossiers imbriqués, des en-têtes partagés et des scripts Pre-request exécutés avant chaque requête de la collection. L'ordre des requêtes est défini par glisser-déposer.

Variables d'environnement et variables globales

Postman prend en charge cinq niveaux de variables : global, collection, environment, data et local. La priorité de résolution des conflits va du local au global. Les fichiers d'environnement contiennent des paires clé-valeur pour différents environnements : development, staging, production. Le changement d'environnement modifie toutes les URL et tous les tokens automatiquement.

Niveau Portée Priorité
Local Requête actuelle 1 (la plus élevée)
Data Collection Runner (à partir de CSV/JSON) 2
Environment Environnement actif 3
Collection Collection entière 4
Global Espace de travail entier 5

Automatisation des tests d'API avec des scripts

Postman permet d'écrire des tests en JavaScript dans l'onglet Tests qui s'exécutent après la réception de la réponse. Les tests vérifient le code de statut, le corps de la réponse, les en-têtes et le temps d'exécution. Les résultats sont affichés dans le panneau Test Results avec des indicateurs de réussite colorés.

Bibliothèque pm et chaînage de requêtes

L'objet pm fournit des méthodes pour travailler avec la réponse : pm.response, pm.expect, pm.variables. Le chaînage de requêtes est implémenté en enregistrant les données de la réponse d'une requête dans une variable et en les utilisant dans la suivante. C'est la base pour construire des tests d'intégration et vérifier la logique métier via une séquence d'appels d'API.

javascript
// Test : vérification de la structure de la réponse et enregistrement du token
pm.test("Status code is 200", () => {
    pm.response.to.have.status(200);
});

const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);

Collection Runner et Newman

Collection Runner exécute toutes les requêtes de la collection séquentiellement, en exécutant des tests à chaque étape. Newman est la version console de Postman pour les pipelines CI/CD (Jenkins, GitHub Actions, GitLab CI). Newman exporte des rapports aux formats JSON, JUnit et HTML pour l'intégration avec les systèmes de surveillance.

Travail avec GraphQL et WebSocket

Les requêtes GraphQL dans Postman sont envoyées via POST vers un endpoint unique avec un corps au format JSON. L'onglet GraphQL (Beta) fournit un éditeur visuel avec coloration syntaxique, autocomplétion des champs et schéma. Les variables de requête sont transmises dans un panneau Variables séparé.

Tests WebSocket et Socket.IO

Postman prend en charge les connexions WebSocket via une interface séparée avec panneau de messages. Il est possible d'envoyer des messages texte et binaires, de consulter l'historique de connexion et de se reconnecter automatiquement en cas de déconnexion. Le client Socket.IO fonctionne en mode de compatibilité avec le protocole Engine.IO.

javascript
// Test WebSocket dans Postman via l'API pm
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
    pm.test("Echo response received", () => {
        pm.expect(event.data).to.eql("Hello");
    });
};

Mock servers et surveillance dans Postman

Les mock servers de Postman permettent d'émuler des endpoints d'API sur la base de collections existantes. C'est utile lorsque le backend n'est pas encore prêt, mais que le frontend ou l'application mobile est déjà en cours de développement. Un mock server renvoie un exemple de réponse de la collection avec des en-têtes et un code de statut corrects.

Création d'un Mock server

Un mock server est créé à partir de la collection en un clic : sélectionnez la collection → Mock Servers → Add a new mock server. Postman génère une URL unique qui peut être utilisée dans le code de l'application à la place de la vraie API. Pour chaque requête de la collection, le mock renvoie une Example Response enregistrée, ce qui permet de tester l'interface avant la fin du backend.

Surveillance d'API avec Postman Monitors

Monitors exécutent une collection selon un planning (toutes les 5 minutes, une heure ou un jour) et vérifient la disponibilité et l'exactitude de l'API. En cas d'échec d'un test, le moniteur envoie une notification par e-mail ou sur Slack. La surveillance fonctionne depuis le cloud Postman, ne nécessite pas de serveur séparé et prend en charge jusqu'à 10 000 requêtes par mois au tarif gratuit.

javascript
// Test pour la surveillance : vérification du temps de réponse
pm.test("Response time < 2000ms", () => {
    pm.expect(pm.response.responseTime).to.be.below(2000);
});

pm.test("Content-Type is JSON", () => {
    pm.response.to.have.header("Content-Type");
});

Sécurité et gestion des secrets

Postman fournit des mécanismes pour travailler en toute sécurité avec les clés d'API. Les variables de type Secret sont chiffrées et ne sont pas affichées dans l'interface. Pour le travail d'équipe, utilisez un Workspace avec les rôles Admin, Editor et Viewer.

Chiffrement des variables

Lors de la création d'une variable d'environnement, sélectionnez le type Secret : la valeur est masquée par des astérisques dans toutes les interfaces. Les secrets ne sont pas exportés dans la collection lors du partage et ne sont pas affichés dans les journaux de Newman. Il est recommandé de stocker les mots de passe et les tokens uniquement dans des variables Secret.

Intégration avec Vault

Postman prend en charge l'intégration avec HashiCorp Vault et AWS Secrets Manager. Les scripts Pre-request peuvent demander dynamiquement des secrets à partir d'un stockage externe, évitant ainsi de stocker des données sensibles dans les fichiers d'environnement de la collection.

Sécurité et gestion des secrets

Postman fournit des mécanismes pour travailler en toute sécurité avec les clés d'API. Les variables de type Secret sont chiffrées et ne sont pas affichées dans l'interface. Pour le travail d'équipe, utilisez un Workspace avec les rôles Admin, Editor et Viewer.

Chiffrement des variables

Lors de la création d'une variable d'environnement, sélectionnez le type Secret : la valeur est masquée par des astérisques dans toutes les interfaces. Les secrets ne sont pas exportés dans la collection lors du partage et ne sont pas affichés dans les journaux de Newman. Il est recommandé de stocker les mots de passe et les tokens uniquement dans des variables Secret.

Intégration avec Vault

Postman prend en charge l'intégration avec HashiCorp Vault et AWS Secrets Manager. Les scripts Pre-request peuvent demander dynamiquement des secrets à partir d'un stockage externe, évitant ainsi de stocker des données sensibles dans les fichiers d'environnement de la collection.

Questions fréquentes

En quoi Postman diffère-t-il d'Insomnia ?

Postman offre un écosystème plus large : collections, environnements, surveillance, mock servers et Newman pour CI/CD. Insomnia se concentre sur la légèreté et la vitesse avec une consommation de mémoire moindre. Postman convient mieux au travail d'équipe, Insomnia à un usage individuel.

Comment transmettre un token d'autorisation entre les requêtes ?

Dans Tests de la première requête, enregistrez le token dans l'environnement : pm.environment.set("token", pm.response.json().token). Dans la deuxième requête, utilisez la variable {{$token}} dans l'en-tête Authorization. Le Runner substituera automatiquement la valeur lors de l'exécution séquentielle.

Puis-je importer une commande cURL dans Postman ?

Oui, via le bouton Import → Raw Text. Postman analyse automatiquement la commande cURL et crée une requête avec les en-têtes, la méthode et le corps. Tous les drapeaux cURL sont pris en charge, y compris -H, -d, -F et -u. La conversion inverse est disponible via le bouton Code ().

Comment tester GraphQL dans Postman ?

Utilisez une requête POST avec un corps JSON : {"query": "..."}. L'onglet GraphQL fournit un éditeur visuel avec chargement du schéma via Introspection Query. Les variables de requête sont transmises dans le champ variables du même objet JSON.

Qu'est-ce que Newman et à quoi sert-il ?

Newman est la version console de Postman pour exécuter des collections en CI/CD. Il s'installe via npm, prend en charge les rapports HTML et l'intégration avec Jenkins, GitHub Actions et GitLab CI. Il permet d'automatiser les tests de régression d'API sans interface graphique.

Résumé

  • Postman est une plateforme universelle pour tester les API REST, GraphQL, WebSocket et gRPC avec 25 millions d'utilisateurs.
  • Les collections regroupent les requêtes par projet avec prise en charge des dossiers imbriqués et des scripts partagés.
  • Les variables d'environnement assurent la transition fluide entre dev, staging et production sans édition manuelle.
  • L'automatisation des tests est implémentée via des scripts JavaScript avec l'objet pm et Collection Runner pour l'exécution par lots.
  • Newman s'intègre aux pipelines CI/CD pour les tests de régression d'API à chaque déploiement.
  • Les variables dynamiques simplifient les tests avec des données uniques via $guid, $timestamp et $randomInt.
  • La prise en charge de WebSocket et GraphQL étend le champ d'application de Postman au-delà des requêtes REST classiques.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi