Formation « Développer des blocs Gutenberg sur mesure avec React »

Installer Node.js & NPM pour compiler nos blocs Gutenberg

Lecture : 5 minutes • 4

Avant de pouvoir développer nos blocs Gutenberg, il est nécessaire de mettre en place quelques outils, comme notamment Node.js, qui nous permettra d’utiliser NPM, le gestionnaire de dépendances de JavaScript et lancer la compilation des scripts automatiquement. Vous allez voir, c’est plus facile que ce qu’il n’y paraît.

Avant, on pouvait coder du JavaScript qui ne nécessitait pas de compilation. Après tout, JS est un langage nativement compris par le navigateur. Mais lorsqu’on utilise React, qui est une surcouche, on doit faire appel à un compilateur.

Cela nous permettra d’écrire du pseudo-code JS plus simple à comprendre, qui sera ensuite compilé dans un JS compréhensible par tous les navigateurs. Dans ce cours, on va justement voir comment mettre en place tout le nécessaire sans encombre.

Node.js et NPM, c’est quoi ?

Node et NPM

Avant de commencer, je vais vous présenter 2 technologies qui vont nous être nécessaires pour la suite de cette formation : Node.js et NPM.

verrouillé Vidéo premium

Cette vidéo est réservée aux détenteurs de l’offre premium.
Envie de nous rejoindre ?

Choisir une formule

Node.js

Node.js pour faire simple, c’est un serveur en JavaScript qui permet tout un tas de choses. Il peut être utilisé par exemple comme un serveur web, ou encore en local sur sa machine pour assister le développeur lorsqu’il créé un site ou une application.

Ça peut paraître contre-intuitif de parler de serveur JavaScript, puisque ce langage est connu pour être avant tout un langage front-end. Mais on retrouve de plus en plus JS comme un langage serveur aujourd’hui !

En fait, lorsque le créateur de Node a imaginé un environnement temps réel basé sur des événements pour en faire un outil passe-partout, il s’est dit que Javascript était le langage le mieux adapté pour ça !

Du coup on utilise aujourd’hui Node.js dans des cas très divers et variés. Il peut-être utilisé :

  1. Comme serveur web pour des applications web et SaaS performants ;
  2. En local sur la machine du développeur pour compiler des fichiers en temps réel ;
  3. Pour gérer les dépendances d’un projet (toutes les librairies externes) grâce à NPM.

C’est surtout les points 2 et 3 qui vont nous intéresser pendant cette formation.

Le saviez-vous ?

De grands groupes comme IBM, LinkedIn, Microsoft, Netflix, Paypal… l’utilisent aujourd’hui. Node.js est devenu omniprésent dans tout ce qui touche aux applications web modernes.

NPM

NPM est le système de gestion de paquets pour Javascript. On y retrouve des dizaines de milliers de librairies utilisables pour tous types de projets web.

NPM est totalement écrit en JS et intégré de base dans Node, c’est pour cette raison que l’on va l’installer.

L'interface du site de NPM;
Le site NPM et ses librairies

Il consiste en un répertoire en ligne qui centralise toutes les librairies Javascript. Un développeur peut alors facilement les installer dans son projet : on parle de dépendances.

Au début de la période jQuery on devait manuellement télécharger nos scripts externes, comme par exemple : jQuery, Moment.js qui permet de simplifier la gestion de dates en JS, un incontournable, et Select2 un champ select amélioré et personnalisable.

On ne s’en sortait pas. Et c’est NPM qui a permis de corriger ce problème.

Information

NPM est à Javascript ce que le répertoire des extensions est à WordPress. Chaque langage de programmation a son propre système de gestion de paquets (PHP a Composer, Java a Maven…), mais ce n’est que très tard qu’est apparu NPM pour combler le manque de gestionnaire pour JS.

Sur le principe, on utilise NPM en ligne de commande, et on indique quelles sont les dépendances nécessaires à notre projet via la commande npm.

Shell

Un fichier package.json est alors créé à la racine de votre projet contenant les dépendances et la version minimale à télécharger :

JSON
package.json

Ces librairies, seront ensuite stockées dans le dossier /node_modules/ à la racine de votre projet. De là il sera très facile de mettre à jour ces packages ultérieurement sans devoir aller tout télécharger à la main.

Conseil

Pour synthétiser on peut dire que Node c’est du Javascript qui tourne sur un serveur dans une machine virtuelle. Et NPM permet de télécharger des librairies et gérer leurs dépendances.

Pourquoi on a besoin de Node.js et NPM ?

Bon c’est super tout ça mais quel est le rapport avec Gutenberg ?

verrouillé Vidéo premium

Cette vidéo est réservée aux détenteurs de l’offre premium.
Envie de nous rejoindre ?

