Node.JS

Node.js est un environnement d’exécution open source, multiplateforme, basé sur le moteur V8 de Google Chrome, qui permet d’exécuter du code JavaScript côté serveur en dehors du navigateur.

Traditionnellement, JavaScript ne fonctionnait que dans les navigateurs web (pour animer des pages).
Node.js a libéré JavaScript du navigateur, en lui donnant accès au système de fichiers, au réseau, aux bases de données, etc.

Résultat : on peut désormais écrire toute une application en un seul langage : JavaScript.

Fonctionnement clé : asynchrone et événementiel

Node.js repose sur un modèle non bloquant et orienté événements :

  • Pas de « attente » pendant une opération (ex. : lecture de fichier, requête BDD),
  • Utilisation de callbacks, promesses ou async/await pour gérer les réponses,
  • Très efficace pour les applications I/O intensives (API, temps réel, streaming).

→ C’est ce qui lui permet de gérer des milliers de connexions simultanées avec peu de ressources.

Cas d’usage concrets

DomaineExemples
API REST / GraphQLBackend pour applications mobiles ou SPAs (React, Vue)
AutomatisationScripts de traitement de données, conversion de fichiers, ETL (vous l’utilisez probablement via Python ou Bash, mais Node.js est aussi très efficace ici)
Outils de développementBundlers (Webpack, Vite), linters, générateurs de sites statiques (Eleventy, Astro)
Applications en temps réelChat, outils collaboratifs (via WebSocket / Socket.IO)
MicroservicesPetits services indépendants, faciles à déployer
Serveurs légersPour héberger des outils internes, des dashboards, des bots

Écosystème : npm, le plus grand registre de packages au monde

  • npm (Node Package Manager) permet d’installer des bibliothèques prêtes à l’emploi (ex. : express pour les serveurs, cheerio pour parser du HTML, node-cron pour planifier des tâches).
  • Plus de 2 millions de packages disponibles → gain de temps énorme.

Attention : cet écosystème est puissant mais fragile (dépendances en cascade, obsolescence rapide).
→ Dans une démarche de résilience, privilégiez les dépendances légères, bien maintenues, et open source.

Node.js vs autres backends

TechnoAvantagesInconvénients
Node.jsJavaScript partout, I/O rapide, grand écosystèmeMoins adapté au calcul CPU lourd
**Python **(FastAPI/Django)Lisibilité, data science, maturitéMoins performant en I/O concurrent
PHPIntégré au web, WordPress, simple déploiementMoins moderne pour les APIs pures
Go / RustHaute performance, faible empreinteCourbe d’apprentissage plus forte

Ressources fiables

The Node.js Handbook **(freeCodeCamp) : complet et pratique

nodejs.org : officiel, téléchargement, docs

nodejs.dev : guide interactif moderne

MDN Web Docs – Node.js basics : gratuit, clair, orienté web

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.