Créa-blog

#100JoursPourCoder
Projet Créa-code

Ressources pour développeur web

Théme de la semaine : Découvrir node.js

Comprendre et installer Node.js en local : Tutoriel complet

Temps de lecture estimé : 7 minutes
Accueil Javascript Comprendre et installer Node.js en local : Tutoriel complet

Vous avez peut-être déjà entendu parler de Node.js dans une discussion entre développeurs, au détour d’une vidéo YouTube ou dans un article technique sans vraiment comprendre de quoi il s’agissait. Node.js intrigue, car il semble être à la fois lié à JavaScript, au développement web, aux serveurs et pourtant… tout cela paraît flou lorsque l’on débute.

  • Comprendre clairement ce qu’est Node.js et pourquoi il est devenu un outil indispensable pour créer des applications modernes.
  • Savoir installer Node.js sur Windows, Mac ou Linux et vérifier que l’environnement fonctionne correctement.
  • Être capable de lancer ses premiers scripts et serveurs simples afin de commencer à créer ses propres projets.

Dans ce guide, l’objectif est de vous accompagner depuis le début. Vous allez comprendre ce qu’est Node.js, pourquoi il est devenu incontournable dans le monde du développement, à quoi il sert concrètement, et surtout comment l’installer sur Windows, Mac et Linux, sans précipitation, étape par étape. Nous prendrons également le temps de clarifier une grande confusion très répandue : la différence entre JavaScript dans le navigateur (comme dans une page web) et JavaScript exécuté avec Node.js.

L’idée est que vous puissiez ressortir d’ici avec une vision claire, des exemples concrets en tête, et la capacité d’utiliser Node.js pour vos propres projets si vous le souhaitez. Même si vous débutez totalement, vous pouvez continuer, c’est promis : nous allons avancer ensemble.

Qu’est-ce que Node.js ?

Node.js est un environnement d’exécution pour JavaScript. Avant de rentrer dans sa définition, revenons à une idée importante : à l’origine, JavaScript ne pouvait fonctionner que dans un navigateur web. Lorsque vous ouvriez une page, le navigateur interprétait le JavaScript pour rendre la page interactive. Impossible de l’utiliser ailleurs. JavaScript était donc un langage “du navigateur”.

Avec Node.js, tout a changé. Node.js permet de faire tourner du JavaScript en dehors du navigateur, directement sur votre ordinateur, ou même sur un serveur distant.

Autrement dit, JavaScript n’est plus réservé aux pages web. Vous pouvez écrire des scripts, créer des outils en ligne de commande, développer des serveurs web complets, automatiser des tâches ou même construire des applications de bureau.

Pour prendre une analogie simple : avant, JavaScript était comme un acteur enfermé dans une salle de théâtre (le navigateur). Node.js lui a ouvert les portes du monde extérieur. Il peut désormais jouer dans d’autres films, sur d’autres scènes, dans des environnements totalement différents.

Techniquement, Node.js est construit au-dessus du moteur JavaScript V8 utilisé par Google Chrome. Cela signifie qu’il utilise la même base que le navigateur pour comprendre et exécuter votre code JS, mais sans interface graphique, sans onglet, sans page HTML.

À quoi sert Node.js ?

Node.js est utilisé pour énormément de choses aujourd’hui, notamment parce qu’il est rapide, léger et qu’il permet de réutiliser le même langage côté navigateur et côté serveur. Voici quelques situations où Node.js est particulièrement utile :

Développer des serveurs web.
Par exemple, créer un système d’authentification, une API ou un site dynamique qui dialogue avec une base de données.

Créer des outils en ligne de commande.
De nombreux outils utilisés par les développeurs fonctionnent grâce à Node.js, comme npm, vite, parcel, webpack et même certains générateurs de site.

Développer des applications en temps réel.
Chats en ligne, jeux en ligne, tableaux collaboratifs, systèmes de notifications.

Automatiser et planifier des tâches.
Par exemple générer automatiquement des images, renommer des centaines de fichiers, envoyer des e-mails automatisés.

Même des plateformes gigantesques comme Netflix, Paypal, Uber ou LinkedIn utilisent Node.js dans leurs serveurs !

Avant Node.js, un serveur gérait les connexions de manière très séquentielle. Si plusieurs utilisateurs demandaient des données au même moment, le serveur devait en quelque sorte faire la queue, ce qui pouvait devenir lent.

Node.js a adopté une approche dite “événementielle” : au lieu de bloquer, il écoute les demandes et répond dès qu’il est prêt. L’histoire raconte que lorsque Netflix a migré une partie de sa plateforme vers Node.js, ils ont réduit le temps de chargement initial de 40 secondes à moins d’une seconde sur certains appareils. Cela explique en partie l’intérêt massif des entreprises pour cette technologie.

