## Exercice 1.3 — API REST d'inventaire **sans framework** **Compétences visées :** comprendre HTTP/REST « de l'intérieur » — méthodes, codes de statut, JSON — en n'utilisant **que la bibliothèque standard**. **Contexte :** vous exposez l'inventaire via une petite API REST bâtie avec le module `http.server`. **Flask, Django et toute bibliothèque tierce sont interdits.** **Consignes :** 1. Utilisez `http.server.BaseHTTPRequestHandler` et `HTTPServer`. 2. Stockez les équipements dans une **liste Python en mémoire** (`id`, `hostname`, `ip`). 3. `GET /equipements` → renvoie la liste en JSON, code **200**. 4. `GET /equipements/` → renvoie l'équipement (**200**), une erreur JSON **404** s'il n'existe pas, **400** si l'`id` n'est pas un entier. 5. `POST /equipements` → crée un équipement à partir du JSON du corps ; renvoie **201** et l'objet créé ; renvoie **400** si `hostname` manque ou si le JSON est invalide. 6. Toutes les réponses portent l'en-tête `Content-Type: application/json`. 7. Testez votre API (serveur lancé sur le port 8000) : ```bash curl http://127.0.0.1:8000/equipements curl http://127.0.0.1:8000/equipements/1 curl -X POST http://127.0.0.1:8000/equipements \ -H "Content-Type: application/json" \ -d '{"hostname":"srv-dns-01","ip":"192.168.1.20"}' ``` **Livrables :** `api_inventaire.py`, `TESTS.md` (vos commandes `curl` et les réponses obtenues), `USAGE-IA.md`. **Critères d'évaluation :** bonnes méthodes et bons codes HTTP, JSON valide, gestion des erreurs (400/404), **aucun framework**.