2 février 2012 – Par Lee Jacobson

Introduction

C’est la première partie d’une série de tutoriels que je veux écrire sur Node.js. Je dois préciser que je ne suis pas un expert de Node.js, mais une bonne façon de vérifier que vous comprenez quelque chose est d’essayer de l’expliquer à quelqu’un d’autre. Si vous voyez quelque chose qui ne vous semble pas tout à fait correct, veuillez me le faire savoir afin que je puisse corriger l’erreur, je m’assurerai de vous donner du crédit.
J’ai décidé d’apprendre Node.js récemment en raison de sa popularité croissante. L’industrie de la programmation évolue incroyablement vite et il est dangereux de prendre du retard. Apprendre de nouveaux langages est important parce que si vous ne le faites pas, vous êtes susceptible d’être laissé derrière et de ne pas avoir d’emploi. Pensez à tous ces développeurs flash qui ne trouvent plus de travail.
Donc, commençons par un peu d’information (blegh !).
Node.js est une version côté serveur de JavaScript. Cela signifie que toutes les choses toutes les choses cool sur JavaScript s’appliquent ici. Cela signifie également que si vous êtes déjà assez familier avec JavaScript, vous allez avoir un avantage agréable. Node.js n’a que quelques années et cela signifie que même les personnes qui travaillent avec lui depuis le tout début ne l’utilisent que depuis quelques années. Comparez cela à la durée pendant laquelle certaines personnes ont écrit en C. Étant un langage si nouveau, cela signifie également qu’il n’y a pas beaucoup de personnes qui le connaissent et cela signifie que, à partir de la simple règle de l’offre et de la demande, votre compétence vaut plus que votre programmeur PHP moyen.

Créer un Hello World

Créons un Hello World. Tout d’abord, allez sur http://www.nodejs.org et téléchargez node.js. Quand il est installé et prêt, créez un nouveau fichier JavaScript avec ce qui suit:

console.log(« Hello World »);

Maintenant enregistrez le fichier, appelez-le quelque chose comme « hello.js » et exécutez-le avec la commande suivante:

node hello.js

Alors vous devriez obtenir ‘Hello World’ apparaître dans votre terminal. C’est tout bon mais je suis sûr que vous voulez surtout savoir comment imprimer ‘Hello World’ aux nouvelles connexions HTTP.
Ouvrez à nouveau votre éditeur de texte et tapez :
Maintenant enregistrez votre fichier et exécutez-le avec :

node hello.js

Vous devriez voir ‘Server started’ dans le terminal. Génial ! Maintenant, ouvrez votre navigateur web et allez à ‘http://localhost:8080’, vous devriez voir votre message ‘Hello World’.

Regardons de plus près notre code.
La première ligne est juste en train de récupérer le module http et de l’enregistrer dans la variable ‘http’. Le http est inclus avec Node.js pour nous permettre de créer facilement des applications Node.js.
Nous pouvons ensuite utiliser le module http pour créer notre serveur http en appelant sa fonction ‘createServer’. Cette fonction retourne un objet et prend une fonction en paramètre.
Nous appelons la fonction ‘listen’ sur notre nouvel objet serveur qui prend une valeur numérique qui indique à notre serveur sur quel port nous voulons qu’il écoute. Dans notre cas, nous utilisons le port 8080 qui est la raison pour laquelle nous avons connecté notre navigateur à http://localhost:8080
Nous créons également une fonction et l’utilisons comme paramètre pour la fonction ‘createServer’. C’est une chose assez standard à faire en JavaScript parce que les fonctions peuvent être des paramètres tout comme les variables et les objets peuvent l’être. Ce qui va se passer, c’est qu’à chaque fois que notre serveur recevra une nouvelle connexion sur le port 8080, il exécutera la fonction que nous lui avons donnée. Fait intéressant, la fonction que nous lui passons est appelée une fonction anonyme, et elle est appelée ainsi parce que nous ne lui donnons pas de nom.
Vous avez peut-être remarqué que notre fonction anonyme prend deux paramètres, ‘request’ et ‘response’. Ces paramètres sont transmis à notre fonction anonyme par le serveur HTTP lorsqu’il reçoit une nouvelle connexion. Ce sont tous deux des objets que nous pouvons utiliser dans notre réponse à la requête entrante.
Vous avez remarqué que la première chose que nous faisons est d’appeler la fonction ‘writeHead’ ; cela nous permet de définir le statut HTTP comme premier paramètre et d’envoyer quelques en-têtes de réponse comme second paramètre. Nous définissons le code d’état 200, qui indique à notre navigateur Web que tout est OK, et nous lui passons également un en-tête « Content-Type », qui permet à notre navigateur de savoir ce que nous lui envoyons. Dans notre cas, c’est juste du texte brut.
Ensuite, nous utilisons l’objet réponse pour écrire notre ‘Hello World’. Nous le faisons en appelant simplement sa fonction write et en lui passant notre texte. A ce stade, nous avons terminé avec notre réponse donc nous le disons à l’objet réponse en appelant sa fonction ‘end’.

Rendre notre réponse plus intéressante

Hello world est assez ennuyeux alors faisons quelque chose d’un peu plus divertissant. Nous pouvons créer un compteur d’utilisateurs très facilement dans Node.js et nous n’avons même pas besoin d’utiliser une base de données comme nous pourrions le faire en PHP.
Créons un nouveau fichier JavaScript appelé, ‘counter.js’ et tapons ce qui suit :
Maintenant, exécutons-le avec la commande,

node counter.js

Lorsque vous naviguez dans votre navigateur vers ‘http://localhost:8080’, vous devriez maintenant obtenir un compteur de vues.
Note : Vous pourriez voir le compteur augmenter de deux pour chaque demande, c’est parce que votre navigateur demande le favicon du serveur (http://localhost:8080/favicon.ico).
Vous devriez également voir que Node.js enregistre chaque demande qu’il reçoit dans la console.
La principale chose que nous faisons ici est de définir une variable ‘userCount’ et de l’incrémenter à chaque demande. Nous écrivons ensuite le ‘userCount’ dans le texte de la réponse.
En PHP pour faire la même chose, vous auriez besoin de sauvegarder les informations dans quelque chose comme un fichier texte ou une base de données.

Ce tutoriel est également avalible en chinois : http://www.laonan.net/blog/63/
Merci à laonan pour la traduction

Si vous avez aimé ce tutoriel, consultez la partie 2, Node.js pour les débutants – Callbacks

Auteur

Bonjour, je suis Lee.
Je suis un développeur du Royaume-Uni qui aime la technologie et les affaires. Vous trouverez ici des articles et des tutoriels sur les choses qui m’intéressent. Si vous voulez m’embaucher ou en savoir plus sur moi, rendez-vous sur ma page à propos

Liens sociaux

Tags

.