Node.js
Thème :
Junior
1 vues ·9/12 leçons

Routage et Fichiers Statiques

Un serveur web doit souvent servir différents types de ressources : pages HTML, styles CSS, scripts JS ou images.

Mise en place d’un routing simple

Pour gérer différentes URL, analysez la propriété req.url :

const server = http.createServer((req, res) => {
    if (req.url === '/' || req.url === '/home') {
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.end('<h1>Accueil</h1>');
    } else if (req.url === '/about') {
        res.end('<h1>À propos</h1>');
    }
});

Servir des fichiers statiques

Pour servir un fichier (ex: /static/style.css), utilisez les modules fs et path :

const path = require('path');
const fs = require('fs');

const filePath = path.join(__dirname, 'public', req.url);
fs.readFile(filePath, (err, content) => {
    if (err) {
        res.writeHead(404);
        res.end('Non trouvé');
    } else {
        res.writeHead(200, { 'Content-Type': 'text/css' });
        res.end(content);
    }
});

Détermination dynamique du type MIME

Il est crucial d’envoyer le bon Content-Type. Vous pouvez utiliser path.extname(filePath) pour le déduire :

  • .html -> text/html
  • .css -> text/css
  • .js -> application/javascript
  • .png -> image/png

TP : Création d’un serveur statique

L’objectif est de créer un serveur capable de servir n’importe quel fichier présent dans un dossier public/. Cela constitue la base de tout serveur de fichiers web.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur Routage et Fichiers Statiques. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.