--- /dev/null
+################################################################################
+### Still being tested. Use at your own risks… ###
+################################################################################
+
+# .procmailrc générique mis à votre disposition
+# par les gentils membres actifs du Cr@ns
+# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
+# Des questions, des suggestions : {nounou,ca}@lists.crans.org
+# Licence : WTFPL
+
+# Les sections commentées par #~# sont des features qui ne sont pas activées
+# par défaut. Sentez-vous libre de les décommenter pour les utiliser.
+
+# Attention : le path par défaut des fichiers de logs est $HOME/.procmail/logs
+# Assurez-vous que le dossier en question existe avant d'utiliser ce .procmailrc
+
+#------------------------------------------------------------------------------
+# Ce fichier commence par une grosse section de commentaire qui donne un aperçu
+# de l'arborescence de dossiers qui sera obtenue en utilisant ce .procmailrc.
+# Les règles ne sont pas dans le même ordre, en effet, il est plus efficace
+# de mettre en premier les règles qui sont le plus souvent vérifiées pour
+# diminuer le temps moyen de traitement.
+
+# Vous pouvez ajouter vos propres règles de tri sans modifier ce fichier,
+# en effet, ce .procmailrc inclus trois autres fichiers de règles
+# (pour l'instant commentés par #~#)
+# Ils doivent être tous les trois dans ${CONFIGDIR}
+# * Le premier, custom.high.rules contient des règles qui overrident tout
+# le comportement ce .procmailrc,pour des mails qui doivent être classés
+# sans autre condition.
+# * Le deuxème, custom.normal.rules doit contenir la plupart de vos règles
+# personnelles, il est géré après les mails envoyés par le Cr@ns mais avant
+# le comportement par défaut des mailing-lists, ce qui vous permet d'en
+# trier certaines selon un autre schéma
+# * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par
+# exemple servir à définir un dossier par défaut autre que .INBOX
+
+
+
+################################################################################
+##### Commentaires #####
+################################################################################
+#
+# Les tags suivants expliquent quels membres actifs reçoivent quels mails :
+# $: câbleur/imprimeur
+# *: apprenti
+# +: nounou
+# B: bureau
+# T: trésorier
+# M: modérateur
+# F: admin federez
+#
+### /!\ pour cron, faire attention à ne pas envoyer les mails cron perso sur
+### zamok dans les dossiers cron !
+###
+### pour les ml : faire des sous-dossiers bounces --> IDEA DROPPED
+###
+### dans le main procmailrc : (ouais enfin finalement on met tout dans le même)
+### - le bidule pour trier les crons persos --> DONE
+### - le truc trop bien de Harry pour trier les ml du campus --> DONE
+###
+### Multi-déco upload dans un autre dossier --> DONE
+#
+# Cr@ns
+# |
+# ./|-[$*+BT] Administratif (le côté administratif : bot free !)
+# ./| |
+# ./| |-[$*+B] public
+# ./| | |
+# ./| | |-[$*+B] ca
+# ./| | |-[+B] dsi-crans
+# ./| | |-[*+B] install-party
+# ./| | |-[B] crans-crous
+# ./| |
+# ./| |-[$*+BT] privé
+# ./| |
+# ./| |-[B] bureau
+# ./| |-[T] trésorier
+# ./| |-[$*+] respbats (bot free)
+# ./| |-[$*+] impression (sans modif_solde, munin, print_status)
+# ./| |-[+B] spoof
+# ./| |-[+B] disconnect (sans les bots)
+# ./|
+# ./|
+# ./|-[*+BF] Federez (bah, federez quoi !)
+# ./| |
+# ./| |-[*+B] federez
+# ./| |-[F] admin
+# ./| |-[(F)] monit
+# ./|
+# ./|
+# ./|-[$*+BM] Surveillance (on stalke, pour vérifier ce que font les autres)
+# ./| |
+# ./| |-[+] Irrelevant : logcheck
+# ./| |
+# ./| |-[+BM] modérateur
+# ./| |
+# ./| |-[+] ovh (connexions au manager)
+# ./| |
+# ./| |-[*+] caméras (à trier)
+# ./| |
+# ./| |-[$*+] LDAP
+# ./| | |
+# ./| | |-[$*+] modif-solde
+# ./| | |-[*+] modifications de la base ldap
+# ./| |
+# ./| |-[+] cranspasswords
+# ./|
+# ./|
+# ./|-[*+] Monitoring (une machine fait-elle de la merde ?)
+# ./| |
+# ./| |-[*+] monit
+# ./| | |
+# ./| | |- trier dynamiquement par serveur !
+# ./| |
+# ./| |-[+] nagios
+# ./| | |
+# ./| | |- trier dynamiquement par serveur !
+# ./| |
+# ./| |-[$*+] munin
+# ./| | |
+# ./| | |-[$*+] impression
+# ./| |
+# ./| |-[+] arpwatch
+# ./| | |
+# ./| | |-[+] changed ethernet address
+# ./| | |-[+] flip-flop
+# ./| | |-[+] new_activity
+# ./| | |-[+] new_station
+# ./| |
+# ./| |-[+B] stats d'upload --> À vérifier que le X-Mailer marche
+# ./|
+# ./|
+# ./|-[$*+] Problèmes (à regarder avant d'aller se coucher)
+# ./| |
+# ./| |-[*+] self-sloving
+# ./| | |
+# ./| | |-[*+] SQL errors
+# ./| | |-[+] ftp
+# ./| |
+# ./| |-[+] modéré
+# ./| | |
+# ./| | |-[+] intranet1
+# ./| | |-[+] intranet2 (en fait, django en général)
+# ./| | |-[*+] backuppc
+# ./| |
+# ./| |-[*+] attention (cron)
+# ./| | |
+# ./| | |-[*+] à trier : roots/root ou par serveur
+# ./| |
+# ./| |-[*+] Argh
+# ./| | |
+# ./| | |-[*+] nols
+# ./| | |-[*+] pulsar
+# ./| |
+# ./| |-[$*+] Humain
+# ./| |
+# ./| |-[$*+] print_status
+# ./| |
+# ./| |-[+] mailman
+# ./| |
+# ./| |-[B+] déco N fois en un mois
+# ./|
+# ./|
+# ./|-[*+] Information (keep up to date)
+# ./| |
+# ./| |-[*+] apt-listchanges
+# ./| |
+# ./| |-[+] ovh (newsletters, factures)
+# ./| |
+# ./| |-[$*+] machines supprimées
+# ./| |
+# ./| |-[*+] git (commits)
+# ./| | |
+# ./| | |-[*+] what's new
+# ./| |
+# ./| |-[*+] darcs (records)
+# ./| | |
+# ./| | |-[*+] what's new
+# ./| |
+# ./| |-[+] bcfg2 (Serveurs non synchronisés avec bcfg2)
+# ./| |
+# ./| |-[+] inn (stats des servuers de news)
+# ./|
+# ./|
+# ./|-[$*+B] Technique (les discussions et les trucs reliés)
+# ./ |
+# ./ |-[*+] Nounou
+# ./ |
+# ./ |-[*+] Roots
+# ./ |
+# ./ |-[$*+] câblages à effectuer
+# ./ |
+# ./ |-[*+B] tracker
+#
+
+
+
+################################################################################
+##### Variables #####
+################################################################################
+
+#################################################################
+## Variables d'environnement ##
+#################################################################
+# Path du dossier où sont rangés les mails
+MAILDIR="${HOME}/Mail"
+# Shell à utiliser pour exécuter des commandes
+SHELL="/bin/bash"
+# Dossier contenant tout le garbage procmail-related
+# (le .procmailrc lui-même est dans le home)
+PROCMAILDIR="${HOME}/.procmail"
+# Dossier où sont les fichiers de configuration supplémentaires pour procmail
+CONFIGDIR="${PROCMAILDIR}/rc"
+# Path du fichier de log de procmail
+LOGFILE="${PROCMAILDIR}/logs/procmail.log"
+
+
+#################################################################
+## Noms de dossiers ##
+#################################################################
+# /Attention à ne pas mettre de . ou d'espace au mauvais endroit…/
+
+### Dossiers personnels
+## Dossier pour ranger les mails de Cron
+## (ceux envoyés par un serveur Cr@ns seront rangés ailleurs)
+CRONPERSODIR=".Cron"
+
+## Dossier de Spam
+SPAMDIR=".Spam"
+# Spam reçu sur (usenet|news)@(crans.org|crans.ens-cachan.fr)
+SPAMINNDIR="${SPAMDIR}.usenet"
+
+
+### Dossiers pour les MLs qui ne sont pas catchées par une autre règle
+## Dossier racine
+MLDIR=".ML"
+
+### Dossiers pour les MLs du campus
+MLCAMPUSDIR="${MLDIR}.Campus"
+MLBDEDIR="${MLCAMPUSDIR}.BDE"
+MLCLUBSDIR="${MLCAMPUSDIR}.Clubs"
+MLMEDDIR="${MLCLUBSDIR}.Med"
+MLBDLDIR="${MLCAMPUSDIR}.BDL"
+MLBDADIR="${MLCAMPUSDIR}.BDA"
+MLSDADIR="${MLCAMPUSDIR}.SDA"
+MLGALADIR="${MLCAMPUSDIR}.Gala"
+MLSONODIR="${MLCAMPUSDIR}.SoNo"
+
+## Dossier où atterrira une ML non-répertoriée
+MLFAILSUFFIX="Fail"
+
+### Dossier pour les MLs de promo
+MLPROMODIR="${MLDIR}.Promo"
+
+### Dossier pour les MLs non répertoriées plus haut et non-MA-crans
+MLPERSODIR="${MLDIR}.Divers"
+
+### Dossiers pour les Membres Actifs du Cr@ns
+## Dossier racine
+CRANSDIR=".Cr@ns"
+## Dossiers de mailing lists
+CRANSADMINISTRATIFDIR="${CRANSDIR}.Administratif"
+CRANSADMINISTRATIFPUBLICDIR="${CRANSADMINISTRATIFDIR}.public"
+CRANSADMINISTRATIFPRIVATEDIR="${CRANSADMINISTRATIFDIR}.prive"
+
+## Dossiers pour les mails de monitoring
+MONITORINGDIR="${CRANSDIR}.Monitoring"
+MONITDIR="${MONITORINGDIR}.Monit"
+NAGIOSDIR="${MONITORINGDIR}.Nagios"
+NAGIOSSWITCHSDIR="${NAGIOSDIR}.0-switchs"
+ARPWATCHDIR="${MONITORINGDIR}.Arpwatch"
+MUNINDIR="${MONITORINGDIR}.Munin"
+MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante"
+STATUPLOADDIR="${MONITORINGDIR}.Stats-upload"
+
+## Dossiers pour le mails concernant des "problèmes"
+# Racine
+PROBLEMSDIR="${CRANSDIR}.Problems"
+# Par ordre de gravité croissant
+SELFSOLVINGDIR="${PROBLEMSDIR}.0-Self-solving"
+SOFTDIR="${PROBLEMSDIR}.1-Soft"
+WILDDIR="${PROBLEMSDIR}.2-Wild"
+ARGHDIR="${PROBLEMSDIR}.3-Argh"
+HUMANPROBLEMSDIR="${PROBLEMSDIR}.4-Human-made"
+# Sous-dossiers
+FTPDIR="${SELFSOLVINGDIR}.ftp"
+SQLGREYDIR="${SELFSOLVINGDIR}.sql-errors"
+BACKUPPCDIR="${SOFTDIR}.backuppc"
+DJANGODIR="${SOFTDIR}.Django"
+INTRANET2DIR="${SOFTDIR}.Intranet2"
+INTRANET1DIR="${SOFTDIR}.intranet-bugreport"
+CRONDIR="${WILDDIR}.cron"
+NOLSDIR="${ARGHDIR}.nols"
+PULSARDIR="${ARGHDIR}.pulsar"
+MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
+PRINTSTATUSDIR="${HUMANPROBLEMSDIR}.print_status"
+MULTIDECODIR="${HUMANPROBLEMSDIR}.multi-deco"
+
+## Dossier de surveillance (= surveillance d'actions humaines)
+# Racine
+SURVEILLANCEDIR="${CRANSDIR}.Surveillance"
+# Par ordre de sensibilité croissant
+LOGCHECKDIR="${SURVEILLANCEDIR}.0-logcheck"
+MODERATEURSDIR="${SURVEILLANCEDIR}.1-Moderateurs"
+OVHMANAGERDIR="${SURVEILLANCEDIR}.2-OVH"
+CAMERASDIR="${SURVEILLANCEDIR}.3-Cameras"
+LDAPDIR="${SURVEILLANCEDIR}.4-LDAP"
+LDAPSOLDEDIR="${LDAPDIR}.Solde"
+LDAPMODIFDIR="${LDAPDIR}.Modification"
+CRANSPASSWORDSDIR="${SURVEILLANCEDIR}.5-cranspasswords"
+
+## Dossier informatif (= pour se tenir au courant de ce qui se passe au Cr@ns)
+# Racine
+INFORMATIONDIR="${CRANSDIR}.Information"
+# Mails d'ovh autre que les notifications de connexion au manager
+OVHDIR="${INFORMATIONDIR}.OVH"
+# apt-listchanges
+APTLISTCHANGESDIR="${INFORMATIONDIR}.apt-listchanges"
+# Machines supprimées pour chambre invalide
+DELETEDMACHINES="${INFORMATIONDIR}.machines_supprimees"
+# Repositories
+GITDIR="${INFORMATIONDIR}.git"
+DARCSDIR="${INFORMATIONDIR}.darcs"
+# Mail envoyé quotidiennement par bcfg2 avec la liste des serveurs non synchro
+BCFG2DIR="${INFORMATIONDIR}.bcfg2"
+# Statistiques des serveurs de news
+INNDIR="${INFORMATIONDIR}.inn"
+
+## Dossier de discussion techniques
+# Racine
+TECHNIQUEDIR="${CRANSDIR}.Technique"
+# Mails de roots@ non catchées avant
+ROOTSDIR="${TECHNIQUEDIR}.roots"
+# Mails de câblages demandé/effectué
+CABLAGEDIR="${TECHNIQUEDIR}.Cablages"
+# Mails du tracker
+TRACKERDIR="${TECHNIQUEDIR}.Tracker"
+# Mails de la ML nounou
+NOUNOUDIR="${TECHNIQUEDIR}.Nounou"
+# Messages laissés sur la Freebox
+FREEBOXDIR="${TECHNIQUEDIR}.Freebox"
+# Dossier où atterriront les mails de root@ non triés
+ROOTDEFAULTDIR="${TECHNIQUEDIR}.root"
+
+### Dossier racine pour Federez
+FEDEREZDIR="${CRANS_FOLDER}.FedeRez"
+FEDEREZMONITDIR="${FEDEREZDIR}.Monit"
+
+
+
+################################################################################
+##### Règles #####
+################################################################################
+
+#~# # Patch pour traiter les mails qui ont été
+#~# # reçus avant le 30/06/13, car certaines règles de tri du .procmailrc
+#~# # n'étaient pas encore valables à l'époque.
+#~# # très utile si on veut retrier tous ses mails
+#~# INCLUDERC="${CONFIGDIR}/retrocompatibility_patch.rules"
+
+#~# # Fichier de règles prioritaires à personnaliser
+#~# INCLUDERC="${CONFIGDIR}/custom.high.rules"
+
+#################################################################
+## Gestion des mails d'Arpwatch ##
+#################################################################
+:0
+* ^From:.*arpwatch@crans\.org
+{
+ # On trie les différents types de mails d'Arpwatch,
+ # en faisant attention aux . et aux espaces après avoir éliminé
+ # tout ce qui se trouve après " (".
+ :0
+ * ^Subject: \/.* \(
+ {
+ TYPE=`echo $MATCH | sed 's/ (.*//;s/\( \|\.\)/_/g;'`
+ :0
+ ${ARPWATCHDIR}.${TYPE}/
+ }
+
+ :0
+ ${ARPWATCHDIR}/
+}
+
+
+#################################################################
+## Gestion des mails de Monit ##
+#################################################################
+
+# Les mails de Monit à propos du serveur A sont envoyés dans le dossier
+# ${MONITDIR}.A/ si le dossier n'existe pas, il est créé mais il
+# faut encore s'y abonner...
+:0
+* ^(X-Mailer|User-Agent):.*monit
+{
+ # Avant de tester les hotsnames Cr@ns, règle spéciale utile pour
+ # certains admin de FedeRez
+ :0
+ * ^To: federez-monit@
+ ${FEDEREZMONITDIR}/
+
+ :0
+ * ^Subject:.*monit \/[^ \.]+
+ ${MONITDIR}.${MATCH}/
+
+ # Dossier de Monit par défaut, si Monit se met à envoyer d'autres mails
+ :0
+ ${MONITDIR}/
+}
+
+
+#################################################################
+## Gestion des mails de Nagios ##
+#################################################################
+
+# Les mails de Nagios à propos du serveur A sont envoyés dans le dossier
+# ${NAGIOSDIR}.A/ si le dossier n'existe pas, il est créé mais il
+# faut encore s'y abonner
+:0
+* ^(From: nagios@crans\.org|User-Agent:.*nagios)
+{
+ # Tous les switchs vont dans le dossier ${NAGIOSSWITCH}
+ :0
+ * ^Subject:.*Alert: bat[^/]+-
+ ${NAGIOSSWITCHSDIR}/
+
+ # Chaque serveur a son dossier
+ :0
+ * ^Subject:.*Alert: \/[^/\.]+
+ ${NAGIOSDIR}.${MATCH}/
+
+ # Si l'envie prenait à Nagios de raconter un peu plus sa vie
+ :0
+ ${NAGIOSDIR}/
+}
+
+
+#################################################################
+## Gestion des mails de Cron ##
+#################################################################
+
+# Attention, si on enlève la ligne qui filtre sur le To:, on catche
+# aussi tous les mails Cron qui ne sont pas envoyés par un serveur Cr@ns
+:0
+* ^To:.*(roots?|postgres|www-data|list)@crans\.org
+* ^(X-Cron-Env|From: Anacron)
+{
+ #~# # Par défaut, on ne trie pas les mails de Cron, pensez à décommenter
+ #~# # le INCLUDERC (et à copier le fichier complémentaire) pour les trier
+ #~# INCLUDERC=${CONFIGDIR}/cron.rules
+
+ :0
+ ${CRONDIR}/
+}
+
+
+#################################################################
+## Gestion des mails de root@crans.org ##
+#################################################################
+
+# Statistiques du serveur de news
+# Désolidarisé du bloc root@crans.org pour séparer les spams
+# sans qu'ils tombent dans ${ROOTDEFAULTDIR}
+:0
+* ^To:.*(usenet|news)@(crans\.org|crans\.ens-cachan\.fr)
+{
+ # L'intérêt c'est que plein de spam arrive sur ces addresses
+ # et seules les stats d'inn sont censées y arriver.
+ # Donc on peut bazarder tout ce qui n'est pas stat au Spam
+ :0
+ * ^From: news@crans.org
+ ${INNDIR}/
+
+ :0
+ ${SPAMINNDIR}/
+}
+
+# On matche tous les alias de root@crans.org
+:0
+* ^(To|Cc): .*(root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@crans\.org
+{
+ # Spam de logcheck
+ :0
+ * ^From:.*logcheck@crans\.org
+ ${LOGCHECKDIR}/
+
+ # Mails envoyés par munin quand il trouve qu'un graphe sort des limites
+ :0
+ * ^From: munin@crans\.org
+ ${MUNINDIR}/
+
+ # Mails envoyés en cas d'erreur de synchronisation du ftp
+ :0
+ * ^From: mirror@crans\.org
+ ${FTPDIR}/
+
+ # Mails envoyés en cas d'erreur sur l'intranet2
+ :0
+ * ^Subject: \[Intranet2 Cr@ns\]
+ ${INTRANET2DIR}/
+
+ # Mails envoyés en cas d'une autre erreur Django
+ :0
+ * ^Subject: \[Django\]
+ ${DJANGODIR}/
+
+ # Mails envoyés lors de la modification d'un fichier de mot de passe
+ :0
+ * ^X-Mailer: cranspasswords
+ ${CRANSPASSWORDSDIR}/
+
+ # Mails envoyés par OVH…
+ :0
+ * ^From:.*support@ovh\.com
+ {
+ # …lors d'une connexion au manager
+ :0
+ * ^X-Ovh-Template: nic/fr/loginNotification.model
+ ${OVHMANAGERDIR}/
+
+ # Pour autre chose (facture, newsletter)
+ :0
+ ${OVHDIR}/
+ }
+
+ # Mail envoyés par apt-listchanges lors d'une mise à jour
+ :0
+ * ^Subject:.*apt-listchanges
+ ${APTLISTCHANGESDIR}/
+
+ # Serveurs non synchronisés avec bcfg2
+ :0
+ * ^X-Mailer: bcfg2-reports
+ ${BCFG2DIR}/
+
+ # Tout ce qui traîne sur root et qui n'est pas catché par quelque chose
+ :0
+ ${ROOTDEFAULTDIR}/
+}
+
+
+#################################################################
+## Gestion des mails de roots@crans.org ##
+#################################################################
+
+:0
+* ^(To|Cc|List-Id):.*roots(@|\.lists\.)crans\.org
+{
+ # Il y a aussi des apt-listchanges sur roots@
+ :0
+ * ^Subject:.*apt-listchanges
+ ${APTLISTCHANGESDIR}/
+
+ # Mails envoyés par la baie de disques
+ :0
+ * ^From: nols@crans\.org
+ ${NOLSDIR}/
+
+ # Mails envoyés par l'onduleur
+ :0
+ * ^From: pulsar@adm\.crans\.org
+ ${PULSARDIR}/
+
+ # Mails envoyés par le script qui détecte les changements dans la base LDAP
+ :0
+ * ^Subject:.*Surveillance modifications de la base LDAP
+ ${LDAPMODIFDIR}/
+
+ # Mails envoyés lors d'une erreur sur la base de donnée sqlgrey
+ :0
+ * ^From: sqlgrey@crans\.org
+ ${SQLGREYDIR}/
+
+ # Mails envoyés par backuppc
+ :0
+ * ^From: backuppc@crans\.org
+ ${BACKUPPCDIR}/
+
+ # Souriez, vous êtes photographiés
+ :0
+ * ^From:.*cameras@crans\.org
+ {
+ # On trie par lieu de la caméra
+ :0
+ * ^Subject:.*0B
+ ${CAMERASDIR}.0B/
+
+ :0
+ * ^Subject:.*0H
+ ${CAMERASDIR}.0H/
+ }
+
+ # I'm in your mailbox, watching your commits
+ # Attention à bien filtrer git avant darcs parce que les mails git
+ # contiennent aussi le header X-DarcsInfo !
+ :0
+ * ^X-GitInfo
+ {
+ :0
+ * ^X-Mailer: /usr/scripts/utils/git-whatsnew
+ ${GITDIR}.whatsnew/
+
+ :0
+ ${GITDIR}/
+ }
+ :0
+ * ^X-DarcsInfo
+ {
+ :0
+ * ^X-Mailer: Python Darcs Check
+ ${DARCSDIR}.whatsnew/
+
+ :0
+ ${DARCSDIR}/
+ }
+
+ # Tracker
+ :0
+ * ^X-Mailer:.*Redmine
+ ${TRACKERDIR}/
+
+ # Messages sur la Freebox
+ :0
+ * ^From: telephonie.freebox@freetelecom.fr
+ ${FREEBOXDIR}/
+
+ # Si il n'y pas de condition de tri, ça va dans le dossier Technique
+ :0
+ ${ROOTSDIR}/
+}
+
+
+#################################################################
+## Mails envoyés sur des MLs mais par des bots ##
+#################################################################
+# Il n'y jamais de dossier par défaut, le mail sera rattrapé
+# au moment de la gestion gobale des mailing-lists
+
+# Sur la ML disconnect@
+:0
+* ^List-Id:.*disconnect\.lists\.crans\.org
+{
+ # Statistiques d'upload
+ :0
+ * ^X-Mailer: /usr/scripts/surveillance/statistiques.py
+ ${STATUPLOADDIR}/
+
+ :0
+ * ^Subject:.*fois.*en un mois
+ ${MULTIDECODIR}/
+}
+
+# Câblage demandé/effectué
+:0
+* ^X-Crans-Intranet: cablage
+${CABLAGEDIR}/
+
+# Sur la ML impression@
+:0
+* ^List-Id:.*impression\.lists\.crans\.org
+{
+ # Modification de solde
+ :0
+ * ^X-Mailer: modif_solde
+ ${LDAPSOLDEDIR}/
+
+ # Informations de print_status
+ :0
+ * ^X-Mailer: /usr/scripts/impression/print_status.py
+ ${PRINTSTATUSDIR}/
+
+ # Munin stock papier et toners
+ :0
+ * ^From: munin@crans\.org
+ ${MUNINIMPRESSIONDIR}/
+}
+
+# Sur la ML respbats@
+:0
+* ^List-Id:.*respbats\.lists\.crans\.org
+{
+ # Machines supprimées pour chambre invalide
+ :0
+ * ^X-Mailer: /usr/scripts/gestion/chambres_vides.py
+ ${DELETEDMACHINES}/
+}
+
+#WIP# ###############################################################################
+#WIP# # ^^^^^^^ Classés le plus possible par ordre de spammage décroissant
+
+#WIP# # vvvvvvv Les MLs, à laisser en bas
+#WIP# ###############################################################################
+
+
+#################################################################
+## Gestion des cron perso ##
+#################################################################
+# Les Subjects des mails de (Ana)?Cron
+# sont de la forme "(Ana)?Cron <user@host>"
+# On parse pour récupérer le host et trier avec
+:0
+* ^(X-Cron-Env|From: Anacron)
+{
+ :0
+ * ^Subject:.*Cron <[^@>]+@\/[^>]+
+ {
+ # On prend garde à ne pas créer un sous-dossier
+ # si jamais le host contient un . ou un espace
+ HOST_=`echo "$MATCH" | sed 's/\(\.\| \)/_/g'`
+ :0
+ ${CRONPERSODIR}.${HOST_}/
+ }
+
+ # Dans le cas (improbable) où le Subject de matche pas
+ :0
+ ${CRONPERSODIR}/
+}
+
+
+#################################################################
+## Inclusion des règles personnelles ##
+#################################################################
+#~# # Fichier de règles à personnaliser
+#~# INCLUDERC="${CONFIGDIR}/custom.normal.rules"
+
+#################################################################
+## Gestion des mails de Mailman ##
+#################################################################
+# La ML mailman@ est un peu particulière
+:0
+* ^(List-Id:.*mailman\.|(To|Cc):.*mailman-(owner|bounces)@)lists\.crans\.org
+${MAILMANDIR}/
+
+
+#################################################################
+## Gestion des mailing-listes ##
+#################################################################
+# Ajouter à la suite vos propres règles pour les mailing-listes non gérées ici
+
+:0
+# On récupère tous les mails qui sont arrivés par l'intermédaire d'une ML
+* ^List-Id:.*\/<[^<>]+>$
+{
+ ML=$MATCH
+ ML=`echo "${ML}" | sed 's/<//;s/>//'`
+
+ #################################################################
+ ## Gestion des mailing-listes Cr@ns ##
+ #################################################################
+ :0
+ * ^List-Id:.*lists\.crans\.org
+ {
+ # On veut ne garder que le nom de la ML sans le nom de domaine
+ ML=`echo "${ML}" | sed 's/\.lists\.crans\.org//'`
+ # On prend garde à ne pas créer un sous-dossier
+ # si jamais le List-Id contient un . ou un espace
+ ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
+
+ #################################################################
+ ## Cas où la ML est une ML de membre actif du Cr@ns ##
+ #################################################################
+
+ # MLs publiques (au sens où il n'y a pas que des cranseux abonnés)
+ :0
+ * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.public
+ ${CRANSADMINISTRATIFPUBLICDIR}.${ML_}/
+
+ # MLS où il n'y a que des membres actifs abonnés
+ # (on peut y envoyer des informations privées)
+ :0
+ * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.prive
+ ${CRANSADMINISTRATIFPRIVATEDIR}.${ML_}/
+
+ # La ML federez@lists.crans.org va quand même dans le dossier FedeRez
+ :0
+ * ? echo "${ML}" | grep federez
+ ${FEDEREZDIR}.${ML_}/
+
+ # La ML modérateurs va dans le dossier Surveillance
+ :0
+ * ^List-Id:.*moderateurs\.lists\.crans\.org
+ ${MODERATEURSDIR}/
+
+ # La ML intranet-bugreport va dans le dossier Problèmes
+ :0
+ * ^List-Id:.*intranet-bugreport\.lists\.crans\.org
+ ${INTRANET1DIR}/
+
+ # La ML nounou va dans le dossier Technique
+ :0
+ * ^List-Id:.*nounou\.lists\.crans\.org
+ ${NOUNOUDIR}/
+
+ #################################################################
+ ## Gestion des autres mailing-list (du campus) ##
+ #################################################################
+ # MLs génériques du campus (des assos et d'autres random trucs)
+ :0
+ * ? grep "^${ML}$" ${CONFIGDIR}/ML_campus
+ ${MLCAMPUSDIR}.${ML_}/
+
+ # MLs BDE
+ :0
+ * ? echo "${ML}" | grep bde
+ ${MLBDEDIR}.${ML_}/
+
+ # MLs BDA
+ :0
+ * ? (grep "^${ML}$" ${CONFIGDIR}/ML_bda) || (echo "${ML}" | grep bda)
+ ${MLBDADIR}.${ML_}/
+
+ # MLs SoNo
+ :0
+ * ? (grep "^${ML}$" ${CONFIGDIR}/ML_sono) || (echo "${ML}" | grep sono)
+ ${MLBDADIR}.${ML_}/
+
+ # MLs Med
+ :0
+ * ? echo "${ML}" | grep med
+ ${MLMEDDIR}.${ML_}/
+
+ # MLs SDA
+ :0
+ * ? echo "${ML}" | grep sda
+ ${MLSDADIR}.${ML_}/
+
+ # MLs BDL
+ :0
+ * ? echo "${ML}" | egrep "(bdl|interludes)"
+ ${MLBDLDIR}.${ML_}/
+
+ # MLs Gala
+ :0
+ * ? echo "${ML}" | egrep "(gala|geec)"
+ ${MLGALADIR}.${ML_}/
+
+ # MLs des clubs
+ :0
+ * ? (grep "^${ML}$" ${CONFIGDIR}/ML_clubs) || (echo "${ML}" | egrep '^club-')
+ ${MLCLUBSDIR}.${ML_}/
+
+ #################################################################
+ ## Gestion des MLs de promo ##
+ #################################################################
+ :0
+ * ? echo "${ML}" | egrep '^(ens-|a\.coeur)'
+ ${MLPROMODIR}.${ML_}/
+
+ #################################################################
+ ## Gestion des MLs perso ##
+ #################################################################
+ :0
+ * ? grep "^${ML}$" ${CONFIGDIR}/ML_perso
+ ${MLPERSODIR}.${ML_}/
+
+ # Si on est tombés sur un ML non-répertoriée
+ :0
+ ${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/
+ }
+
+ #################################################################
+ ## Gestion des mailing-listes FedeRez ##
+ #################################################################
+ # On veut ne garder que le nom de la ML sans le nom de domaine
+ ML=`echo "${ML}" | sed 's/\.lists\.federez\.net//'`
+ # On prend garde à ne pas créer un sous-dossier
+ # si jamais le List-Id contient un . ou un espace
+ ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
+
+ :0
+ * ^List-Id:.*lists.federez.net
+ {
+ :0
+ ${FEDEREZDIR}.${ML_}/
+ }
+
+ #################################################################
+ ## Gestion des autres mailing-listes ##
+ #################################################################
+ # On récupère le nom de domaine et le nom de la ML
+ DOMAIN=`echo "${ML}" | sed 's/.*\.\([^\.]\+\)\.[^\.]\+$/\1/'`
+ # On ne sait jamais ce qu'on peut rencontrer…
+ DOMAIN_=`echo "${DOMAIN}" | sed 's/ /_/g'`
+ # On prend garde à ne pas créer un sous-dossier
+ # si jamais le List-Id contient un . ou un espace
+ ML_=`echo "${ML}" | sed 's/\.[^\.]\+\.[^\.]\+$//;s/\.lists\?$//;s/\(\.\| \)/_/g'`
+ :0
+ ${MLDIR}.${DOMAIN_}.${ML_}/
+}
+
+#~# # Fichier de règles de faible priorité à personnaliser
+#~# INCLUDERC="${CONFIGDIR}/custom.final.rules"