ruby1.9.1 /usr/bin/bundle install --deployment \
--without=development \
--path=vendor/bundle
+ chmod -R o+rX vendor/bundle
-Il faut ensuite mettre en place le lien symbolique vers le script
-`pre-receive-hooks`. XXX: à détailler
+Pour rendre facilement accessible `list-members-emails`, on peut ajouter dans
+`/usr/local/bin` un mini script tel que celui-ci :
-XXX: configuration sudoers
-XXX: crontab pour update-ag-subscribers
+ #!/bin/sh
+ NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src \
+ /srv/ikiwiki/wiki-ca/gestion-adh/bin/list-emails
+
+Ne pas oublier de le rendre exécutable.
+
+Pour permettre au script `update-ag-subscribers` de fonctionner, il est
+nécessaire de l'autoriser à exécuter certaines commandes de Mailman.
+Pour cela, on va créer un fichier dans `/etc/sudoers.d` :
+
+ Cmnd_Alias AG_MANAGEMENT = /usr/sbin/list_members ag,\
+ /usr/sbin/add_members -r - ag,\
+ /usr/sbin/remove_members -f - ag
+
+ wiki-ca ALL = (list) NOPASSWD: AG_MANAGEMENT
+
+Ensuite, pour exécuter régulièrement les scripts via le *crontab* du compte
+`wiki-ca`, il faut y ajouter :
+
+ 42 * * * * BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/update-ag-subscribers
+ 42 6 * * * BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/send-membership-reminders
+
+Pour installer le `pre-commit` *hook* sur le dépôt utilisé par
+Ikiwiki, on met dans `/srv/ikiwiki/wiki-ca/src/.git/hooks/pre-commit` :
+
+ if ! BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/pre-commit-hook; then
+ # Reset changes that do not pass the pre-commit hook to prevent
+ # wrong changes to lay in the Ikiwiki source directory.
+ git reset --hard
+ exit 1
+ fi
+
+Ne pas oublier de le rendre exécutable.
+
+Pour installer le `pre-receive` *hook* sur le dépôt central, on met dans
+`/srv/git/.gitolite/hooks/wiki-ca/hooks/pre-receive` :
+
+ #!/bin/sh
+ BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/pre-receive-hook
+
+Ne pas oublier de le rendre exécutable. Il faut ensuite faire un lien symbolique :
+
+ ln -s ../../../.gitolite/hooks/wiki-ca/pre-receive /srv/git/repositories/wiki-ca.git/hooks/pre-receive