Node.js et JavaScript dans le navigateur : quelles différences ?

À ce stade, vous pourriez penser que Node.js et JavaScript sont la même chose. Ce n’est pas tout à fait vrai. Le langage est le même, mais l’environnement dans lequel il s’exécute change complètement.

Dans un navigateur, le langage JavaScript :

  • Interagit avec le DOM (le contenu de la page)
  • Accède au CSS pour modifier l’apparence
  • Peut gérer des événements comme des clics ou des touches clavier
  • Ne peut pas accéder directement au système de fichiers de votre ordinateur pour des raisons de sécurité

Avec Node.js :

  • Vous n’avez pas de page web, pas de DOM
  • Vous pouvez lire, modifier et supprimer des fichiers sur votre ordinateur
  • Vous pouvez créer des serveurs
  • Vous pouvez utiliser des modules intégrés pour communiquer avec Internet, des bases de données, etc.

Voici un exemple concret :

Dans un navigateur :

document.querySelector("button").addEventListener("click", () => {
    alert("Bonjour !");
});

Ce code ne fonctionne pas dans Node.js, car il n’y a pas de document ni de page.

Avec Node.js, vous pouvez écrire quelque chose comme :

const fs = require("fs");
fs.writeFileSync("test.txt", "Bonjour depuis Node.js !");

Ce code crée un fichier sur votre ordinateur. Le navigateur en serait incapable.

Installer Node.js sur Windows, Mac et Linux

Nous allons maintenant installer Node.js ensemble. Pour que ce soit clair, vous pouvez suivre les étapes selon votre système.

Installation sur Windows

Rendez-vous sur le site officiel : https://nodejs.org

Vous verrez généralement deux versions proposées :

  • LTS (Long Term Support) : la version stable recommandée
  • Current : la version contenant les dernières nouveautés

Téléchargez LTS.

Une fois téléchargé, ouvrez l’exécutable. Vous verrez un installateur simple. Acceptez les conditions d’utilisation. Laissez les paramètres par défaut, puis, cliquez sur Installer.

Lorsque l’installation est terminée, ouvrez l’invite de commande (CMD) et tapez :

node -v

Vous devriez voir un numéro de version. Si oui, Node.js est installé.

Vous pouvez aussi vérifier npm (le gestionnaire de paquets livré avec Node) :

npm -v

Installation sur Mac

Si vous avez un Mac, vous pouvez installer Node.js de deux manières.

La première consiste à télécharger l’installateur sur https://nodejs.org comme sous Windows. La seconde (souvent préférée par les développeurs) consiste à utiliser Homebrew.

Si Homebrew n’est pas installé :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Puis :

brew install node

Vérifiez l’installation :

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?
node -v
npm -v

Installation sur Linux (Debian / Ubuntu)

Ouvrez un terminal et tapez :

sudo apt update
sudo apt install nodejs npm

Vérifiez :

node -v
npm -v

Votre premier script avec Node.js

Maintenant que Node.js est installé, vous pouvez enfin écrire votre premier programme. L’objectif ici n’est pas de créer tout de suite un serveur ou une application complexe, mais simplement de comprendre comment Node exécute du JavaScript en dehors du navigateur.

Commencez par créer un nouveau dossier sur votre ordinateur. Par exemple, sur votre bureau, créez un dossier nommé decouverte-node.

Ouvrez ce dossier dans votre éditeur de code préféré. Si vous n’en avez pas encore, vous pouvez installer Visual Studio Code, qui est largement utilisé, gratuit et très pratique.

Dans votre dossier, créez un nouveau fichier nommé app.js. Dans ce fichier, écrivez simplement :

console.log("Bonjour, ceci est mon premier programme en Node.js !");

Enregistrez le fichier. Ensuite, ouvrez un terminal dans ce dossier. Sur Windows : clic droit dans le dossier > Ouvrir dans le terminal ou sur Mac / Linux : ouvrez le terminal puis utilisez la commande cd pour vous déplacer dans le dossier.

Puis exécutez :

node app.js

Vous devriez voir apparaître le message dans votre terminal. Vous venez d’exécuter du JavaScript, sans navigateur. Ce moment paraît simple, mais il est symbolique : vous venez de découvrir que JavaScript peut vivre ailleurs que dans une page web.

Comment fonctionne un serveur Node.js ?

L’une des forces de Node.js est sa capacité à créer des serveurs web très facilement. Voyons un exemple simple. Dans le même dossier, créez un fichier serveur.js :

const http = require("http");

const serveur = http.createServer((requete, reponse) => {
    reponse.writeHead(200, { "Content-Type": "text/plain" });
    reponse.end("Bienvenue sur mon premier serveur Node.js !");
});

