TW3 — Technologies du Web 3

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.

📚 Apport15′

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

🛠️ Atelier34′

🛠️ 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é.

🏋️ Exercice10′

🏋️ Exercice

Concevoir et implémenter une API REST complète (routes, codes, tests). → Exercice

🎯 Synthèse0′

🎯 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é.

Tableau de bord

On this page