Introduction
Node.js est une plateforme puissante pour créer des applications web. Parmi ses modules natifs, le module URL permet de manipuler facilement les adresses web. Ce tutoriel vous guidera pas à pas pour comprendre et utiliser ce module. Nous verrons également comment créer un serveur qui sert des fichiers HTML et gère les erreurs 404.
Étape 1 : Inclure le module URL
Pour commencer, vous devez inclure le module URL dans votre projet Node.js. Voici comment faire :
const url = require('url');
Le module est maintenant prêt à être utilisé pour analyser et manipuler des URL.
Étape 2 : Utiliser url.parse() pour analyser une URL
La méthode url.parse() permet de décomposer une URL en ses différentes parties. Voici un exemple :
const url = require('url');
const myURL = 'https://www.example.com/path/page?name=John&age=30#section2';
const parsedURL = url.parse(myURL, true);
console.log(parsedURL);
Le résultat retourné sera un objet contenant des propriétés comme protocol, host, pathname, et query.
Comme le montre la capture d'écran suivante
Étape 3 : Créer un serveur qui sert des fichiers HTML
Nous allons créer un serveur Node.js qui répond à des requêtes en servant des fichiers HTML. Voici le code :
const http = require('http');
const url = require('url');
const fs = require('fs');
http.createServer((req, res) => {
const parsedURL = url.parse(req.url, true);
const path = parsedURL.pathname === '/' ? '/index.html' : parsedURL.pathname;
fs.readFile(`.${path}`, (err, data) => {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/html' });
res.end('<h1>404 - Fichier non trouvé</h1>');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
}).listen(3000, () => {
console.log('Serveur en écoute sur le port 3000');
});
Étape 4 : Les fichiers HTML
Les fichiers index.html, summer.html, et winter.html sont des exemples de contenu que le serveur peut servir. Placez-les dans le même dossier que votre fichier serveur. Voici leur code :
1. Fichier index.html
Ce fichier est la page d'accueil par défaut :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Page d'accueil</title>
</head>
<body>
<h1>Bienvenue sur notre serveur Node.js</h1>
<p>Essayez de visiter <a href="/summer.html">été</a> ou <a href="/winter.html">hiver</a>.</p>
</body>
</html>
2. Fichier summer.html
Ce fichier représente une page sur l'été :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Été</title>
</head>
<body>
<h1>Bienvenue en été !</h1>
<p>Profitez du soleil et des plages.</p>
<a href="/">Retour à l'accueil</a>
</body>
</html>
3. Fichier winter.html
Ce fichier représente une page sur l'hiver :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Hiver</title>
</head>
<body>
<h1>Bienvenue en hiver !</h1>
<p>Admirez les paysages enneigés et profitez des fêtes.</p>
<a href="/">Retour à l'accueil</a>
</body>
</html>
Conclusion
Vous avez appris à utiliser le module URL de Node.js, à créer un serveur pour servir des fichiers HTML, et à gérer des erreurs 404. Avec cette base, vous pouvez développer des applications Node.js plus complexes.