Intermédiaire45 min30 XP
Objectifs de cette leçon
- Installer et configurer Express
- Créer des routes GET et POST
- Utiliser les middlewares
Express.js : le framework web 🛤️
Introduction
Express.js est le framework web le plus populaire pour Node.js. Il simplifie la création de serveurs, le routing, et le middleware.
npm init -y npm install express
Premier serveur Express
import express from 'express'; const app = express(); const PORT = 3000; app.get('/', (req, res) => { res.send('Bienvenue sur mon serveur Express !'); }); app.listen(PORT, () => { console.log(`Serveur démarré sur http://localhost:${PORT}`); });
Routing (routes)
// GET : lire des données app.get('/api/users', (req, res) => { res.json([{ id: 1, nom: 'Alice' }]); }); // POST : créer une ressource app.post('/api/users', (req, res) => { res.status(201).json({ id: 2, nom: 'Nouvel utilisateur' }); }); // PUT : modifier une ressource app.put('/api/users/:id', (req, res) => { res.json({ id: req.params.id, message: 'Mis à jour' }); }); // DELETE : supprimer une ressource app.delete('/api/users/:id', (req, res) => { res.json({ message: 'Supprimé' }); });
Paramètres de route
// Paramètre d'URL app.get('/users/:id', (req, res) => { console.log(req.params.id); // "42" pour /users/42 res.json({ id: req.params.id }); }); // Paramètres de requête (query string) app.get('/search', (req, res) => { console.log(req.query.q); // "hello" pour /search?q=hello res.json({ terme: req.query.q }); });
Middleware
Les middleware sont des fonctions intermédiaires exécutées avant la réponse finale.
import express from 'express'; const app = express(); // Middleware intégré : parser le JSON app.use(express.json()); // Middleware personnalisé : logger app.use((req, res, next) => { console.log(`${req.method} ${req.url} - ${new Date().toISOString()}`); next(); // Passer au middleware suivant }); // Route app.get('/', (req, res) => { res.json({ message: 'OK' }); }); app.listen(3000);
Middleware d'erreur
// Route avec erreur app.get('/erreur', (req, res, next) => { next(new Error('Quelque chose a planté !')); }); // Middleware d'erreur (4 paramètres !) app.use((err, req, res, next) => { console.error(err.stack); res.status(500).json({ error: 'Erreur serveur' }); });
💡 Un middleware d'erreur se reconnaît à ses 4 paramètres :
(err, req, res, next).
Fichiers statiques
// Servir le dossier 'public' pour les fichiers statiques app.use(express.static('public')); // => public/index.html est accessible sur /index.html
Résumé
| Fonction | Description |
|---|---|
express() | Crée l'application |
app.get() | Route GET |
app.post() | Route POST |
app.use() | Ajoute un middleware |
app.listen() | Démarre le serveur |
req.params | Paramètres d'URL |
req.query | Paramètres de requête |
req.body | Corps de la requête (avec JSON parser) |
res.json() | Réponse JSON |
res.status() | Définir le code de statut |
Exercices 🎯
- Crée une API avec des routes GET/POST/PUT/DELETE pour une liste de tâches
- Ajoute un middleware de logging qui affiche la méthode, l'URL, et le temps de réponse
- Ajoute un middleware d'authentification simple qui vérifie un header
Authorization
⚡ Simulateur — Express.js
Étape 1/4📝 Pseudo-code
1const express = require("express");
2const app = express();
3app.get("/", (req, res) => res.json({ msg: "OK" }));
4app.listen(3000);
⚙️ Exécution
📦 Mémoire
Aucune variable
🔀 Flux d'exécution
require("express")
3
Import d'Express
require("express") importe le framework Express, le web framework le plus populaire pour Node.js.