oujood.com

Ralentissement des Réponses avec ExpressJS - Guide pour Débutants

Apprenez à ralentir les réponses avec ExpressJS dans ce tutoriel simple pour débutants. Contrôlez les requêtes facilement
Dans ce tutoriel, nous allons apprendre à ralentir les réponses dans une application ExpressJS, c’est-à-dire ajouter un délai progressif aux requêtes pour décourager les abus sans bloquer complètement les utilisateurs. 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. Nous utiliserons express-slow-down pour gérer ce ralentissement.

chercher |

Introduction : Qu’est-ce que le Ralentissement des Réponses ?

Le ralentissement des réponses, c’est comme dire "Attends un peu !" à quelqu’un qui frappe trop vite à votre porte. Au lieu de bloquer totalement (comme avec la limitation de débit), on ajoute un petit retard qui augmente à chaque tentative rapide. Avec ExpressJS, express-slow-down agit comme un frein doux pour protéger votre serveur, utile contre les essais répétés (comme deviner un mot de passe).

Étape 1 : Préparer Votre Environnement

Avant de coder, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Voici les étapes :

  • Vérifiez Node.js : Ouvrez un terminal et tapez node -v. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.
  • Créez un dossier projet : Faites un dossier nommé "ralentissement-reponses" sur votre ordinateur. Ouvrez-le dans un éditeur comme Visual Studio Code.
  • Initialisez le projet : Dans le terminal, allez dans ce dossier avec cd chemin/vers/ralentissement-reponses, puis tapez npm init -y. Cela crée un fichier package.json.
  • Installez ExpressJS et express-slow-down : Tapez npm install express express-slow-down. express-slow-down gère le ralentissement pour nous.

Étape 2 : Créer une Application avec Ralentissement

Construisons une application simple où les réponses ralentissent après plusieurs requêtes rapides.

Exemple de Code : Application avec Ralentissement

Créez un fichier nommé app.js dans votre dossier "ralentissement-reponses" et ajoutez ce code :

📋 Copier le code

var express = require('express');
var slowDown = require('express-slow-down');
var app = express();

// Configurer le ralentissement
var speedLimiter = slowDown({
windowMs: 60 * 1000, // 1 minute
delayAfter: 3, // Ralentir après 3 requêtes
delayMs: 500 // Ajouter 500ms de délai par requête après la limite
});

// Appliquer le ralentissement à toutes les routes
app.use(speedLimiter);

// Route principale
app.get('/', function(req, res) {
res.send('Bonjour ! Les réponses ralentissent après 3 visites rapides.');
});

// Route de test
app.get('/test', function(req, res) {
res.send('Page de test avec ralentissement aussi !');
});

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

Explication Détaillée du Code

Voici chaque partie expliquée très simplement pour les débutants :

  • var slowDown = require('express-slow-down'); : On importe le module pour ralentir les requêtes.
  • var speedLimiter = slowDown({...}); : On configure le ralentissement :
    • windowMs: 60 * 1000 : Fenêtre de temps de 1 minute.
    • delayAfter: 3 : Ralentissement après 3 requêtes dans cette fenêtre.
    • delayMs: 500 : Ajoute 500 millisecondes (0,5 seconde) de délai par requête supplémentaire.
  • app.use(speedLimiter); : On applique le ralentissement à toutes les routes.
  • app.get('/', ...); : Route principale avec un message.
  • app.get('/test', ...); : Une autre route pour tester.

Étape 3 : Tester l’Application

Démarrez le serveur avec node app.js dans le terminal, puis testez :

  • http://localhost:3000 : Vous verrez "Bonjour ! Les réponses ralentissent après 3 visites rapides.".
  • Rafraîchissez la page rapidement 3 fois : Les réponses sont instantanées.
  • À la 4e fois (dans la même minute) : La réponse prend 0,5 seconde de plus.
  • À la 5e fois : 1 seconde de plus (0,5 + 0,5).
  • Essayez http://localhost:3000/test : Même effet sur cette route.

Attendez une minute, et le compteur se réinitialise : les réponses redeviennent rapides.

Conclusion

Félicitations ! Vous savez maintenant ralentir les réponses avec ExpressJS et express-slow-down. Votre application peut décourager les abus tout en restant accessible. Pour aller plus loin, explorez notre prochain tutoriel sur Tests avec ExpressJS ou consultez la documentation express-slow-down.



Voir aussi nos tutoriel :

geolocalisation

Geolocalisation Repérer la position géographique

HTML et CSS le design d'une page web

Faire le design du site Web avec le css...

Introduction au multimédia

Introduction au multimédia
Ce chapitre décrit quelle multimédia et comment le multimédia peut être géré par les navigateurs web.