API REST
Concevoir et consommer des API REST : principes, nommage des ressources, méthodes HTTP, codes de statut et bonnes pratiques de production.
Une API REST expose des données via le protocole HTTP en suivant un ensemble de contraintes éprouvées. Bien conçue, elle reste prévisible, évolutive et facile à consommer par un navigateur, un mobile ou un autre service.
Objectifs du chapitre
- Citer les contraintes d'une architecture RESTFaible
- Nommer les ressources et construire des URLs cohérentesMoyenne
- Choisir la bonne méthode et le bon code de statutMoyenne
- Appliquer les bonnes pratiques (versioning, erreurs, CORS, docs)Élevée
🎯 Principes REST
REST repose sur quelques idées simples :
- on manipule des ressources identifiées par une URL ;
- on utilise les méthodes HTTP (GET, POST, PUT, PATCH, DELETE) comme verbes ;
- chaque réponse porte un code de statut qui indique le résultat ;
- le serveur est sans état : chaque requête est autonome.
📋 Parcours du chapitre
📐 Principes REST
Contraintes REST et comparaison avec RPC/GraphQL.
🔗 Ressources et URLs
Nommage, pluriel, imbrication, filtres et pagination.
📨 Méthodes et codes
Verbes HTTP, idempotence, codes 2xx/3xx/4xx/5xx.
✅ Bonnes pratiques
Versioning, erreurs uniformes, CORS, OpenAPI.
🧪 Consommer et tester
fetch, curl, Postman et tests d'API.
🏋️ Exercice
Concevoir et implémenter une API REST complète.
🧠 Quiz récapitulatif
Valider les acquis du chapitre avant la séance suivante.
📚 Ressources
Liens et lectures complémentaires.
🛠️ Atelier — concevoir des routes REST cohérentes
À partir d'un besoin concret (gestion de tâches), listez les ressources et les URLs, puis choisissez les méthodes et codes adaptés.
1. Nommer les ressources
Pluriel, sans verbe dans l'URL : /tasks, /tasks/42. Évitez /getTask.
2. Associer méthodes et codes
GET /tasks → 200, POST /tasks → 201, PATCH /tasks/42 → 200, DELETE /tasks/42 → 204.
3. Tester avec curl
curl -i -X POST http://localhost:3000/tasks \
-H "Content-Type: application/json" \
-d '{"title":"Acheter du lait"}'Vérifiez le code 201 et le corps renvoyé.
🏋️ Exercice
Concevoir et implémenter une API REST complète (routes, codes, tests). → Exercice
🎯 Synthèse
REST expose des ressources via HTTP avec des méthodes et codes cohérents. Dans le projet fil rouge (branche session-06), ce chapitre complète le CRUD REST (GET/POST/PATCH/DELETE /tasks).
API REST
Terminez le quiz du chapitre pour le marquer comme complété.