Salut à tous

Contrairement aux habitudes je ne vais pas répondre dans le texte pour plus de clarté et faire court (enfin essayer :-) ).

Concernant l'encapsulation des appels à la base de données : il est vrai que cela ne nécessite pas un framework en soi. par contre l'intérêt de disposer de "connecteurs" sur des bases autres que mysql est intéressant. Je citais Postgres car je pensais à une passerelle vers PhpCompta (j'utilise dolibarr et l'utilisation conjointe avec phpcompta n'est pas possible parceque dolibar n'est pas porté et ne peut pas être simplement porté sur postgres).

Dans le cas d'une assoc., je pense que Galette devrait rester sur la partie Gestion des adhérents, sans aller construire un plugin de compta.

L'intérêt de plugins permettant d'activer des fonctionnalités à la demande est effectivement nécessaire. Là aussi un framework n'est pas nécessaire. Mais les principes d'une approche MVC devront être respectés.

Prenons l'exemple du reporting :
- En tant qu'utilisateur final, l'export CVS n'est pas satisfaisant : Qu'est ce que je fais une fois l'export effectué ? il faut importer dans un tableur, mettre en forme, ... : c'est lourd quand il faut le faire toutes les semaines pour plusieurs tableaux (par exemple en début d'année quand il faut surveiller le remplissage des cours, faire les relances sur les certificats médicaux, ... ) - de plus, des exports CVS qui génèrent un fichier par table ce n'est pas top : il faut ensuite refaire des jointures dans le tableur. Pas à la portée de tous.

Donc il faut une approche plus adaptée aux besoins des utilisateurs qui nécessitera : - de prévoir plusieurs type de listings : Adhérents, Licences, Cours, Equipes, Compétitions, ... - l'alimentation de ces listing doit être faite à partir d'objets métiers interfaçant la base de données et collectant les données à partir de plusieurs tables si nécessaire (remarque : ces objets métiers ont les retrouvera aussi dans les différents écrans de l'IHM) - et finalement avec un export CVS (ou autres : PDF, ... ) pour une reprise dans un tableur

Pour la partie reporting : je comparerai ces "objets" ou "vues" métier aux univers de l'outil de reporting Business Objets.

Ne serait-il pas possible de proposer des écrans de reporting (ou d'export) pour chacune de ces vues, dans lesquels on sélectionne ses données.
A partir des données sélectionnées, un listing est dynamiquement construit.
D'ailleurs avez vous jeté un oeil sur des classes PHP qui proposent de construire rapidement des listings à partir de requêtes SQL ?

et si on généralise, on pourrait sélectionner des données de "vues métier" différentes, par exemple :
    - la vue Adérents : pour avoir le nom, prénom, coords. téléphonique
- la vue Cours : pour avoir le numéro, le jours et le nom de l'animateur du cours afin de construire un listing des enfants des cours à remettre aux animamteurs.

Ceci est réalisable si les jointures entre les objets (en fait les tables) sont déjà connues de l'applicatif.

Si vous êtes intéressés je vous mettrai en ligne une version de la '0.63 customisée' pour mes besoins, suite à quoi en fonction de vos retours je m'attaquerai à un doc regroupant les différents besoins de gestion des adhérents et des activités d'une association, sportive ou non. Il est clair que ce type de doc devra ensuite être complété par d'autres personnes.

A+
Christophe



Sylvain VRIGNAUD a écrit :
Re !

contact a écrit :
Bonjour à tous

je constate que nous sommes tous d'accord sur un point : il faut que l'application dispose d'une certaine souplesse pour s'adapter à des besoins variés qui vont de ceux d'un club de bridge (je n'ai contre le bridge) à ceux d'un club multi-sport avec plusieurs sections (ayant chacune des besoins différents).

Vu le nombre de personnes qui modifient galette à la rache, effectivement !

En tant qu'utilisateur, qu'importe la techno pourvu que :
 - la souplesse
 -et les perfs (temps de réponse)
sont là

La souplesse, je suis d'accord, c'est facile à maitriser, c'est du fonctionnel pur. Les perfs un peu moins. Ca dépend aussi de la bécane qu'on met derrière. Pour une appli de la taille de galette, sommes nous réellement concernés par ce genre de problème?

En tant que technicien (bien que j'interviens maintenant plus souvent en AMOA ou en gestion de projets que sur la partie technique), j'ai une préférence pour un framework :

Reste à ne pas mélanger les besoins d'un progiciel d'entreprise à celui d'une micro-application web...

 - certes il y a une phase d'apprentissage
- et il est vrai que cette approche risque de faire appel "à une usine à gaz" comme le dit plus bas Sylvain

L'apprentissage, ça se résoud, si le framework est assez simple.
Un bon Symfony de base tape dans les 5.5 Mo, tout de même !

mais j'y vois les avantages suivants :
- le framework encapsule un ensemble d'appels techniques : par exemple pour permettre un portage transparent sur mysql ou postgres ==> plus de requêtes SQL car on appelle des objets
Ca se résoud simplement aussi sans framework. Maintenant les utilisateurs de postgres sont plutôt rares malheureusement... ainsi que les serveurs... "Bonjour monsieur Free, est-ce que je peux héberger mon site avec postgres?"

 - il dispose de nombreux plugins  :
    - antispam
    - formulaires
    - reporting
    - l'internationalisation
    - ...
Pour la taille, c'est quand même un minimum, je l'accorde ! Reste à savoir si c'est nécessaire de se trimballer tous les outils...

- la sécurité est gérée par le framework ==> donc on repose sur lui pour les mises à jour
 - l'imortance d'une communauté
La sécurité du framework, tout le monde s'en fout. Si déjà les utilisateurs mettent à jour la galette, c'est un grand pas, alors le framework dedans... euh...
Pour info, y'en a qui mettent à jour adoDB dans leur galette?

La communauté du framework? quel rapport?


les 2 frameworks que j'ai regardé (de loin) sont Zend et Symfony.

J'ai regardé aussi, maintenant si on a une appli grosse comme un module du framework, ça frise presque le ridicule, non?

Par contre, je pense qu'il faut clairement aller vers l'utilisation des objets de Php 5 ; ce qui semble être le cas de la version 0.7 (?).


L'utilisation des objets semble inévitable dans tous les cas. J'ai du mal à concevoir quelque chose de simple sans... Mais là dessus, on est tous d'accord !

De par les outils que j'ai utilisés (lors de projets d'intégration de progiciels CRM), j'ai constaté qu'il est important de bien séparer les couches d'accès aux données et la couche de présentation. Ce que font maintenant la quasi totalité des progiciels.
évolutivité plus facile.
Est-ce qu'un framework permet cette approche plus facilement ? a priori oui.
La séparation des 3 couches est aussi très importante, elle se dessine faiblement à travers de la galette actuellement. On sent une couche "adoDB" et une couche "template", même si c'est assez léger. Savoir si l'approche dépend du framework, je demande à voir... C'est une question d'organisation après.

par contre, il faudrait probablement que des dvpeurs déjà aguerris à ces outils rejoignent Galette.


Si déjà il y avait des développeurs simplement...

en tous cas, tant que la partie "fonctionnelle" n'est pas plus avancée, et donc qu'on pas une meilleure vision de la richesse (et complexité) des besoins des utilisateurs, il est peut plus sage de rester sur la direction actuelle, au moins pour la 0.7 ?

Oui, fonctionnellement il faut pousser l'analyse. Le soucis avec la 0.7, c'est qu'on est clairement limité avec l'absence de plugins. Est-il vraiment utile de pousser le développement d'une branche qu'on sait déjà sans issue?

Quand on aura une liste des besoins, on pourra dire si oui ou non telle approche est meilleure et ensuite faire une roadmap.

Les besoins, on les connait déjà. On sait déjà par définition qu'ils sont tous différents suivant les associations. Je pense que certains seraient pas contre des petits plugins gérant les facturations ou alors la comptabilité, ou bien gérer des activités séparées. Les besoins arriveront d'eux même. On peut préparer une liste précise, mais faut pas commencer déjà par le fonctionnel?


d'ailleurs où peut on trouver un doc qui présente les grandes lignes des devs et objectifs de la 0.7 ?
a t-on une liste de "plugins" potentiels ?
cf mail de Johan ;)

Dans tous les cas, je suis prêt à aider.

On a toujours besoin de monde en gestion de projet, mais faut savoir proportionner les outils en fonction de l'application et de l'équipe ;)


A+

Sylvain

PS : j'ai quelques idées qui naissent au fur et à mesure du temps, les chosent commencent à se mettre en place progressivement. Suite au prochain épisode !

_______________________________________________
Galette-devel mailing list
Galette-devel@gna.org
https://mail.gna.org/listinfo/galette-devel



--
Président de la section "Montagne et Escalade" du Trait d'Union de Verrières le Buisson (TUVB)

email : cont...@tuvb-escalade.org
Site Web : www.tuvb-escalade.org

Membre de l'April - « promouvoir et défendre le logiciel libre »
http://www.april.org

_______________________________________________
Galette-devel mailing list
Galette-devel@gna.org
https://mail.gna.org/listinfo/galette-devel

Répondre à