SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 64 visiteurs en ce moment

Accueil > Interactivité, échanges > Email, Newsletters, listes de diffusion > Newsletter > Newsletters

Newsletters

16 janvier 2013 – par Cerdic – 451 commentaires

100 votes

Ce plugin permet de composer des Info-lettres.

Par info-lettre, on désigne ici le contenu éditorial qui va être composé et envoyé par courriel à une liste d’inscrits.

Le plugin permet de composer une info-lettre à partir d’un modèle pré-composé, d’un texte que vous pourrez rédiger spécifiquement, et d’une sélection d’articles et/ou de rubriques.
Si vous utilisez un outil externe pour composer vos info-lettres, vous pouvez aussi directement coller le contenu au format HTML (et au format texte pour l’alternative).

Enfin, ce plugin implémente la partie compose de l’API Newsletter.

Installation

Le plugin s’installe classiquement. Il nécessite le plugin Mailsubscribers pour la gestion des inscriptions et le plugin Mailshot pour l’envoi.

Configuration

La seule configuration du plugin concerne la possibilité de masquer certains modèles d’info-lettres. Vous n’en aurez pas besoin au départ, mais le plugin fournit certains modèles par défaut, et une fois que vous aurez choisi et/ou personnalisé celui qui vous convient le mieux, vous pourrez vouloir masquer les autres modèles pour ne pas risquer de vous tromper ou perturber vos rédacteurs.

Documents joints
Vous pouvez permettre de joindre des images ou autres documents aux infolettres, pour les utiliser dans le contenu éditorial spécifique.
Pour cela, allez dans le menu Configuration > Contenu du site, et dans le formulaire Documents joints en bas de page, cochez la case Infolettres en face de Activer le téléversement pour les contenus.

Composition d’une Info-lettre

Administration des info-lettres

Toutes les info-lettres existantes sont consultables depuis le menu Edition > Infolettres.

Composition d’une nouvelle info-lettres

En cliquant sur Créer une infolettre vous arrivez sur le formulaire de composition ci-dessous :

Il vous permet de choisir le modèle pré-composé, de fournir un chapeau et un texte et de faire une sélection d’articles et rubriques qui seront mis en avant dans l’info-lettre.

En bas du formulaire vous disposez d’une case à cocher qui permet de passer en mode édition avancée :

Dans ce mode là, vous composez directement le HTML et le texte qui seront envoyés par courriel. C’est un mode dans lequel vous maîtrisez tout, et qui peut vous servir si vous utilisez un autre outil pour composer le HTML de votre info-lettre.
Ce mode d’édition avancée est aussi le seul qui sera disponible une fois que votre info-lettre sera publiée. Il permet de corriger une éventuelle coquille dans le HTML ou le texte.

Mais revenons au mode d’édition simple en remplissant les différents champs et en faisant une sélection d’articles :

Après enregistrement, vous arrivez sur la page de présentation de l’info-lettre. Vous pouvez alors y associer un logo qui sera éventuellement utilisé dans le modèle pré-composé que vous avez choisi (ici le modèle basic).

Tant que votre info-lettre n’est pas publiée (ou que vous n’êtes pas en mode édition avancée), cette page ne présente que le contenu éditorial.

Pré-visualisation d’une info-lettre

Il faut passer en pré-visualisation pour voir la mise en forme réalisée par le modèle pré-composé qui va utiliser votre contenu éditorial. Cela se fait en cliquant sur le lien Prévisualiser dans le cartouche de gauche. Vous passez alors sur une page spécifique du site public, qui présente votre info-lettre dans sa version HTML [1] :

Cette prévisualisation vous permet par exemple de vérifier son affichage sur un écran de largeur réduite [2] :

Ou de voir aussi la version Texte du mail qui sera envoyé :

Le lien Version HTML email vous montre la version qui sera envoyée dans l’email, alors que le lien Version HTML en ligne vous montre la version qui sera affichée dans le navigateur pour les utilisateurs qui cliquent sur le lien « Voir cette Infolettre dans votre navigateur » présent en début d’email. Les deux versions sont par défaut très proches et ne se distinguent que par des petits détails masqués dans la version navigateur. Mais vous pouvez complètement les distinguer comme il sera vu par la suite.

Si vous avez des modifications à faire suite à cette prévisualisation, vous pouvez retourner modifier l’info-lettre via le formulaire d’édition. A chaque fois que vous faites une modification et enregistrez ou que vous prévisualisez, votre info-lettre est recomposée automatiquement à partir du modèle pré-composé et de vos contenus.

Test d’envoi d’une info-lettres

Une fois composée votre info-lettre, il est souvent nécessaire de l’envoyer par mail pour tester qu’elle s’affiche bien dans un lecteur de mail.
Vous disposez pour cela d’un formulaire sur la page de l’info-lettre :

Tant que vous n’avez pas publié votre info-lettre, vous ne pouvez l’envoyer qu’à une adresse email à la fois. De plus, par précaution, le sujet sera préfixé par l’avertissement [TEST]. Ceci vous évite la moindre confusion.

Publication d’une info-lettre

Après ce test d’envoi, vous pouvez alors publier votre info-lettre :

Votre info-lettre est alors recomposée une dernière fois par sécurité, les images sont copiées dans un dossier IMG/nl/xx/ pour ne pas risquer d’être perdues après l’envoi de l’info-lettre, et elle est passée en mode édition avancée sans possibilité de revenir en arrière.

Vous voyez alors que la page est modifiée dans ce contexte. Vous voyez directement les différentes versions HTML et Texte [3].

Dans ce mode, si vous essayez de modifier votre info-lettre, vous ne pourrez plus accéder qu’aux versions définitives composées, et non plus au contenu éditorial :

Envoi de l’info-lettre

