[Tuto] Présentation et Installation de Node.js

logo-nodejsAujourd’hui je vais vous présenter une technologie très prometteuse, Node.js. Node.js est un environnement JavaScript côté serveur créer par Ryan Dahl en 2009. Grâce au très performant moteur V8 de Google (l’interpréteur JS) et aux spécificités du langage JavaScript, Node.js est efficace et performant. En effet JavaScript est un langage asynchrone (non bloquant) et événementiel.


Les possibilités d’applications :

  • temps réel (chat, games …)
  • avec une volumétrie importante de requêtes
  • avec de lent traitement côté serveur
  • avec de nombreux upload

Installer Node.JS

Installation sur Linux :

Sur linux rien de bien compliqué, il suffit d’installer les paquets nécessaires et d’ajouter un dépôt apt pour bénéficier de la dernière version stable de Node.js.

sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Installation sur Windows :

Vous devez télécharger Node.js sur le site officiel. Prenez la version installer (.msi) pour avoir Node.js et NPM.

http://webiose.com/wp-content/uploads/2014/01/download-nodejs.jpg

Ensuite, lancez l’installateur et laissez vous guider.

http://webiose.com/wp-content/uploads/2014/01/install-nodejs.jpg

Testé l’installation :

Une fois l’installation faite vous avez à disposition l’interpréteur Node.js. Pour le lancer tapez nodejs (ou node sous windows) dans une console. Vous pouvez ainsi écrire du code JavaScript et l’excuter:

>nodejs -v
0.10.24
>nodejs
>1+1
2

Lors de l’installation npm (Node Package Manager) est également installé pour vous, npm fera l’objet d’un futur article.

Hello World

Passant maintenant à la pratique. Comme pour tout apprentissage d’un langage on ne peut passer outre du traditionnel hello world:

app.js :
var http = require('http');

var server = http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World!');
});

server.listen(8080);

Quelque explication:

Sur la première ligne, on importe le module http (qui permet l’utilisation du protocole HTTP), en effet Node.js intègre en natif Common.js qui permet un découpage de son application en module.

Sur la deuxième ligne http.createServer() créer le serveur http. On lui passe une fonction qui prend en paramètre la requête et la réponse http (ceci rappel le fonctionnement de la méthode doGet() d’un Servlet en JEE).
C’est cette fonction qui sera appelée à chaque requête sur notre serveur Node.js.

Dans cette fonction, on manipule l’objet réponse avec res.writeHead() qui écrit dans l’entête http de la réponse. Ici on donne le code http 200 (OK) et on indique le content-type. Puis res.end() permet de terminer la réponse, ici avec le message « Hello World! », la réponse et ensuite envoyer par le serveur.

Enfin server.listen(8080); , le port d’écoute et permet d’indiquer l’hôte. Dans notre cas le port d’écoute est le 8080 et par défaut l’hôte est localhost.

Passons au test:

Pour tester notre code il faut commencer par l’exécuter. Pour cela ouvrez une console et tapez :

>nodejs app.js

Notre serveur Node.js et maintenant actif, il suffit d’envoyer une requête http. Pour cela ouvrez votre navigateur favori et tapez URL suivante :
localhost:8080

Si tout s’est bien passé vous devrez voir apparaître un magnifique « Hello World! ».

http://webiose.com/wp-content/uploads/2014/01/helloworld-nodejs.png

Conclusion

Node.js bénéficie de la puissance de JavaScript pour proposer une toute nouvelle façon de développer des applications web performantes. Mais en contre partie Node.js est un environnement bas niveau et demande de bonne connaisse en JavaScript objet et événementiel.

Laisser un commentaire