Bienvenue dans notre cours ‘Programmer en Back End – Laravel 10 ‘.  Cette partie concerne 

L'utilisation des Middlewares

Définition

Le middleware fournit un mécanisme pratique pour inspecter et filtrer les requêtes HTTP entrant dans votre application. Par exemple, Laravel inclut un middleware qui vérifie que l’utilisateur de votre application est authentifié. Si l’utilisateur n’est pas authentifié, le middleware redirigera l’utilisateur vers l’écran de connexion de votre application. Cependant, si l’utilisateur est authentifié, le middleware permettra à la demande de continuer plus loin dans l’application.

1- Créer middleware La façon la plus simple de créer un middleware est d’utiliser Artisan. Appeler la commande make:middleware a pour effet de créer une structure de base de middleware dans le dossier réservé à cet usage : app/Http/Middleware.
php artisan make:middleware NomMiddleware
Cette commande placera une nouvelle classe NomMiddleware dans le répertoire app/Http/Middleware. Le middleware c’est une classe qui contient deux méthodes handle et terminate. Sauf que terminate elle n’est pas généré automatiquement il faut l’ajouter manuellement .
public function handle(Request $request, Closure $next){}
public function terminate(Request $request, Response $response){}

2- Enregistrement d’un middleware

Après la création du middleware, nous devons informer l’application que le middleware existe. Si vous souhaitez qu’un middleware s’exécute à chaque demande, accédez à app/Http/kernel.php et ajoutez le middleware au Kernel.

3-Type de Middlewares :

Type Role
Middleware de Route Il permet de protéger une Route ou un ensemble de routes ou un contrôleur .Donc si un seul Middleware pour une route ou un groupe de route ou un contrôleur.
Groupe de Middleware Un ensemble de middleware permet de protéger une route ou un groupe de routes ou même un contrôleur
Middleware global Un middleware qui permet de protéger tout le site si une protection général pour toute l’application.

EXERCICE D’application :

créer un middleware qui teste la valeur d’une variable age et interdit l’accès à l’uri ‘/home’ pour une valeur < 18.

TP

Créer un nouveau projet Laravel : TPMiddlewares

  1. Quelle sont les méthodes qui contient la classe Middleware ?
  2. Quelle est la déférence entre ces méthodes ?
  3. Dans quel fichier est enregistrer le middleware ?

Route Middleware

  1. Créer un Middleware avec le nom AgeMiddleware
  2. Enregistrer le Middleware en tant que Route Middleware avec l’alias age.
  3. Créer une vue avec le nom accueil.blade.php dans le dossier /resource/views qui permet d’afficher le titre Accueil ?
  4. Le middleware age permet de filtrer l’âge de l’utilisateur si l’âge est supérieur à 21 la vue accueil.blade.php est router sinon la page d’erreur 404 est afficher. Ecrire le code de la route dans le fichier Routes/web.php qui permet de retourner la vue accueil? (http://127.0.0.1 :8000/accueil ?age=…)
  5. Créer un Middleware avec le nom UserMiddleware
  6. Enregistrer le Middleware en tant que Route Middleware avec l’alias user.
  7. Créer une vue avec le nom contact.blade.php dans le dossier /resource/views qui permet d’afficher le titre Contact ?
  8. Le middleware user permet de filtrer le nom de l’utilisateur si le nom est admin la vue contact.blade.php est router sinon la page d’erreur 403 est afficher.
  9. Ecrire le code de la route dans le fichier Routes/web.php qui permet de retourner la vue contact ? (http://127.0.0.1 :8000/contact ?nom=…)

Groupe Middleware

  1. Enregistrer les deux Middlewares AgeMiddleware et UserMiddleware en tant que Groupe Middleware avec l’alias test.
  2. Créer une vue avec le nom test.blade.php dans le dossier /resource/views qui permet d’afficher le titre Test ?
  3. Ecrire le code de la route dans le fichier Routes/web.php qui permet de retourner la vue test ? (http://127.0.0.1 :8000/test ?nom=…&age=…)

Global Middleware

Donner deux façons pour enregistrer un middleware en tant que global middleware pour filtrer toutes les routes des vues de notre site.

 

Le plan s’affichera toujours à gauche de la fenetre. Ainsi, vous pouvez voir la partie qui vous concerne directement. Bon apprentissage!

Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet  sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python

Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *