0 XP
?
Intermédiaire60 min40 XP

Objectifs de cette leçon

  • Consommer une API REST avec fetch()
  • Comprendre les méthodes HTTP (GET, POST, PUT, DELETE)
  • Gérer les réponses et erreurs d'API

APIs REST et communication 🔄

Une API (Application Programming Interface) c'est comme un serveur de restaurant : tu passes commande, la cuisine prépare, et on te sert. Sans voir la cuisine !


1. Architecture client-serveur 🔄

pseudo ' Les verbes HTTP (actions qu'on peut faire) : GET → LIRE des données ⬅ Comme regarder le menu POST → CRÉER une ressource ⬅ Comme passer commande PUT → MODIFIER une ressource ⬅ Comme changer sa commande DELETE → SUPPRIMER ⬅ Comme annuler

' Codes de statut (réponses du serveur) : 200 = ✅ OK (tout va bien) 201 = ✅ CRÉÉ (ressource créée) 400 = ❌ Mauvaise requête 401 = ❌ Non authentifié (pas connecté) 403 = ❌ Accès refusé (pas le droit) 404 = ❌ Pas trouvé 500 = 💥 Erreur serveur ``'


3. Créer une API avec Next.js 🏗️

Exécution pas à pas

pseudo
1/51
▶️
' Structure d'une API REST avec Next.js :
⚙️' Structure d'une API REST avec Next.js :Le programme exécute cette action, puis passe à la suivante.

Le programme exécute cette instruction, puis passe à la suivante.


4. Appeler l'API depuis le frontend 📞

Exécution pas à pas

pseudo
1/85
▶️
' Hook personnalisé pour charger des utilisateurs
⚙️' Hook personnalisé pour charger des utilisateursLe programme exécute cette action, puis passe à la suivante.

Le programme exécute cette instruction, puis passe à la suivante.

Exécution pas à pas

OKErreur
0/8

État de la mémoire

3 variables
Variable
Valeur
Type
Addr.
response
JSON
http
0x3200
data
User[]
array
0x3210
status
200
int
0x3220
Aucune variable active
response0x3200
JSON
http
data0x3210
User[]
array
status0x3220
200
int

⚡ Simulateur — API REST

Étape 1/7
📝 Pseudo-code
1// FRONTEND — Appel API
2fetch('/api/users') # ⬅ envoyer GET
3 .then(res => res.json())
4 .then(data => console.log(data))
5
6// BACKEND — src/app/api/users/route.ts
7const users = [
8 { id: 1, nom: 'Alice', email: 'alice@ex.com' },
9 { id: 2, nom: 'Bob', email: 'bob@ex.com' },
10];
11
12export async function GET() {
13 return NextResponse.json(users) # ⬅ serveur répond
14}
15
16// RÉPONSE REÇUE
17Response JSON reçue # ⬅ inspecter
🔄 API REST
👤ClientGET🖥️Serveur🗄️ Base de donnéesJSON
Méthode : GET/api/users
💡 API REST
  • GET → Lire des données
  • POST → Créer une ressource
  • PUT → Modifier une ressource
  • DELETE → Supprimer

Le composant React appelle fetch('/api/users') pour récupérer la liste des utilisateurs.