- 1
[Opened] Question d'architecture
Posted by Ghost on 07/23/2009 11:30
bonjour,
j'aurais une question d'ordre architectural pour un projet que l'on m'a proposé. J'ai une base de donnée et j'aurais en fait 2 projets nommés 'client' et 'CRM'. Je comptais faire 2 projets distincts car la connexion et les données de Jauth sont différentes (issues de deux table distinctes) selon l'application.
Les deux projets vont avoir en commun quelques affichages quasiment identiques issus de la même source données. Par exemple, si je prend un module 'PLANNING', l'application 'client' va pouvoir le définir et le configurer et utiliser des templates. L'application 'CRM' va avoir aussi besoin de visionner en version light certaines informations du planning définit par le Client. Je pourrais faire 2 modules 'Planning' au sein de chaque application, mais il y aurait redondance de DAO, de classes, etc....je ne suis pas trèc enthousiaste à cela.
C'est pourquoi je pensais à un module 'planning' unique situé dans le lib de jelix. Mais je me pose certaines questions. En effet, ça sera un module contenant une ou plusieurs classes de service avec juste des paramètres d'identifiant ou autre... pas question de faire des vérifications de Jauth à ce niveau là (ca se fera dans le controleur de l'application qui l'appellera)..mais y'a t il un risque de lecture , d'appel de classe externe via un script en passant juste le nom de la fonction et le bon paramètre ? Normalement, non, je ne pense pas, mais comme je ne maîtrise pas encore Jelix, je ne suis pas sur a 100%. De plus, pour moi, le répertoire lib devait contenir des modules/classes de type générique, hors ça ne serait pas le cas puisque liés à un DAO avec des possible traitement de données. Cela poserait il un problème dont je ne me rend pas encore compte ?
Peut être aussi voyez vous une autre modélisation de l'architecture...de deux projets à 1 seul et unique mais comment gérer les droits d'authentification qui se font sur 2 tables de la base de données distinctes, avec des informations différentes ou l'affichage d'un thème pour séparer les deux projets..
J'ai donc quelques interrogations et j'aurais voulu juste un point de vue sur tout cela de votre part. Merci d'avance.
[Opened] Re: Question d'architecture
Posted by laurentj on 07/23/2009 14:44
bonjour,
Je pense que tu devrais donc te faire un repertoire common_modules quelque part (dans lib/ si tu veux, qui contiendrait les modules communs à tes deux applis client et crm. Planning serait donc un de ces modules communs.
Pour les templates : pas de problèmes, tu redefini le template dans le theme default pour l'appli qui ne veut pas du template original.
L'appli ne veut pas du dao original ? pareil, tu surcharge le fichier.
Bon par contre, j'ai pas trop compris quand même ton histoire de dao. Parce ce que d'un coté tu dis que "mais il y aurait redondance de DAO, de classes" et de l'autre "ça ne serait pas le cas puisque liés à un DAO". Alors, même dao, même structure de table ou pas ?
Ensuite, pour l'utilisation de jAuth, je ne vois pas pourquoi ça serait un problème de l'utiliser dans un des modules communs. Les applications peuvent configurer de la manière qu'elle veulent, ça ne change pas l'API de jAuth n'est-ce pas ;-). La configuration du dao pour jAuth ou autre étant faite dans l'application même, pas dans un module commun. Et le dao pour jAuth étant stocké dans un module spécifique à chacune des applications (il est toujours pratique d'avoir un module spécifique à l'appli, pour y mettre justement tout ce qui n'est pas commun...)
mais y'a t il un risque de lecture , d'appel de classe externe via un script en passant juste le nom de la fonction et le bon paramètre ?
je n'ai pas compris la question...
- 1