Encode une chaîne de caractères en utilisant l'algorithme uuencode
Apprenez à gérer les sessions avec ExpressJS dans ce tutoriel pas à pas pour débutants s. Exemples simples et exécutables inclus.
Dans ce tutoriel, nous allons apprendre à utiliser les sessions avec ExpressJS. Ce guide est conçu pour les débutants : nous irons doucement, étape par étape, avec des explications très simples et un exemple que vous pourrez tester vous-même. Les sessions permettent de suivre les utilisateurs sur plusieurs pages, par exemple pour se souvenir de leur nom ou compter leurs visites.
Une session est comme un carnet de notes que le serveur garde pour chaque utilisateur. Contrairement aux cookies, qui sont stockés dans le navigateur, les données de session restent sur le serveur. Le navigateur reçoit juste un petit identifiant (un "ticket") pour dire "c’est moi". Avec ExpressJS, nous utiliserons express-session
pour gérer ça facilement. Par exemple, nous pouvons compter combien de fois quelqu’un visite une page sans demander son nom à chaque fois.
Avant de commencer, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Sinon, voici les étapes :
node -v
. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.cd chemin/vers/sessions-express
, puis tapez npm init -y
. Cela crée un fichier package.json
.npm install express express-session
. express-session
est l’outil pour gérer les sessions.Commençons par un exemple où le serveur utilise une session pour compter les visites d’un utilisateur.
Créez un fichier nommé index.js
dans votre dossier "sessions-express" et ajoutez ce code. Il suit le nombre de visites.
var express = require('express'); var session = require('express-session'); var app = express(); // Configurer les sessions app.use(session({ secret: 'monsecret', resave: false, saveUninitialized: false })); // Route principale app.get('/', function(req, res) { // Vérifier si la session a un compteur de visites if (!req.session.visites) { req.session.visites = 1; } else { req.session.visites += 1; } // Afficher le nombre de visites res.send(` <html> <body> <h1>Bienvenue !</h1> <p>Vous avez visité cette page ${req.session.visites} fois.</p> </body> </html> `); }); app.listen(3000, function() { console.log("Serveur démarré sur http://localhost:3000"); });
Voici chaque ligne expliquée très simplement pour les débutants :
express-session
, l’outil qui gère les sessions.req.session
est comme un carnet où on note des choses pour cet utilisateur.Pour exécuter : Sauvegardez index.js
, tapez node index.js
dans le terminal, puis ouvrez <a href="http://localhost:3000" title="Tester les sessions">http://localhost:3000</a>. La première fois, vous verrez "Vous avez visité cette page 1 fois". Rechargez (F5), et ça passera à 2, puis 3, etc.
Allons plus loin : utilisons une session pour stocker un nom personnalisé et afficher un message avec les visites.
Mettez à jour index.js
avec ce code. Il ajoute un formulaire pour définir un nom dans la session.
var express = require('express'); var session = require('express-session'); var app = express(); // Configurer les sessions app.use(session({ secret: 'monsecret', resave: false, saveUninitialized: false })); app.use(express.urlencoded({ extended: false })); // Route principale app.get('/', function(req, res) { // Gérer le compteur de visites if (!req.session.visites) { req.session.visites = 1; } else { req.session.visites += 1; } // Gérer le nom dans la session var nom = req.session.nom || "Visiteur"; res.send(` <html> <body> <h1>Bienvenue, ${nom} !</h1> <p>Vous avez visité cette page ${req.session.visites} fois.</p> <form method="POST" action="/definir-nom"> <label>Changer votre nom : </label> <input type="text" name="nom"> <button type="submit">Définir</button> </form> </body> </html> `); }); // Route pour définir le nom dans la session app.post('/definir-nom', function(req, res) { req.session.nom = req.body.nom; res.send(` <html> <body> <h1>Nouveau nom défini : ${req.session.nom} !</h1> <p><a href="/" title="Retour à la page principale">Retour</a></p> </body> </html> `); }); app.listen(3000, function() { console.log("Serveur démarré sur http://localhost:3000"); });
Voici chaque nouvelle partie expliquée pour les débutants :
Pour exécuter : Sauvegardez index.js
, tapez node index.js
, allez à <a href="http://localhost:3000" title="Tester les sessions">http://localhost:3000</a>. Vous verrez "Bienvenue, Visiteur !" et "1 fois". Entrez un nom (ex. : "Marie"), cliquez sur "Définir", puis revenez. Vous verrez "Bienvenue, Marie !" avec le compteur qui augmente.
Bravo ! Vous savez maintenant gérer les sessions avec ExpressJS pour suivre les utilisateurs. Les sessions sont plus sécurisées que les cookies pour stocker des données sensibles, car elles restent sur le serveur. Testez ce code dans gérer-sessions-expressjs.html. Pour aller plus loin, explorez notre prochain tutoriel sur Authentification avec ExpressJS ou consultez la documentation ExpressJS.