]> nos-oignons.net Git - gestion-adh.git/blob - README
bc73c094bfa0bf0209b510c0bfa55179d596a67d
[gestion-adh.git] / README
1 ====================================
2 Gestion des adhésions de Nos oignons
3 ====================================
4
5 Voici une collection de scripts et de bouts de code qui permettent de gérer les
6 adhésions de Nos oignons conformément aux statuts de l'association.
7
8 Base des membres
9 ================
10
11 La base des membres est pensée pour être stockés dans le wiki du conseil
12 d'administration. Elle est formée sous forme d'une série de pages, une par
13 membre.
14
15 Cela donne l'aboresence suivante :
16
17     Membres
18     ├── 000000.mdwn
19     ├── 000001.mdwn
20     ├── 000002.mdwn
21     ├── 000003.mdwn
22     ├── 000004.mdwn
23     …
24     └── 000042.mdwn
25
26 Chaque page doit ressembler à :
27
28     ---
29     name: Violette Dupuis
30     address: |
31       42 rue du Fleuve
32       12042 Essaiville
33     email: violette@example.org
34     membership_fee_paid_on: 2013-05-25
35     ---
36
37     Violette sait programmer en Ruby, on peut lui demander si on a besoin de
38     coup de main.
39
40 Le début de chaque page est un morceau de [YAML]. Il doit contenir les entrées
41 suivantes :
42
43 =`name`=
44     Le nom (complet) du membre.
45 =`address`=
46     L'adresse postale du membre.
47 =`email`=
48     L'adresse email du membre. C'est à cette adresse que seront envoyés les
49     messages de l'assemblée générale et les rappels de cotisation.
50 =`membership_fee_paid_on`=
51     Date du paiement de la dernière cotisation.
52
53 Le reste de la page peut servir à noter ce qu'on veut.
54
55 [YAML]: http://yaml.org/
56
57 Scripts
58 =======
59
60 Voici le détail des scripts utilisés. On peut se faire une idée de leurs
61 fonctionalités respectives en lisant les cas d'utilisation dans les fichiers
62 `features/*.feature`.
63
64 `list-email`
65 ------------
66
67 Affiche sur la sortie standard les adresses emails des membres à jour de
68 cotisation.
69
70 `pre-commit-hook`
71 -----------------
72
73 `pre-commit` hook pour Git. Ce dernier est avant tout là pour éviter de pouvoir
74 enregistrer des informations invalides dans la base des membres depuis Ikiwiki.
75 Il est nécessaire de le configurer à chaque fois qu'on clone le dépôt du wiki du
76 C.A. (en faisant un lien symbolique dans `.git/hooks/pre-commit`).
77
78 `pre-receive-hook`
79 ------------------
80
81 `pre-commit` hook pour Git. Ce dernier est là pour éviter de pouvoir enregistrer
82 des informations invalides dans la base des membres. Il doit être configuré dans
83 le dépôt central du wiki du C.A. (via un lien symbolique dans
84 `.git/hooks/pre-receive`).
85
86 Développement
87 =============
88
89 L'essentiel du code est en Ruby. Les dépendences sont gérés avec Bundler. Les
90 tests d'intégrations sont fait avec Cucumber.
91
92 Installer les paquets Debian qui vont bien (sur Wheezy) :
93
94     apt-get install ruby1.9.1 bundler
95
96 Pour récupérer les dépendences :
97
98     ruby1.9.1 /usr/bin/bundle install --path=vendor/bundle
99
100 Déploiement
101 ===========
102
103 Installer les paquets Debian qui vont bien (sur Wheezy) :
104
105     apt-get install ruby1.9.1 bundler
106
107 Installer les dépendences :
108
109     ruby1.9.1 /usr/bin/bundle install --deployment \
110                                       --without=development \
111                                       --path=vendor/bundle
112
113 Il faut ensuite mettre en place le lien symbolique vers le script
114 `pre-receive-hooks`. XXX: à détailler