oujood.com

ExpressJS : Gérer les Données de Formulaires - Guide Complet pour Débutants

Apprenez à gérer les données de formulaires avec ExpressJS dans ce tutoriel pas à pas pour débutants. Exemples clairs et exécutables inclus
Dans ce tutoriel, nous allons apprendre à récupérer et utiliser les données envoyées par un formulaire HTML avec ExpressJS. Ce guide est fait pour les débutants : nous irons lentement, étape par étape, avec des explications très détaillées et un exemple que vous pourrez exécuter vous-même.

chercher |

Introduction : Qu’est-ce qu’un Formulaire et Pourquoi le Gérer avec ExpressJS ?

Un formulaire est une partie d’une page web où les utilisateurs peuvent entrer des informations, comme leur nom ou leur email, et les envoyer à un serveur. ExpressJS est un outil pour créer des serveurs avec Node.js, il nous permet de recevoir ces informations et de les traiter. Par exemple, imaginez un formulaire où quelqu’un entre son nom, et le serveur répond "Bonjour, [nom] !". C’est ce que nous allons faire ici.

Étape 1 : Préparer Votre Environnement

Avant de coder, assurons-nous que tout est prêt. Si vous n’avez jamais utilisé Node.js ou ExpressJS, suivez ces étapes :

  • Installez Node.js : Allez sur nodejs.org, téléchargez la version recommandée, et installez-la. Pour vérifier, ouvrez un terminal (Invite de commandes sur Windows, Terminal sur Mac/Linux) et tapez node -v. Vous devriez voir une version (ex. : v16.13.0).
  • Créez un dossier pour votre projet : Sur votre ordinateur, créez un dossier et nommé le "formulaire-express" (ou un nom de votre choix). Ouvrez ce dossier dans un éditeur comme Visual Studio Code.
  • Initialisez un projet Node.js : Dans le terminal, allez dans votre dossier avec la commande : cd chemin/vers/formulaire-express, puis tapez npm init -y. Cela crée un fichier package.json.
  • Installez ExpressJS : Dans le terminal, tapez npm install express. Cela ajoute ExpressJS à votre projet.

Étape 2 : Créer un Formulaire HTML Simple

Nous allons d’abord créer une page avec un formulaire où l’utilisateur peut entrer son nom. ExpressJS servira cette page.

Exemple de Code : Serveur avec Formulaire

Créez un fichier nommé index.js dans votre dossier "formulaire-express" et ajoutez ce code. Il affiche une page avec un formulaire.

📋 Copier le code

var express = require('express');
var app = express();

app.get('/', function(req, res) {
    res.send(`
        <html>
            <body>
                <h1>Entrez votre nom</h1>
                <form method="POST" action="/submit">
                    <label>Nom : </label>
                    <input type="text" name="nom">
                    <button type="submit">Envoyer</button>
                </form>
            </body>
        </html>
    `);
});

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

Explication Détaillée du Code

Voici ce que fait chaque ligne, expliqué très simplement :

  • var express = require('express'); : On importe ExpressJS, un outil qui nous aide à démarrer un serveur.
  • var app = express(); : On crée notre application, comme une boîte où on mettra tout notre code.
  • app.get('/', function(req, res) { ... }); : On dit au serveur : "Quand quelqu’un visite la page principale (’/’), fais quelque chose". Ici on exécute une fonction avec les parametres:
    "req" est ce que l’utilisateur demande, et "res" est ce qu’on lui renvoie.
  • res.send(`...`); : On envoie une page HTML avec un formulaire.
    Le formulaire a :
    • method="POST" : Les données seront envoyées de façon cachée (et non pas dans l’URL).
    • action="/submit" : Les données iront à l’adresse "/submit".
    • <input name="nom"> : Une boîte où l’utilisateur tape son nom.
  • app.listen(3000, ...); : On démarre le serveur sur le port 3000. Le message dans la console confirme que ça marche.

Pour exécuter : Dans le terminal, tapez node index.js. Ouvrez votre navigateur à http://localhost:3000. Vous verrez un formulaire ! Mais si vous cliquez sur "Envoyer", rien ne se passe encore. Passons à l’étape suivante.

Étape 3 : Recevoir les Données du Formulaire

Pour lire les données envoyées par le formulaire, ExpressJS a besoin d’un outil supplémentaire appelé "middleware". Installons-le et utilisons-le.

  • Installez le middleware : Dans le terminal, tapez npm install body-parser.

Exemple de Code : Recevoir et Afficher les Données

Mettez à jour le fichier : index.js avec le code qui suit. Il récupère le nom et répond avec un message.

📋 Copier le code

var express = require('express');
var bodyParser = require('body-parser');
var app = express();

// Middleware pour lire les données POST
app.use(bodyParser.urlencoded({ extended: false }));

// Afficher le formulaire
app.get('/', function(req, res) {
    res.send(`
        <html>
            <body>
                <h1>Entrez votre nom</h1>
                <form method="POST" action="/submit">
                    <label>Nom : </label>
                    <input type="text" name="nom">
                    <button type="submit">Envoyer</button>
                </form>
            </body>
        </html>
    `);
});

// Recevoir les données du formulaire
app.post('/submit', function(req, res) {
    var nom = req.body.nom;
    res.send(`<html><body><h1>Bonjour, ${nom} !</h1></body></html>`);
});

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

Explication Détaillée du Code

Voici chaque nouvelle partie expliquée très clairement :

  • var bodyParser = require('body-parser'); : On importe body-parser, un outil qui aide Express à comprendre les données du formulaire.
  • app.use(bodyParser.urlencoded({ extended: false })); : On active ce "middleware" pour lire les données POST. "urlencoded" signifie qu’il lit les données comme "nom=Jean". Le paramètre "extended: false" garde les choses simples pour les débutants.
  • app.post('/submit', function(req, res) { ... }); : On crée une nouvelle règle : "Quand les données arrivent à ’/submit’ avec POST, fais quelque chose".
  • var nom = req.body.nom; : On récupère le nom tapé dans le champ "nom" du formulaire. req.body contient toutes les données envoyées.
  • res.send(`...${nom}...`); : On renvoie une page avec "Bonjour, [nom] !". Les ${} insèrent le nom dans le texte.

Pour exécuter : Sauvegardez index.js, tapez node index.js dans le terminal, allez à http://localhost:3000, entrez un nom dans le champ de saisie (ex. : "Marie"), et cliquez sur "Envoyer". Vous verrez "Bonjour, Marie !".

Conclusion

Félicitations ! Vous savez maintenant gérer un formulaire avec ExpressJS. Vous avez créé un serveur, affiché un formulaire, et traité les données envoyées. Pour aller plus loin, explorez notre prochain tutoriel sur Connecter ExpressJS à une Base de Données ou consultez la documentation ExpressJS.



Voir aussi nos tutoriel :

La méthode Json parse

La méthode json parse analyse une chaîne JSON et construit la valeur ou l'objet JavaScript décrit par la chaîne.

Espaces de noms XML

Espaces de noms XML

Balise élément de lite dt

Définit un terme (un élément) dans une liste de définition