Introduction aux listes pour herbivores divers et variés, et petit guide d’installation pour apprentis-jardiniers
L’internet est de plus en plus utilisé comme outil d’organisation collective. Il devient possible de faire circuler des infos, de débattre, de prendre des décisions à distance. Parmi les outils qui répondent à ces besoins, les listes de diffusion/discussion, de plus en plus utilisées, et dont cette fiche technique veut introduire le concept et montrer l’utilisation pas à pas.
Ce document ne se veut qu’une introduction, destinée à faciliter la prise en main de ces outils. Il procède de choix idéologiques et techniques clairs: appropriation de l’informatique par les individus, refus sans compromis des logiciels propriétaires et utilisation des alternatives libres (destruction totale de Windows et de l’univers Microsoft, utilisation de GNU/Linux et rencontre avec le monde des logiciels libres).
La première partie s’adresse à des débutant-e-s et entend familiariser ces dernier-e-s à quelques grands concepts relatifs aux listes de diffusion/discussion.
La seconde partie s’adresse à des utilisateurs/trices averti-e-s, ayant pour objectif d’installer le gestionnaire de listes Mailman sur leur serveur.
Il resterait à écrire une troisième section intermédiaire, s’attachant à décrire la configuration et l’administration au quotidien d’une liste de diffusion/discussion. Une telle section viendra probablement compléter le présent document dans une version ultérieure.
Pour l’heure, je renvoie les curieux/ses et autres nécessiteux/ses à l’aide interne de Mailman, qui documente chaque option de manière claire (et dont la traduction en français est intégrée aux dernières versions de Mailman), ainsi qu’aux documentations en ligne disponibles sur le site officiel de Mailman, et en particulier à celle-ci (non traduite en français pour le moment).
PREMIÈRE PARTIE: INTRODUCTIONS AUX LISTES DE DIFFUSION/DISCUSSION
Avant de rentrer dans le vif du sujet, rappelons quelques notions de base:
Internet, c’est un réseau mondial d’ordinateurs. Un réseau, c’est plusieurs ordinateurs différents qui parlent entre eux et échangent des informations. Les informations échangées sont par exemple, des programmes, des sons, des images ou du texte. Pour ce faire, Internet rassemble un grand nombre de « services » différents ; par exemple : transfert de fichiers (FTP), discussions en direct (IRC), courrier électronique, connexion à des ordinateurs distants (telnet) et surf sur des pages web (WWW).
Le courrier électronique est à rapprocher du concept de boîte postale. Chaque correspondant-e dispose d’une adresse propre sur un serveur connecté à Internet (l’équivalent d’un bureau de poste), qui met à sa disposition un espace réservé (la boite aux lettres), protégé par un mot de passe (la clef). Quiconque dispose d’une telle adresse électronique peut ensuite échanger des messages avec d’autres personnes.
Internet et communication : un peu d’histoireL’internet s’est développé pour répondre à divers besoins en matière de communication : une communication interpersonnelle, rendue possible par l' »e-mail », ou « courrier électronique », ainsi qu’une communication de groupe, avec les « newsgroups », ou « forums de discussion », permettant à des milliers de personnes d’échanger publiquement au sujet de leurs thèmes favoris.
Les « newsgroups » sont des forums d’envergure mondiale. Quiconque veut les consulter et y participer doit se connecter à l’un des nombreux serveurs de newsgroups existants et ensuite faire son choix parmi la liste des milliers de forums disponibles.
Les newsgroups répondent au besoin d’espaces de débats libres et ouverts, dont les archives sont accessibles à tou-te-s, mais nécessitent une démarche volontaire et sont parfois moins facilement accessibles que le simple courrier électronique.
Celui-ci permet un degré relatif d’intimité, et suppose une démarche plus passive : les messages arrivent directement dans une boîte aux lettres, sans qu’on doive aller les chercher. C’est donc le plus approprié aux échanges rapides et « internes », et le support des « listes ».
Pour l’heure, précisons seulement qu’une « liste » permet à plusieurs personnes de correspondre ensemble facilement.
-DES LISTES « PRIMAIRES »
Les listes « manuelles »Les listes les plus simples à mettre en place sont des listes « manuelles » : il suffit d’envoyer son message à plusieurs destinataires à la fois, pour que ceux/celles-ci puissent tou-te-s le lire et voir la liste des personnes ainsi jointes. Dans la plupart des logiciels de messagerie, il suffira alors de « répondre à tous » pour que la réponse soit expédiée à tous les destinataires du message d’origine.
Cette méthode est efficace, mais est vulnérable à la moindre erreur de l’un-e des correspondant-e-s : si l’un-e oublie de « répondre à tous », il/elle brise la chaîne. D’autre part, cette méthode peut s’avérer fastidieuse, dès lors que la liste de correspondant-e-s à saisir est importante.
-Les listes « alias »
Sur tout système UNIX ou GNU/Linux, on trouve un fichier appelé « aliases ». Il permet de définir une adresse électronique factice, qui renvoie automatiquement vers d’autres adresses.
Par exemple, prenons une ligne du fichier « aliases » du serveur « truc.net », qui ressemblerait à : « test: adresse1@squat.net,adresse2@altern.org,adresse3@no-log.org
» Dans ce cas, tout courrier envoyé à test@truc.net serait automatiquement renvoyé aux adresse adresse1@squat.net, adresse2@altern.org et adresse3@no-log.org.
L’intérêt de ce système est la transparence ainsi que la fiabilité (le risque d’erreur humaine est considérablement moindre). Son inconvéniant majeur réside dans son manque de souplesse. Il faut une intervention de l’administrateur du serveur pour ajouter/enlever des adresses à l’alias.
-DES LISTES AUTOMATISEES
Heureusement, il existe des logiciels pouvant assurer la totalité des fonctionnalités précédentes et automatiser quantité de processus, tout en mettant à disposition un très grand nombre d’autres options. C’est le cas de majordomo, listar, sympa, mailman et d’autres encore…
Dans le cadre de cette fiche, les exemples seront basés sur mailman, et ce pour plusieurs raisons. Tout d’abord, mailman tend à être le « gestionnaire de listes » le plus utilisé (du moins sur les serveurs de type UNIX). Il combine effectivement grande simplicité d’utilisation et puissance, et convient donc à tous les usages. Enfin, c’est un logiciel libre à 100%, contrairement à d’autres programmes du même genre pourtant assez populaires, comme majordomo.
Pour mieux saisir les possibilités offertes par les « listes » et avoir une vue d’ensemble des fonctionnalités de mailman, prenons exemple sur quelques listes existentes :
– a-infos-fr@ainfos.ca – une liste de diffusion publique
A-infos-fr est la liste de diffusion francophone de l’agence de presse anarchiste A-INFOS. Y sont diffusés des textes, communiqués et autres documents publics plusieurs fois par jour à des centaines d’abonné-e-s.
Pour bénéficier d’une diffusion maximale, une telle liste doit permettre une procédure d’abonnement libre : quiconque le souhaite peut s’abonner, en se rendant sur le site oueb et en remplissant le formulaire approprié. Dans ce cas de figure, un mécanisme de vérification est souvent mis en place pour empêcher un tiers d’abonner à la liste une adresse qui n’est pas la sienne (la bonne blague) : un message est envoyé à l’adresse indiquée, auquel il faut répondre pour que celle-ci soit abonnée (répondre au message impliquant avoir accès à la boite et donc au mot de passe qui la protège, ce qui, le plus souvent, signifie que vous en êtes le « propriétaire »).
Une telle liste se doit également d’être « modérée ». Cela signifie que les messages ne sont pas diffusés sur la liste aussitôt qu’ils y sont envoyés, mais qu’ils doivent attendre la confirmation du ou des administrateur(s). Cela ralentit certes la diffusion et nécessite l’intervention de tierces personnes (ce qui ouvre la porte à la censure), mais une telle mesure s’avère vite obligatoire face au flux de courriers publicitaires, hors-sujets, égarés, et aux attaques par inondation de mails.
Autre caractéristique importante : l’archivage public. Afin de garder trace des messages envoyés sur la liste, une copie de chaque est conservée sur le serveur, et accessible par quiconque. Cela permet de consulter la liste sans y être abonné, et dispense également de constituer de lourdes archives personnelles.
Enfin, une liste de cette ampleur se doit de masquer la liste de ses abonné-e-s. Il ne manquerait plus que quiconque puisse savoir quelles personnes reçoivent les brèves de A-Infos !
– debian-user-french@lists.debian.org – une liste de discussion publique
Debian-user-french est une liste rassemblants des utilisateurs francophones du système d’exploitation Debian GNU/Linux (une puissante alternative à Microsoft Windows), qui s’y entraident et y discutent de divers sujets relatifs à ce système.
Là encore, du fait du caractère public de la liste, l’inscription doit être libre, et faire appel à un mécanisme de vérification.
Pour fluidifier les débats, la liste n’est dans ce cas pas modérée. Les messages envoyés à la liste y sont directement diffusés, sans que le ou les administrateurs aient à valider chaque contribution.
Les messages sont archivés et consultables publiquement, permettant à quiconque de suivre les débats sans s’abonner, de rester observateur un temps avant de rejoindre les discussions, ou encore de tomber par hasard sur un message contenant la solution à un problème par l’intermédiaire d’un moteur de recherche.
La liste des abonné-e-s n’est pas librement accessible, son interrogation relevant d’une curiosité quelque peu abusive dans ce cas de liste publique aux nombreux-ses abonné-e-s.
D’autres caractéristiques sont courantes dans le cas de listes de discussion:
– Redirection des réponses vers la liste. Pour assurer la continuité des débats, et éviter que des personnes n’envoient leur réponse qu’à l’auteur-e du message auquel elles répondent, et non à la liste, il est possible de faire en sorte que toute réponse à un message issu de la liste y soit renvoyé par défaut.
– Sujet des messages. L’abonnement à des listes de discussion accroit généralement le volume de courrier reçu. L’ajout automatique d’un mot-clef spécifique à une liste (souvent le nom de la liste entre crochets) avant le sujet du message permet de repérer d’un simple coup d’oeil, à l’ouverture de sa boite, ce qui relève du courrier perso et des listes de discussion.
– Signature en bas de message. Un autre moyen d’identifier les messages provenant des listes est d’y ajouter quelques lignes à la fin, contenant le plus souvent le nom de la liste et ses coordonnées. Pour éviter les dizaines de messages du genre « désabonnez moi SVP », ce « pied de page » contient également souvent les indications nécessaire au désabonnement/abonnement.
– boum@poivron.org – une liste de discussion interne
Boum est une liste de discussion privée, dédiée à la mise en place d’un serveur alternatif et autonome, boum.org. Elle rassemble les divers individus impliqués, et constitue un espace « d’intimité » nécessaire à l’élaboration du projet en groupe affinitaire, sans parasitage extérieur; à la modélisation technique sans laisser le loisir à quelque malveillant-e de lorgner sur les préoccupations de sécurité; à l’échange de savoirs dans un cadre bienveillant et privilégié.
L’inscription à une telle liste doit être « fermée », c’est à dire que ne peut s’y abonner qui veut. Dans ce cas, l’administrateur peut soit valider ou non les demandes d’abonnement effectuées sur le site, soit bloquer toute possibilité d’inscription, et abonner manuellement les personnes qui doivent l’être.
Typiquement, une liste de la sorte n’a que quelques abonné-e-s qui se connaissent et l’utilisent de manière responsable. Il n’y a alors besoin d’aucune modération (tous les messages envoyés passent instantanément), et les membres peuvent consulter la liste des abonné-e-s.
L’archivage peut-être activé pour garder trace des discussions, mais l’accès aux messages est alors restreint aux seuls membres (il serait ridicule d’empêcher les gens de s’abonner s’ils peuvent par ailleurs lire les messages diffusés sur la liste).
Enfin, elle peut également être configurée de manière à ce que les réponses aux messages de la liste y soient renvoyés, et qu’un signe distinctif aparaisse dans l’objet (sujet) du message.
Note : ces cas de figure ne font en aucun cas mention de toutes les possibilités offertes par les listes, mais donnent un aperçu des principales options, à travers les usages les plus courants.
MISE EN PRATIQUE
Inscrivons-nous à une liste publique gérée par le logiciel mailman, comme print-news@squat.net, le « fil de niouze du projet PRINT » :).
Pour ce faire, nous nous rendons sur la page indiquée sur le liste PRINT: https://squat.net/mailman/listinfo/print-news/
Nous y trouvons quelques mots de présentation de la liste, suivis d’un formulaire à remplir pour l’inscription : il faut alors indiquer son adresse e-mail, mais aussi un mot de passe.
Ce mot de passe protégera vos « préférences » pour la liste print-news, mais nous y reviendrons.
Saisissons donc un mot de passe quelconque, confirmons (en le retapant une seconde fois), puis validons.
Nous obtenons un message nous disant qu’un courrier a été envoyé à l’adresse indiquée, et que l’abonnement ne sera effectif qu’après confirmation par le/la propriétaire de l’adresse en question.
Nous allons donc relever le courrier de la boîte indiquée, pour y voir un message provenant du serveur squat.net (qui héberge la liste PRINT-news), intitulé « PRINT-news — confirmation of subscription — request XXXXXX » (où XXXXXX est un numéro spécifique). En bref, le message indique qu’une demande d’abonnement a été faite, qu’il suffit de répondre à ce message en guise de confirmation pour valider l’abonnement, et précise qu’il suffit de l’ignorer si erreur il y a (cas d’une personne dont l’adresse aurait été abonnée par un tiers).
Nous y répondons, et recevons peu après un message nous souhaitant la bienvenue sur la liste. On y trouve une présentation de la liste, suivie d’indications sur son usage et la manière de changer ses paramètres.
Car chaque abonné-e à une liste gérée par mailman a la possibilité de modifier certaines caractéristiques de son abonnement de manière autonome, sans passer par l’administrateur/trice – et ce grâce au mot de passe que nous avons saisi lors de l’abonnement! C’est là l’un des grands avantages de mailman…
Pour accéder au menu de préférences, retournons à la page d’information sur la liste, soit https://squat.net/mailman/listinfo/print-news.
En bas de page, on trouve un champ suivi d’un bouton « edit options ». Il suffit alors d’entrer son adresse d’abonnement, puis de valider, pour arriver à la page de configuration.
Celle-ci propose, en vrac, de se désabonner, de changer son mot de passe d’inscription, d’arrêter la réception des messages (très utile pour qui veut ne plus recevoir les messages, le temps d’un voyage par exemple, sans pour autant de désinscrire), de recevoir chaque message séparemment ou sous la forme d’un seul gros courrier (mode « digest », très utile pour les listes à fort traffic) une fois par jour, par semaine… (selon la configuration de la liste), de ne pas recevoir copie de ses propres messages, de recevoir un accusé de réception pour chaque message envoyé, et de ne pas apparaître dans la liste des abonné-e-s, dans le cas ou celle-ci serait accessible.
SECONDE PARTIE: INSTALLATION DE MAILMAN SUR DEBIAN GNU/LINUX, ET INTERFAÇAGE AVEC POSTFIX
Cette partie suppose que vous disposez d’un système GNU/Linux installé et fonctionnel. Debian étant sans conteste parmi les distributions les meilleures, tant par son respect scrupuleux de la philosophie des logiciels libres que par ses choix techniques judicieux et sa souplesse d’utilisation; Debian étant, enfin, la distribution la plus répandue dans les milieux techno-activistes et anargeek; c’est sur celle-ci que je baserai mes quelques explications.
De même, j’ai choisi le MTA (Mail Transport Agent, ou « serveur SMTP ») Postfix, pour sa robustesse (contrairement à Exim, postfix sait tenir de fortes charges de courrier), sa facilité de configuration, son design original et sécurisé (Postfix, à la différence de la plupart des autres MTA, ne constitue pas un bloc monolitique, mais est scindé en une multitude de petits démons interagissant les uns avec les autres – selon la philosophie UNIX « small is beautiful » -, et, détail de taille, chrootés par défaut pour la plupart!).
Enfin, Apache sera notre serveur web, mais est-il besoin d’argumenter?
Considérant, donc, qu’un Postfix et qu’un Apache fonctionnels se trouvent sur une machine utilisant Debian GNU/Linux (les versions utilisées ici correspondant à celles de Debian Sarge au 31/05/04, soit Postfix 2.0.16-4, Apache 2.0.49-1), nous pouvons commencer.
Configuration de Postfix
Éditons d’abord le fichier principal de configuration de Postfix, /etc/postfix/main.cf. Assurez vous que la ligne « recipient_delimiter = + » existe, et sinon, rajoutez là. Ajoutez ensuite « owner_request_special = no », ce qui permettra à Postfix de livrer les adresses se terminant par -ower ou -request à Mailman (sans quoi, Postfix leur réserve un traîtement « spécial » :P). Enfin, pour éviter une furieuse répétition de mails d’erreur, ajoutez également « unknown_local_recipient_reject_code = 550 ».
Cherchez la ligne « alias_maps », qui, par défaut, doit ressembler à celle-ci:
alias_maps = hash:/etc/aliases
Ajoutez lui une virgule, puis
hash:/var/lib/mailman/data/aliases
De sorte qu’elle ressemble à cela:
alias_maps =hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
Grâce à cette ligne, Postfix ira chercher les alias correspondant aux listes de Mailman dans un fichier directement généré par ce dernier. Ainsi, l’administrateur n’aura plus à copier/coller les informations données par Mailman à chaque création de liste, puis à lancer `newaliases`, comme c’était auparavant le cas!
Configuration de Mailman
L’installation de Mailman (2.1.4-4) est simple comme bonjour:
sudo apt-get install mailman
Un choix de langues disponibles sur le système vous sera demandé, ainsi que la langue par défaut. Si debconf est configuré pour poser les questions de priorité basse, vous aurez également la possibilité d’activer la passerelle newsgroups – mailing-lists, désactivée par défaut. Si ce n’est pas le cas, pour pouvez toujours y répondre plus tard, ce grâce à la commande:
sudo dpkg-reconfigure -p low mailman
Mailman indique alors qu’il nécessite la création d’une liste « système » avant de pouvoir fonctionner. Mais ne nous précipitons pas, sous peine de devoir recommencer par la suite, car il s’agit d’abord, et surtout, d’interfacer Mailman et Postfix, pour plus de tranquilité.
Éditons le fichier /etc/mailman/mm_cfg.py, et dé-commentons la ligne suivante, se trouvant à la fin du fichier (si elle ne s’y trouve pas, ajoutez là):
MTA='Postfix'
Consultez ensuite /var/lib/mailman/Mailman/Defaults.py. Ce fichier contient les variables de configuration par défaut de Mailman. Vérifiez que le chemin indiqué pour POSTFIX_ALIAS_CMD et POSTFIX_MAP_CMD correspond à celui de votre système:
sudo which postalias
sudo which postmap
Note: si vous devez opérer des changements, n’éditez pas ce fichier, mais reportez-les dans /etc/mailman/mm_cfg.py, qui est lu après Defaults.py, et dont les valeurs écrasent celles par défaut.
Lancez ensuite la commande:
sudo /var/lib/mailman/bin/genaliases
Celle-ci aura pour effet de créer les fichiers /var/lib/mailman/data/aliases et /var/lib/mailman/data/aliases.db, qui contiendront les alias de listes gérées par Mailman, automatiquement tenus à jour.
Pour ce faire, il faut néanmoins en changer les permissions:
chown list:daemon /var/lib/mailman/data/aliases*
Il est temps de créer la liste « système » dont Mailman a besoin:
sudo /var/lib/mailman/bin/newlist mailman
Entrez root@votre.machine.org dans le champ « gestionnaire de la liste », après avoir vérifié que vous avez bien défini un alias pour root dans /etc/aliases (ce dont Postfix a besoin). Vous pouvez, cela dit, spécifier une autre adresse e-mail locale.
Choisissez un mot de passe, et hop, la liste est créée, sans que vous n’ayez à éditer manuellement quelque fichier que ce soit!
Configuration de Apache
Normalement, l’interface de configuration des listes Mailman en ligne est d’ores et déjà disponible via http(s)://votre.machine.org/cgi-bin/mailman/admin/.
Néanmoins, il est souhaitable d’avoir un nom plus court et plus esthétique. Pour ce faire, quelques lignes dans la configuration de Apache suffisent. Ce peut aussi être l’occasion de restreindre l’accès à Mailman au seul protocole https (ce qui est intéressant, vu que l’administration se fait par mots de passes, et que le vol de cookies est possible avec Mailman).
Selon que vous utilisez Apache2 ou Apache 1.3.2x, éditez /etc/apache2/sites-enabled/default ou /etc/apache/httpd.conf, et ajoutez les lignes suivantes, dans la section correspondant au VirtualHost désiré:
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
Mise à feu
Tapez:
sudo /etc/init.d/postfix reload
sudo /etc/init.d/mailman start
sudo /etc/init.d/apache reload
Et le tour est joué. Vous pouvez normalement accéder à l’interface d’administrations de vos listes via http(s)://votre.machine.org/mailman/admin/ et en voir la liste via http(s)://votre.machine.org/mailman/listinfo/. Pour créer de nouvelles listes, il suffit de:
sudo /var/lib/mailman/bin/newlist nomdelaliste
Puis de la configurer via l’interface oueb.
🙂