Filament est principalement conçu comme une boîte à outils de panneau d'administration pour Laravel, mais il peut également être utilisé pour créer des interfaces destinées aux utilisateurs dans certains cas. Voici les points clés :
- Filament fournit un ensemble d'outils et de composants qui facilitent la création de panneaux d'administration et d'interfaces CRUD pour les applications Laravel[1][2]. Il se trouve au-dessus de Laravel et Livewire.
- Le modèle architectural « Back-end comme Front-end » implique l'utilisation du tableau de bord d'administration comme interface utilisateur principale pour l'ensemble de l'application, en mélangeant les espaces d'administration et d'utilisateur[2]. Cela peut bien fonctionner pour les applications où les flux d’administration et d’utilisateur sont très similaires.
- Certains développeurs ont utilisé Filament pour créer à la fois le backend d'administration et l'interface utilisateur de leurs applications Laravel, en configurant des routes distinctes pour la zone d'administration (par exemple /admin) et l'interface utilisateur principale (par exemple /)[3]. Cela permet de tirer parti des fonctionnalités de Filament pour les deux parties.
- Le plugin Navigation de Filament peut être utilisé pour créer un menu de navigation frontal global qui peut être partagé entre les vues Blade[4]. Cela montre comment les composants Filament peuvent être utilisés sur le frontend.
- Cependant, Filament ne remplace pas dans tous les cas un framework frontend à part entière. Cela fonctionne mieux pour les applications où les expériences de l’administrateur et de l’utilisateur sont étroitement alignées. Pour les applications plus complexes destinées aux utilisateurs, une interface distincte construite avec un framework tel que Vue.js peut toujours être préférable[2].
En résumé, bien que Filament soit avant tout une boîte à outils de panneau d'administration, il peut être utilisé pour créer des interfaces utilisateur dans certaines situations où les flux d'administration et d'utilisateur sont très similaires. Mais il présente des limites par rapport aux frameworks frontend dédiés aux applications plus complexes destinées aux utilisateurs.
Citations :[1] https://www.reddit.com/r/laravel/comments/185rwo1/how_many_of_you_are_using_filament/
[2] https://dev.to/voltra/back-end-as-a-front-end-or-how-admin-dashboards-can-drive-your-apps-57
[3] https://github.com/filamentphp/filament/discussions/9620
[4] https://v2.filamentphp.com/tricks/build-a-global-frontend-navigation-with-the-navigation-plugin
[5] https://filamentexamples.com/project/cms-blog-front-theme