Anaïs Sparesotto
Node.js · ExpressIntermédiaire≈ 2h15 · 8 chapitres

Node.js et Express

JavaScript côté serveur, modules et npm, serveur HTTP, routes Express, middleware, API REST, gestion des erreurs et passage en production. Le backend avec le langage que tu connais déjà.

À la fin du cours, tu sais

  • Comprendre ce qu'est Node.js et son modèle non bloquant
  • Gérer des dépendances avec npm et organiser son code en modules
  • Créer un serveur et exposer des routes avec Express
  • Manipuler les requêtes et les réponses HTTP (paramètres, corps, statuts)
  • Comprendre et écrire des middleware
  • Construire une API REST complète (les opérations CRUD)
  • Gérer les erreurs proprement et préparer le passage en production

Prérequis

  • Maîtriser les bases de JavaScript, dont les fonctions et l'asynchrone (async/await)
  • Node.js installé (version LTS) et un terminal pour lancer les commandes
Chapitre 11 / 11

Étape 1 sur 11 : Node.js : JavaScript côté serveur

Chapitre 1

Node.js : JavaScript côté serveur

Longtemps cantonné au navigateur, JavaScript s'exécute aussi côté serveur depuis Node.js. Comprendre pourquoi, et ce que ça change.

Tu as appris JavaScript pour animer des pages dans le navigateur. Mais depuis 2009, Node.js permet d'exécuter du JavaScript en dehors du navigateur, directement sur un serveur ou ta machine. Concrètement, Node prend le moteur JavaScript de Chrome (V8) et l'emballe pour qu'il puisse lire des fichiers, écouter le réseau, dialoguer avec une base de données : tout ce qu'un serveur doit faire. Résultat : tu peux écrire ton backend dans le même langage que ton frontend. C'est ce qui a fait le succès de Node.

Un serveur, c'est un programme qui attend des requêtes (par exemple « donne-moi la liste des articles ») et renvoie des réponses. La particularité de Node est son modèle non bloquant : au lieu d'attendre bêtement qu'une opération lente se termine (lire un fichier, interroger une base), Node lance l'opération, passe à autre chose, et traite le résultat quand il arrive, grâce à une boucle d'événements. C'est ce qui lui permet de gérer des milliers de connexions simultanées sans s'écrouler.

Le modèle asynchrone, tu le connais déjà

Bonne nouvelle : ce modèle non bloquant repose sur l'asynchrone que tu as vu en JavaScript (les promesses, async/await). Une opération d'entrée/sortie renvoie une promesse, et tu l'attends avec await sans figer le reste du programme. Tout ce que tu as appris sur async/await se transpose directement à Node : c'est le même langage, le même modèle mental.

Un tout premier script Node (hello.js)
// Node fournit des modules pour parler au système
console.log("Ce code tourne côté serveur, pas dans le navigateur.");
console.log("Version de Node :", process.version);
node hello.js        # exécute le script avec Node

# Vérifier que Node est installé
node --version       # ex. v22.x.x

Côté serveur, pas de document ni de window

Un réflexe à perdre : dans Node, il n'y a ni document, ni window, ni DOM. Ces objets appartiennent au navigateur. Node a ses propres objets globaux (process, console, les modules pour le système de fichiers et le réseau). Coder côté serveur, c'est le même langage mais un autre environnement, avec d'autres outils à disposition.

Vrai ou faux ?

Node.js permet d'utiliser document.querySelector pour manipuler une page côté serveur.

Tu veux ce cours pour ton équipe ?

Je peux adapter et animer ce cours pour tes formateur·ices ou tes apprenant·es, en présentiel ou en distanciel. Parlons-en pendant l'audit gratuit.

Réserver un audit gratuit →