SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Interactivité, communication > Mails

Liste SYMPA des rédacteurs d’un site SPIP

samedi 26 novembre 2005, par dani. Dernier ajout dimanche 21 janvier 2007


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].

Notes

[1] Un gestionnaire de listes très performant, libre, édité par les universités françaises.

[2] Si votre site ne propose pas les inscriptions automatiques, vous pouvez omettre ce test.

[3] Si vous avez accès au serveur MySQL, vous pouvez définir un autre utilisateur qui n’ait accès qu’en lecture à cette seule table.


Répondre à cet article

  • Liste SYMPA des rédacteurs d’un site SPIP

    27 mai 2007 22:46, par Zorky

    Juste une remarque : le mode "include" est obsolète, il est maintenant conseillé d’utiliser le mode "include2" de SYMPA.

    http://www.sympa.org/wiki/manual/pa...

    Voir en ligne : http://blog.olivier-duval.info

    Répondre à ce message

    Retour au début des forums

  • Liste SYMPA des rédacteurs d’un site SPIP

    2 décembre 2005 20:50, par François Schreuer

    Salut Dani,

    Article très utile. Un grand merci.

    La seule étape qui me manque, est de donner le choix aux utilisateurs de recevoir ou pas la lettre d’info via une option à cocher dans l’interface de SPIP (voire choisir parmi plusieurs listes celle(s) auxquelles il souhaite s’abonner). Y’a moyen de faire ça assez facilement avec des champs EXTRA, mais c’est alors impossible de récupérer facilement les données avec un simple requête sql,...

    Quelqu’un a une idée de la manière de faire ?

    Par ailleurs, est-ce que quelqu’un sait s’il y a moyen de faire quelque chose de similaire avec Mailman ? (j’ai l’impression que c’est pas possible, mais on ne sait jamais).

    à vous lire,

    François

    Répondre à ce message

    • Liste SYMPA des rédacteurs d’un site SPIP 19 décembre 2005 23:46, par dani

      La seule étape qui me manque, est de donner le choix aux utilisateurs de recevoir ou pas la lettre d’info via une option à cocher dans l’interface de SPIP (voire choisir parmi plusieurs listes celle(s) auxquelles il souhaite s’abonner)

      .

      Une solution peut être d’essayer de faire l’inverse : configurer sur la liste Sympa le mode de réception : normal, nomail, digest, ... Je sais que Sympa offre une interface webservice. Il faudrait essayer d’y accéder depuis une page SPIP... Idée à suivre...

      Y’a moyen de faire ça assez facilement avec des champs EXTRA, mais c’est alors impossible de récupérer facilement les données avec un simple requête sql,...

      Oui, en effet... pas simple de dé-sérialiser le contenu d’un champs EXTRA en SQL... Et avec les nouvelles possibilités de la 1.8 d’étendre les tables ?

      Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net