Qu'est-ce que Postman ?
Postman est l'outil de développement d'API le plus populaire au monde ! 🚀 Il permet de tester, documenter et automatiser vos appels API REST sans écrire une ligne de code (au début !).
✨ Disponible sur postman.com
💻 Desktop app (Windows, Mac, Linux) + version web
🆓 Version gratuite très complète
🚀 Installation & Première Requête
1️⃣ Installation
- Va sur
postman.com/downloads - Télécharge Postman pour ton OS
- Installe et crée un compte (ou skip et utilise en local)
- Tu arrives sur l'interface principale ! 🎉
2️⃣ Ta Première Requête GET
1. Clique sur "New" → "HTTP Request" 2. Dans la barre d'URL, entre : https://jsonplaceholder.typicode.com/users 3. Laisse le verbe sur "GET" 4. Clique sur "Send" 🚀 → Tu verras la liste de 10 users en JSON !
🌐 jsonplaceholder.typicode.com est une API de test gratuite parfaite pour apprendre !
🔤 Les Verbes HTTP dans Postman
GET - Récupérer des données
GET✅ Pas de body nécessaire
POST - Créer une ressource
POST🔧 Body → raw → JSON (dans Postman)
PUT - Mettre à jour complètement
PUT💡 Remplace TOUTE la ressource
PATCH - Mettre à jour partiellement
PATCH✅ Ne modifie que les champs fournis
DELETE - Supprimer une ressource
DELETE❌ Supprime la ressource (souvent retourne 204 No Content)
📚 Collections - Organiser tes Requêtes
Qu'est-ce qu'une Collection ?
Une collection est un dossier qui regroupe plusieurs requêtes. C'est comme un projet API organisé ! 📁
Exemple de structure :
📁 My Blog API
├─ 📄 GET All Posts
├─ 📄 GET Post by ID
├─ 📄 POST Create Post
├─ 📄 PUT Update Post
└─ 📄 DELETE Post
💡 Créer une Collection
- Clique sur "Collections" dans la barre latérale
- Clique sur "+" ou "Create Collection"
- Nomme ta collection (ex: "JSON Placeholder Tests")
- Ajoute des requêtes avec "Add Request"
- Tu peux même ajouter des dossiers pour sous-catégoriser ! 📂
🌍 Environnements - Variables Dynamiques
Pourquoi des Environnements ?
Imagine : tu développes en local (localhost:3000),
tu testes en staging (staging.api.com) et tu déploies en prod (api.com).
Plutôt que de modifier l'URL dans 50 requêtes, tu utilises une variable ! 🎯
📝 Créer un Environnement
- Clique sur l'icône "Environments" (🌍)
- Clique sur "+" pour créer un nouvel environnement
- Nomme-le (ex: "Development")
- Ajoute une variable :
| Variable | Initial Value | Current Value |
|---|---|---|
| base_url | https://jsonplaceholder.typicode.com | https://jsonplaceholder.typicode.com |
Maintenant, dans tes requêtes, utilise :
💡 Astuce Pro : Crée un environnement pour chaque contexte (Dev, Staging, Prod). Change d'environnement en un clic ! 🔄
🔐 Headers & Authentication
Headers HTTP
Les headers transportent des métadonnées (type de contenu, auth, etc.)
Content-Type
Content-Type: application/json
→ Indique que tu envoies du JSON
Authorization
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
→ Token JWT pour l'authentification
Accept
Accept: application/json
→ Indique le format de réponse souhaité
🔑 Authentification dans Postman
Postman gère plusieurs types d'authentification automatiquement !
1. Bearer Token (JWT)
- Onglet "Authorization"
- Type → "Bearer Token"
- Colle ton token
Token: eyJhbGciOiJIUzI1NiIs...
2. API Key
- Type → "API Key"
- Key:
X-API-Key - Value: ta clé API
- Add to: Header
3. Basic Auth
- Type → "Basic Auth"
- Username: ton username
- Password: ton password
🧪 Tests Automatiques avec Scripts
Tester les Réponses Automatiquement
Postman permet d'écrire des tests JavaScript pour vérifier automatiquement le code de statut, le contenu JSON, etc. 🎯
Onglet "Tests" dans ta requête :
// Test 1: Vérifier le statut 200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// Test 2: Vérifier que la réponse est du JSON
pm.test("Response is JSON", function () {
pm.response.to.be.json;
});
// Test 3: Vérifier un champ spécifique
pm.test("Response has userId", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.userId).to.exist;
pm.expect(jsonData.userId).to.eql(1);
});
// Test 4: Temps de réponse < 500ms
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
✅ Quand tu envoies la requête, les tests s'exécutent automatiquement et tu vois les résultats dans l'onglet "Test Results" ! 🎉
🔄 Pre-request Scripts
Les scripts avant la requête permettent de générer des données dynamiques !
// Générer un timestamp
pm.environment.set("timestamp", Date.now());
// Générer un ID aléatoire
pm.environment.set("randomId", Math.floor(Math.random() * 1000));
// Générer un UUID
const uuid = require('uuid');
pm.environment.set("uuid", uuid.v4());
🏃 Collection Runner - Automation
Exécuter Toutes les Requêtes en Série
Le Collection Runner permet d'exécuter toute une collection d'un coup, parfait pour les tests d'intégration ! 🚀
- Clique sur ta collection
- Clique sur "Run" (icône play ▶️)
- Sélectionne les requêtes à exécuter
- Configure le nombre d'itérations
- Clique sur "Run [Nom de ta collection]"
✨ Fonctionnalités avancées :
- • Importer un fichier CSV/JSON pour tester avec des données différentes
- • Ajouter des délais entre les requêtes (delay)
- • Sauvegarder les réponses pour analyse
- • Exporter les résultats de tests
🤖 Newman - CLI pour CI/CD
Newman est la version ligne de commande de Postman. Parfait pour l'automatisation ! 🛠️
# Installation npm install -g newman # Exécuter une collection newman run my-collection.json # Avec un environnement newman run collection.json -e environment.json # Générer un rapport HTML newman run collection.json -r html
💡 Use case : Intégrer Newman dans ton pipeline CI/CD (GitHub Actions, GitLab CI, etc.) pour tester automatiquement ton API à chaque commit ! 🎯
💎 Astuces Pro
⚡ Raccourcis Clavier
Ctrl/Cmd + Enter→ Envoyer la requêteCtrl/Cmd + S→ SauvegarderCtrl/Cmd + K→ Recherche globale
📝 Variables Dynamiques
{{`$randomInt`}}→ Entier aléatoire{{`$randomEmail`}}→ Email aléatoire{{`$timestamp`}}→ Timestamp actuel
🔄 Chainer les Requêtes
Sauvegarde le résultat d'une requête dans une variable pour l'utiliser dans la suivante :
🌐 Mock Servers
Postman peut créer un mock server pour simuler une API avant même qu'elle existe ! Parfait pour le front-end en parallèle du back-end.
🎯 Exercice Pratique : Blog API
Mission : Créer une Collection Complète
Utilise l'API jsonplaceholder.typicode.com pour créer :
-
Collection "Blog API Tests"
- GET /posts → Récupérer tous les articles
- GET /posts/1 → Récupérer l'article avec ID 1
- POST /posts → Créer un nouvel article
- PUT /posts/1 → Mettre à jour l'article 1
- DELETE /posts/1 → Supprimer l'article 1
-
Environnement "JSONPlaceholder"
- Variable :
base_url= https://jsonplaceholder.typicode.com
- Variable :
-
Ajouter des Tests
- Vérifier que GET /posts retourne status 200
- Vérifier que POST /posts retourne status 201
- Vérifier que la réponse contient un champ "id"
-
Runner
- Exécute toute la collection avec le Runner
- Vérifie que tous les tests passent ✅
🎉 Résultat Attendu
Une collection organisée, réutilisable, avec des tests automatiques. Tu peux la partager avec ton équipe ou l'exporter pour Newman ! 🚀
🎮 Quiz Postman
1. À quoi sert une Collection dans Postman ?
2. Comment utilise-t-on une variable d'environnement ?
3. Quel onglet utilise-t-on pour ajouter un Bearer Token ?
4. Newman est :
5. Où écrire des tests automatiques ?