Choisir une formule

Et bien comme Gutenberg utilise React, qui a besoin d’être compilé pour fonctionner, on va utiliser le système de dépendances de NPM pour indiquer que l’on a besoin de React et pleins d’autres librairies au passage.

Visual Studio Code montre en bas un encart contenant le compilateur en action.
Le compilateur s’exécutera directement dans notre IDE

Plus haut, je vous ai montré un exemple simple et standard. Mais en réalité NPM va plus loin. Il permet de télécharger des dépendances qui vont servir seulement pendant la phase développement, comme webpack qui permet de compiler les fichiers JavaScript lorsqu’on les modifie sur notre machine et que l’on va utiliser.

En effet le code que l’on va écrire, et notre organisation de fichiers ne seraient pas compris nativement par un navigateur. C’est pour ça qu’on aura besoin qu’un outil vienne compiler et transformer tout ça.

Si vous avez déjà utilisé des préprocesseurs CSS comme Sass, Less ou Stylus, c’est exactement le même principe.

Installer Node.js sur son ordinateur

C’est ici la partie la plus simple : Node.js dispose d’un installeur classique compatible avec tous les systèmes d’exploitation.

verrouillé Vidéo premium

Cette vidéo est réservée aux détenteurs de l’offre premium.
Envie de nous rejoindre ?

Choisir une formule

Il suffit donc de le télécharger et lancer l’installation. Prenez la version la plus récente estampillée LTS (Long Term Support) afin d’être à jour en terme de fonctionnalités et sécurité.

Télécharger l’installeur Node.js

L’installation devrait être une formalité : cliquez simplement sur continuer jusqu’à ce que l’assistant en ait terminé.

Le site de Node.js et la fenêtre d'installation du système d'exploitation.
Installer Node.js devrait être une formalité

Une fois l’installation terminée, Node.js est opérationnel sur votre système. Il n’y a pas d’interface, tout se fera de manière transparente.

Attention

Pour installer Node.js, vous aurez besoin des droits d’administrateur sur votre machine. Si vous êtes en agence, demandez à votre service IT.

Vérifier que tout fonctionne

Afin de vérifier que Node.js et NPM sont bien accessibles, on va faire un test rapide à partir de notre terminal.

verrouillé Vidéo premium

Cette vidéo est réservée aux détenteurs de l’offre premium.
Envie de nous rejoindre ?

Choisir une formule

Sur Windows, vous pouvez lancer le Powershell et sur Mac, ouvrez simplement l’application Terminal. Par la suite, on utilisera le terminal intégré à notre éditeur de code.

Lancez votre terminal et inscrivez node -v, puis validez en appuyant sur Entrée. Si tout va bien le numéro de version de Node.js devrait apparaître. Faites la même chose pour npm :  npm -v.

Shell

Voici ce que j’obtiens de mon côté au moment où j’écris cette formation. En théorie, vous devriez voir apparaître des numéros de version plus récents.

NPM et Node sont bien accessibles à partir de la ligne de commande !
NPM et Node.js sont bien accessibles à partir de la ligne de commande !

C’est tout ce dont on a besoin pour faire du React en local. Ce n’était pas si compliqué au final !


Parfait, on est désormais paré pour la suite. Dans le prochain cours on va découvrir la librairie WordPress qui va créer automatiquement la base de notre extension pour pouvoir créer nos blocs.

4

Questions, réponses et commentaires

  1. SAS BiiG

    Le 31 mars 2020

    Je crois que le NPM de la minute 5’10 » a été mal prononcé.

    1. Maxime BJ

      Le 31 mars 2020

      On dirait que j’ai dit NTM… (Oh merde lol)

  2. tiary

    Le 15 décembre 2023

    hello, je crois que je n’ai pas la même interface que vous pour le node.js. Le lien de téléchargement ci-dessus renvoie vers une page 404 donc j’ai fait directement une recherche. J’ai pris la version pour windows. Une fois téléchargé, j’ai : node.js, node.js command prompt et Install additionnal tools for node.js. Ben, je me demande où est-ce que dois installer ce syntax JSX car je n’ai pas la barre latérale gauche sur aucun des outils que je viens de télécharger. En tout cas merci pour ces cours. Ce n’est pas facile pour une novice.

    1. Maxime BJ

      Le 18 décembre 2023

      Node JS n’a pas d’interface, c’est un outil en ligne de commande uniquement. Une fois installé, tu peux lancer un terminal et vérifier qu’il est bien installé en tapant « node -v » pour avoir la version installée. La syntaxe JSX est automatiquement présente dans VS Code désormais, tu n’auras pas besoin de l’installer normalement.

Laisser un commentaire