Sonata Admin Bundle

Qu’est-ce que SONATA ?
Sonata est un ensemble de bundles développés sous Symfony2 qui ont été créés dans le but d’aider au développement de sites e-commerce.
SONATA ADMIN :
C’est le premier bundle développé dans le cadre du projet Sonata. Il permet d’administrer facilement un site web dans son ensemble, de la gestion des utilisateurs, au contenu des pages.
Page d’accueil de l’admin :
La gestion des utilisateurs se fait grâce à l’installation du bundle SonataUser qui permet d’intégrer FosUserBundle à l’admin. Il suffit d’ajouter quelques fichiers de configuration pour que l’admin ajoute automatiquement les pages de création/modification/liste des utilisateurs, des groupes et des rôles.
Chaque entité de l’application peut ainsi avoir son entrée dans l’admin en créant un service Symfony comme ci-dessous pour le programme TV :
C’est le tag « sonata.admin » qui va permettre à Sonata de savoir quels services doivent être ajoutés à l’admin.
Il faudra ensuite créer une classe afin de définir les champs à afficher dans la liste, dans le filtre de la liste et dans le formulaire de création/modification.
Exemple de fonction pour afficher les champs de la liste :
La liste est ainsi rendue comme ceci :
Avantages :
- Installation rapide
- Administration facile des entités
- Intégration de plusieurs « gros » bundles Symfony2 tels que FriendsOfSymfony, KNPLabs …
- Une communauté assez importante.
Inconvénients :
- Assez compliqué lorsqu’il s’agit d’en avoir une utilisation un peu plus personnelle.
- Documentation en ligne pas très utile dans certains cas (et pas toujours à jour)
Conclusion :
Le bundle SonataAdmin est une très bonne solution quand il s’agit d’avoir une administration classique d’un site web. La gestion des utilisateurs, des médias est facile d’utilisation et évite de recoder des pages qui ne nécessitent pas beaucoup de personnalisation.
Il faut en revanche s’armer de patience et fouiller dans les recoins d’internet pour obtenir certaines solutions à des problèmes liés à une utilisation poussée de l’outil.
Plus d’information :
Documentation en ligne : https://sonata-project.org/bundles/
Page GitHub du projet : https://github.com/sonata-project/
Commentaires
Ajouter un commentaire