Premier serveur Express

Premier serveur Express

Votre premier serveur web avec Node.js et Express

Article 4/4 — Parcours débutant : du navigateur au serveur

Nous avons posé les bases du langage, puis découvert Node.js et son catalogue de briques réutilisables. Il est temps de tout assembler pour construire ce qui se cache derrière n’importe quel site : un serveur web.

Que fait un serveur, au juste ?

Un serveur web passe sa journée à attendre des questions et à y répondre. Lorsque vous saisissez une adresse dans votre navigateur, celui-ci envoie une requête via le protocole HTTP (HyperText Transfer Protocol, le protocole de transfert hypertexte) — le langage commun grâce auquel navigateurs et serveurs se comprennent. Le serveur reçoit la requête, détermine quoi renvoyer, et expédie une réponse.

Notre objectif : écrire le programme qui tient ce rôle.

Express, pour se simplifier la vie

Node.js sait gérer le réseau tout seul, mais le faire « à la main » est verbeux. La communauté s’appuie donc sur Express, une brique installable via npm qui simplifie énormément la création d’un serveur. On l’ajoute au projet ainsi :

npm install express

Un serveur en quelques lignes

Voici un serveur complet et fonctionnel. Prenez le temps de le lire ligne à ligne plutôt que de le copier mécaniquement : c’est en comprenant chaque morceau qu’il devient le vôtre.

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

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

app.listen(3000, () => {
  console.log("Serveur démarré sur http://localhost:3000");
});

Décortiquons. La première ligne importe la brique Express installée précédemment. La deuxième crée notre application.

Le cœur de l’affaire est app.get. Il définit une route : « lorsqu’un visiteur demande l’adresse /, voici la réponse à lui renvoyer ». La fonction reçoit deux objets par convention : req (la requête, ce que demande le visiteur) et res (la réponse, ce qu’on lui renvoie). Ici, on répond simplement par un texte.

Enfin, app.listen(3000, ...) met le serveur à l’écoute sur le port 3000. C’est l’équivalent d’ouvrir la boutique et d’allumer l’enseigne : à partir de cet instant, le serveur attend les visiteurs.

Lancez le tout avec node puis ouvrez http://localhost:3000 dans votre navigateur : votre message s’affiche. Vous venez de servir une page depuis un programme que vous avez écrit de bout en bout.

La suite logique

À partir de cette base, tout devient une variation. Ajouter une route /contact, renvoyer non plus du texte mais des données structurées pour alimenter une API (Application Programming Interface, interface de programmation applicative), brancher une base de données : chaque besoin réel correspond à une brique que vous saurez désormais chercher et intégrer.

Et c’est là le vrai message de cette série : on n’apprend pas le développement web en accumulant de la théorie, mais en faisant tourner de petits projets, puis en les complexifiant. Vous avez maintenant fait le chemin du bouton qui s’anime jusqu’au serveur qui répond. La meilleure étape suivante n’est pas un nouveau cours — c’est votre prochain projet.