Comparatif d'Easy Admin et Sonata Admin pour créer une interface d'administration

En matière d'interface de gestion de contenu dans Symfony, il existe deux bundles de référence : Sonata Admin et Easy Admin.

S’ils proposent la création d’un back office automatique pour gérer nos entités, et donc permettent un gain de temps précieux pour créer une zone d’administration pour une application web, ces deux bundles ont un positionnement complètement différent :

Avec Sonata Admin et plus largement la suite Sonata, c’est un véritable CMS avec plusieurs bundles interdépendants qui peut être mis en place, possédant de nombreuses fonctionnalités : CRUD de nos entités bien sûr, mais aussi entre autres création de blocks réutilisables, gestion des administrateurs, et bien d'autres dont une fonctionnalité qui est une (pour moi) des plus intéressantes de la suite : la possibilité d’intégrer avec Sonata Page un « page builder », permettant à un administrateur de gérer une page en intégrant des blocs de contenu de manière très flexible (à la manière des champs flexibles d’ACF pour Wordpress).

Cette richesse a bien sûr des contreparties : une configuration un peu plus complexe et une lourdeur plus importante à gérer. La documentation de Sonata est aussi parfois assez obscure (même si cela a évolué au fil des années) certaines fonctionnalités n’étant peu, voire pas du tout documentées.


Easy Admin de son côté fait le choix de n’intégrer que des fonctionnalités clés (sans suite de bundles), c’est à dire la gestion CRUD des entités depuis une administration, et laisse libre les développeurs de mettre en place en suivant les fonctionnalités de son choix pour agrémenter celles d’Easy Admin.
Le bundle porte donc bien son nom, et c’est là ou se trouvent ses atouts : une prise en main simplifiée par rapport à Sonata, et une configuration très aisée pour mettre en place un back office. Easy Admin peut donc être décrit comme un Sonata simplifié, avec les avantages et inconvénients que cela implique.

 

La réponse à la question « Easy Admin ou Sonata ? » dépend donc fortement du contexte : pour une mise en place rapide d’une interface d’administration avec des fonctionnalités relativement simples ou au contraire très spécifiques et donc à développer à la main, Easy Admin sera à mon sens à privilégier. Pour un back office plus complexe, et pour pouvoir laisser la main à l’administrateur à plus de contenu (pages etc), Sonata pourra être utilisé.