Plugin Propaganda

Le plugin Propaganda permet l’envoi de cartes postales électroniques depuis un site SPIP.

Le plugin Propaganda offre à un bidouilleur SPIP l’outillage nécessaire pour qu’il puisse proposer à tout visiteur de son site d’envoyer par e-mail des cartes postales électroniques. Cela permet au gentil visiteur de faire coucou à ses amis, et indirectement au bidouilleur de faire de la propagande pour son site... d’où le nom.

Description d’utilisation de SPIP-propaganda

A partir d’une page d’un site SPIP —plus pécisément d’un article— tout-te visiteur peut envoyer une carte postale électronique.

Pour cela elle suit un processus assez similaire à celui des forums de SPIP. Après être parvenue sur la page appropriée, par exemple en cliquant sur un lien « envoyer une carte postale », elle doit éventuellement, en fonction du reglage du plugin, s’inscrire et/ou s’authentifier comme visiteur du site.
Elle choisit alors une image de carte postale qui lui est proposée et saisit :
-  son nom et son e-mail, lorsqu’elle n’a pas eu à s’inscrire (sinon, ils sont déjà saisis)
-  l’adresse ou les adresses du ou des destinataires,
-  un nom de destinataire,
-  un objet pour son message,
-  le texte qu’elle désire envoyer sur la carte postale.

Cela déclenche la construction d’une page web de carte postale avec une URL spécifique et l’envoi d’un e-mail à l’adresse ou aux adresses indiquée(s) contenant l’ensemble des informations textuelles saisies, les références du site d’envoi (nom du site et URL) ainsi que l’URL à laquelle le destinataire peut visualiser la carte postale, avec le texte et l’image.

Installation du plugin SPIP Propaganda

SPIP propaganda s’installe comme tous les autres plugins : on décharge de la zone le fichier propaganda.zip, on le décompresse et on obtient un dossier propaganda, qu’on installe dans le répertoire ./plugins, et c’est marre.

Remarquons néanmoins que SPIP propaganda requiert le plugin CFG.

Dans l’espace privé, on trouvera une page de configuraion CFG pour SPIP Propaganda, qui permet de définir si tous les visiteurs du site (y compris anomymes) ont le droit d’envoyer des cartes postales, ou s’il faut d’abord s’inscrire comme visiteur (authentification avrec un mail valide).

Tables, boucles, balises et autres machins techniques

SPIP Propaganda ajoute principalement une balise dynamique dénommée #FORMULAIRE_PROPAGANDA, qui construit le formulaire de saisie et d’envoi d’une carte postale. Les images proposées en guise de cartes postales sont les documets images (jpeg, gif ou png) de l’article dans lequel on se trouve. La page de carte postale elle-même est construite à partir d’un squelette dénommé carte.html.

Le plugin à télécharger contient deux exemples de squelettes :

-  article-[rub_propaganda].html qui perment l’envoi de cartes postales depuis un article. Renomme le fichier et remplace [rub_propaganda] par le numéro de la rubrique dans laquelle tu mets les articles contenant des images de cartes postales.
-  carte.html qui propose une visualisation basique des carte postales. Utilise le champs PS de l’article pour l’entête de toutes les cartes postales et le logo de l’article comme « timbre » des cartes postales.

Mais bien sûr, tu peux construire à ta guise tes propres squelettes.

SPIP Propaganda ajoute automatiquement une table à la base SPIP, nommée spip_propaganda, dans laquelle sont stockées les informations relatives aux cartes postales envoyées. Une carte postale est identifiée par une clé id_propaganda, elle est associée à une image de carte postale par son id_document et à un utilisateur du site —visiteur, rédacteur ou administrateur— par son id_auteur. Les autres champs sont ceux saisis par l’expéditeur : titre (objet du message), texte, email_destinataire, nom_destinataire, une information de date : maj et quelques champs dont les foncionnalités ne sont pas encore implémentées.

De ces informations à propos de la base, on peut déduire la validité d’un code SPIP comme le suivant :

   <BOUCLE_carte_postale(SPIP_PROPAGANDA) {id_propaganda}>
           <BOUCLE_expediteur(AUTEURS){id_auteur}>
           De: #NOM 
           <h3>A: #NOM_DESTINATAIRE</h3>  
           <h3>#TITRE</h3>  
           #TEXTE  
  </BOUCLE_carte_postale>

Pour un exemple plus complet, on se reportera au code du fichier squelette carte.html.

Liste de tâches à faire

