Principe
Mailman est un outil puissant de mailing liste http://www.gnu.org/software/mailman/. Il peut gérer plusieurs centaines, voir plusieurs milliers d’adresses e-mail, pour une seule liste de diffusion/ discussion. Il manquait à ma connaissance un plugin permettant de l’interfacer avec SPIP, voilà la chose faite [1] .
Une partie de ce plugin est inspirée par le plugin Spip-Listes. Contrairement à ce plugin, Abomailmans laisse la gestion des abonnements, des désabonnements, l’envoi et l’échange d’e-mails à Mailman.
Ce plugin permet via une balise #FORMULAIRE_ABOMAILMAN d’afficher un formulaire d’abonnement à l’ensemble des listes renseignées Mailman. Cette inscription se fait via l’interface privée de SPIP par le menu « Edition > Abomailmans > les listes de diffusions mailman » Ensuite il vous est possible de sélectionner des articles de votre SPIP, par des critères de date, de rubrique et/ou de mot clé et envoyer leurs contenus à ces listes, en utilisant des squelettes de mise en page du contenu.
Le lien avec les listes Mailman se fait par des envois d’e-mail.
Voici comment cela se présente sur la partie publique.
Installation
Copiez le répertoire abomailmans dans votre répertoire plugins, puis installez le plugin selon la procédure habituelle, cf. http://www.spip.net/fr_article3396.html.
version 0.1
Placez la balise #FORMULAIRE_ABOMAILMAN dans vos squelettes la ou vous le souhaitez.
Ajouter des listes Mailman
Cliquez sur Malmans dans le menu « Édition > Mailmans » de l’espace privé
Vous obtenez la page de la gestion de vos listes
Cliquez sur « Ajouter une nouvelle liste », vous obtenez la page d’ajout d’une liste
Renseigner ces champs, veuillez vérifier plusieurs fois que l’adresse e-mail de votre liste Mailman est bien correcte.
L’ensemble des listes que vous aurez renseignées, vont apparaître dans votre site via la balise #FORMULAIRE_ABOMAILMAN que vous aurez placé dans vos squelettes.
Envoyer du contenu de votre SPIP aux listes
À la page de la gestion de vos listes, cliquez sur « Envoyer un e-mail aux listes à partir du contenu de ce site »
Sélectionnez le modèle de présentation d’e-mail (« nouveautés » est présent par défaut). Les modèles se retrouvent dans /(...)/abomailmans/templates/ (Cf. Personnalisation). Vous pouvez choisir de lister :
les articles à partir d’une date via « Contenu a partir de cette date »
et les articles d’une rubrique via « Et lister les articles de la rubrique »
et les articles liés à un mot clé via « Et lister les articles du mot clé »
Renseignez le sujet de votre e-mail, et introduisez le contenu issu du site. Cliquez sur « Aperçu ». Ensuite choisissez la liste à laquelle vous souhaitez envoyer cet aperçu
Utilisation par l’internaute
L’internaute saisi son Nom, son Prénom et son adresse e-mail (Obligatoire, un test PHP est effectué sur ce champs), et coche les listes auxquelles il souhaite s’abonner. Ensuite il reçoit les demandes de confirmation des listes Mailman. La gestion de son abonnement s’effectuera via Mailman.
Personnalisation
Vous pouvez personnaliser le formulaire d’abonnement à vos listes, en modifiant ce fichier /(...)/abomailmans/formulaires/formulaire_abomailman.html et cette feuille de style css /(...)/abomailmans/css/abomailmans_style.css (situés dans votre dossier Abomailmans).
Vous pouvez créer autant de modèle d’envoi d’e-mail à vos listes Mailman en les ajoutant dans le répertoire /(...)/abomailmans/templates/
Ce sont de simples squelettes SPIP, faites attention aux points suivants :
ne pas placer de balises html <html><body> ni de fermeture </body></html>
mettre les styles CSS directement dans les balises pour être sur qu’ils seront interprétés (même par les webmails)
les urls et liens images doivent être converti en urls absolues, utilisez pour ce faire le filtre liens_absolus
Détails du code
Utilisation de Phpmailer (http://phpmailer.sourceforge.net/)
Utilisation de Jquery (inclus dans spip 1.9.2 et +) (http://jquery.com/)
Utilisation du plugin JQuery date picker (inclus dans ce plugin) (http://www.kelvinluck.com/assets/jq...)
Évolutions envisagées
Gestion de listes privées
Pouvoir mettre en avant une seule liste