Exercices — N04 HTTP Natif

10 exercices pour maütriser le module http de Node.js. Écrivez du code Node.js, validez, puis comparez avec la solution.

EX1

createServer basique

CrĂ©ez un serveur HTTP qui rĂ©pond "Hello Node.js !" sur toutes les requĂȘtes et Ă©coute sur le port 3000. Votre code doit utiliser http.createServer() et .listen().

EX2

Réponse JSON

CrĂ©ez un serveur qui rĂ©pond avec un objet JSON { success: true, data: "Hello" }. Le header Content-Type doit ĂȘtre application/json. Utilisez JSON.stringify().

EX3

Routing GET par URL

Créez un serveur avec 2 routes GET : / qui répond "Accueil" et /ping qui répond "pong". Utilisez req.url et res.writeHead(). Retournez 404 pour les autres routes.

EX4

Lire le body POST en chunks

Créez une route POST /echo qui lit le body en chunks (req.on('data', ...)), puis sur l'événement 'end', parse le JSON reçu et le renvoie dans la réponse.

EX5

Headers CORS manuels

Ajoutez les headers CORS manuellement Ă  toutes les rĂ©ponses : Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: GET, POST, OPTIONS. GĂ©rez aussi les requĂȘtes OPTIONS (preflight) en rĂ©pondant 204.

EX6

Servir un fichier HTML

Sur GET /, lisez un fichier index.html avec fs.readFile() et renvoyez son contenu avec le Content-Type: text/html. Gérez l'erreur si le fichier n'existe pas (404).

EX7

Status codes 200 / 404 / 500

CrĂ©ez un serveur avec : GET /ok → 200, GET /introuvable → 404, GET /erreur → 500. Chaque rĂ©ponse est en JSON avec le champ status. Utilisez res.writeHead().

EX8

Query string parsing

Créez une route GET /search qui lit les paramÚtres de query string ?q=...&limit=... avec URLSearchParams (ou url.searchParams) et renvoie les valeurs dans la réponse JSON.

EX9

Router — mini classe

Implémentez une classe (ou fonction) Router qui stocke les routes dans un tableau (routes) et expose les méthodes get(), post() et dispatch(). Enregistrez au moins une route.

EX10

Serveur multi-routes complet

Créez un serveur complet avec au moins : une route GET, une route POST, une gestion du 404 et des headers Content-Type: application/json. Le serveur doit avoir plus de 200 caractÚres de code.

← Cours Mini-projet →