Node.js : le runtime JavaScript côté serveur

Un seul langage du front au back

Node.js permet d’exécuter JavaScript sur une machine ou un serveur, en dehors du navigateur. Conçu autour d’un modèle d’entrées/sorties asynchrones et non bloquantes, il convient particulièrement aux applications qui gèrent beaucoup de connexions simultanées ou de flux de données.

Un runtime, pas un framework

Il s’agit d’un runtime : il fournit l’exécution du langage et un accès au système (fichiers, réseau, processus). Ce n’est ni un serveur HTTP clé en main ni un framework applicatif. Vous construisez votre architecture au-dessus, en vous appuyant sur les API fournies et sur l’écosystème de paquets.

Cette position au cœur de la pile technique en fait le socle de nombreux outils modernes : serveurs de build (Vite, Astro, Next.js), outils en ligne de commande, APIs REST ou temps réel, et scripts d’automatisation. Maîtriser Node.js est aujourd’hui un atout pour tout développeur web.

Pourquoi les équipes s’appuient sur Node.js

L’adoption de Node.js en entreprise repose sur plusieurs facteurs. La réutilisation du même langage (JavaScript ou TypeScript) côté interface et côté serveur réduit la charge cognitive et facilite le travail en équipe full-stack. Le moteur V8 (Chrome) assure des performances élevées pour un runtime dynamique. La boucle d’événements (event loop) et les API asynchrones permettent de traiter de nombreuses requêtes sans bloquer le thread principal.

L’écosystème npm offre un registre de paquets immense et une intégration directe au workflow (scripts, dépendances, publication). Enfin, la communauté et la documentation sont matures, et la fondation Node.js garantit des cycles de release prévisibles avec des versions LTS adaptées à la production.

Installer Node.js dans un contexte professionnel

Pour un environnement de développement ou de production, privilégier une installation pilotée par un gestionnaire de versions : nvm (Linux/macOS) ou nvm-windows. Cela permet de basculer entre plusieurs versions de Node.js selon les projets et d’aligner l’équipe sur la même version.

Installer la version LTS avec nvm
# Avec nvm (Linux / macOS)
nvm install --lts
nvm use --lts

Sous Windows, le site officiel propose des installateurs pour les versions LTS et Current. Pour les environnements conteneurisés (Docker), les images officielles node sont recommandées, en ciblant une version LTS précise (par exemple node:20-alpine).

Premier script : un serveur HTTP minimal

Un serveur HTTP basique illustre l’usage des modules intégrés. Le module http expose createServer et gère les requêtes de façon asynchrone.

Serveur HTTP minimal (ESM)
import { createServer } from 'http';

const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
res.end('Hello World\n');
});

server.listen(3000, '127.0.0.1', () => {
console.log('Serveur à l'écoute sur http://127.0.0.1:3000/');
});

Enregistrez ce code dans un fichier (par exemple server.mjs) et lancez-le avec node server.mjs. Vous obtenez un serveur qui répond en texte brut sur le port 3000. Pour des applications réelles, on s’appuie sur des frameworks comme Express, Fastify ou Hono, qui gèrent le routage, les middlewares et la structure du projet.

npm : dépendances et scripts

Node.js est livré avec npm, le gestionnaire de paquets par défaut. Chaque projet est décrit par un package.json (dépendances, scripts, métadonnées). Les commandes essentielles :

  • npm init pour créer un package.json
  • npm install <paquet> pour ajouter une dépendance
  • npm run <script> pour exécuter les scripts définis dans package.json

Les scripts permettent d’uniformiser les actions (build, test, lint, démarrage du serveur) et de les intégrer à l’intégration continue. Une bonne pratique consiste à figer les versions des dépendances (fichier package-lock.json) et à éviter les installations globales sauf pour les outils en CLI utilisés en dehors d’un projet.

En résumé

Node.js est devenu la brique de base pour exécuter JavaScript en dehors du navigateur et pour faire tourner la plupart des outils de développement web actuels. Comprendre son rôle de runtime, son modèle asynchrone et l’usage de npm est un prérequis pour travailler efficacement sur des projets modernes, qu’il s’agisse de scripts, d’APIs ou d’outils de build.

Pour aller plus loin : documentation officielle des API, versions LTS, et dépôt Node.js sur GitHub.

Découvrez également

Retour en haut Contactez-moi Contactez-moi