Appearance
Créer un Serveur HTTP Simple avec Node.js
Introduction
Node.js est conçu pour créer facilement des serveurs. Grâce à son module natif http
, vous pouvez démarrer un serveur HTTP sans avoir besoin d'une librairie externe.
Concepts clés :
- Module : Une bibliothèque ou un ensemble de fonctions que vous pouvez inclure dans votre application. Node.js dispose de plusieurs modules natifs.
- Callback : Une fonction qui est appelée après qu'une autre fonction ait terminé son exécution.
Étape par étape :
1. Initialisation du projet :
Si vous n'avez pas encore initialisé un projet Node.js :
bash
mkdir mon-serveur-simple
cd mon-serveur-simple
npm init -y
mkdir mon-serveur-simple
cd mon-serveur-simple
npm init -y
Pensez à mettre
{ "type": "module" }
dans votrepackage.json
si vous souhaitez utiliser la syntaxeimport/from
(voir ici pour plus de détails).
2. Créer un fichier pour votre serveur :
Dans le dossier de votre projet, créez un fichier nommé server.js
:
bash
touch server.js
touch server.js
3. Écrire le code du serveur :
Ouvrez server.js
dans votre éditeur de texte et ajoutez le code suivant :
javascript
// Étape 1: Importer le module HTTP
import http from 'http';
// Étape 2: Créer le serveur
const server = http.createServer((req, res) => {
// À chaque requête vers le serveur, ce code sera exécuté
res.writeHead(200, { 'Content-Type': 'text/plain' }); // On définit le statut HTTP et les en-têtes de la réponse
res.end('Salut, bienvenue sur mon serveur!'); // On envoie une réponse au client
});
// Étape 3: Démarrer le serveur
server.listen(3000, () => {
console.log('Serveur démarré sur http://localhost:3000');
});
// Étape 1: Importer le module HTTP
import http from 'http';
// Étape 2: Créer le serveur
const server = http.createServer((req, res) => {
// À chaque requête vers le serveur, ce code sera exécuté
res.writeHead(200, { 'Content-Type': 'text/plain' }); // On définit le statut HTTP et les en-têtes de la réponse
res.end('Salut, bienvenue sur mon serveur!'); // On envoie une réponse au client
});
// Étape 3: Démarrer le serveur
server.listen(3000, () => {
console.log('Serveur démarré sur http://localhost:3000');
});
4. Exécuter le serveur :
Retournez à votre terminal et exécutez la commande suivante :
bash
node server.js
node server.js
Vous devriez voir le message "Serveur démarré sur http://localhost:3000
". Ouvrez votre navigateur et allez à cette URL. Vous devriez voir le message "Salut, bienvenue sur mon serveur!".
Explication :
http : Il s'agit d'un module natif de Node.js qui fournit des fonctionnalités liées au protocole HTTP.
http.createServer() : Une méthode qui crée un nouvel objet serveur HTTP.
Callback (req, res) : La fonction callback est appelée à chaque fois qu'une requête est faite vers le serveur.
req
est un objet contenant des informations sur la requête entrante, comme les en-têtes ou l'URL.res
est un objet utilisé pour renvoyer des données au client.res.writeHead() : C'est une méthode qui permet de définir le statut HTTP et les en-têtes de la réponse.
res.end() : C'est la méthode qui termine la réponse et, dans ce cas, envoie un simple message texte.