Ce billet explique comment concevoir un menu d'administration efficace avec EasyAdmin dans Symfony, en s'appuyant sur l'expérience de l'auteur qui a retravaillé quatre fois son menu en deux ans pour éviter une dette d'usage quotidienne. L'objectif est de structurer un menu robuste et maintenable, en se concentrant sur la méthode configureMenuItems() du DashboardController, qui génère dynamiquement le menu sans configuration externe. L'article met en avant trois bonnes pratiques : organiser le menu pour qu'il résiste à la croissance, distinguer les trois types de liens (linkTo, linkToUrl, linkToDashboard), et conditionner l'affichage des éléments en fonction des rôles utilisateurs.
L'auteur détaille les trois familles de constructeurs de MenuItem : linkTo pour les CRUD, linkToUrl pour les liens externes ou personnalisés, et linkToDashboard pour le tableau de bord. Il souligne l'importance de la lisibilité et de la simplicité, en évitant la sur-organisation qui alourdit la navigation. Le billet aborde aussi des astuces comme l'utilisation de yield pour une génération dynamique du menu et l'ajout d'icônes compréhensibles en un coup d'œil. Enfin, il met en garde contre l'usage inutile de setPermission(), préférant une gestion des rôles plus intuitive.
Ce billet explique comment installer et configurer EasyAdmin sur Symfony pour créer rapidement un back-office efficace. L’auteur souligne que ce bundle est idéal pour administrer 2 à 30 entités Doctrine avec un CRUD générique, sans alourdir le projet, contrairement à des solutions comme Sonata ou API Platform Admin, plus complexes ou spécialisées.
L’installation se fait en une seule commande Composer, suivie de la génération automatique d’un DashboardController via une commande Symfony. Le bundle propose ensuite une configuration minimale pour accéder à l’interface d’administration dès le départ.
L’article met en avant la simplicité d’EasyAdmin, qui évite une configuration lourde tout en restant flexible pour des personnalisations basiques, ce qui en fait un choix pertinent pour les projets où l’admin est un outil et non un produit à part entière.
Ce billet explique comment implémenter un système de génération automatique de métadonnées SEO (titres, descriptions, mots-clés) dans une administration EasyAdmin avec Symfony, en utilisant l'API Gemini via le bundle Symfony AI et Symfony Messenger pour gérer l'asynchrone. L'auteur détaille la configuration nécessaire, l'utilisation de Redis pour le transport des messages et le rate limiting pour protéger le quota de l'API Gemini. Le système permet aux rédacteurs d'accepter ou d'ignorer les suggestions générées automatiquement.
Historique de versions dans EasyAdmin : capturer, comparer et restaurer chaque modification • Lecode
Cet article explique comment implémenter un système d'historique de versions dans EasyAdmin pour capturer, comparer et restaurer les modifications. Le système utilise Doctrine pour capturer automatiquement les changements, stocke des snapshots JSON complets des entités, et utilise jfcherng/php-diff pour afficher les différences visuellement. Il repose sur un LiveComponent Symfony UX pour l'interface utilisateur. La solution est conçue pour être simple à maintenir et à étendre, avec une seule table polymorphe pour stocker les versions de différents types de contenu.
Ce billet explique comment améliorer l'interface utilisateur d'EasyAdmin en ajoutant une fonctionnalité d'édition inline pour divers types de champs (texte, enums, dates, associations) sans recharger la page. L'auteur utilise Symfony UX Turbo et Stimulus pour créer une expérience utilisateur plus fluide, similaire à un tableur. Le processus implique la création d'un contrôleur JavaScript pour gérer l'édition, la validation et l'annulation, ainsi qu'une action et un service PHP pour traiter les requêtes HTTP. L'architecture est détaillée et le code est fourni pour implémenter cette fonctionnalité.
Tout est dans le titre... le commentaire de Javier Eguiluz est aussi instructif
Tout est dans le titre
À tester
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre (sauf que EasyAdmin, c'est du Symfony)
Il s'agit d'un cas concret d'utilisation de Mercure : lorsque 2 administrateurs éditent simultanément la même ressource, Mercure permet de notifier lorsque le premier des deux valide ses modifications.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre