Introduction à NodeJS

1 - Qu'est-ce que Node.js

Node.js est un environnement d'exécution multiplateforme et une bibliothèque pour exécuter des applications JavaScript en dehors du navigateur. Il est utilisé pour créer des applications Web côté serveur et en réseau. Il est open source et gratuit à utiliser. Il peut être téléchargé à partir de ce lien https://nodejs.org/

De nombreux modules de base de Node.js sont écrits en JavaScript. Node.js est principalement utilisé pour exécuter des applications serveur en temps réel.

La définition donnée par sa documentation officielle est la suivante:

Node.js est une plate-forme construite sur le moteur d'exécution JavaScript de Chrome pour créer facilement des applications réseau rapides et évolutives. Node.js utilise un modèle d'E / S non bloquant piloté par les événements qui le rend léger et efficace, parfait pour les applications en temps réel gourmandes en données qui s'exécutent sur des appareils distribués.

Node.js fournit également une riche bibliothèque de divers modules JavaScript pour simplifier le développement d'applications Web.

2 - Gestion des packages npm (node package management)




npm est le gestionnaire de packages préinstallé pour la plate-forme serveur Node.js. Il installe les programmes Node.js à partir du registre npm, organisant l'installation et la gestion des programmes Node.js tiers. Les packages dans le registre npm peuvent aller de simples bibliothèques d'assistance telles que Lodash à des exécuteurs de tâches tels que Grunt.

3 - API unifiée

Node.js peut être combiné avec un navigateur, une base de données qui prend en charge les données JSON (telles que Postgres, MongoDB ou CouchDB) et JSON pour une pile de développement JavaScript unifiée. Avec l'adaptation de ce qui étaient essentiellement des modèles de développement côté serveur tels que MVC, MVP, MVVM, etc., Node.js permet la réutilisation du même modèle et interface de service entre le côté client et le côté serveur.

4 - Boucle d'événement (Event loop)

Node.js s'inscrit auprès du système d'exploitation afin que le système d'exploitation lui notifie les connexions et émet un rappel. Dans le runtime Node.js, chaque connexion est une petite allocation de segment de mémoire. Traditionnellement, les processus ou threads de système d'exploitation relativement lourds géraient chaque connexion. Node.js utilise une boucle d'événements pour l'évolutivité, au lieu de processus ou de threads. Contrairement à d'autres serveurs événementiels, la boucle d'événements de Node.js n'a pas besoin d'être appelée explicitement. Au lieu de cela, les rappels sont définis et le serveur entre automatiquement dans la boucle d'événements à la fin de la définition de rappel. Node.js quitte la boucle d'événements lorsqu'il n'y a plus de rappel à effectuer.

5 - Caractéristiques et points forts de Node.js

Voici une liste de quelques fonctionnalités importantes de Node.js qui en font le premier choix des architectes logiciels:

  1. Open source: Node.js a une communauté open source qui a produit de nombreux excellents modules pour ajouter des capacités supplémentaires aux applications Node.js.
  2. Licence: Node.js est publié sous la licence MIT.
  3. Extrêmement rapide: Node.js est construit sur le moteur JavaScript V8 de Google Chrome, donc sa bibliothèque est très rapide dans l'exécution de code.
  4. Les E / S sont asynchrones et pilotées par les événements: toutes les API de la bibliothèque Node.js sont asynchrones, c'est-à-dire non bloquantes. Un serveur basé sur Node.js n'attend donc jamais qu'une API retourne des données. Le serveur passe à l'API suivante après l'avoir appelée et un mécanisme de notification des événements de Node.js aide le serveur à obtenir une réponse de l'appel d'API précédent. C'est aussi une raison pour laquelle il est très rapide.
  5. Thread unique: Node.js suit un modèle à thread unique avec boucle d'événement.
  6. Hautement évolutif: Node.js est hautement évolutif car le mécanisme d'événement aide le serveur à répondre de manière non bloquante.
  7. Pas de mise en mémoire tampon: Node.js réduit le temps de traitement global lors du téléchargement de fichiers audio et vidéo. Les applications Node.js ne tamponnent jamais aucune donnée. Ces applications sortent simplement les données par blocs.
  8. Un très grand nombre de packages au sein de la  bibliothèques: le registre npm héberge plus de 1 000 000 de packages open source que vous pouvez utiliser librement.
  9. NodeJS est utilisé par les géants de la technologie: Google, PayPal, Linkedin, Walmart, Uber, Ebay, Nasa, Mozilla, Twitter, Godady, Trello, Netflix...

6 - Téléchargement et premier pas

6.1 - Téléchargement de NodeJS




Pour télécharger NodeJS, reportez-vous au site officiel: https://nodejs.org/en/download/ , choisissez la version qui correspond à votre système d'exploitation et suivez ensuite les étapes d'installation automatisée jusqu'à la fin.

6.2 - Premier exemple 'Hello World' avec NodeJS

Il est temps maintenant de vérifier que Node.js fonctionne bien! Nous allons d'abord écrire un très petit programme, qui affiche simplement un message dans la console. Ce sera l'occasion de voir comment fonctionne l'exécution des fichiers .js avec Node.js.

Pour commencer, ouvrez votre éditeur de texte préféré (vim, Emacs, Sublime Text, Notepad ++ ...) et entrez le code JavaScript suivant:

console.log ('Bienvenue dans Node.js!');

Enregistrez ensuite votre fichier sous l'extension .js. Par exemple test.js.

Ensuite, ouvrez une console dans le dossier où se trouve votre fichier test.js et entrez la commande:

node test.js

Vous devriez avoir le résultat suivant dans la console:

 

Félicitations!  Vous avez réussi à créer votre  premier programme Node.js! Dans les prochaine leçons, nous verrons des choses d'une extrême importances: comment créer un serveur web et bénéficier d'un site web dynamique, comment manipuler des bases de données avec NodeJS...

 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply