Carnet Wiki

30. Abonnements à une lettre

Version 6 — February 2011 JLuc

Il y a 4 manière de constituer la liste des destinataires d’une lettre :
-  l’internaute s’inscrit sur un formulaire public
-  le webmaster l’inscrit manuellement
-  le webmaster importe une liste d’abonnés
-  à partir d’une requête SQL

Les abonnés

A partir de la page de gestion des lettres (menu Édition / Lettres d'information) il est possible d’accéder à la gestion des abonnés.

On y voit :

- l’évolution du nombre d’abonnés au cours des derniers mois :

-  la liste des abonnés et la liste des thèmes d’abonnements accessibles au public :

- un bloc de raccourcis permettant d’accéder diverses pages et fonctionnalités de spip-lettre

En cliquant sur un abonné, on accède à sa fiche, qui décrit ses caractéristiques :

... et présente la liste des lettres reçues :

Inscription ou désinscription via le formulaire public

Le formulaire demande
-  le nom et le mail de l’internaute souhaitant recevoir la lettre.
-  le format auquel celui ci souhaite la recevoir.
-  si plusieurs thèmes ont été définis, il propose de choisir parmi les différents thèmes.

Ce formulaire est personnalisable par CSS.

Exemple de présentation non personnalisée, et dans le cas où il y a un seul thème :

Inscription par le webmestre, dans la partie privée

Par la page de gestion des lettres (accédée par Édition / Lettres), le webmaster peut aussi inscrire des abonnés.

Il est possible dans ce cas d’inscrire un abonné à une rubrique à laquelle auquel aucun ’thème’ de lettre publique n’est associé.

Importer des abonnés par un fichier au format CSV

La page permet de spécifier à quelle rubrique et avec quel format les abonnements doivent ils se faire :

Format du fichier :
-   le fichier doit être encodé au format UTF8 (sous windows, l’éditeur de texte Notepad++ permettra de voire quel est l’encodage, et, en cas de besoin, de faire la conversion)
-  les lignes doivent être du type “email”;“nom”, c’est à dire que dans les options d’export du fichier CSV il faut indiquer que :

  • le séparateur doit être le point virgule ;
  • les champs doivent être entourés de guillemets "

Exemple :

"adresse1@mail.com";"Jean-Paul Bangbang"
"adresse2@mail.com";"Carole Poutou"
"adresse3@mail.com";""
...

Si un abonné est déjà inscrit avec un ’nom’, et qu’on le réimporte sans que le nom ne figure dans le fichier, il garde son ’nom’.

Vous pouvez par exemple générer ce fichier CSV au moyen d’un squelette qui bouclera sur d’autres tables (la table AUTEURS par exemple, ou une table issue d’un autre script de mailing liste).

Adresser la lettre aux destinataires issus d’une requête

Cette fonctionnalité nécessite de maîtriser SPIP, php et SQL.

Le fichier inc/delivrer_hors_abo fournit une fonction lettres_sql_programmer_envois qui permet d’envoyer une lettre aux mails issus d’une requête sur la base de donnée, quelque soit la (ou les) table(s) sur laquelle cette requête porte.

En plus de l’identifiant de la lettre qui doit être envoyée, les paramètres sont ceux définis par l’API SQL de SPIP telle qu’utilisée par exemple par sql_select.