GrabDuck

Liste SYMPA des rédacteurs d'un site SPIP - SPIP-Contrib

:

Comment configurer dans SYMPA une liste de distribution de tous les rédacteurs d’un site SPIP.

Motivation

Vous avez un site Spip et vous aimeriez pouvoir envoyer un mail à tous les rédacteurs et rédactrices de ce site ? Vous vous êtes sans doute renduE compte qu’il vous faut créer ailleurs une liste de diffusion, et demander aux auteurs de s’inscrire aussi à la liste. Si dans des sites comme la doc de Spip ou spip-contrib cela peut se comprendre : ce n’est pas la même chose de participer à la doc ou de chercher du support sur la liste ; dans d’autres cas les auteurs d’un site et les membres de la communauté qui échangent par mail sont les mêmes. Et dans tous les cas cela peut toujours être utile !

Cette contrib propose une manière de constituer, dans le gestionnaire de listes Sympa [1], une liste de diffusion dont les membres sont automatiquement tous les rédacteurs d’un site Spip.

Malheureusement (car il y a toujours des malqqchose), il vous faudra tout de même un accès à Sympa avec des droits élevés.

Sinon, si vous avez seulement accès à un hébergeur partagé « grand public », il vous faudra vous contenter d’une technologie qui tourne entièrement en PHP, comme la Bloogletter ou d’autres scripts d’envoi de mail en PHP.

L’intérêt, si l’on peut passer à Sympa (ou un autre mailinglist manager), sera de bénéficier d’une technologie plus adapté que le PHP à l’envoi de mails en masse et de l’ensemble de fonctionnalités de gestion d’une liste (archives, modération, ...).

Comment faire cela ?

C’est assez simple, dans Sympa, en administration d’une liste, on peut définir la « source de données » de la liste :

Concrètement, les configurations et commandes

Lorsque l’on est connecté comme listmaster à l’interface Web de Sympa WWS, à partir de la page d’une liste, en cliquant dans « Admin liste » sur le menu à gauche, puis sur « Configurer la liste » dans le menu horizontal, et enfin sur « Sources de données » dans le sous-menu, on peut définir la source des membres de la liste depuis une inclusion plutôt que dans la base données de Sympa :

Plus bas dans cette même page, on fournit les données d’accès à la base de données MySQL du site Spip, et l’instruction MySQL d’extraction des mails :

La chaîne complète de la requête SQL est :

SELECT `spip_auteurs`.`email` FROM `spip_auteurs` WHERE statut != '5poubelle' AND statut != 'nouveau' AND email != ''

afin de ne sélectionner dans la base ni les auteurs qui sont à la poubelle, ni ceux qui ont essayé de s’inscrire mais ne se sont jamais connectés dans la base de donnée SPIP [2], ni ceux dont l’e-mail est vide.

Effectuez la mise à jour avec le bouton approprié à la fin de la page, et voilà, c’est fait ! Cliquez sur « Abonnés » et vous verrez la liste des mails des rédacteurs de votre site.

Il vous faudra bien sûr remplacer par le nom de votre base, votre login de connexion et donner le mot de passe d’accès à votre base de données SPIP. [3]

Rappelons que, du moins dans la configuration standard de Sympa, il vous faudra des droits avancés, à savoir être listmaster, du serveur. Pour cela, il vous faudra, sinon avoir votre propre serveur Sympa, du moins avoir un bon ami qui en a un et soit qui partage avec vous l’administration soit qui vous crée un robot virtuel dont vous êtes listmaster.

Variantes

Avec quelques modifications minimes de la requête MySQL, on peut extraire la liste des administrateurs :

SELECT `spip_auteurs`.`email` FROM `spip_auteurs` WHERE statut = '0minirezo' AND email != ''

ou celle des visiteurs :

SELECT `spip_auteurs`.`email` FROM `spip_auteurs` WHERE statut = '1comite' AND email != ''

ou toute autre sélection des utilisateurs (n’hésitez pas à proposer vos idées en commentaire de forum !).

information technique

La création d’une telle liste ajoutera dans le fichier config de la liste les instructions suivantes :

user_data_source include

include_sql_query
passwd **************
db_name spip_belvil
db_type mysql
user belvil51
name site
sql_query SELECT `spip_auteurs`.`email` FROM spip_auteurs ...
host localhost

Si vous avez un accès ssh au serveur et des droits d’administration, vous pouvez aussi ajouter directement ces instructions. Dans une distribution Debian, ce fichier se trouve dans le répertoire /var/lib/sympa/expl/[nom_liste].