Introduction
En regardat des projets déjà exitants (gasell ou
galette) je suis obligé de
constater que le tout est centré sur le web, en mettant en concurrence un
apache, muni de php et le tout arrondi par une base de données. De plus
l'adaptation à certains cas est parfois difficile, l'adaptation n'étant pas du
tout prévue dans l'un des 2 cités.
Dans mon cas, j'ai 2 associations que j'aimerais analyser et définir leurs
choix:
- une association d'aikido
- un LUG
Définissons les besoins ce ces entités:
Aikido:
Le but de la gestion d'adhérents est de récolter de manière efficace et
transparente les cotisations. Ensuite de gérer les passages de grade, ainsi que
la gestion de l'enseignement.
L'adhérent est spécifié par une fiche, ou figurent son nom, prénom, adresse,
numéro de licence, et affiliation de club. À chaque adhérent sont en outre
associés les grades qu'il a passés, les brevets obtenus, les stages auxquels
il a participé et l'historique de ses
cotisations avec la présence d'un certificat médical ou non et du type de
complémentaire.
Les droits d'accès:
- le secrétaire
- à l'ensemble de la fiche en lecture, les grades et
brevets ainsi que les informations de contact en écriture.
- le caissier
- peut tester l'existence d'une fiche à partir
d'un numéro de licence, peut rajouter une visite de stage.
- l'adhérent
- à l'ensemble de la fiche en lecture, les informations de contact en écriture.
Les actions:
- création de fiche
- création d'une sous-fiche (stages, grades etc)
- modification d'une fiche
- gestion de mot de passe par challenge-response automatique
- rajout d'une visite de stage offline
- compilation des membres n'ayant pas leur cotisation à jour
- compilation des membres n'ayant pas leur certificat médical
- compilation des membres ayant droit à un passage de grade (en fonction du
dernier passage, d'un nombre d'années de cotisations et de visites récentes
à des stages
- création d'un formulaire personalisé d'inscription/reinscription au
club/ligue/passage de grade
- calcul des versements à faire à la fédération en fonction des cotisations
recues et pas encore reversées
- calcul des statistiques de la ligue (nombre d'adhérents, cotisations,
distribution des membres, etc)
Le secrétaire ne dispose pas forcément d'accès internet, la saisie des
modifications d'un membre devront être renvoiée ulterieurement.
Le caissier ne dispose pas d'accès internet, la saisie des
entrées à un stage devra être renvoiée ulterieurement. Les données utiles
localement sont à des fins statistiques le nom du membre, son grade, le club
et la durée de visite au stage.
L'idée étant dans ce dernier cas d'avoir un formulaire de saisie ou l'on insère
le numéro de licence (p.ex. par lecture de code barres) ainsi qu'une
préselection (locale) de durée/tarif.
Le Lug
il s'agit ici d'un exemple purement didactique. La aussi un adhérent est
spécifié par une fiche ou figurent nom et adresse mail. Lui sont associés une
liste de compétences, montrées lors de manifestion du LUG.
Les droits d'accès:
- l'adhérent
- à l'ensemble de la fiche en lecture, les informations de contact en écriture.
gestion de mot de passe par challenge-response automatique
Les actions:
- création de fiche
- création d'une sous-fiche (IPM, présentation etc)
- modification d'une fiche
- recherche d'un adhérent ayant participé à une IPM, fait une présentation sur
- compiler automatiquement une lettre AAF (appel a fric) à tous les adhérents
qui ont déjà sponsorisé un évènement
Association JsP:
L'adhérent est spécifié par une fiche, ou figurent:
- son Nom
- son Prénom
- son adresse
- sa photo
- sa catégorie Sportive (ex: benjamin,minime,cadet)
- Son groupe de formation 3 Groupes; Initiation, Certificat et Brevet
Puis un lien vers une fiche avec des informations plus évolué comme:
- la dernière date de sa visite médicale avec la possibilité d'accéder à l'historique
- le tph portable de l'élève
- le tph fixe des parents
- le tph portable des parents, voir plus si par exemple les parents sont divorée!
- etc...(reste à définir)
Le but de la gestion d'adhérents est de récolter de manière efficace et
transparente les cotisations. Ensuite de gérer les passages de grade, ainsi
que la gestion de l'enseignement
À chaque adhérent sont en outre associés les grades qu'il a passés, les brevets obtenus,
les stages auxquels il a participé et l'historique de ses cotisations avec la présence
d'un certificat médical ou non et du type de complémentaire.
- création de fiche
- création d'une sous-fiche (stages, grades etc)
- modification d'une fiche
- gestion de mot de passe
- rajout d'une visite de stage offline
- compilation des membres n'ayant pas leur cotisation à jour
- compilation des membres n'ayant pas leur certificat médical
- compilation des membres ayant droit à un passage de grade
(en fonction du dernier passage, d'un nombre d'années de cotisations et de visites récentes à des stages
- création d'un formulaire personalisé d'inscription/reinscription au club/ligue/passage de grade
- calcul des versements à faire à l'ADJSP
- calcul des statistiques (nombre d'adhérents, cotisations, distribution des membres, etc)
Réalisation:
- le tout doit fonctionner de manière la + portable possible, l'installation
du logiciel aussi triviale que possible, le
fait d'avoir plusieurs logiciels (genre LAMP) n'est pas tenable.
-
le travail en offline doit être possible, quitte a lire les codes barres avec
la caméra du tel.portable, et de faire la saise avec le tel.portable.
-
A voir s'il n'est pas mieux de carrément travailler que sur des fichiers,
éventuellement crytpés.
-
Les profils des fonctionalités sont à stocker dans un format facilement
parsable, p.ex. de l'XML.
technos possibles:
java:
- avantage: tourne sous tomcat.
- On peut intégrer des machines SQL/objet très légères (genre db4objects, myoodb, hsqldb, derby).
- beaucoup de tel. portables ont une machine virtuelle java
perl:
- facile à écrire, très flexible dans la représentation des données.
- les parseurs XML sont triviaux a faire.
php:
- facile à écrire, très flexible dans la représentation des données.
- les parseurs XML sont triviaux a faire.
- moins bien: nécessite forcément un serveur apache.