SPIP-Listes

Une lettre d’information avec SPIP

SPIP-listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte. Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres d’information via un formulaire d’inscription.

SPIP-Listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte.
Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres d’information via un formulaire d’inscription.

Consulter la foire aux questions de SPIP-listes

Télécharger SPIP-listes

Fonctionnalités

  • Système personnalisé de gestion des abonnements (inscription, résiliation, changement de format),
  • Envoi de messages électroniques au format texte ou html,
  • Possibilité de composer une newsletter à partir de l’éditeur de SPIP,
  • Possibilité de composer automatiquement une newsletter au moyen d’un squelette SPIP,
  • Possibilité de déclencher manuellement l’envoi des messages ou de programmer un envoi automatique à échéance régulière,
  • Prévisualisation des newsletters avant envoi,
  • Archivage des newsletters envoyées,
  • Gestion Multi-listes,
  • Module d’importation et d’exportation de liste d’adresses électroniques,
  • Option d’envoi par SMTP, avec le support éventuel de SSL.

Nota : Depuis la [version 1.9.2] l’installation du plugin crée deux nouvelles tables dans la base de donnée de SPIP. Le plugin utilise également les auteurs et les visiteurs inscrits dans la base du site.

Mise en place du plugin

** Installation **

Téléchargez SPIP-listes. Placez le contenu du fichier « zip » dans le répertoire /plugins (voir aussi la doc de SPIP), et activer le plugin SPIP-Listes.

Seuls les administrateurs du site ont les droits suffisants pour configurer et utiliser SPIP-listes.

Lorsque vous mettez à jour votre site SPIP de la version 1.8 à 1.9, vous devez :
-  installer le plugin en même temps que la version 1.9 de SPIP sous peine de perdre les listes déjà crées...
-  nettoyer votre fichier « ecrire/mes_fonctions.php » des codes de l’ancienne version de SPIP-listes (champs extras, includes).

** Ajouts aux squelettes **

Dans vos squelettes où vous souhaitez gérer les formulaires d’inscription, de résiliation et de modification des abonnements, insérez les balises #FORMULAIRE_ABONNEMENT et #FORMULAIRE_MODIF_ABONNEMENT.

Par defaut la page abonnement.html propose ces formulaires.

Un formulaire simplifié facile a modifier (CVT en SPIP 2) est également disponible, #FORMULAIRE_SPIP_LISTES_INSCRIPTION. Idéal pour la page d’accueil su site par exemple.

Vous pouvez également personnaliser le formulaire d’abonnement.

Placer la balise #SPIP_CRON sur les pages du site public (si elle n’y est pas déjà).

** Boucles, balises, filtres et formulaires de SPIP-Listes **

Formulaires
-  #FORMULAIRE_ABONNEMENT : Affiche le formulaire d’inscription. Ce formulaire peut être personnalisé (cf. l’article sur les Formulaires)
-  #FORMULAIRE_MODIF_ABONNEMENT : affiche le formulaire de modification personnel d’un abonné
-  #FORMULAIRE_INSCRIVEZ_VOUS (SPIP-Listes 1.9.3) pour s’incrire en un clic. Ce formulaire peut être personnalisé (cf. Formulaire d’inscription en un clic)

Balises
-  #DATE_MODIF_SITE : date de la dernière publication (article ou brève) sur le site
-  #DATE_MODIF_FORUM : date de la dernière publication d’un message de forum

