L’administration est une partie essentielle d’une application web qui permet aux administrateurs de gérer les fonctionnalités et les données de manière efficace. EasyAdmin est une bibliothèque PHP populaire qui simplifie considérablement le processus de création d’un menu admin.

Tout d’abord, pour accéder à son interface d’administration, un admin possédera un bouton « Administration » sur sa barre de navigation, tandis que les autres utilisateurs ne le verront pas. Si un utilisateur tente d’y accéder via l’URL, il sera renvoyé vers une page d’erreur « Access Denied ». De même, si une personne non connectée essaie d’y accéder, elle sera redirigée vers la page de connexion. En revanche, si cette personne n’est pas un admin, elle sera renvoyée vers la page « Access Denied ».

 

Dashboard

Pour créer cette interface admin, j’ai commencé par installer EasyAdmin en utilisant la commande « composer install » en ligne de commande. Ensuite, j’ai utilisé la commande fournie par EasyAdmin pour générer le dashboard. J’ai personnalisé le dashboard en ajoutant des icônes devant chaque contrôleur, ce qui facilite l’identification de leur fonction. De plus, j’ai intégré un template spécifique pour l’accueil du dashboard afin d’y ajouter des informations pertinentes. J’ai également ajouté un lien vers l’accueil de l’application pour faciliter la navigation entre l’interface admin et le reste de l’application.

Admin Crud

Ensuite, après avoir créé le menu, j’ai consacré mon attention à la création des admin CRUD. Ces interfaces permettent de modifier, ajouter et supprimer les données des différentes tables associées à la base de données. J’ai donc créé les principaux CRUD en utilisant les entités correspondantes. Pour chaque entité, j’ai défini les champs à afficher dans le formulaire de création/modification, ainsi que les actions autorisées telles que la suppression et la visualisation des détails. J’ai également personnalisé l’apparence des formulaires en utilisant les fonctionnalités fournies par EasyAdmin, comme l’ajout de champs de type date, de menus déroulants pour les relations entre entités, et la gestion des images ou des fichiers. Cette approche m’a permis de créer rapidement des interfaces administratives complètes et intuitives, facilitant ainsi la gestion des données de l’application.