1 ====================================
 
   2 Gestion des adhésions de Nos oignons
 
   3 ====================================
 
   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.
 
  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
 
  15 Cela donne l'aboresence suivante :
 
  26 Chaque page doit ressembler à :
 
  33     email: violette@example.org
 
  34     membership_fee_paid_on: 2013-05-25
 
  37     Violette sait programmer en Ruby, on peut lui demander si on a besoin de
 
  40 Le début de chaque page est un morceau de [YAML]. Il doit contenir les entrées
 
  44     Le nom (complet) du membre.
 
  46     L'adresse postale du membre.
 
  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.
 
  53 Le reste de la page peut servir à noter ce qu'on veut.
 
  55 [YAML]: http://yaml.org/
 
  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
 
  67 Affiche sur la sortie standard les adresses emails des membres à jour de
 
  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`).
 
  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`).
 
  86 `update-ag-subscribers`
 
  87 -----------------------
 
  89 Met à jour la liste des emails inscrites à la liste ag@ par rapport aux membres
 
  90 à jour de cotisation. À exécuter à travers un *cron*. A besoin de pouvoir
 
  91 lancer les commandes `list_members`, `add_members` et `remove_members` via
 
  92 `sudo` sur le compte `list`.
 
  97 L'essentiel du code est en Ruby. Les dépendences sont gérés avec Bundler. Les
 
  98 tests d'intégrations sont fait avec Cucumber.
 
 100 Installer les paquets Debian qui vont bien (sur Wheezy) :
 
 102     apt-get install ruby1.9.1 bundler
 
 104 Pour récupérer les dépendences :
 
 106     ruby1.9.1 /usr/bin/bundle install --path=vendor/bundle
 
 111 Installer les paquets Debian qui vont bien (sur Wheezy) :
 
 113     apt-get install ruby1.9.1 bundler
 
 115 Installer les dépendences :
 
 117     ruby1.9.1 /usr/bin/bundle install --deployment \
 
 118                                       --without=development \
 
 121 Il faut ensuite mettre en place le lien symbolique vers le script
 
 122 `pre-receive-hooks`. XXX: à détailler
 
 124 XXX: configuration sudoers
 
 125 XXX: crontab pour update-ag-subscribers