Le 28/09/2012 12:01, Brendan Le Ny a écrit :
La persistance serait plutôt orientée ToPIA.
La librairie devra être suffisamment générique pour servir à plusieurs projets. Le but de mon application est simplement très basic, suivant les rôles de l'utilisateur, il s'agira de cacher des entrées de menu (voire limite d'interdire l'accès aux actions struts), mais rien concernant le rendu des pages ou le filtrage des données.
De mon point de vue : * Il est extrêmement prématuré étant donné notre faible expérience de Shiro (mise en oeuvre rapide dans l'extranet, pas encore en place sur Pollen) de lancer dans l'écriture d'une surchouche.
Ca serait pas une surcouche en fait, ca serait du shiro pur mais avec une interface en plus pour la configuration en gros.
* De ce que j'en ai vu, Shiro fait très bien le job. Pas besoin de surcouche. * Il me semble que faire la lib d'abord n'est pas la bonne démarche, c'est mettre la charrue avant les boeux. Il me semble qu'il faut d'abord faire quelque-chose dans le projet en lui-même, vérifier que l'approche est bonne puis plus tard, extraire s'il s'avère qu'un autre projet peut prendre appui sur l'API dégagée.
Pondre une lib et considérer que c'est la bonne façon de faire parce que "ça marche sur le projet que je fais dans mon coin" c'est la meilleure façon de faire un truc qui en fait aurait du rester dans le projet client plutôt que d'en faire une lib. Cf topia-service-transformer, topia-security...
Le problème est que dans mon cas, si je la fait, c'est dans un projet privateur. Et a moins de négocier avec le client, il ne sera pas possible de l'extraire. Il faudra que quelqu'un d'autre la réécrive sans s'inspirer du code qui a été fait pour en "refaire" une lib libre.
Auriez vous des pistes concernant le codage des views (jsp) et code (???) dans ce cas ?
Oui. Utiliser Shiro directement. Dans l'extranet tu as un exemple (menu de gauche, dans le template sitemesh). On verra bien après.
Si, une fois que tu as terminé, tu découvres qu'il y a certaines portions de codes rébarbatives, des répétitions, des choses qu'on pourrait généraliser ou qu'on se rend compte qu'on a des portions de codes qui reviennent plusieurs fois aussi bien dans l'extranet, Pollen, ton projet, alors il sera temps de se poser la question de créer une surcouche.
Donc pour moi. Utilise Shiro. Et on en reparle après.
On vient d'en discuter, et voici quelques réflexions: * les entités topia (utilisateurs/role/permissions) ne pourront pas facilement être utilisées dans des projets qui ont leurs propres entités (ex pollen). * les lib qui fournissent des entités topia, c'est pas une bonne idée (problèmes avec la sécurité ???) * faire une lib pour 3 entités et une jsp c'est pas très utile * faire un jsp qui s'intégre super bien dans le style du projet final c'est pas évident. Au final, ca me gêne pas de faire dans le projet, mais ce que je pourrais en faire ne sera pas réutilisable. -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com