Si tu utilises SPIP Propaganda, n’hésite pas à inscrire ton site dans la pétition de cet article et à laisser des commentaires, remarques, louanges ou insultes dans le forum ci-dessous.

Voici quelques idées pour les évolutions de SPIP Propaganda :
-  gérer le préfixe de table pour qu’on puisse appeler <BOUCLE_carte_postale(PROPAGANDA)...> et pas seulement <BOUCLE_carte_postale(SPIP_PROPAGANDA)...>,
-  développer un système dURL propres pour les cartes postales,
-  pouvoir référencer les cartes postales dans l’URL par un hash code plutôt qu’un identifiant incrémenté, pour pouvoir faire des pages de cartes postales confidentielles, accessibles seulement au destinataire,
-  donner le choix à l’expéditeur de pouvoir rendre sa carte postale confidentielle ou au contraire publique (accessibles alors sur le site comme une contribution de forum)
-  permettre la réponse à une carte postale et le chaînage de cartes postales,
-  améliorer l’envoi multidestinataires et la prévisualisation,
-  réfléchir à des options de mise en page des cartes postales (portrait / paysage, par exemple)
-  affiner la sélection des images servant de carte postale,
-  ...

Discussion

5 discussions

  • 1

    Bonjour,

    Débutant en Spip, enthousiasmé par ce plugin, j’ai installé cgf et propaganda, j’ai renommé « article-[rub_propaganda].html » en « article-rubrique1.html » sur ce site qui me sert de brouillon : http://www.location-sejour-voyage-guadeloupe.com/spip.php?article1
    et, il ne se passe rien !

    Quelles modifications dois-je apporter dans le code ou réglage ?

    Merci.

    • c’est en article-1 ou article-2 ou 1 et 2 sont le numero de la rubrique ou est l’article qui va servir à propaganda

      kent1

    Répondre à ce message

  • 1

    Bonjour,

    J’ai installé le plugin Propaganda et je l’ai associé à au plugin / squelette Sarka SPIP.

    Il fonctionne très bien.
    J’ai dû réaliser une modification dans formulaire_propaganda.php

    if ($type == "non") {
    		if (!$GLOBALS["auteur_session"]) {
    			return array('formulaires/login_forum', 0,
    					array('inscription' => generer_url_public('', 'action=inscription'),
    						'oubli' => generer_url_public('', 'action=pass')));

    Sinon on ne pouvait pas inscrire les visiteurs... (Dans le cas où on a accès à la page seulement si on est inscrit).

    Par ailleurs, en intégrant le squelette Sarka-SPIP dans carte.html j’ai une erreur de boucle : il cherche une page qui n’existe pas... (J’ai bidouillé le message d’erreur pour que ça passe inaperçu...)

    Auriez-vous une idée ?

    #CACHE{86400}
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
    <BOUCLE_carte_postale_principal(SPIP_PROPAGANDA) {id_propaganda}>
    <html lang="#LANG">	
    <head>
    <title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
    [<meta name="description" content="(#INTRODUCTION|couper{150}|textebrut)" />]
    
    </head>
    <body  dir="#LANG_DIR" onload="setHover(), setFooter()">
    <div id="conteneur">
    
    [(#REM) <!-- =================================== ZONE BANDEAU ==================================== --> ]
    	<INCLURE{fond=noisettes/bandeau}>
    
    [(#REM) <!-- =========================== ZONE CHEMIN DE NAVIGATION ============================= --> ]
    	<INCLURE{fond=noisettes/bande-chemin}{id_rubrique}>
    
    [(#REM) <!-- ============================== ZONE COLONNE DE GAUCHE  ============================= --> ]
    	<INCLURE{fond=noisettes/bloc-gauche}{id_rubrique}>
    
    [(#REM) <!-- ============================== ZONE COLONNE DE DROITE  ============================= --> ]
    	
    
    [(#REM) <!-- =================================== ZONE CORPS  ====================================== --> ]
    	<div id="centre" class="centre">
    		<div class="contenu">
    			[(#REM) <!-- Contenu de l'article --> ]
    			<div class="article">
    <div id="conteneur">
    		#DEBUT_SURLIGNE
    		<BOUCLE_article_carte_postale(ARTICLES) {id_document}>
    		[<div class="ps"><div class="#EDIT{ps}">(#PS)</div></div>]
    		</BOUCLE_article_carte_postale>				
    
    		<div id="cartepostale" style="margin-top: 2em; background-color:#FFFFFF; border-width:1px; width:90%; width:650px; min-height:450px;">
    			<div style="margin: 1em; border-right-style: solid; border-right-width:2px; border-right-color:black; float:left"> 
    				<BOUCLE_document_carte_postale(DOCUMENTS) {id_document}>
    				[(#FICHIER|image_reduire{380, 300})]
    				
    				<br class="nettoyeur" />
    				<!--[<div class="#EDIT{texte} texte">(#TITRE)</div>]
    				[<div class="#EDIT{texte} texte">(#DESCRIPTIF)</div>]-->
    				</BOUCLE_document_carte_postale><h3>#TITRE</h3>  
    			<div style="width:370px; margin-right: 1.5em; text-align:justify;">#TEXTE</div>
    				
    			</div>&nbsp;<br>
    		<BOUCLE_logo_carte_postale(ARTICLES) {id_document}>
    			[<div style="float:right; width:20%">(#LOGO_ARTICLE||image_reduire{120})</div><br style="clear:right" />]
    			</BOUCLE_logo_carte_postale>				
    &nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>
    			<BOUCLE_expediteur(AUTEURS){id_auteur}>
    			<h2>De: <a href="#URL_AUTEUR ">#NOM</a></h2> 
    			[<small><a href="(#URL_SITE)">#NOM_SITE</a></small>] 
    			</BOUCLE_expediteur>
    			<h2>A: #NOM_DESTINATAIRE</h2>  
    			<br class="nettoyeur"/>
    		</div>
    	<BOUCLE_article_envoi(ARTICLES){id_document}>
    	<h1><a href="#URL_ARTICLE"><:propaganda:envoi_nouvelle_carte:></a></h1>
    	</BOUCLE_article_envoi>
    			[(#REM) Contenu principal : contenu de l'article ]
    #FIN_SURLIGNE
    
    	</div> <!-- Fin article -->
    </div> <!-- Fin contenu -->
    </div> <!-- Fin centre -->
    [(#REM) <!-- ================================== ZONE PIED DE PAGE  ================================== --> ]
    	<INCLURE{fond=noisettes/footer}>
    
    </div> <!-- Fin conteneur -->
    </body>
    </html>
    
    [(#REM) <!-- ================================== ERREUR BOUCLE VIDE  ================================== --> ]
    	<INCLURE{fond=000}>
    </BOUCLE_carte_postale_principal>

    000 à la fin, c’est le squelette bidouillé...

    Proposition de recherche :

    L’idéal serait de pouvoir prévisualiser la carte avec sa photo, selon le modèle final (fond blanc + timbre...)

    Avez-vous une idée de comment procéder ? Je n’ai pas encore réussi...

    Pour le moment, j’ai une solution intermédiaire pour limiter le nombre de caractères du texte (et éviter ainsi les dépassements)

    			[Votre message comporte (#TEXTE|textebrut|strlen) caractères. 
    			<br>Respectez une limite de 350 caractère sans sauter de lignes pour un affichage optimal de votre e-carte postale...]

    à mettre dans formulaire_propaganda_previsu.html

    Merci beaucoup pour ce plugin !!!

    Voir sur : www.atout-photos.com

    • Merci pour cette contribution romain,

      J’ai dû réaliser une modification dans formulaire_propaganda.php

      (...) Sinon on ne pouvait pas inscrire les visiteurs... (Dans le cas où on a accès à la page seulement si on est inscrit).

      Ok. Je laisse kent1 voir s’il l’intégrer dans le code. N’hésit pas à le troller sur IRC à ce sujet.

      Par ailleurs, en intégrant le squelette Sarka-SPIP dans carte.html j’ai une erreur de boucle : il cherche une page qui n’existe pas... (J’ai bidouillé le message d’erreur pour que ça passe inaperçu...)

      L’idéal serait de pouvoir prévisualiser la carte avec sa photo, selon le modèle final (fond blanc + timbre...)

      Oui, on est bien d’accord !

      Avez-vous une idée de comment procéder ? Je n’ai pas encore réussi...

      Il faudrait trouver comment appeler un squelette depuis une balise dynamique...

      Pour le moment, j’ai une solution intermédiaire pour limiter le nombre de caractères du texte (et éviter ainsi les dépassements)
      (...) à mettre dans formulaire_propaganda_previsu.html

      M’ouais... personnellement je préférerais ne pas limiter la longeur du texte des cartes postales (j’ai toujours eu cette frustration sur le papier :). Le squelette de carte postale (plutôt bricolé...) pose problème avec des textes longs ? Dans ce cas le mieux serait de l’améliorer...

    Répondre à ce message

  • 2

    Bonjour et merci pour ce travail.

    Mais sur le site www.vibrac16.com sous SPIP 1.9.2 [8782], après mise en place de “propaganda”, avec le plugin CGF installé (que je n’ai pas réussi à configurer), j’ai mis #FORMULAIRE_PROPAGANDA dans le squelette article.html, (chaque article ayant des photos)

    Je vois le formulaire propaganda avec les vignettes, je peux le remplir, mais après envoi, voici le message :

    Warning : mysql_insert_id() [function.mysql-insert-id] : A link to the server could not be established in /data/sites/v/i/vibrac16.com/web/www/plugins/propaganda/balise/formulaire_propaganda.php on line 69

    avec quand même : « carte postale envoyée »

    A la réception du message, il manque l’identifiant propaganda pour l’adresse de la page de la carte postale : http://www.vibrac16.com/spip.php?page=carte
    alors que l’adresse http://www.vibrac16.com/spip.php?page=carte&id_propaganda=3 est valable

    Merci de m’apporter vos lumières !!!

    • Je cherche, je cherche,

      Je viens de voir que je n’ai que la table : spip_propaganda dans ma bdd et pas de : spip_documents_propaganda avec id_propaganda et id_document, comme indiqué sur le site du plugin

      Est-ce une direction ?

    • spip_propaganda dans ma bdd et pas de : spip_documents_propaganda avec id_propaganda et id_document,

      Ta configuration est correcte, la page que tu indiques n’est plus à jour (je viens de l’y indiquer). Il n’y a qu’une table ajoutée, puisque finalement une carte postale est associée à un et un seul document (image).

      Cela étant dit, a priori je ne vois pas pour ton problème...Ca doit être un pb de compatibilité avec la conf MySQL :(

    Répondre à ce message

  • 2

    Je vais essayer ce plugin que je trouve très sympa.

    Juste une petite remarque (histoire de trouver quelque chose à dire), j’aurais bien aimé avoir un site d’exemple pour compléter l’info.

    Abou33.

    • j’aurais bien aimé avoir un site d’exemple pour compléter l’info.

      T’as toute a fait raison, Abou33. J’ai activé la pétitition pour que tout le monde puisse mettre des sites d’exemple En attendant qu’elle remarche ;-), regarde le site des uruguayens en France (en espagnol) dans lequel j’ai mis la propaganda que kent1 a eu la gentillesse de développer.

    • Merci, c’est sympa.

    Répondre à ce message

  • 4

    On installe le plugin c’est bien

    Mais je ne vois pas comment configurer cela ..

    A quoi sert CFG

    Y a t il une icone qui apparait ? et ou ?

    L’idee est belle maintenant faut une explication

    Merci d’avance

    Vitry sur Loire

    • Espace privé / Configuration / CFG

      tu as ensuite la liste des plugins qui l’utilisent

    • Je viens de voir que le pugin CFG fonctionne avec SPIP 1.9.2, si j’ai un site sous SPIP 1.9.1 pas de CFG et donc pas de propaganda ?

    • Oui je connais CFG mais il n’y a rien a mettre en œuvre pour propaganda..
      Je ne vois rien
      Je ne vois pas comment mettre une image en carte postale..

      Je ne dois pas être bon..
      Je croyais que l’on pouvais par exemple dans une galerie transformer les photos et avoir une icône qui permette d’envoyer la photo en carte postale..

      Mais j’en demande peut être un peu trop..
      Je ne suis pas programmeur

      En fait une fois le plugin installé je ne vois pas ce que je peux faire..

      Je suis comme une poule avec un couteau ..

      Prof de Méca

    • Je viens de voir que le pugin CFG fonctionne avec SPIP 1.9.2, si j’ai un site sous SPIP 1.9.1 pas de CFG et donc pas de propaganda ?

      Je n’ai pas essayé avec la 1.9.1, mais clairement spip propaganda a été développé avec la dernière version. qqui t’empêche de passer à la 1.9.2 ?

      Oui je connais CFG mais il n’y a rien a mettre en œuvre pour propaganda.. Je ne vois rien Je ne vois pas comment mettre une image en carte postale..

      sur l’interface privée, CFG sert pour un paramètre, mais même pas la peine de le configurer.

      Je croyais que l’on pouvais par exemple dans une galerie transformer les photos et avoir une icône qui permette d’envoyer la photo en carte postale..

      Dans un article, tu mets simplement une image comme document joint.
      Si dans le squelette tu as la balise #FORMUMLAIRE_PROPAGANDA l’icône de ton image apparaîtra. Voir ce site, par ex

    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