logo oujood
🔍

Tutoriel : Utilisation du module URL de Node.js


OUJOOD.COM

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 :

📋 Copier le code

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

parse url
Fig.1 - parse url.

É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 :

📋 Copier 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 :

📋 Copier le code

<!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é :

📋 Copier le code

<!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 :

📋 Copier le code

<!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.