Accueil / Blog / Métier / 2014 / Introduction à Node.js

Introduction à Node.js

Par Jean-Michel François — publié 29/01/2014
Cet article présente Node.js et NPM. Vous y apprendrez ce qu'est Node.js, comment il est utilisé et comment l'installer.
Introduction à Node.js

Node.js

Introduction

Node.js est une plateforme de développement Javascript. Ce n'est pas un serveur, ce n'est pas un framework, c'est juste le langage Javascript avec des bibliothèques permettant de réaliser des actions comme écrire sur la sortie standard, ouvrir/fermer des connections réseau ou encore créer un fichier.

Il est souvent confondu avec un serveur car c'est son origine : Node.js a été créé par Ryan Dahl dans le but de pouvoir créer des applications temps réel où le serveur est capable de pousser de l'information au client. C'est dans ce but qu'il utilise la bibliothèque libuv pour réaliser son modèle d'entrée sortie non bloquante.

Pourquoi utiliser Node.js ?

Node.js peut être comparé à Python, Ruby, Java, PHP. Vous trouverez une multitude de comparatifs sur Internet. Node.js présente de nombreux intérêts:
Mais si j'ai craqué ce n'est pour aucune de ces raisons, elles m'ont simplement confortées dans mon choix.
Non, en effet, j'ai choisi Node.js parce qu'il permet de faire du développement avec le langage Javascript. Le fait de passer d'un langage de programmation à l'autre est pénible. Autant rester dans un seul écosystème, et c'est un des arguments avancés par paypal dans son passage de Java à Node.js.

Comment installer Node.js ?

Pour l'installer vous pouvez utiliser une des trois méthodes ci-dessous :

  1. Utiliser votre gestionnaire de paquets (brew, macport, apt-get, ...).
  2. Utiliser un des binaires disponibles sur le site officiel dans la rubrique téléchargement de Node.js.
  3. Compiler le code source (dans ce cas, vous savez déjà comment faire).

Hello world

Voici un exemple d'utilisation : comment faire un serveur http avec Node.js (exemple.js)

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Puis vous executez ce fichier avec la commande suivante :
$ node example.js
Server running at http://127.0.0.1:1337/

Les bibliothèques standard Node.js

Voici la liste des bibliothèques contenues dans Node.js considérées comme stables (niveau 3) avec une petite description :

  • REPL : c'est l'interpréteur que vous avez quand vous tapez node dans votre console.
  • assert : pour faire des tests.
  • console : pour les logs.
  • debugger : point d'arrêt, step, ...
  • dns : les noms de domaines.
  • event : tout sur la gestion des événements.
  • fs : tout sur le système de fichiers.
  • global : tout ce qui est tout le temps disponible.
  • http : un serveur, un client, requête, réponse, ...
  • net : wrapper réseau asynchrone.
  • path : gestion des chemins sur un système de fichier.
  • os : gestion du système: dossiers temporaires, noms d'hôtes, ...
  • querystring : échapper, analyser les arguments d'une requête.
  • string_decoder : permet de passer d'un buffer à une chaine.
  • timers : global, permet d'appeler régulièrement des actions, poser un délai avant, ...
  • tls : SSL, chiffrer les échanges réseaux.
  • dgram : datagram, UDP.
  • util : différents outils, héritage, tests de type, ....
  • zlib : compression et lecture des formats gzip.

npm

npm est la commande du gestionnaire de paquets installé avec Node.js. Il permet donc de chercher / installer / désinstaller des paquets. Le registre de paquets se trouve sur le site npmjs.org.

Voici quelques commandes classiques:

La définition d'un paquet se fait par l'ajout d'un fichier de description au format json: package.json. Vous pouvez créer ce fichier à l'aide de la commande npm init qui vous posera une série de questions. Voici un exemple expliqué de fichier package.json.

Pour publier un paquet sur le registre, vous devez disposer d'un compte (création via la commande npm adduser) et utiliser la commande npm publish.

Par défaut, une installation de paquet se fait de manière locale à votre projet et non globale, comme avec python. Pour installer un paquet globalement, vous devez ajouter l'option -g.

Enfin, comme dernier cas d'utilisation, le cas du patch vous souhaitez utiliser un module qui n'est pas encore disponible, donc vous souhaitez utiliser sa version source, pour cela vous pouvez utiliser la commande npm link.

Pour aller plus loin avec Node.js

Et voilà, cette introduction à Node.js se termine. Vous l'aurez compris, d'autres articles arriveront bientôt pour vous montrer comment utiliser Node.js pour faire du développement d'applications web.

Avant de se quitter voici une liste de liens qui vous permettront d'aller plus loin.

Les officiels :

L'actualité :
Documentations et livres :
Framework web :

Bibliothèques utiles :

  • grunt ou gulp pour gérer le build  de votre projet (watch, compress, compile, ...)
  • bower gestionnaire de package pour les développeurs front-end
  • sqlite3, pg, mongodb pour vous connecter à vos base de données
  • node-inspector pour le debug
  • mocha, istanbul / blanket, karma pour les tests
  • jshint, jslint pour écrire du javascript comme tout le monde et sans erreur de syntaxe
  • less pour faire du css avec des variables et des mixins
  • passport pour gérer l'authentification dans vos applications web
  • q pour utiliser les promises (un pattern plus simple que les callbacks pour gérer l'asynchrone)
  • request pour faire des appels http super simplement

Offre de services et formations

Makina Corpus dispose d'experts Node.js. Vous pouvez retrouver notre offre de formation Javascript ou nous contacter.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Les logiciels et API pour géocoder 15/10/2019

On compare ici les principaux services en ligne et logiciels libres de géocodage du point de vue ...

Géocodeur : la théorie 10/10/2019

Le géocodage consiste à assigner des coordonnées latitude et longitude à une adresse en la ...

Mise en pratique de RxJS dans Angular Mise en pratique de RxJS dans Angular 13/08/2018

Les quelques bases suffisantes pour bien utiliser RxJS dans Angular. Cet article a été écrit ...

À Makina, la JS fatigue n'existe pas... 01/04/2019

...car la passion l'emporte

Comment mettre en place Angular Universal Comment mettre en place Angular Universal 29/06/2017

Toutes les étapes détaillées et expliquées. Les pièges à éviter.