Node.js est une plateforme basée sur le moteur JavaScript V8 de Google Chrome, permettant de créer facilement des applications web à haut performance et à grande échelle. Elle utilise un modèle d’événements et de non-blocage, ce qui la rend légère et efficace, idéale pour les applications en temps réel qui s’exécutent sur une multitude de dispositifs.
Un serveur Node.js est donc une application qui utilise cette technologie pour fonctionner. Pour créer un serveur Node.js, voici les étapes à suivre :
1. Vous devez d’abord installer Node.js sur votre machine. Vous pouvez le télécharger et l’installer à partir du site officiel de Node.js.
1. Une fois que vous avez installé Node.js, vous pouvez créer votre serveur. Pour créer un serveur de base, vous devez créer un nouveau fichier .js dans votre environnement de travail. Vous pouvez appeler ce fichier app.js ou server.js.
1. Dans ce fichier, vous devez écrire le code qui va créer le serveur. Voici un exemple de code de base pour un serveur Node.js :
```
const http = require(‘http’);
const hostname = ’127.0.0.1’;
const port = 3000;
http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader(‘Content-Type’, ‘text/plain’);
res.end(‘Hello World\n’);
}).listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
```
Dans ce code, nous utilisons le module HTTP qui est intégré dans Node.js. Nous créons ensuite un serveur qui écoute sur le port 3000. Lorsqu’une requête HTTP est reçue, la fonction de rappel est appelée, écrivant une réponse avec le texte ‘Hello World’.
1. Pour démarrer le serveur, vous devez aller dans votre terminal, naviguer jusqu’au dossier où se trouve votre fichier .js, et taper la commande node suivie du nom de votre fichier, comme ceci : `node app.js`
1. Si vous allez sur http://localhost:3000 dans votre navigateur, vous devriez voir le message ‘Hello World’.
C’est la base d’un serveur Node.js. Vous pouvez ensuite l’utiliser pour développer des applications plus complexes avec routes, bases de données, authentification, etc.