Bonjour,
Je m'attaque à un nouveau projet et j'ai un gros soucis de conception que je ne sais pas comment régler.
Contexte : Site en PHP avec utilisation d'un framework pour faciliter le MVC. Au final, on a un modèle associé a un controller qui comporte plusieurs actions liées a des vues.
Mise en situation :
Je dois réaliser une application pour une structure médicale. Elle associe un patient et sa famille a un médecin.
Le principe : le patient se connecte sur l'app et peut ainsi voir sur une unique et même page, ses données, celles de sa famille et celles de son praticien. Il peut alors modifier toutes ces données sauf celles du médecin bien entendu.
De son coté, le docteur a la même vue mais il ne peut modifier que ses propre coordonnées.
Il faut savoir qu'il n'y que deux tables, une qui comporte les patients et une autre qui regroupe les médecins mais aussi la famille. La BDD est déjà mise en place et sa structure ne peut pas être changée (rétrocompatibilité).
Au départ, j'avais donc crée deux modèles (un pour chaque table) mais associé à un seul controller. Les actions sont identiques ou presque. Par contre dans les vues je multipliais les conditions pour afficher tel ou tel lien en fonction du groupe de l'utilisateur. Or cette méthode alourdie énormément le code des vues et on s'y perd vite.
Dans un second temps, j'ai pensé créer deux controllers, en fonction que l'on soit un patient ou médecin mais dans ce cas, ce sont les actions dans les controllers qui sont des copiés/collés d'un fichier à l'autre.
En conclusion, j'ai l'impression qu'aucune de ses 2 méthodes est la bonne mais je ne vois pas que faire a la place. De plus, il faudrait que j'ajoute un groupe 'admin' qui puisse accéder a toutes les données et les modifier.
Merci d'avance pour vos réponses,
Partager