Où est mon colis ?
Vous ouvrez l’application d’un transporteur pour suivre un colis. En une seconde, le statut s’affiche : « en cours de livraison ».
Votre téléphone a envoyé une question à un serveur. Le serveur a répondu.
Presque tous les logiciels d’entreprise se parlent ainsi, des milliers de fois par minute.
À la fin de cette leçon
Remarque
Je peux dire ce que sont une requête et une réponse.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| HTTP | la langue commune du web pour demander et répondre | |
| Requête | le message que le client envoie au serveur | |
| Réponse | le message que le serveur renvoie | |
| Méthode | le verbe de la requête | GET |
| Code d’état | un nombre qui dit comment la requête s’est passée | 404 |
| En-tête | une ligne d’information jointe au message | Content-Type: application/json |
| API | des adresses qu’un programme appelle pour obtenir des données |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une requête demande, une réponse répond
Le client est le programme qui demande : un navigateur, une application, un script. Le serveur répond.
La requête porte une méthode et une adresse. GET /commandes/4512 veut dire : donne-moi la commande 4512.
La réponse porte un code d’état, des en-têtes et souvent un contenu.
Les quatre méthodes les plus courantes
| Méthode | Ce qu’elle demande | Exemple |
|---|---|---|
| GET | lire une donnée | GET /commandes/4512 |
| POST | créer une donnée | POST /commandes |
| PUT | remplacer une donnée | PUT /commandes/4512 |
| DELETE | supprimer une donnée | DELETE /commandes/4512 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Le premier chiffre du code dit tout
Un code d’état a trois chiffres. Le premier chiffre donne sa famille.
2 veut dire réussi. 3 veut dire : allez voir ailleurs. 4 veut dire que la requête est fautive. 5 veut dire que le serveur a un problème.
Avec ce seul chiffre, vous savez déjà qui doit agir.
Exemple : des réponses réelles
| Code | Texte | Ce qui s’est passé |
|---|---|---|
| 200 | OK | la commande est trouvée et renvoyée |
| 201 | Created | la nouvelle commande est créée |
| 301 | Moved Permanently | l’adresse a changé pour toujours |
| 401 | Unauthorized | il manque une identification valable |
| 404 | Not Found | aucune commande à ce numéro |
| 500 | Internal Server Error | le serveur a planté en répondant |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent qu’un code 404 veut dire que le serveur est en panne. C’est faux : le serveur fonctionne et répond. Il dit seulement que l’adresse demandée n’existe pas. Une panne du serveur donne un code en 5.
Les en-têtes et l’adresse complètent le message
Les en-têtes sont des lignes nom: valeur. Content-Type dit la forme du contenu, par exemple du JSON.
Une adresse, ou URL, a plusieurs parties : le protocole, le serveur, le chemin et des paramètres après le ?.
Le bloc ci-dessous montre une vraie réponse. Le code Python suivant découpe une adresse.
Une réponse lue avec curl
$ curl -i https://api.exemple.fr/commandes/4512
HTTP/1.1 200 OK
Content-Type: application/json
Date: Tue, 06 Oct 2026 09:12:40 GMT
{"numero": 4512, "statut": "expédiée", "ville": "Rennes"}
Découpez une adresse
from urllib.parse import urlsplit
adresse = "https://api.exemple.fr/commandes?ville=Rennes&page=2"
morceaux = urlsplit(adresse)
# Chaque partie de l’adresse a un rôle.
print("Protocole :", morceaux.scheme)
print("Serveur :", morceaux.netloc)
print("Chemin :", morceaux.path)
print("Paramètres :", morceaux.query)
# À vous : changez Rennes en Toulouse et la page en 3, puis exécutez.