Une fois publiée, vous pouvez envoyer cette info-lettre à l’aide du formulaire d’envoi présent sur la page :

La suite du processus d’envoi est décrite dans la documentation du plugin Mailshot.

Programmation d’une info-lettre

Un usage possible du plugin est de programmer une info-lettre qui sera générée et envoyée automatiquement selon une fréquence programmée.
Pour que cela ait un sens, le contenu de l’info-lettre doit se générer automatiquement à chaque nouvel envoi. Cela ne peut se faire qu’avec un modèle dédié conçu pour cela. Voyons un exemple avec le modèle Nouveautés fourni avec le plugin.

Cliquez sur l’icône Programmer une infolettre depuis la page d’administration des info-lettres. Vous arrivez alors sur un formulaire complet de programmation :

Ce formulaire vous permet de définir le titre, la récurrence de l’envoi, le modèle à utiliser pour composer automatiquement l’info-lettre. Vous pouvez aussi renseigner un chapeau et un texte et faire une sélection d’articles et rubriques, mais cela a souvent moins de sens car il vaut mieux que tout le contenu soit calculé automatiquement par votre modèle.

Pour la récurrence d’envoi, vous fixez une date et heure de début à partir de laquelle l’envoi sera programmé. Puis vous fixez la fréquence de répétition :

  • tous les jours
  • toutes les semaines, avec la possibilité de choisir quel(s) jour(s)
  • tous les mois
  • toutes les années

Dans tous les cas vous pouvez fixer un intervalle (tous les 2 jours, 3 semaines...). Vous pouvez également fixer une fin à l’envoi automatique : après un nombre d’occurrences [4], ou à une date précise.

Pour l’envoi, vous avez deux choix non exclusifs :

  • l’envoi en test à une adresse mail
  • l’envoi direct sur une liste d’inscrits

Choisissez par exemple juste le premier pour recevoir une version de relecture dans votre boîte mail, et vous n’aurez plus qu’à lancer manuellement l’envoi en nombre si cela vous convient.

Une fois tout bien rempli cela donne par exemple, pour un envoi quotidien automatique des nouveautés, à 10h, aux inscrits à la liste newsletter :

Enregistrez pour voir votre info-lettre programmée dans la liste des info-lettres :

Automatisme d’envoi

A chaque nouvelle occurrence de la date programmée, le plugin va essayer de composer la version HTML de l’info-lettre avec le modèle sélectionné. Si celle-ci est vide, il considère qu’il n’y a rien à envoyer et se reprogramme à la date de la prochaine échéance.

Si le contenu composé n’est pas vide, le plugin crée alors une nouvelle info-lettre avec le titre, chapo, texte et sélection d’article qui ont été programmés. La date de l’info-lettre est positionnée à la date de l’occurence et la date de rédaction antérieure de l’info-lettre est fixée à la date du dernier envoi [5]
L’info-lettre est alors composée avec le modèle, et le plugin envoie une version de test sur l’adresse email programmée si nécessaire, puis publie l’info-lettre. Si un envoi à une liste a été défini, celui-ci est automatiquement déclenché.

A noter que si pour une raison ou une autre le plugin rate une échéance (site en panne ou pas de visites sur le site), il fusionnera toutes les occurrences ratées et fera son envoi à la dernière occurrence passée.

Création d’un gabarit

Comme vu plus ci-avant, les Info-lettres sont en général générées à partir de modèles pré-composés que l’on appelera ici gabarits [6]. Ces gabarits sont en fait des squelettes SPIP, rangés dans le dossier newsletters/. Vous pouvez en ajouter dans votre dossier squelettes/newsletters/, ou personnaliser un modèle fourni dans le dossier newsletters/ du plugin en le copiant dans votre dossier squelettes/newsletters/ avant de le modifier.

Un gabarit est constitué au moins d’un squelette pour la version HTML de l’email. Il peut être accompagné de 2 variantes facultatives pour la version Texte de l’email, ainsi que pour la version HTML de l’info-lettre telle qu’affichée dans le navigateur.

Gabarit HTML

Pour créer un gabarit de la version HTML de votre email, créez simplement un fichier mongabarit.html dans votre dossier squelettes/newsletters/.

Il va alors apparaître automatiquement dans la liste des modèles disponibles quand vous créez une nouvelle Info-lettre :

