From: Lunar Date: Sat, 1 Jun 2013 14:43:55 +0000 (+0200) Subject: Add some documentation X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/deb521438462ac0ed68b3e280c2dd044f8c1934f Add some documentation --- diff --git a/README b/README new file mode 100644 index 0000000..bc73c09 --- /dev/null +++ b/README @@ -0,0 +1,114 @@ +==================================== +Gestion des adhésions de Nos oignons +==================================== + +Voici une collection de scripts et de bouts de code qui permettent de gérer les +adhésions de Nos oignons conformément aux statuts de l'association. + +Base des membres +================ + +La base des membres est pensée pour être stockés dans le wiki du conseil +d'administration. Elle est formée sous forme d'une série de pages, une par +membre. + +Cela donne l'aboresence suivante : + + Membres + ├── 000000.mdwn + ├── 000001.mdwn + ├── 000002.mdwn + ├── 000003.mdwn + ├── 000004.mdwn + … + └── 000042.mdwn + +Chaque page doit ressembler à : + + --- + name: Violette Dupuis + address: | + 42 rue du Fleuve + 12042 Essaiville + email: violette@example.org + membership_fee_paid_on: 2013-05-25 + --- + + Violette sait programmer en Ruby, on peut lui demander si on a besoin de + coup de main. + +Le début de chaque page est un morceau de [YAML]. Il doit contenir les entrées +suivantes : + +=`name`= + Le nom (complet) du membre. +=`address`= + L'adresse postale du membre. +=`email`= + L'adresse email du membre. C'est à cette adresse que seront envoyés les + messages de l'assemblée générale et les rappels de cotisation. +=`membership_fee_paid_on`= + Date du paiement de la dernière cotisation. + +Le reste de la page peut servir à noter ce qu'on veut. + +[YAML]: http://yaml.org/ + +Scripts +======= + +Voici le détail des scripts utilisés. On peut se faire une idée de leurs +fonctionalités respectives en lisant les cas d'utilisation dans les fichiers +`features/*.feature`. + +`list-email` +------------ + +Affiche sur la sortie standard les adresses emails des membres à jour de +cotisation. + +`pre-commit-hook` +----------------- + +`pre-commit` hook pour Git. Ce dernier est avant tout là pour éviter de pouvoir +enregistrer des informations invalides dans la base des membres depuis Ikiwiki. +Il est nécessaire de le configurer à chaque fois qu'on clone le dépôt du wiki du +C.A. (en faisant un lien symbolique dans `.git/hooks/pre-commit`). + +`pre-receive-hook` +------------------ + +`pre-commit` hook pour Git. Ce dernier est là pour éviter de pouvoir enregistrer +des informations invalides dans la base des membres. Il doit être configuré dans +le dépôt central du wiki du C.A. (via un lien symbolique dans +`.git/hooks/pre-receive`). + +Développement +============= + +L'essentiel du code est en Ruby. Les dépendences sont gérés avec Bundler. Les +tests d'intégrations sont fait avec Cucumber. + +Installer les paquets Debian qui vont bien (sur Wheezy) : + + apt-get install ruby1.9.1 bundler + +Pour récupérer les dépendences : + + ruby1.9.1 /usr/bin/bundle install --path=vendor/bundle + +Déploiement +=========== + +Installer les paquets Debian qui vont bien (sur Wheezy) : + + apt-get install ruby1.9.1 bundler + +Installer les dépendences : + + ruby1.9.1 /usr/bin/bundle install --deployment \ + --without=development \ + --path=vendor/bundle + +Il faut ensuite mettre en place le lien symbolique vers le script +`pre-receive-hooks`. XXX: à détailler