Bonjour à tous,
Je me suis mis à Symfony2 il y a peu de temps. J'ai lu beaucoup de documentation (sur le site officiel) et également un livre (Symfony2 , Développez des sites web PHP structurés et performants de Bilal Amarni) mais je n'ai pas trouvé la réponse à cette question : comment organiser mon projet pour gérer correctement un front office et un back office ?
Bien sûr, je peux le faire. Mais quelle est la meilleure façon de faire ? Quelles sont les best-practices à ce sujet ?
Voici en détail ce que j'aimerais avoir :
- un front-office avec :
- un layout spécifique
- des assets (CSS, JS, images) non partagés avec le back
- un user de base de données avec des droits spécifiques au front (par exemple, pas de "delete" autorisés, lecture de certaines tables interdites, etc.)
- une gestion d'utilisateurs (certains utilisateurs peuvent se connecter au front mais pas au back, et les utilisateurs du back peuvent tous se connecter au front)
- un back-office avec :
- un layout spécifique
- des assets (CSS, JS, images) non partagés avec le front
- un user de base de données avec des droits spécifiques au back (par exemple, "delete" autorisés, etc.)
- une gestion d'utilisateurs (certains utilisateurs peuvent se connecter au front mais pas au back, et les utilisateurs du back peuvent tous se connecter au front)
- des modèles et configuration partagés entre les deux parties précédentes
- la base de données étant commune, je voudrais que mes "entities" Doctrine soit communes
- les routes du front devraient être accessible depuis le back (par exemple, pour générer des URL dans des emails, via les routes)
Sachant tout cela, quelle répartition me suggérez-vous ?
Dans des bundles séparés ? (pourtant la documentation officiel préconise d'en avoir un seul nommé AppBundle)
Dans des projets différents ? Dans, ce cas, quid des modèles et configuration partagés ?
Autrement ?
Merci d'avance pour vos réponses.
Partager