Utiliser des sources de données

par manu

Pourquoi faire ?

Supposons que l’association mon_asso veuille se créer une liste de diffusion pour envoyer une lettre d’information à tous ses adhérents. La liste des adhérents est gérée par un outil comme galette, ou tout autre système de base de données qui serait fait pour cela, et cet outil est hébergé par le pic. Ce serait dommage de recopier les adresses de tous les adhérents dans la liste sympa... Il est bien plus astucieux d’utiliser une source de données sql, c’est-à-dire de synchroniser automatiquement la liste sympa avec la base de données des adhérents.. Cet article explique comment faire cela.

ATTENTION : Les manipulations expliquées ici sont un peu dangereuses, et d’ailleurs tous les utilisateurs (même propriétaires privilégiés) n’ont pas la possibilité de les faire. Si cette fonctionnalité vous intéresse, contactez-nous et nous vous aiderons à la mettre en place.

Définir une source de données

  • Cela se fait par l’écran d’administration de la liste, sous-menu "Définition des sources de données"
  • Rechercher les champs concernant "Inclusion d’une requête SQL" (cachés en fait sauf aux "listmasters", en tant que gestionnaire de liste vous n’y avez pas accès)
  • Renseigner les champs avec : nom de la BD, utilisateur [1], mot de passe etc.
  • Vous devez aussi renseigner la requête SQL précise qui permettra à sympa d’aller à la pêche aux abonnés. Si vous connaissez le SQL vous ne serez pas étonné d’apprendre que la requête ressemblera à quelque chose comme : SELECT email FROM adherents... sauf que dans la vraie vie c’est généralement plus compliqué que ça.

Synchroniser sympa avec la base

Cela se fait tout seul et totomatiquement à chaque fois qu’on envoie un mail (ou presque, il y a un garde-fou pour éviter de passer son temps à mettre à jour la liste). En plus le proprio a un bouton sur la page des abonnés : "Synchroniser les membres avec les sources de données". On clique, et hop Sympa exécute la requête et met à jour sa liste d’abonnés. Si un abonné n’est plus retourné par la requête (il n’est plus adhérent par exemple), il disparaîtra de la liste... à moins que...

Quelqu’un peut-il s’abonner par ailleurs ?

Hé oui ! Jacques est enregistré dans l’asso avec son adresse jacques@alamaison.fr, mais en fait il voudrait recevoir les messages à son adresse professionnelle : jacques@auboulot.com Pas de problème, il peut abonner cette adresse comme il en a l’habitude.

Lors de la prochaine synchronisation, jacques@auboulot.com, qui ne figure pas dans les adresses d’adhérents de mon_asso, va-t-il se faire éjecter de la liste ? Que nenni, sympa se souvient que cette adresse ne provient pas de la requête, du coup elle n’est pas concernée par la requête. Sympa est très malin.

Un adhérent peut-il se désabonner ?

Oui. Il lui suffit de se désabonner en suivant la procédure habituelle [2]. Sympa va alors le mettre dans une liste d’exclusion, qui garantira qu’à la prochaine synchronisation avec la base de données il ne réapparaîtra pas. les nerfs de vos adhérents sont préservés et le RGPD aussi. A propos, Jacques a désabonné l’adresse jacques@alamaison.fr

Exclure des exclus

Mais voilà que Jacques veut à nouveau abonner jacques@alamaison.fr Comment peut-il faire ? Réponse : il lui suffit de s’abonner à la liste ! D’autre part vous, en tant que propriétaire de la liste, pouvez gérer la liste des exclus. Il vous suffit d’aller sur la page des abonnés à la liste, et de cliquer sur le bouton Exclure situé en haut à droite de l’écran. Ce bouton vous permet d’exclure une adresse des exclus.... donc de l’inclure à nouveau !

[1Il est recommandé de créer un utilisateur rien que pour cela, cet utilisateur aura seulement les droits en lecture sur la B.D.

[2que vous avez indiquée au bas de chaque message évidemment cf. ici