Filtres
-  (#DATE : affiche « depuis le » avant le nombre de jours précédant un envoi.
-  (#TEXTE : permet d’afficher le texte dans une boucle MESSAGES.

Boucles
-  <BOUCLE_archives(MESSAGES) {!par date}> : affiche les derniers messages envoyés

MAJ avec spip 1.9.2 la boucle devient - <BOUCLE_archives(COURRIERS) {!par date}>

exemple complet :

<BOUCLE_archives(MESSAGES) {!par date}>
<a href="spip.php?page=courrier&id_message=#ID_MESSAGE">#TITRE - (#DATE)</a>
</BOUCLE_archives>

Note : si vous utilisez les messages de la messagerie spip ou que vous avez besoin de distinguer les courriers des messages automatiques, alors vous aurez peut-être besoin de préciser le critère {type=nl} ou {type=auto} dans la boucle.

-  <BOUCLE_1(ARTICLES) {statut=liste}> : Affiche les listes d’information disponibles

MAJ avec spip 1.9.2 la boucle devient - <BOUCLE_1(LISTES) {statut=liste}>

-  Et pour afficher un courrier envoyé dans un squelette courrier.html par ex :

<BOUCLE_courrier(MESSAGES) {id_message}>
<strong>#TITRE</strong><br />
[(#TEXTE|supprimer_destinataires)]
</BOUCLE_courrier>
<a name="#courrier"></a>

Envoi d’un nouveau courrier

Cette fonction vous permet de rédiger un e-mail pour l’envoyer à une liste d’abonnés. Comme pour un message traditionnel dans la messagerie de SPIP, les raccourcis SPIP et le Html sont acceptés.

Vous pouvez pré-visualiser le courrier jusqu’à ce que le contenu et la forme vous conviennent.

Vous pouvez choisir de l’envoyer à tous les abonnés, ou aux abonnés d’une liste en particulier (voir section « Nouvelle liste de diffusion »).

** Rédiger un courrier HTML **

Cas 1 : Entrez le texte du courrier et son code html dans l’éditeur de SPIP-listes.

Cas 2 : Vous pouvez aussi vous appuyer sur un patron (voir la section « Définir des patrons ») en important dans l’éditeur le code html qu’il génère. Il vous suffira de modifier ou de compléter ce code après l’import. Cliquez sur « Nouveau courrier », puis « Choisir un patron pour le courrier » (en sélectionner un), puis « Générer le message », ensuite cliquez sur « Valider », puis « Confirmer » et enfin « Modifier ».

Attention : si les boucles du patron ne retiennent aucun contenu (exemple : il n’y a pas eu de nouveautés), vous importerez un message vide...

Important : si vous utilisez un éditeur Html externe ou un patron, ne copiez dans le corps du message à envoyer que ce qui est strictement compris entre les balises <BODY> ... </BODY> (ne copiez pas les balises BODY...).

N’oubliez pas que les messages html vont être lus par des clients de messagerie (et non par des navigateurs). Aussi, vos messages et patrons ne doivent contenir que des balises html simples et les styles css dans les balises html (<div style="styles ici">). Pour les images, utilisez des adresses absolues (exemple : http://mon-site.fr/puce.png). Par défaut, les images et documents joints ne sont pas envoyées avec le message, mais chargés depuis l’Internet à l’ouverture du courriel.

Afficher des images avec des adresses absolues

Voici quelques exemples

-  [(#LOGO_ARTICLE||abs_url)]

-  [<img src="#URL_SITE_SPIP/(#LOGO|fichier)" >]

-  [<img src="#URL_SITE_SPIP/(#FICHIER)" >]

Attention n’envoyez pas des messages trop lourds : considérez que 10ko est un maximum !

Présentation de l’interface dans l’espace privé

L’installation du plugin crée un sous-menu « Lettres d’information » dans le menu « Édition » de Spip.

******* ici bientôt une magnifique capture ***********

L’interface de gestion par défaut présente trois onglets sous le menu général de Spip :
« Historique des envois », « Listes de diffusion » et « Suivi des abonnements »

******* ici bientôt une magnifique capture ***********

et un menu « Raccourcis » avec les items :
« Nouveau courrier » « Nouvelle liste de diffusion » « Import / Export » « Configuration »

******* ici bientôt une magnifique capture ***********

Configuration de SPIP-listes

** Mode d’inscription des visiteurs **

Abonnement simple : no comment...

Abonnement avec code d’accès : vos abonnés ont également un code d’ accès à l’espace public (statut visiteur).

L’abonnement en tant qu’auteur est également possible

******* ici bientôt une magnifique capture ***********

** Méthode d’envoi des courriels **

Fonction php (attention si elle est désactivée sur votre hébergement, vous ne pourrez pas utiliser SPIP-listes)

Envoi par serveur SMTP (optionnel) : renseigner les champs hôte (nom du serveur) et port (en général : 25)

******* ici bientôt une magnifique capture ***********

** Patrons disponibles **

(voir la section « Définir des patrons »)

******* ici bientôt une magnifique capture ***********

Tableau de bord

******* ici bientôt une magnifique capture ***********

Import / Export

L’importation d’une liste d’abonnés s’effectue avec un fichier texte (*.txt) ne comportant qu’une adresse e-mail par ligne. L’exportation utilise le même format.

Nouvelle liste de diffusion

** Intérêt de la fonctionnalité **

Si vous souhaitez pouvoir programmer un envoi automatique régulier ou proposer plusieurs listes d’abonnement, vous devez créer une ou plusieurs listes de diffusion.

Vous pourrez définir un rythme d’envoi automatique différent pour chacune des listes créées. (voir la section « Configuration de la liste et programmation de l’envoi automatique »)

Si vous décidez de ne pas utiliser la création d’une liste pour votre newsletter, consultez la section « envoi de courriers ».

Nota : le formulaire d’inscription sur le site public s’adapte en fonction de l’absence ou de l’existence d’une ou de plusieurs listes de diffusion. Il laisse naturellement à l’internaute le choix de s’inscrire à une ou plusieurs des listes proposées.

Le mail n’est envoyé qu’aux abonnés qui se sont formellement inscrits à la lettre d’information.

Le choix du format de réception est déterminé à l’inscription et chaque abonné peut modifier ses options d’abonnement en suivant une procédure d’identification par e-mail.

** Création d’une liste **

Pour créer une liste, cliquez sur « Nouvelle liste de diffusion » et tapez un titre (par exemple :« Actualité du site ») et validez.

Le masque suivant permet de configurer et de programmer un envoi automatique à destination de la liste. Ce masque peut être complété plus tard : pour cela il suffit de cliquer sur l’onglet « Listes de diffusion » et de cliquer sur le nom de la liste à modifier.

La composition du contenu d’un message automatique s’opère au moyen d’un squelette appelé « patron » (voir la section « Définir des patrons »).

** Configuration de la liste et programmation de l’envoi automatique **

  1. Le lien « Modifier cette liste » vous permet de modifier le nom de la liste et son descriptif.
  2. Dans la liste déroulante choisissez le type « publique » ou « interne ». Le formulaire d’inscription ne propose un abonnement qu’aux seules listes publiques. La liste interne n’est donc pas affichée dans le formulaire d’inscription public, ce type de liste a une vocation de test ou de listes réservées par exemple aux admins ou aux responsables du site.
  3. Si elle est différente de l’adresse du webmestre, indiquer une adresse de retour.
  4. Activez l’option « Programmer un envoi automatique », puis effectuez le choix du patron (voir la rubrique « patrons ») et indiquez la fréquence d’envoi (en jours). Le patron sera envoyé à la liste tous les X jours. Vous pouvez décider d’activer un envoi immédiat pour initialiser la newsletter automatique : en cochant la case, la date de référence du patron sera fixée à X jour dans le passé pour le premier envoi, X correspondant à la période indiquée.

** L’envoi de la newsletter **

L’envoi est traité par SPIP-listes grâce à un script appelé en tâche de fond par les pages de SPIP via le cron. Tant que le message n’est pas envoyé à tous les destinataires inscrits, la console d’administration de SPIP-listes indique que le message est en cours d’envoi. Lorsque le message a été envoyé à tous les destinataires, il est passé en archives.

Les abonnés recoivent :
-  le message en Html
-  ou une version traduite automatiquement en format texte

Définir des patrons

Les patrons sont des squelettes que l’on dépose dans le répertoire /patrons du plugin par ftp. Ils permettent de définir le contenu d’un message. Ils peuvent être employés lors de la rédaction d’un courrier ou pour un envoi automatique régulier à destination d’une liste.

De la même manière que les squelettes de votre site, vous devez donc définir les patrons que vous allez utiliser. Le plus simple, pour commencer, est de modifier le patron « nouveautes.html » en y ajoutant les boucles et le code HTML que vous désirez.

Important : Pour les messages automatiques, dans le code des patrons, le critère {age_relatif<=0} permet de n’envoyer que les éléments publiés depuis le dernier envoi (chaque liste se souvient de la date du dernier envoi, et cette date est passée au patron au moment de l’envoi).

Vous pouvez créer autant de patrons que vous le souhaitez. Si vous avez réalisé des patrons, merci de contribuer au projet SPIP-listes en les partageant sur cette page du site : bourse aux patrons.

Les patrons proposés par défaut :
-  patron « nouveautés » : envoi de l’introduction des derniers articles
-  patron « nouveauté_forum » : envoi des derniers messages publiés dans les forums

Le suivi des abonnements

Les administrateurs ont une vue générale des abonnements. Ils peuvent le cas échéant modifier le statut d’abonnement pour un abonné en particulier.

Tous les courriers sont archivés

SPIP-listes garde en archive tous les messages envoyés et signale le fait qu’une lettre des nouveautés n’a pas pu être envoyée, faute de contenu suffisamment récent.

Ce qu’il reste à faire

Pour tout le monde :
-  faire de beaux squelettes/patrons et les partager

Pour les codeurs :
-  Voir la TODO

Vous pouvez laisser vos questions, vos retours, vos idées sur le forum, et si le script vous plaît et vous rend service, ça serait sympa d’inscrire votre site dans la liste des sites qui utilisent spip-listes.

Amusez-vous bien.

Télécharger SPIP-listes

Discussion

737 discussions

  • 3

    Bonsoir à tous,

    y a-t-il des statistiques (taux d’ouverture, de clic, liens cliqués...etc) dans ce plugin ?

    J’ai fait une rapide recherche sur le web mais je n’ai pas trouvé. J’ai vu que le plugin spip-lettres le fait mais pas spip-liste apparemment ?

    Si je n’ai pas bien cherché, désolé mais pouvez-vous m’indiquer quelques liens svp ?
    Sinon, je pense que c’est une chose très intéressante à rajouter dans la TO-DO, non ?

    Je précise que les statistiques spip ne sont pas activées sur mon site.
    Version de spip : 2.0.2
    Version de spip-listes : 1.9.3 (la dernière à l’heure où j’écris, téléchargée ci-dessus).

    • Ca ne fait pas ça. Et vu les outils de filtrage anti-spam et consorts, je doute de la fiabilité des résultats.

      Je rajoute au TODO. On ne sait jamais. Des fois que...

    • Pourquoi les outils de filtrage anti-spam dégraderaient les résultats ?

      Si vous voulez quelques pistes pour mettre en place ça, je suis prêt à partager mes connaissances en la matière. Je ne suis pas développeur, mais je connais le principe d’un outil développé pour ça et qui semble bien fonctionner.

      Le principe :

      • Pour l’ouverture : une image dont la source appelée est un fichier php qui comptabilise chaque hit puis renvoie une image transparente.
      • Pour les liens cliqués : chaque url est transformée avec un id unique vers un fichier qui comptabilise chaque hit et le stocke dans la bdd, puis renvoie vers la bonne url.
    • Je ne parlais pas de dégrader, mais de fiabilité.

      -  mail reçu sur OL.Pro avec filtre de sécurité et/ou anti-spam qui perd la tête
      -  mail reçu sur PDA ou téléphone mobile, ou webmail
      -  etc.

      Mais bon, comme je le disais, c’est dans le TODO.

    Répondre à ce message

  • 1

    Bonjour,

    j’ai l’erreur Call to undefined function generer_url_article quand j’essaie de générer un sommaire à partir du menu Générer du contenu.

    Je suis sous spip 2 et j’ai trouvé dans le forum la solution au problème :
    il faut remplacer dans le fichier spiplistes_courrier_previsu.php qui est dans le dossier exec du plugin aux lignes 255 et 274 « generer_url_article » par « generer_url_entite ». Puis rajouter dans la parenthèse qui suit (juste avant la fermeture de parenthèse) : « ,’article’ » (ce qu’il y a entre les guillemets doubles).

    Source : http://archives.rezo.net/spip.mbox/200812.mbox/%3Cgic2lg$bej$1@ger.gmane.org%3E

    Répondre à ce message

  • Bonjour,

    Je suis sous SPIP 2.0.2 et dans l’interface privée, j’ai le message d’erreur suivant sur toutes les pages de l’interface d’administration :

    Warning : is_dir() [function.is-dir] : open_basedir restriction in effect. File(../../plugins/spip-listes_1_9_3/img_pack/) is not within the allowed path(s) : (/var/www/vhosts/monsite.com/httpdocs :/tmp) in /var/www/vhosts/monsite.com/httpdocs/ecrire/inc/utils.php on line 691

    Une idée du pourquoi ? Problème de droits ?
    Peut-être en relation avec la discussion :
    Version 2.0 - Fatal error - dans le fichier ecrire/inc/flock.php ?

    Bon réveillon et bonne année 2009 !

    Répondre à ce message

  • 6

    Bonjour,

    Oui les deux dossiers sont bien à la racine comme indiqué.

    L’erreur empêche de spécifier le formet d’envoi et par conséquent l’envoi est impossible.
    L’internaute précédent dans le forum ( joz) semble d’ailluers rencontrer le même problème.

    Merci d’avance.

    • Problème de droit d’accès alors ? A vérifier.

      Voir aussi certains hébergeurs qui appliquent des restrictions sur les fonctions. Il y a pas mal de témoignages là dessus dans les forums. A creuser.

      Bon courage !

    • Salut,

      non, je n’ai pas le même problème. Je n’ai aucune message d’erreur, c’est la configuration des souscriptions (choix format) qui ne fonctionne pas.

      Il y a d’autres bizarreries. Par exemple pour mon propre auteur (ID 1) sont marqués dans la liste des souscription 21 abonnements. Je n’ai que 2 listes, comment est-ce possible ?

      J’ai SPIP 1.9.2e [12624] & SPIP-Listes 2.0062-24989 <1.98> , et je rencontre ces problèmes en local ainsi que sur l’hébergement en ligne.

      Ou est-ce que je dois chercher la solution ? Incompatibilité avec un autre plugin ? Ou peut-être quelque chose s’est mal passé dans la base de donnés ?

      joz

    • Pour le soucis du format, il faut par exemple ouvrir la liste, déplier les abonnés, cliquer sur un format à droite pour le voir apparaître à gauche. Ensuite le journal doit indiquer qq chose comme

      FORMAT ID_AUTEUR #2 changed to [texte] by ID_AUTEUR #1

      Si ce n’est pas le cas, ca ressemble à un problème Ajax. Il est possible qu’il y ait un conflit avec un autre plugin.

      Pour les abonnements, vérifer la table « spip_auteurs_listes ». C’est elle qui précise les abonnements. Le champ id_liste donne la liste à laquelle il est abonné (id_auteur). Il se peut que l’auteur soit toujours abonné à des listes qui n’existent plus (un long parcours et de nombreuses versions y ont peut-être contribué). A vérifier.

    • merci pour ta réponse.

      ça a l’air d’être un incompatibilité avec le plugin gafospip :-(
      est-ce qu’il y a quelque chose que je peux faire pour résoudre ce problème ? ou est-ce que je dois tout simplement abandonner l’idée d’employer ces deux plugins ensembles ?

      joz

    • je me corrige, c’est une incompatibilité avec le plugin cfg
      joz

    • Patience ! Merci pour avoir recherché d’où peut venir le problème.

      Si urgence, a priori, il suffit de revoir le jQuery en appliquant un noConflict(). see : http://docs.jquery.com/Core/jQuery.noConflict

      Sinon, sera réglé d’ici peu. C’est maintenant dans le TODO.

    Répondre à ce message

  • Bonsoir,

    J’ai le même message d’erreur que Gonzamax en activant le pluging sous spip 2.0. Je n’avais aucun problème avec ce plugin sous spip 1.9.2e !!!

    Si quelqu’un à la solution je suis preneur. Merci d’avance

    Répondre à ce message

  • 1

    j’ai installé récement une version de spip 1.9.2e

    ainsi que tout un tas de plugins qui fonctionne bien.

    ce site a besoin d’être opérationnel rapidement donc je ne veux pas passer à spip 1.9.3 tout de suite car il risque de rendre caduque un certain nombre de mes plugins.

    je souhaite donc installer spip list

    mais quelle version ? car les deux sont marquées compatibles avec spip 1.9.2

    merci de vos conseils

    • Bonjour,

      J’ai personnellement installé la version 1.9.3 qui correspond au second fichier proposé dont le nom est « SPIP Listes » tout court et ai constaté une amélioration très sensible de l’ergonomie mais aussi des fonctionnalités par rapport à la version 1.9.2.

      Ca marche très bien avec SPIP 1.9.2e et mes autres plugins (ParamSPIP, accès restreints, fckeditor, agenda, recherche étendue).

      Cordialement.

    Répondre à ce message

  • bonjour a tous et merci pour ce plugin que j’utilise depuis deux ans maintenant.

    j’ai realiser la migration d’un de mes site vers spip v2 et multisaisons v2 tout est ok

    spip liste est donc passe de la version 1_9_2 vers 1_9_3 2.0062

    Tout fonctionne parfaitement.

    le seul petit soucis est que le courrier arrive avec une adresse de retour fausse du genre login@240plan.ovh.net le champs mail de retour ne semble pas pris en compte.

    Dans la version precendante il n’y avait pas de soucis
    l’email de retour etait ok
    j’ai supprimé le plugin (avec le carton)
    reinstallé le tout et j’ai de nouveau le même soucis .

    pouvez vous m’aider ?

    Merci

    Répondre à ce message

  • Bonjour, je rectifie mon propos précédent.....
    Aprés nouveaux tests, le pb avec le critère age_relatif est résolue dans le version 2.0062.

    Encore merci aux développeurs !

    Re-bonjour,

    Le passage à la version Version 2.0062 résoud le problème de la liste des abonnées mais pas du critère age_relatif apparemment.

    Répondre à ce message

  • 1

    Je viens d’installer ce plugin avec Spip 2.0. et cela me donne le message d’erreur suivant :

    arning : is_dir() [function.is-dir] : Unable to access ../../plugins/spip-listes_1_9_3/img_pack/ in /mnt/109/sdb/2/6/desirsdavenir28/ecrire/inc/utils.php on line 690

    Quelqu’un aurait-il l’amabilité de me dire ce que je dois faire ?

    Merci d’avance

    • Et le dossier plugins/spip-listes_1_9_3/img_pack est bien à la racine du site ?

      Ainsi que le dossier ecrire ?

    Répondre à ce message

  • Bonjour,

    merci pour la nouvelle version du plugin.
    Je suis en train de l’essayer sur un site qui voudrais bien une newsletter, mais je tombe sur des problèmes :-(

    En faite les abonnements ne se passent pas bien, aucun format de réception n’est choisi. Et si j’essaye de le modifier par après cela ne fonctionne malheureusement pas non plus, ni via l’onglet « Suivi des abonnements » ni dans la fiche de l’auteur directement.
    Dans la base de donnés les abonnes ont tous le statut « a valider », même après confirmation après mail. Et quand je change ce statut manuellement dans la bdd cela se rechange vers « a valider ».
    C’est louche àa, non ? Quel pourrais être mon problème ? Une idée ?

    Merci d’avance
    joz

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom