Une introduction au développement node.js sous Windows

Node.js, aussi appelé simplement Node, est une plateforme de développement permettant l’exécution de JavaScript du côté serveur. La principale spécificité de Node est qu’il utilise un modèle d’exécution asynchrone basé sur les événements. Cette façon de faire le développement est tirée directement du modèle de développement que propose JavaScript.

Ce qui permet à Node.js de vivre du côté serveur est l’engin JavaScript utilisé par Google Chrome, V8. C’est aussi par cette façon que Node.js tient une très grande partie de sa rapidité d’exécution.

À vue d’oiseau, Node offre les avantages suivants :

  • Permets l’exécution du JavaScript du côté serveur (évidemment!)
  • Supporté sur Windows, Linux et les grandes plateformes d’hébergement dans les nuages comme Azure.
  • Possède une communauté forte qui maintient une collection de librairies activement développées sur npm.

Un exemple

Il est possible d’illustrer un exemple de l’exécution événementielle de Node à l’aide du code suivant :

Cet exemple de code fait les choses suivantes

  • Écoute sur le port 8124 pour une connexion entrante
  • Lorsque le serveur est initialisé, il sera écrit « Serveur démarré » dans la console.
  • Une fois une connexion entrante faite, il sera écrit « Serveur connecté » dans la console et le client recevra le message « Hello ! »
  • Ensuite, tout ce que le client va taper lui sera immédiatement retourné jusqu’à la fin de la connexion.
  • À la fin de la connexion, il sera écrit « Serveur déconnecté » dans la console.

Installation

La façon la plus simple d’installer Node.js est de passer par Chocolatey. Si vous ne connaissez pas Chocolatey, il s’agit d’un gestionnaire d’application fonctionnant sur le même principe que Nuget pour les développeurs .NET ou apt-get pour les gens issus du monde Linux.

Pour vous donner une idée de ce que Chocolatey peut faire, vous pouvez aller jeter un coup d’oeil au billet que j’ai dédié à Chocolatey, il y a quelques semaines.

Alors donc, l’installation de Node.js se fait par la ligne de commande suivante : cinst nodejs ou cinst nodejs.install.

La première option vous configure Node.js sans passer par le fichier MSI fourni par l’équipe de développement. Cette approche est, comme je dirais, assez au métal. Elle est pratique si vous êtes du genre à tout contrôler ce qui se passe sur votre ordinateur.

L’avenue nodejs.install, vous configurera tout ce que vous avez besoin dans un dossier sous Program Files et ajoutera les raccourcis nécessaires à la variable PATH.

Si vous préférez la première voie, l’exécutable de Node.js sera situé sous C:\Chocolatey\lib\nodejs.commandline.0.10.20\tools. Cependant, un raccourci globalement accessible à partir de la ligne de commande sous C:\Chocolatey\bin.

Dans tous les cas, il vous suffira donc de taper la commande node pour démarrer une instance et démarrer l’exécution de votre application Node.js.

npm

Le développement avec Node.js ne serait pas une expérience entière s’il n’y avait pas la possibilité d’ajouter des fonctionnalités facilement à son projet. Après tout, on ne veut pas réécrire la roue à tous les coups. C’est à ce moment qu’entre en jeu la commande npm. C’est ce qu’il vous permettra de faire la gestion des librairies faisant partie de votre projet en ligne de commande.

D’ailleurs, si vous venez du monde .NET, sachez que npm est basé sur la même idée générale que NuGet.

Avec npm, l’installation d’une librairie se fait à l’aide de la commande npm install. Vous pouvez aussi avoir une idée des librairies qui sont à votre disposition à l’aide du site web de npm.

Et ensuite?

Une fois que Node.js sera installé sur votre ordinateur et que vous savez comment installer des librairies avec l’aide de npm, vous pouvez passer à la partie la plus intéressante. C’est-à-dire de programmer quelque chose avec Node.js.

Les possibilités de développement sont assez vastes avec Node.js. Voici un exemple de ce qui est disponible sur npm :

  • express, un framework de développement web minimaliste. Similaire à Sinatra pour Ruby.
  • Request, pour vous permettre de faire facilement des requêtes HTTP.
  • grunt, permet l’automatisation de certaines tâches reliées au développement web.
  • async, offre 20 fonctions ayant un aspect relié à la programmation fonctionnelle (map, filter, each, etc.).
  • commander, pour faciliter la gestion de votre application en ligne de commande.

Et il y a des centaines d’exemples similaires sur lesquels vous pourriez vous inspirer pour votre projet. Il suffit de laisser aller sa créativité.

Ceci étant dit, ce n’est pas tout. Node.js n’est pas uniquement relié au développement d’applications web et ligne de commande. Il est même possible de faire de la robotique avec un module Arduino. Vous trouverez plus d’informations sur http://nodebots.io/.

Advertisements

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l’aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment ce contenu :