Le nom du fichier gabarit apparaît entre crochets. Pour lui donner un petit nom en clair, ajoutez en début de votre fichier mongabarit.html [7] :

  1. <BOUCLE_rem(CONDITION){si #REM}>
  2. <!-- titre=Mon gabarit à moi -->
  3. </BOUCLE_rem>

Télécharger

Le titre en clair de votre gabarit apparaît alors dans l’interface d’édition des info-lettres :

Mais pour l’instant votre gabarit n’affiche rien. Ajoutons le code minimum suivant :

  1. <BOUCLE_newsletter(NEWSLETTERS){id_newsletter}{statut?}>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html>
  4.         <head>
  5.                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6.                 <title>#TITRE</title>
  7.         </head>
  8.         <body>
  9.         <h1>Hello World !</h1>
  10.         </body>
  11. </html>
  12. </BOUCLE_newsletter>
  13. #FILTRE{newsletters_liens_absolus}

Télécharger

On peut voir qu’on a ici :

  • ajouté une boucle NEWSLETTERS : celle-ci doit avoir les deux critères {id_newsletter}{statut?} pour bien s’afficher sur l’info-lettre en cours de composition, quel que soit son statut ;
    • si vous avez configuré l’utilisation des langues sur les newsletters, vous devrez compléter cette boucle avec le critère {lang_select}, et veiller à ce que cette langue soit transmises aux squelettes inclus en passant {lang} aux #INCLURE.
  • inséré dans la boucle le code minimum d’une page HTML :
    • DOCTYPE
    • balises <html>,<head>,<body>
    • un <title> dans le <head>
    • un <h1> dans la page
  • complété avec un appel à #FILTRE{newsletters_liens_absolus} : cet appel vous sera bien utile car il transformera les URLs des liens et des images en URLs absolues qui fonctionneront dans tous les cas [8]

Dans cet exemple minimal, on utilise la balise #TITRE pour récupérer le titre de l’info-lettre tel qu’il aura été rempli dans le formulaire d’édition.

Les balises disponibles dans dans la boucle NEWSLETTERS sont :

  • #TITRE : le titre de l’info-lettre
  • #CHAPO : le contenu du chapeau de l’info-lettre
  • #TEXTE : le contenu du texte de l’info-lettre
  • #URL_NEWSLETTER : l’url publique qui permet de voir l’info-lettre en ligne, dans le navigateur
  • #LANG : la langue de l’info-lettre
  • #DATE : la date de publication de l’info-lettre
  • #DATE_REDAC : la date de rédaction antérieure de l’info-lettre (correspond à la date de la dernière occurrence dans le cas d’une info-lettre programmée)

Par ailleurs, la récupération des articles et rubriques sélectionnées dans une info-lettre se fait au moyen des boucles suivantes :

  1. <ul>
  2. <BOUCLE_selectionarticles(ARTICLES){id_newsletter}>
  3. <li><a href="#URL_ARTICLE">#TITRE</a>
  4. </BOUCLE_selectionarticles>
  5. </ul>
  6.  
  7. <ul>
  8. <BOUCLE_selectionrubriques(RUBRIQUES){id_newsletter}>
  9. <li><a href="#URL_RUBRIQUE">#TITRE</a>
  10. </BOUCLE_selectionrubriques>
  11. </ul>

Télécharger

Pour la structure HTML de votre info-lettre, vous pourrez avantageusement vous inspirer des ressources suivantes [9] :

Vous pouvez aussi partir des deux gabarits fournis dans le plugin :

  • basic.html est inspiré des gabarits HTML fournis par Mailchimp, avec des améliorations pour prendre en charge l’affichage dans les petits écrans ;
  • letter.html est inspiré des mails HTML envoyés par le service Feedburner ; il repose sur une approche plus simple avec un minimum de stylage pour laisser les styles par défauts des lecteurs de mail.

Si vous faites de beaux gabarits robustes, n’hésitez pas à les ajouter au plugin pour en faire profiter le plus grand nombre.

Pour finir, une petite astuce de travail : pour dégrossir la mise en forme de votre gabarit lors de sa réalisation, vous pouvez directement l’afficher dans votre navigateur (si vous avez bien le statut de webmestre) par l’url spip.php?page=newsletters/mongabarit&id_newsletter=1 en choisissant bien un id_newsletter d’une info-lettre existante. Cela vous permet ainsi de visualiser rapidement toutes vos modifications sans avoir à générer une info-lettre et faire des aller-retour entre le mode prévisualisation et l’espace privé de SPIP.

Gabarit Texte

Les emails HTML sont toujours accompagnés d’une alternative au format texte, qui est affichée dans les lecteurs de mail ne supportant pas le HTML, ou si l’utilisateur à choisi ce réglage dans ses préférences.

Il est donc crucial de bien générer une variante texte du gabarit HTML. Si vous ne fournissez aucun gabarit pour la variante texte, le plugin va automatiquement générer une version texte à partir du HTML. Cette version texte repose sur une conversion au format MarkDown, avec quelques structurations supplémentaires (analyse des structures <table> du mail HTML pour générer des séparations structurelles dans la version texte).

Dans la plupart des cas, la version texte automatique est suffisante. Mais si vous voulez avoir un contrôle fin de ce que vous envoyez, vous pouvez créer un second gabarit pour la version texte : créez un second fichier mongabarit.texte.html dans votre dossier squelettes/newsletters/. Ce gabarit sera alors utilisé pour générer la version texte de votre email.

Mettez y la boucle (NEWSLETTERS) comme dans la version HTML, et composez le contenu de votre email en texte, en utilisant les mêmes boucles et balises que dans la version HTML.

Gabarit HTML pour la version en ligne

Lorsque votre info-lettre est affichée dans le navigateur, c’est par défaut le HTML de l’email envoyé qui est utilisé.

Toutefois, certaines informations ne sont pas pertinentes dans la version en ligne (par exemple le texte qui dit « vous pouvez voir cette infolettre en ligne »).
La feuille de style css/newsletter_inline.css est automatiquement ajoutée dans la page de la version en ligne. Il est ainsi possible de faire de petits ajustements CSS pour masquer certains blocs de texte, ou modifier quelque peu l’apparence de la version affichée dans le navigateur.

Si cela ne vous suffit pas, ou que vous voulez présenter en ligne une version très différente, qui reprend par exemple une partie de la charte graphique du site public, vous pouvez générer une version spécifique de votre info-lettre.

Pour cela créez un second fichier mongabarit.page.html dans votre dossier squelettes/newsletters/. Ce gabarit sera alors utilisé pour générer la version de votre info-lettre affichée dans le navigateur.

Personnalisation des info-lettres

Pour finir abordons l’aspect personnalisation. Dans de l’envoi en nombre il peut être utile et profitable de personnaliser chaque email envoyé en fonction de son destinataire.

Pour cela, le plugin propose un système de variables à deux niveaux, qui sont remplacées au moment de l’envoi, en fonction du destinataire.

Variables simplifiées

Les variables simplifiées s’expriment sous la forme @nomdelavariable@.
Chaque variable qui apparait ainsi dans l’infolettre composée est remplacée par son contenu. Si la variable n’est pas connue ou pas fournie, elle est simplement retirée (remplacée par un contenu vide).

Ces variables peuvent être utilisées dans le gabarit de l’info-lettre, mais aussi dans les champs titre, chapeau et texte de l’info-lettre.

La liste des variables disponibles dépend en fait du plugin d’envoi Mailshot, qui se charge d’appeler cette fonction dite « de contextualisation » juste avant chaque envoi. En plus des variables utilisateurs fournies par Mailshot la date courante est aussi disponible sous le nom date.

Langage SPIP

Pour des besoins plus complexes, il est possible d’utiliser le langage de squelette SPIP pour contextualiser l’info-lettre. Toutes les variables sont disponibles sous la forme #ENV{nomdelavariable}.
L’avantage de ce format est que l’on peut appliquer des filtres sur les valeurs des variables, ou indiquer une valeur par défaut quand la variable n’est pas fournie.

Il est donc possible d’utiliser une balise SPIP de ce type dans les champs titre, chapeau et texte de l’info-lettre : elle sera remplacée au moment de l’envoi.

Par exemple, pour faire un titre d’infolettre programmée qui change automatiquement en fonction de la date d’envoi, on y mettra :
Nouveautés du [(#ENV{date}|affdate)]

Pour utiliser ce formalisme dans les gabarits, il faut faire un peu plus attention. En effet si vous mettez simplement le code

  1. <h1>Bonjour #ENV{nom}</h1>

dans gabarit, #ENV{nom} sera calculé lorsque l’info-lettre est générée et non au moment de l’envoi.

Il faut donc échapper la balise pour qu’elle ne soit pas évaluée lors de la génération, et reste dans l’email pour être évaluée au moment de l’envoi :

  1. <h1>Bonjour \#ENV{nom}</h1>

Le corrolaire de cette fonctionnalité, c’est que si vous voulez écrire du langage SPIP dans le texte votre infolettre envoyée [10], il faudra échapper les balises et les boucles pour éviter que celles-ci ne soient évaluées lors de la contextualisation.

Les variables accessibles par #ENV sont les mêmes que par le système de variables simplifiées [11].

Migration depuis un ancien plugin

Les anciens plugins SPIP-Listes, SPIP-Lettres et autres ne distinguaient pas réellement le contenu éditorial de l’infolettre et son envoi. Ainsi les info-lettres envoyées dans le passé avec ces plugins sont importées dans l’historique des envois par le plugin Mailshot et pas comme objet Newsletter par ce plugin.

Par ailleurs, le passage à ce plugin nécessitera que vous adaptiez vos gabarits selon les consignes indiquées plus haut, ou que vous utilisiez un des gabarits prêt à l’emploi du plugin.

Voir en ligne : https://plugins.spip.net/newsletters

Notes

[1la prévisualisation des différents formats peut ne pas fonctionner sur certains anciens navigateurs. Cliquez sur le lien (afficher sans iframe) pour voir la version HTML de la newsletter dans ce cas

[2les modèles pré-composés fournis avec le plugin gèrent l’affichage sur les petits écrans

[3sauf sur certains anciens navigateurs qui ne permettent pas cet affichage embarqué propre

[4Attention : il s’agit bien du nombre de récurrence de la date, même si aucun mail n’est envoyé faute de contenu

[5Le modèle peut ainsi sélectionner des contenus pertinents depuis le dernier envoi

[6pour éviter la confusion avec les modèles SPIP

[7Attention à bien utiliser le charset UTF-8 pour votre fichier

[8Ce filtre n’est pas automatiquent appliqué si vous ne le mentionnez pas pour vous laisser le contrôle total sur vos liens que vous pouvez choisir de gérer au cas par cas

[9on ne développe pas ici toutes les spécificités et les difficultés à concevoir des mails HTML robustes et qui s’affichent bien dans tous les lecteurs de mail, le web est plein de ressources sur le sujet

[10peut-être vous éditez un site qui s’adresse aux utilisateurs de SPIP ?

[11d’un point de vue technique, les variables simplifiées @nomdelavariable@ sont en fait traduites en #ENV{nomdelavariable,''} avant évaluation

Dernière modification de cette page le 29 octobre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 8 mars à 11:07, par Jaseur Boréal En réponse à : Newsletters

    Bonjour,

    Certains articles parus depuis une semaine ne figurent pas dans le contenu de la newsletter générée avec le gabarit « Nouveautés ». Or d’après leur date de rédaction, ils devraient apparaître.

    Quelqu’un a-t-il déjà observé cette situation ?

    Y a-t-il un réglage subtil entre la « Date de publication en ligne » et la « Date de rédaction antérieure » de la newsletter, par rapport aux « Date de publication en ligne » et « Date de rédaction antérieure » des derniers articles ?

    Merci d’avance pour vos solutions.

    Répondre à ce message

  • Le 28 février à 12:27, par Filipe En réponse à : Newsletters

    Bonjour, j’ai développé un site sous ScolaSPIP 4 et SPIP 3.2 pour un cursus de science de la vie (biologie) et je voudrais mettre en place une newsletter pour la vie académique de la fac. Quand j’installe tous les trois plugins (mailshot, mailsubscribers et newsletters) le site plante complètement. Est-ce que vous avez une piste comment résoudre cette impasse ? Est-ce qu’il y a quelque chose à cocher sur le menu « Interactivité » de la configuration du site ?

    Merci !

    Répondre à ce message

  • Le 26 janvier à 15:05, par zatoune En réponse à : Newsletters

    Bonjour,
    J’ai tenté de créer des infolettres en fonction de mots-clés mais je n’arrive pas à inclure la boucle qui va bien dans mon modèle perso (je suis parti du modèle « nouveautés »).
    En gros, j’ai 9 mots-clés correspondant à autant de sections d’un laboratoire et je voudrais envoyer à chacune d’entre elles une infolettre regroupant les articles récents qui les concernent...
    Merci d’avance pour vos suggestions :-)

    • Le 26 janvier à 21:20, par Jaseur Boréal En réponse à : Newsletters

      Bonjour,
      Je comprends qu’il y a

      • une seule liste segmentée
      • 9 contenus différents à expédier selon les 9 sous-groupes (sections) concernés.

      Ne serait-il pas plus simple de créer :

      • 9 listes indépendantes où les membres des 9 sections seraient inscrits.
      • Et 9 infolettres programmées différentes & adaptées pour chaque sous-groupe
    • Le 26 janvier à 21:57, par zatoune En réponse à : Newsletters

      Merci pour votre réponse :-)

      En fait, le laboratoire en lui-même est divisé en 9 sections (correspondant en gros à des matériaux étudiés) mais les informations qui les concernent (actus diverses, recherche, colloques etc.) sont dispersées dans pas mal d’endroits sur le site et donc dans des articles et rubriques diverses.
      Du coup, j’ai créé des mots-clés dans l’idée de m’en servir pour envoyer à chaque section un contenu qui les concerne, et je voulais créer 9 infolettres mais sur un seul et même modèle, le modèle « nouveautés » qui prendrait comme critère le mot-clé en plus.
      Par exemple, une infolettre « Métal » qui irait piocher tous les articles associés au mot clé métal mais je n’arrive pas à trouver la bonne boucle...je peux regrouper les membres par liste, une liste pour chaque section, mais mon problème c’est comment filtrer les articles avec le mot clé « Métal » n’importe où dans le site pour les adresser à la liste Métal...

    • Le 27 janvier à 18:20, par Jaseur Boréal En réponse à : Newsletters

      Bonsoir,
      Si je comprends bien, résumons donc :

      Vous avez besoin de 9 gabarits de newsletters "nouveautés" , copiés mais différenciés par 9 sortes de boucles appelant selon des critères différents :

      • 1er critère : des articles dans des rubriques = ??, différentes pour chaque gabarit,
      • 2e critère : des articles avec tel mot-clé = "XYZW" .

      Soit 9 sortes de newsletters, avec chacune :

      • son propre gabarit et ses critères et réglages
      • sa propre liste de diffusion d’abonnés segmentés
      • sa ou ses dates périodiques d’expédition
      • son esthétique qui peut varier

      Exemples :
      Sélection des textes contenant « métal » suivi, à quelques caractères près (entre 0 et 20), de « flamboyant ».

      1. <BOUCLE_arts(ARTICLES){texte == 'métal.{0,20}flamboyant'}>
      2.  - #TITRE<br />
      3. </BOUCLE_arts>

      Télécharger

      Sélectionner les rubriques, sauf certaines :

      1. <BOUCLE_rubriques(RUBRIQUES){id_rubrique !IN 3,4,5}>
      2.   - #TITRE<br />
      3. </BOUCLE_rubriques>

      Télécharger

      Avez-vous consulté ces pages :

      Cordialement

    • Le 28 janvier à 15:50, par zatoune En réponse à : Newsletters

      Bonjour,

      J’avais consulté en effet ces pages et d’autres pour me remettre en tête les syntaxes mais sans pour autant trouver la solution, peut-être que je place mal les boucles dans le squelette newsletter ? Par exemple ici au début du modèle newsletter :

      1. <BOUCLE_newsletter(NEWSLETTERS ){id_newsletter}{statut?}{lang_select}>
      2. #SET{nouveautes,''}
      3. <BOUCLE_hasnewarticles(ARTICLES){date<=#DATE}{date>#DATE_REDAC}{0,1}>#SET{nouveautes,' '}</BOUCLE_hasnewarticles>
      4. <BOUCLE_hasnewbreves(BREVES){date_heure<=#DATE}{date_heure>#DATE_REDAC}{0,1}>#SET{nouveautes,' '}</BOUCLE_hasnewbreves>
      5. <BOUCLE_si(CONDITION){si #GET{nouveautes}}>

      Télécharger

      SI je suis bien votre exemple, pour les mots-clés, ça devrait donner ceci à placer quelque part avant ou après la boucle « newsletter » ? :

      1. <BOUCLE_arts(ARTICLES){mot == 'métal'}>
      2.      - #TITRE<br />
      3.     </BOUCLE_arts>

      Télécharger

      Mais ça veut dire 9 modèles avec à chaque fois un mot-clé différent ? Et pas 9 infolettres basées sur un seul modèle ?
      Je pensais plutôt à l’origine qu’il fallait déclarer une variable « mot-clé » quelque part au début du modèle newsletter, comme celle-ci :

      1. #SET{nouveautes,''}

      Et qu’ensuite, en fonction du mot-clé associé à l’infolettre, ça me donnerait que les articles possédant le même mot-clé...
      Exemple de l’infolettre « Métal » qui possède le mot-clé qui va bien...

      Cordialement

    • Le 28 janvier à 18:10, par zatoune En réponse à : Newsletters

      Bon, je me réponds à moi-même :-)
      J’ai finalement trouvé le bon emplacement dans le squelette où insérer une boucle qui prenne en compte les mot-clés pour personnaliser les infolettres...
      J’ai aussi déterré un vieux fil qui m’a mis sur la voie (https://forum.spip.net/fr_221703.html).
      Le code en question, donc inséré dans le gabarit « nouveautés » que je reprends quasi à l’identique :

      1. <BOUCLE_nouveautes(ARTICLES){date<=#DATE}{date>#DATE_REDAC}{!par date}{0,5}>
      2.                         <BOUCLE_selection(MOTS){id_newsletter}>
      3.                                 <BOUCLE_mc(ARTICLES) {id_mot}{unique}>
      4.  
      5.                 <tr xmlns="">
      6.                         <td style="margin-bottom:0;line-height:1.4em;">
      7.  
      8.                                 <h2 style="margin:1em 0 3px 0;">
      9.                                         <a style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:16px;"
      10.                                            href="#URL_ARTICLE" class="#EDIT{titre}">
      11.                                                 [(#LOGO_ARTICLE_NORMAL|image_reduire{100,200}
      12.                                                 |inserer_attribut{alt,''}
      13.                                                 |inserer_attribut{border,'0'}
      14.                                                 |inserer_attribut{style,'margin: 0;margin-left: 1em;margin-bottom: 1em;float:right;padding: 0;max-width:
      15.                                                 100%;border: 0;height: auto;line-height: 100%;outline: none;text-decoration: none;'}
      16.                                                 |inserer_attribut{class,logo})]
      17.                                                 #TITRE</a></h2>
      18.                                 <p
      19.                                         style="font-size:14px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:14px;">
      20.                                         <span><:newsletter:label_publie:></span> [(#DATE|affdate)]</p>
      21.                                 [
      22.                                 <div class='chapo' style="margin-bottom: 2em;">(#CHAPO)</div>
      23.                                 ]
      24.                                 [
      25.                                 <div class='texte' style="margin-bottom: 2em;">(#TEXTE)</div>
      26.                                 ]
      27.                                 [
      28.                                 <div class='ps' style="margin-bottom: 2em;">(#PS)</div>
      29.                                 ]
      30.                                 [<br/>
      31.                                 <hr/>
      32.                                 <div class="notes" style="margin-bottom: 2em;font-size: 11px">(#NOTES)</div>
      33.                                 ]
      34.                         </td>
      35.                 </tr>
      36.                                 </BOUCLE_mc>
      37.                         </BOUCLE_selection>
      38.                 </BOUCLE_nouveautes>

      Télécharger

      Merci encore !

    • Le 28 janvier à 18:45, par Jaseur Boréal En réponse à : Newsletters

      Un regard de @Cédric sur cette démarche bouclée serait utile, pour valider si la méthode est bonne et/ ou s’il y en a une meilleure ?

      Pour votre besoin, je créerai 9 copies (différenciées par les critères de boucles) du fichiers gabarit de la newsletters « nouveaute.html » dans le sous-dossier /squelettes/newsletters/ de votre site, en les re-nommant selon vos critères. (voir plus haut dans l’article la méthode pour créer ses gabarits)

      Le fichier-gabarit de la newsletter « nouveautes.html » comporte la boucle suivante (ligne6) qui vérifie si dans un site il y a des articles parus depuis la précédente expédition , et si c’est oui, ensuite l’autre boucle sélectionne ces derniers articles publiés dans le site (ligne 97) pour incorporer ensuite leur titre, description, logo, etc .... dans la newsletter à composer.

      1. {{Extrait du fichier "nouveauté.html}}
      2. 4.    <BOUCLE_newsletter(NEWSLETTERS){id_newsletter}{statut?}{lang_select}>
      3. 5.    #SET{nouveautes,''}
      4. 6.    <BOUCLE_hasnewarticles(ARTICLES){date<=#DATE}{date>#DATE_REDAC}  {0,1}>#SET{nouveautes,' '}</BOUCLE_hasnewarticles>
      5. 7.
      6. 8.  <BOUCLE_si(CONDITION){si #GET{nouveautes}}>
      7.  
      8.  
      9. 97.    <BOUCLE_nouveautes(ARTICLES){date<=#DATE}{date>#DATE_REDAC}{!par date}{0,5}>
      10. .../...
      11. 129.    </BOUCLE_nouveautes>
      12. .../...
      13. 182.  </body>
      14. 183.  </html>
      15. 182.  </BOUCLE_si>
      16. 184.  </BOUCLE_newsletter>
      17. 185.  #FILTRE{newsletters_liens_absolus}
      18. .../...

      Télécharger

      Je pense (mais n’ai pas expérimenté ce système) que les critères supplémentaires ( rubrique & mot-clé) doivent être ajoutés :

      • Dans la boucle qui vérifie qu’il y a de nouveaux articles dans la « rubrique XX » ayant le mot clé = « ABCDE ». S’il n’y a pas de nouvel article dans cette rubrique qui ont ce mot-clé, il n’y aura pas d’expédition de newsletter.
      • Dans la boucle qui sélectionne ces nouveaux articles pour composer la newsletter de la rubrique XX concernée ayant ce mot-clé = « ABCDE ».

      En ajoutant dans ces boucles :

      • le critère de mot-clé titre_mot=ABCDE
      • le critère de rubrique id_rubrique

        La première boucle pourrait ainsi vérifier l’existence d’articles nouveaux dans la « rubrique XX » ayant le mot clé « ABCDE ».
        1. 6.    <BOUCLE_hasnewarticles(ARTICLES){titre_mot=ABCDE}{id_rubrique=XX}{date<=#DATE}{date>#DATE_REDAC}  {0,1}>#SET{nouveautes,' '}</BOUCLE_hasnewarticles>

      Et de même pour la seconde boucle pour afficher ces articles dans la newsletter :

      1. 97.    <BOUCLE_nouveautes(ARTICLES){titre_mot=ABCDE}{id_rubrique=XX}{date<=#DATE}{date>#DATE_REDAC}{!par date}{0,5}>
      2. .../...
      3. 129.    </BOUCLE_nouveautes>

      Télécharger

      Ce sont des suggestions sur papier, qu’il y a lieu de tester.
      Il y a peut-être une méthode plus simple pour éviter ces 9 gabarits de nouveautés.

      Pour être pragmatique, entre une sélection automatique et une sélection manuelle, vers 9 listes, tout dépend aussi du nombre d’abonnés dans chacune de ces 9 listes thématiques, du nombre d’articles nouveaux, de la périodicité, de la quantité prévisionnelle de newsletters à expédier dans un mois, un trimestre, une année.

      Cordialement

    Répondre à ce message

  • Le 18 janvier à 22:44, par Jaseur Boréal En réponse à : Newsletters

    Bonjour,

    Comment faire pour que la sélection automatique des « derniers articles » pour envois à dates cycliques d’une newsletter (gabarit nouveautés), le soient aussi selon le secteur de langues ?

    Soit envoyer :

    • une infolettre en français avec les derniers articles du secteur en français, envoyée aux francophones.
    • une newsletter en anglais avec les derniers articles du secteur en anglais, envoyée aux anglophones.

    Sachant que les listes d’inscrits sont déjà segmentées par langue.

    Je présuppose un gabarit « anglais » et un autre gabarit « français ».
    Comment sélectionner les articles selon la langue ?

    Merci de vos suggestions.

    Répondre à ce message

  • Le 4 décembre 2017 à 14:30, par Grems En réponse à : Newsletters

    Bonjour,

    y a t-il moyen d’empêcher les simples Rédacteurs de toucher à ce plug-in dans l’espace privé ?

    J’ai constaté que tout rédacteur a accès à l’infolettre dans l’espace privé via l’onglet EDITION > Infolettres et peut également inscrire ou désinscrire n’importe qui en se rendant sur la page de n’importe quel auteur.

    Merci

    • Le 26 décembre 2017 à 19:18, par DavidM En réponse à : Newsletters

      Oui je suis d’accord que c’est très embêtant, notamment pour les sites ou l’inscription rédacteur est ouverte.
      N’importe qui de mal intentionné peut abonner/désabonner aux lettres tout le monde...

      sur un site, j’avais empêché l’accès à la liste auteurs dans l’espace privé (en enlevant le lien du menu), pour entraver la récup pirate d’emails des inscrits, mais ça n’empêche pas de chercher les auteurs un à un via leurs articles...

      -  Je trouve qu’il manque à Spip quelques options pour empêcher le spam ou pour préserver l’identité des auteurs (par exemple pouvoir masquer leur nom et email aux yeux des autres rédacteurs)

      voici mon code

      1.     <BOUCLE_auteur(AUTEURS){id_auteur=#SESSION{id_auteur}}>
      2. [(#STATUT|=={0minirezo}|sinon_interdire_acces)]
      3.     </BOUCLE_auteur>

      Télécharger

      code mis dans un fichier auteurs.html dans squelettes/prive/squelettes/top/auteurs.html

    • Le 26 décembre 2017 à 19:48, par DavidM En réponse à : Newsletters

      au passage, si ça peut être utile, j’avais fait des ajouts dans mes_options.php pour empêcher les rédacteurs de modifier les newsletters elles-mêmes :

      1. // voir le menu Edition/Newsletters : Auteurs non, admins oui
      2. function autoriser_newsletters_menu($faire, $type, $id, $qui, $opt) {
      3.         return ($qui['statut'] == '0minirezo');
      4. }
      5.                                        
      6. // bloquer l'accès à /ecrire/?exec=newsletter (empêche auteurs de modifier les newsletters): Auteurs non, admins oui
      7. function autoriser_newsletter_voir($faire, $type, $id, $qui, $opt) {
      8.         return ($qui['statut'] == '0minirezo');
      9. }

      Télécharger

    • Le 2 janvier à 18:18, par Grems En réponse à : Newsletters

      Un grand merci DavidM pour ces solutions !
      Cela fonctionne très bien pour la newsletter, j’ai du coup ajouter la même ligne pour que le menu Edition > Auteurs n’apparaisse pas non plus aux simples auteurs

      1. // voir le menu Edition/Auteurs : Auteurs non, admins oui
      2. function autoriser_auteurs_menu($faire, $type, $id, $qui, $opt) {
      3.         return ($qui['statut'] == '0minirezo');
      4. }

      Télécharger

      Par contre, ils y ont toujours accès en entrant directement l’adresse d’un auteur ecrire/ ?exec=auteur&id_auteur=xx ou via la page des auteurs ecrire/ ?exec=auteurs

      Je n’ai pas réussi à faire fonctionner la technique du 1er message en ajoutant la boucle_auteur dans un fichier auteurs.html dans squelettes/prive/squelettes/top/auteurs.html ... Faut-il la placer autre part (autre répertoire ?) ?

      Merci en tous cas, c’est déjà un peu plus protégé ! ;)

    • Le 2 janvier à 18:39, par DavidM En réponse à : Newsletters

      de rien, j’avais récupéré ça sur d’autres forums.

      Pour la boucle auteur dans squelettes/prive/squelettes/top/auteurs.html, c’est bizarre, ça marche sur mon site.
      ecrire/ ?exec=auteurs me donne ’accès interdit’, pour un auteur
      en revanche on peut toujours voir les autres auteurs avec ecrire/ ?exec=auteur&id_auteur=xx

      1.     <BOUCLE_auteur(AUTEURS){id_auteur=#SESSION{id_auteur}}>
      2. [(#STATUT|=={0minirezo}|sinon_interdire_acces)]
      3.     </BOUCLE_auteur>

      Télécharger

    • Le 3 janvier à 09:24, par Grems En réponse à : Newsletters

      Ca ne veut malheureusement pas fonctionné... :/
      Peut-être parce que dans ma version de SPIP (3.2.0 + écran de sécurité 1.3.2) il n’y a pas de fichier auteurs.html dans /prive/squelettes/top/ ?
      En tous cas, j’ai trouvé un compromis en plaçant ce fichier dans squelettes/prive/squelettes/contenu/auteurs.html : pour un auteur lambda, le bandeau de gauche est affiché mais pas la liste des auteurs, cela fera mon affaire ;-) (cf. screenshot joint)
      Merci encore !

    Répondre à ce message

  • Le 5 décembre 2017 à 20:21, par Jaseur Boréal En réponse à : Newsletters

    Bonjour,

    Sur une page d’inscription aux infolettres d’un site spip, ou plutôt
    sur la page de remerciement d’après validation de l’inscription,
    Comment afficher, avec un automatisme, les titres et liens des 5dernières infolettres (par exemple) ou plus.
    Ce serait une manière d’offrir une réponse active et rapide aux nouveaux inscrits avec des exemplaires anciennement parus.

    Quelqu’un a-t-il déjà réalisé ce truc ?

    Une idée de boucle à incorporer dans la page qui confirme la validation d’inscription à la newsletter ?

    Merci de vos suggestions.

    Répondre à ce message

  • Le 29 novembre 2017 à 11:31, par LaLy En réponse à : Newsletters

    Bonjour,

    J’ai l’impression que ce plugin n’est pas compatible avec le plugin accès restreint.
    Est-ce qu’on pourrait me confirmer ?
    (tous les articles ne sont pas envoyés)

    Merci

    • Le 29 novembre 2017 à 11:34, par Maïeul En réponse à : Newsletters

      Je dirais a priori oui, mais il doit être possible de surcharger le gabarit par défaut pour dire de ne pas teneir compte de l’accès restreint.

    • Le 29 novembre 2017 à 11:56, par LaLy En réponse à : Newsletters

      Merci pour la réponse.
      Comment surcharger le gabarit ?
      (je ne suis pas une développeuse)

    • Le 29 novembre 2017 à 12:34, par Maïeul En réponse à : Newsletters

      Tout dépend du gabarit que vous utilisez. Mais le principe globale est le suivant :
      -  créer un dossier squelettes à la racine de votre ftp (si vous ne l’avez pas deja), à côté de config, ecrire, etc
      -  créer un dossier newletters
      -  y copier le gabarit que vous utilisez, qui se trouve dans le dossier du plugins newletters, sous dossier newletters (il s’agit d’un fichier .html)
      -  modifier la boucle ARTICLES en ajoutant le critère {tout_voir}

    • Le 29 novembre 2017 à 14:41, par LaLy En réponse à : Newsletters

      ok, super, je vais tester ça.
      merci

    • Le 1er décembre 2017 à 14:37, par LaLy En réponse à : Newsletters

      Ça marche.
      Merci

    • Le 1er décembre 2017 à 14:54, par Maïeul En réponse à : Newsletters

      de rien, il y a pas de quoi

    Répondre à ce message

  • Le 14 novembre 2017 à 21:18, par webjuro En réponse à : Newsletters

    Bonjour
    J’ai un petit souci avec ce plugin : tout fonctionne bien sauf qu’il manque de façon complètement aléatoire (je n’ai pas trouvé de corrélation en tout cas) plusieurs articles chaque semaine dans la liste des nouveautés diffusés et envoyée à une liste d’abonnés, alors que ceux-ci ont bien été diffusés dans la semaine.
    Quelqu’un aurait’il une idée svp ? merci.
    Cordialement

    Site sous SPIP 3.1.6 et Newsletter 1.5.3

    • Le 29 novembre 2017 à 11:33, par LaLy En réponse à : Newsletters

      Bonjour,

      Aurais-tu le plugin accès restreint ?

      Bonne journée

    • Le 29 novembre 2017 à 11:53, par LaLy En réponse à : Newsletters

      Bonjour,

      As-tu le plugin accès restreint ?
      Et donc est-ce que les articles non envoyés sont dans ces espaces ?

      Bonne journée

    Répondre à ce message

  • Le 17 octobre 2017 à 14:46, par Marco En réponse à : Newsletters

    Bonjour,
    Il semble que je souffre d’un petit conflit entre ce super plugin et le plugin Enluminures Typographiques V3 !
    Je m’explique :

    Avec « Enluminures », un raccourci permet l’encadré d’un texte avec [(....)]

    Ici pour mettre la date dans une infolettre avec NewsLetter, il faut mettre le code suivant dans le titre : [(#ENV{date}|affdate)]
    Et là le titre perd sa fonction de calcul de date, quelqu’un peut-il qqchose pour moi ?
    Merci d’avance !
    Note : je mets le (presque) même message dans l’autre plugin ! ;-)

    Répondre à ce message

  • Le 10 octobre 2017 à 09:30, par LaLy En réponse à : Newsletters

    Bonjour,

    Peut-on programmer un envoi automatique quand il y a un nouveau message de discussion sur n’importe quel article/rubrique ?

    (je n’ai pas trouvé, si ça existe)

    Merci

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 97 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Agenda 2.0 et ultérieur

    3 novembre 2008 – 1140 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. La lecture de Calendrier Mini 2.0 est également chaudement recommandée, étant donné que Agenda 3 est dépendant de ce (...)

  • Champs Extras 3

    16 janvier 2012 – 634 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Éditorial (HTML5UP)

    27 novembre 2017 – 61 commentaires

    Squelette SPIP pour intégrer le modèle Editorial de HTML5UP https://html5up.net/editorial Configuration La page de configuration permet quelques réglages. On y défini la couleur principale du site, des informations de contact et le contenu de la (...)

  • Timeline Me

    18 janvier – 10 commentaires

    TimelineMe - ​http://mickaelr.github.io/jquery-timelineMe/ - est un plugin jquery qui permet d’afficher des informations sur une ligne de temps. Le présent plugin pour SPIP l’utilise et propose un modèle pour afficher les articles d’une rubrique de (...)