serveur.listen(3000, () => {
    console.log("Serveur en écoute sur https://localhost:3000");
});

Enregistrez, puis lancez :

node serveur.js

Ouvrez ensuite votre navigateur et entrez :

https://localhost:3000

Vous verrez s’afficher le message du serveur.

Cette petite expérience montre que Node.js peut agir comme le cerveau d’une application web, en répondant aux visiteurs, en envoyant des informations, en recevant des formulaires, etc.

Pour comprendre ce qu’il se passe ici :

  • Node “écoute” les demandes qui arrivent sur votre machine à l’adresse localhost (l’ordinateur lui-même) sur le port 3000.
  • À chaque demande, il répond par un texte simple. Pas de HTML pour l’instant, mais nous pourrions, bien sûr, en envoyer.

Saviez-vous qu’il est également possible de lancer un serveur Apache en local depuis le terminal ?

Le rôle de npm : installer et utiliser des modules

npm signifie Node Package Manager. Il est installé automatiquement avec Node.js.

Imaginez npm comme une immense bibliothèque contenant des centaines de milliers de modules (ou paquets) prêts à être utilisés. Ces modules permettent d’ajouter des fonctionnalités à votre projet sans les réinventer. Comme pour Composer avec PHP.

Pour prendre un exemple concret : si vous voulez créer un serveur web plus confortablement et plus rapidement, vous pouvez installer le framework Express.

Dans votre dossier decouverte-node, lancez :

npm init -y

Cette commande crée un fichier package.json, qui sert de carte d’identité à votre projet. Ensuite :

npm install express

Créez maintenant un fichier serveur-express.js :

const express = require("express");
const app = express();

app.get("/", (req, res) => {
    res.send("Bonjour avec Express !");
});

app.listen(3000, () => {
    console.log("Serveur Express en ligne sur https://localhost:3000");
});

Lancez :

node serveur-express.js

Retournez sur https://localhost:3000. Vous verrez un message similaire au précédent, mais Express rend le code plus lisible, plus organisé, plus agréable.

Pourquoi Node.js est-il si rapide ?

Node.js repose sur un modèle non bloquant. Ce terme peut paraître abstrait. Pour l’expliquer simplement : La plupart des serveurs traditionnels effectuent les tâches les unes après les autres. Si une opération prend du temps, tout le reste attend.

Node.js fonctionne différemment. Lorsqu’une opération est longue (accès à une base de données, lecture d’un fichier, connexion réseau), Node ne bloque pas. Il continue de répondre à d’autres demandes, puis revient à la première lorsqu’elle est prête.

C’est un peu comme une boulangère très organisée qui prépare plusieurs commandes en parallèle. Pendant que la pâte lève, elle sert un autre client. Elle n’attend jamais les bras croisés.

Ce système basé sur les événements permet à Node de gérer des milliers de connexions simultanées avec une efficacité remarquable.

JavaScript côté navigateur VS JavaScript avec Node.js : résumé clair

Voici une image mentale simple. JavaScript dans le navigateur :

  • Agit dans une page web
  • Manipule le contenu et les styles
  • Réagit aux interactions utilisateur
  • Sécurisé et limité

JavaScript dans Node.js :

  • Fonctionne directement sur l’ordinateur
  • Peut créer des serveurs, lire des fichiers, communiquer avec des bases de données
  • Idéal pour créer des applications complètes
  • Plus puissant, mais demande plus de responsabilité (vous pouvez modifier des fichiers système)

Le langage est le même, mais les outils disponibles ne sont pas les mêmes.

Un exemple concret reliant les deux mondes

Supposons que vous créez une application de chat. Côté navigateur : une interface avec des messages qui apparaissent. Côté Node.js : un serveur qui reçoit, stocke et redistribue les messages aux autres utilisateurs.

Même langage. Deux univers. Une collaboration parfaite.


Node.js a profondément transformé l’univers du développement web. Il a permis à JavaScript de sortir du navigateur, de devenir un langage polyvalent, capable de construire des serveurs, des outils, des applications complètes. Il simplifie la vie des développeurs en permettant d’utiliser un seul langage pour créer à la fois l’interface utilisateur et la logique serveur.

Vous avez désormais compris ce qu’est Node.js, à quoi il sert, les différences fondamentales entre JavaScript dans le navigateur et JavaScript côté serveur, et vous savez l’installer sur votre système. Vous avez même créé vos premiers programmes simples, dont un serveur accessible depuis votre navigateur.

Le chemin ne s’arrête pas ici. Vous pouvez maintenant explorer Express, manipuler des fichiers, apprendre à communiquer avec une base de données, ou développer une API que votre futur site pourra interroger. Node.js vous offre une immense liberté de création. C’est désormais à vous d’en faire quelque chose.