Prendre en main Node.js
Il y a quelques années lorsque Node.js est apparu, nous avons rapidement compris qu’une révolution douce s’amorçait dans l’univers du développement web. Et aujourd’hui, et même si nous reprenons un projet ancien qui n’utilise pas Node.js, il peut paraitre impensable d’une manière ou d’une autre de ne pas employer Node.js au cours de la mise à jour du projet. De plus de nombreux outils viennent compléter la plateforme et une fois que nous les avons testés, ils sont généralement très vite adoptés. Pour n’en citer que quelques uns évoquons Bower, Grunt ou encore Gulp.
Mais en deux mots, et pour ceux qui n’en aurait pas entendu parler, qu’est ce que Node.js?
La réponse courte dirait qu’il s’agit d’une plateforme JavaScript permettant de développer des applications Web en prenant en charge aussi bien la partie client que la partie serveur. Bon avec çà, on a tout dit! La réponse longue va être de comprendre Node.js par l’exemple, et pour cela il va nous falloir quelques étapes préliminaire pour l’installer, le comprendre et l’utiliser. Essayons simplement au cours de cet article de déjà prendre en main Node.js
Comment fonctionne Node.js?
Le plus simple reste de l’installer et de l’utiliser. Donc rendez vous sur le site officiel dans la rubrique téléchargement et optez pour la version adaptée à votre environnement de travail. Une fois l’installeur téléchargé, lancez le et optez pour toutes les options par défaut. Voilà c’est tout… Node.js est prêt à être utilisé et comme dorénavant tout va se passer en ligne de commande, si vous êtes sous Mac lancez le Terminal (Applications > Utilities > Terminal), et sous Windows soit l’invite de commande (Windows + R > cmd) soit PowerShell (Windows + R > PowerShell).
Une fois installé, vérifions si Node.js est bien là, pour cela il suffit d’entrer le code suivant node -v
, et la console devrait nous retourner la version de Node.js présente sur l’ordinateur.
Maintenant si vous entrez
node
Node.js vous donne la main, et nous pouvons directement parler avec son interpréteur. Vous pouvez ainsi saisir toutes instructions JavaScript que vous souhaitez et la console vous répondra. N’oublions pas que Node.js est un runtime basé sur le moteur JavaScript V8 de Chrome Essayez par exemple d’entrer une variable, manipulez là, ou demandez directement un affichage explicite à la console. En utilisant console.log("coucou")
, la console retourne la chaîne de caractères, mais aussi la valeur undefined
, cela est simplement dû au fait que toute fonction possède une valeur de retour, mais pas console.log()
. Cela n’est pas gênant en soi dans le fonctionnement de Node.js.
Nous pourrions continuer à travailler et employer Node.js directement depuis cette console, mais en fait, et afin de directement coller à nos objectifs de travail sur des sites ou applications web, nous allons introduire la notion de projet. Et là, Node.js a tout prévu, c’est une notion qu’il connait bien et qui est intégré de manière native à ses commandes propre à NPM.
Sortons de cet échange direct avec l’interpréteur de Node.js, en pressant deux fois Ctrl-C.
NPM
Node.js utilise des paquets (sorte d’extensions autonomes) qui vont permettre de prendre en charge l’ensemble des fonctionnalités qui ne sont pas intégrées de manière native à Node.js. Ce gestionnaire de paquet, NPM, fait partie de Node.js et s’est installé automatiquement en complément de Node.js. Pour s’en assurer entrez la commande suivante npm -v
, et la console vous renverra la version de NPM installée. Notons au passage que Yarn est apparu en jeune concurent à NPM, voir NPM vs Yarn à ce sujet.
Pour l’instant continuons avec NPM et avant toute chose, commençons par déplacer le pointeur du terminal vers un dossier spécifique. Créez un dossier Projet-Node sur votre disque de travail et déplacez la console à cet emplacement.
Une fois le pointeur positionné, il suffit de saisir la commande
npm init
La console va tour à tour vous poser un certain nombre de questions. Certaines peuvent rester par défaut, d’autres peuvent être modifiées, il vous suffit de valider par la touche Enter au fur et à mesure jusqu’à la validation finale du projet. Quoiqu’il en soit tout pourra être modifié par la suite. Si vous souhaitez zapper cette étape et directement initialiser le projet au lieu de saisir npm init
, entrez npm init -y
. (voir https://docs.npmjs.com/cli/init)
Si vous regardez dans le dossier de votre projet, un fichier package.json est apparu et contient l’ensemble des informations qui ont été entrées depuis la console. Node.js a créé et renseigné ce fichier pour nous. Notez que nous aurions tout aussi bien pu le gérer de manière externe, et ce, depuis n’importe quel éditeur de code. Si vous souhaitez creuser le fichier package.json dans ses moindres détails rapprochez vous de l’article package.json — Specifics of npm’s package.json handling.
Concernant la gestion du numéro de version du projet, je vous conseille le site Gestion sémantique de version 2.0.0 qui détaille le principe de numérotation des versions et au niveau du choix de la licence à adopter le site SPDX License list vous apportera une bonne base de réflexion.
Exécuter un fichier JavaScript externe
Créez un fichier JavaScript, nommez le index.js, placez y l’instruction suivante console.log("coucou");
et enregistrez le à la racine du dossier de projet. Le fichier aurait très bien pu se nommer différemment. Le fait que ce fichier et la propriété « main » présente dans le fichier package.json soit identique est purement arbitraire. La propriété « main » indique le fichier à exécuter si notre projet est chargé en tant que paquet. Pour l’instant, et pour les besoins de cet article, nous allons utiliser notre fichier index.js de manière indépendante.
Et maintenant depuis la console saisissez la ligne suivante, le fichier sera ainsi exécuté et la console affichera coucou
node index.js
Pour l’instant, c’est tout ce que nous avons besoin de comprendre en ce qui concerne l’installation et la prise en main de Node.js. Je reconnais que ce n’est pas grand chose, mais après tout, Node.js, ce n’est pas plus compliqué, nous allons simplement devoir utiliser ds paquets afin d’en exploiter la magie. Je vous invite donc à passer à l’article Node.js entre packages et modules qui concerne l’utilisation de modules et de paquets et qui permet de mieux comprendre les mécaniques internes et les articulations de Node.js.
Aller plus loin
Smashing Node.js
Guillermo Rauch
Smashing Node.js: JavaScript Everywhere equips you with the necessary tools to understand Node.js and its uses in developing efficient web apps. With more traditional web servers becoming obsolete, having knowledge on servers that achieve high scalability and optimal resource consumption using Node.js is the key to your app development success. Teaching you the essentials to making event-driven server-side apps, this book demonstrates how you can use less space and take less time for communicati...
4 réponses
[…] Pour plus d’informations sur l’usage de Node.js rapprochez vous de Prendre en main Node.js. […]
[…] un article précédent, Prendre en main Node.js, nous avions vu que nous pouvions invoquer un fichier en particulier depuis la console. Nous allons […]
[…] Bon, Grunt.js c’est un des modules de Node.js et pour pouvoir l’utiliser, il faut déjà commencer par installer Node.js. Alors rendons-nous sur l’article Prendre en main Node.js. […]
[…] Avant d’aller plus loin, assurons nous que Node.js soit bien installé. Dorénavant tout va se passer en ligne de commande, donc si vous êtes sous Mac lancez le Terminal (Applications > Utilities > Terminal), et si vous êtes sous Windows ouvrez soit l’invite de commande (Windows + R > cmd) soit PowerShell (Windows + R > PowerShell). Si vous n’avez jamais utilisé Node, je vous invite à vous rapprocher de l’article Prendre en main Node.js. […]