Node.js - 3.8 Rediriger une demande et écrire un fichier

Cette leçon traite les demandes envoyées par le formulaire. Lorsque l'utilisateur envoie un message, le serveur doit le recevoir, l'enregistrer dans un fichier, puis le rediriger. Vous verrez comment écrire un fichier avec le module fs et renvoyer une réponse de redirection.

Reconnaître la demande à traiter

Le serveur vérifie d'abord que l'URL demandée est exactement /message et que la méthode est POST. Une simple consultation de cette adresse ne doit pas déclencher le traitement.

Ce double contrôle garantit que seul l'envoi du formulaire déclenche l'enregistrement.

if (req.url === "/message" && req.method === "POST") {
  // enregistrer le message puis rediriger
}

Écrire le fichier avec fs

Le module fs, intégré à Node.js, permet de travailler avec le système de fichiers. On l'importe, puis on utilise writeFileSync, qui reçoit le chemin du fichier et son contenu.

Le fichier message.txt est créé dans le même dossier que l'application. Dans la vidéo, un texte factice est d'abord écrit, avant d'enregistrer le message réel.

const fs = require("fs");
fs.writeFileSync("message.txt", "texte factice");

Rediriger l'utilisateur

La redirection utilise le code d'état 302, qui signifie redirection. L'en-tête Location indique l'adresse vers laquelle le navigateur doit aller, ici la racine du site.

Le return évite d'exécuter le reste du code après l'envoi de la réponse.

res.writeHead(302, { Location: "/" });
res.end();
return;

En résumé

Le serveur vérifie l'URL et la méthode avant de traiter le message. Le module fs écrit le contenu dans un fichier texte. Une réponse 302 redirige ensuite le navigateur vers la page d'accueil.

Points clés

  • Vérifier l'URL et la méthode évite de traiter une demande par erreur.
  • Le module fs permet d'écrire un fichier.
  • writeFileSync écrit le contenu en une seule fois.
  • Le code 302 signifie une redirection.
  • L'en-tête Location indique la nouvelle adresse.

Questions fréquentes

Pourquoi tester la méthode POST ?

Le formulaire envoie une demande POST. Ce test évite de traiter une simple consultation de la page.

Où est créé le fichier ?

Il est créé dans le même dossier que l'application Node.js, sous le nom message.txt.

Comment vérifier la redirection ?

Dans les outils de développement, onglet réseau, la réponse affiche le code 302 et la redirection vers la racine.