Node.js c'est quoi ?

Vous connaissez très certainement le JavaScript, ce langage dont on a l'habitude de parler côté client. Et bien le JavaScript peut-être utilisé côté serveur. Je souhaite écrire cela car je rencontre trop de personnes (dans le mode du développement) qui ne savent / comprennent pas cela. Je souhaite faire de cet article une explication claire des fondements de Node.js.


Node.js est une plateforme libre en JavaScript orienté serveur. Pour fonctionner la plateforme utilise le moteur JavaScript V8 open source développé par Google.

Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de serveurs HTTP. Il est donc possible de se passer de serveurs web tels que Nginx ou Apache lors du déploiement de sites et d'applications web développés avec Node.js.

Concrètement, Node.js est un environnement bas niveau permettant l’exécution de JavaScript côté serveur.

Node.js étant du JavaScript, on retrouve les bases de l'asynchrone et de l’événementiel. On dispose également du gestionnaire de paquet officiel de Node.js : npm. Npm fonctionne dans un terminal et permet d'ajouter des dépendances à notre projet comme on peut le faire avec composer pour PHP ou pip pour Python.

En comparaison, on peut dire que Node.js est un outil permettant de faire des serveurs web ainsi que l'application tout comme le feraient PHP + Apache.
Voici un exemple basique de serveur web en Node.js :

const { createServer } = require('http');

const server = createServer((request, response) => {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
});

server.listen(3000, () => console.log(`Adresse du serveur : http://localhost:3000`));

Node.js à lui seul est très bas niveau. Il ne vous permettra pas d'être efficace et vous ne pourrez pas bien exploiter la puissance du JavaScript. Il existe donc, comme en PHP ou Python, des framework !

Le plus connu est Express.js, il reste bas niveau mais est très bon pour commencer à se faire la main sur du js côté serveur.
Pour de plus gros projets je vous conseille Sails.js. Parmi tous les framework de tous les langages que j'ai pu tester, c'est mon préféré ! On retrouve un pattern MVC à la Ruby on Rails. Il vient avec pleins de composants pré configurés, un ORM, de l'auto-génération, et pleins d'autres choses...
En fouillant sur le web vous trouverez d'autres framework, libre à vous de découvrir ce monde !

J’espère avoir éclairé certains sur ce que sont Node.js et npm et que vous souhaitez en apprendre d'avantage sur ces technologies !

Merci d'avoir suivi cet article jusqu'au bout ! ❤️

Commentaires