Node.js expliqué : le JavaScript qui tourne côté serveur
Ce qu'est Node.js, pourquoi il a changé le développement web, comment fonctionne son modèle non-bloquant, et quand le choisir (ou non) face à PHP.
En 2009, un développeur (Ryan Dahl) a eu une idée simple mais lourde de conséquences : et si on faisait tourner JavaScript en dehors du navigateur ? C’est Node.js. Aujourd’hui, il propulse une grande partie des applications web modernes.
L’idée de départ
Jusque-là, JavaScript ne vivait que dans le navigateur (pour rendre les pages interactives). Node.js prend le moteur V8 de Chrome — celui qui exécute ce JavaScript très vite — et le sort du navigateur pour l’utiliser côté serveur.
Conséquence : on peut écrire tout un site, du serveur à l’interface, dans un seul langage. Pour des équipes web, c’est un gain énorme.
Le modèle non-bloquant (le vrai atout)
La plupart des serveurs classiques traitent les requêtes une par une : si l’une attend la base de données, les autres patientent.
Node.js fonctionne autrement, avec une boucle d’événements (event loop) non-bloquante : pendant qu’une requête attend une réponse (base, fichier, réseau), Node passe à la suivante. Résultat : il gère des milliers de connexions simultanées avec peu de ressources.
C’est pourquoi Node excelle pour :
- les API (qui répondent à beaucoup de petites demandes),
- le temps réel (chat, notifications, jeux, tableaux de bord live).
L’écosystème : npm
Node s’accompagne de npm, le gestionnaire de paquets : le plus grand catalogue de bibliothèques au monde. Besoin d’un calendrier, d’un système d’authentification, d’un client de paiement ? Il existe presque toujours un paquet. C’est ce qui rend le développement rapide.
On y ajoute souvent :
- un framework serveur : Express, Fastify, ou NestJS ;
- un framework d’interface : React, Vue, Svelte — parfois réunis dans des outils « full-stack » comme Next.js ou Nuxt.
Node vs PHP : deux philosophies
| PHP (LAMP) | Node.js | |
|---|---|---|
| Exécution | À chaque requête (démarre puis finit) | Processus persistant (toujours vivant) |
| Point fort | Gestion de contenu, écosystème WordPress | API, temps réel, full-JavaScript |
| Langage | PHP côté serveur, JS côté client | JavaScript partout |
Aucun n’est « meilleur » dans l’absolu : ils répondent à des besoins différents. Voir aussi notre comparatif statique / dynamique / application.
Quand (ne pas) choisir Node
- Choisissez Node pour une application interactive, une API, un produit temps réel, ou si votre équipe est déjà JavaScript.
- Évitez Node pour un simple site vitrine : un site statique sera plus simple, plus rapide et moins cher.
L’essentiel n’est pas la mode, mais l’adéquation entre l’outil et le besoin.
Testez vos connaissances
Node.js permet d'utiliser JavaScript…
Avant 2009, JavaScript vivait dans le navigateur. Node.js l'a porté côté serveur, grâce au moteur V8 de Chrome.
Le modèle de Node.js est dit…
Node traite de nombreuses connexions en parallèle sans les bloquer, ce qui le rend efficace pour les API et le temps réel.
npm est…
npm donne accès au plus grand écosystème de bibliothèques au monde — d'où la rapidité de développement avec Node.
Pour quel usage Node.js brille-t-il particulièrement ?
Son modèle non-bloquant excelle quand beaucoup de clients sont connectés en même temps.
Différence clé avec PHP :
PHP démarre et finit à chaque requête ; Node garde un processus vivant qui gère les requêtes au fil de l'eau.