Node.js - Module Web
Qu'est-ce qu'un serveur Web ?
Bonjour, futurs programmeurs ! Aujourd'hui, nous plongeons dans l'univers passionnant des serveurs Web. Imaginez un serveur Web comme une bibliothécaire amicale, toujours prête à vous remettre le livre (ou dans notre cas, la page Web) que vous cherchez.
Un serveur Web est un logiciel qui répond aux requêtes des navigateurs Web. Lorsque vous tapez une URL dans votre navigateur, vous demandez essentiellement à un serveur Web de vous fournir une page Web spécifique. Le serveur va alors récupérer cette page et la renvoyer à votre navigateur.
Reprenons avec une simple analogie :
- Vous (le client) entrez dans une bibliothèque (l'Internet).
- Vous demandez à la bibliothécaire (le serveur Web) un livre spécifique (une page Web).
- La bibliothécaire récupère le livre et vous le tend.
- Vous lisez le livre (votre navigateur affiche la page Web).
Simple, non ? Maintenant, voyons comment nous pouvons créer notre propre serveur Web en utilisant Node.js !
Architecture d'une application Web
Avant de commencer à coder, comprens la structure de base d'une application Web. C'est comme comprendre le plan d'une maison avant de la construire.
Une application Web typique se compose de trois composants principaux :
- Client : Il s'agit généralement d'un navigateur Web (comme Chrome ou Firefox) qui envoie des requêtes au serveur.
- Serveur : C'est là que s'exécute notre application Node.js. Il reçoit des requêtes des clients et renvoie des réponses.
- Base de données : C'est là que nous stockons et récupérons les données. Nous ne couvrirons pas les bases de données dans ce tutoriel, mais il est bon de savoir qu'elles existent !
Voici un schéma simple pour illustrer cela :
[Client] <---> [Serveur] <---> [Base de données]
Les flèches représentent le flux de données entre ces composants. Génial, non ?
Créer un serveur Web avec Node
Maintenant, mettons les mains dans le cambouis et créons un serveur Web simple en utilisant Node.js. Ne vous inquiétez pas si vous n'avez jamais codé auparavant - nous allons passer par chaque étape !
Tout d'abord, nous devons utiliser le module intégré http
de Node. Ce module nous permet de créer un serveur capable de gérer les requêtes HTTP.
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Bonjour, le monde !');
});
server.listen(3000, 'localhost', () => {
console.log('Serveur en cours d\'exécution à http://localhost:3000/');
});
Reprenons cela :
- Nous
require
le modulehttp
, qui nous donne les outils pour créer un serveur. - Nous utilisons
http.createServer()
pour créer un nouveau serveur. Cette fonction prend une fonction de rappel qui sera exécutée chaque fois qu'une requête est faite au serveur. - Dans la fonction de rappel, nous définissons le code de statut à 200 (qui signifie "OK"), définissons le type de contenu en texte brut, et envoyons "Bonjour, le monde !" en tant que réponse.
- Enfin, nous disons au serveur d'écouter sur le port 3000 sur localhost.
Pour exécuter ce serveur, enregistrez le code dans un fichier (appelons-le server.js
), ouvrez votre terminal, naviguez vers le répertoire contenant le fichier, et exécutez :
node server.js
Maintenant, si vous ouvrez votre navigateur et allez à http://localhost:3000
, vous devriez voir "Bonjour, le monde !". Félicitations, vous venez de créer votre premier serveur Web !
Créer un client Web avec Node
Maintenant que nous avons un serveur, créons un client qui peut envoyer des requêtes à ce serveur. Dans le monde réel, ce serait généralement un navigateur Web, mais nous pouvons créer un client simple en utilisant Node.js également.
Voici un client simple qui envoie une requête GET à notre serveur :
const http = require('http');
const options = {
hostname: 'localhost',
port: 3000,
path: '/',
method: 'GET'
};
const req = http.request(options, (res) => {
console.log(`code de statut: ${res.statusCode}`);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
Reprenons cela :
- Nous
require
le modulehttp
à nouveau. - Nous configurons les options pour notre requête, y compris le nom d'hôte, le port, le chemin et la méthode.
- Nous créons une requête en utilisant
http.request()
, en passant nos options et une fonction de rappel. - Dans la fonction de rappel, nous enregistrons le code de statut et configurons un écouteur d'événement pour l'événement 'data', qui enregistrera toute donnée reçue du serveur.
- Nous configurons également un gestionnaire d'erreur.
- Enfin, nous appelons
req.end()
pour envoyer la requête.
Enregistrez cela dans un fichier appelé client.js
et exécutez-le avec node client.js
. Vous devriez voir le code de statut (200) et le message du serveur ("Bonjour, le monde !") affichés dans votre terminal.
Conclusion
Félicitations ! Vous venez de créer votre premier serveur et client Web en utilisant Node.js. C'est juste la pointe de l'iceberg, mais c'est un excellent début. En continuant votre voyage dans le développement Web, vous apprendrez à gérer différents types de requêtes, à servir des pages HTML, à travailler avec des bases de données, et bien plus encore.
Souvenez-vous, chaque expert a été un débutant une fois. Continuez à pratiquer, continuez à apprendre, et surtout, amusez-vous ! Le monde du développement Web est vaste et passionnant, et vous avez刚刚 pris vos premiers pas dedans. Bonne programmation !
Credits: Image by storyset