Remerciements
Ce plugin est une réécriture du plugin bannières de François de Montlivault et basé sur le plugin exemple de Matthieu Marcillaud.
Installation
Comme tous les plugins SPIP. Le mieux est de se référer à la documentation officielle.
Les dépendances : plugin bonux, plugin saisies, disponibles sur la zone. Le plugin géographie est nécessaire si on veut placer des bannières « geolocalisées ». Il n’est plus obligatoire depuis la révision 33692.
2 tables sont ajoutées dans la base : spip_bannieres et spip_bannieres_suivi. Le plugin utilise la gestion des documents de spip en y ajoutant un nouvel objets (banniere).
Mise à jour à partir du plugin bannieres_2.0 de FdM :
Ce plugin met à jour la table spip_bannières et ajoute la nouvelle spip_bannieres_suivi. Les bannières qui se trouvent dans le dossier IMG anciennement nommées ban_xx.ext sont renommées en banniereonxx.ext, permettant ainsi un fonctionnement immédiat du plugin.
Les nouvelles bannières utiliseront le système de chargement de documents de spip. Vous pourrez alors supprimer vos bannières situées directement à la racine du dossier IMG (par FTP). Les nouvelles seront stockées dans les sous dossiers en fonction de leur extension (voir système de documents de spip). L’ancien champ alt et ext ne sont plus utiles. Si le champ alt (texte alternatif) contient quelque chose, vous pourrez le supprimer. Une fois vidé, ce champ n’apparaitra plus, vous devrez alors utiliser le champ « titre » associé au document.
Support des campagnes google analytics
Depuis la version 0.29, il est possible d’activer un mode expérimental qui ajoute aux URLs destinations, les paramètres de suivi de campagnes personnalisées de google analytics
Pour activer ce mode, ajouter dans votre fichier config/mes_options.php
Les URLs seront du type :
Avec :
- utm_medium : pour l’instant toujours banner
- utm_source : le nom de votre site Spip
- utm_campaign : le nom de votre campagne
Utilisation Webmaster : la balise #BANNIERE
Il suffit simplement de placer la balise #BANNIERE à l’endroit souhaité dans le squelette. Si vous voulez afficher plusieurs balises différentes dans la page, vous devrez passer l’info dans les paramètres : #BANNIERE{position}, position étant un numéro de 1 à 9 et géré dans l’espace privé.
Vous pouvez aussi passer un paramètre de localisation de la façon suivante : #BANNIERE{position, code_postal, numero_pays}. Ce fonctionnement est basé sur le plugin géographie qui contient les codes postaux, les départements et régions de France, ainsi qu’une liste de pays. numero_pays doit correspondre au numéro du pays de la table spip_geo_pays.
Une noisette avec un cache de 0 est fournie dans le plugin. Cela peut-être utile pour les campagnes de courtes durée ou pour l’affichage aléatoire. Pour l’utiliser il faut remplacer la balise par <INCLURE {fond=inc_banniere}{position=valeur}{code_postal=valeur}{numero_pays=valeur}>.
Utilisation Rédacteur : le modèle <banniere>
Depuis la version 0.26, il est possible d’intégrer la bannière dans le texte d’un article en utilisant le modèle <banniereXX> où XX est le numéro de position de 1 à 9.
Administration
Vous pouvez gérer vos campagnes (ou bannières) depuis l’espace privé. Une liste des campagnes est visible. Vous pouvez trier les colonnes pour faciliter vos recherches. Cette liste vous informe si une campagne est active ou pas et si l’image ou document est présent (c’est l’objet principal :) !).
Pour créer une nouvelle campagne, et si le plugin géographie est présent, il faut choisir son type de diffusion : internationale (pour un affichage par défaut, c’est cette option qu’il faut choisir), nationale, régionale, départementale ou locale.
La recherche se fera bien sûr en partant du local. Si plusieurs campagnes sont configurées avec la même diffusion, un choix aléatoire sera fait par le système.
Les clics sur les bannières de type image sont comptabilisées.
Gestion du Flash
Pour les campagnes Flash, en général le lien est défini dans le fichier swf,
par défaut le plugin ne comptera pas les clics de votre campagne sur ce fichier.
Si vous souhaitez utiliser le compteur de clic et les données des campagnes, il faut programmer votre fichier flash de la façon suivante
Le plugin insère votre flash en transmettant les données de la campagne via le paramètre FlashVars
- <object type='application/x-shockwave-flash' data='IMG/swf/pub.swf' id='bandeau' width='400' height='200'>
- <param name='movie' value='IMG/swf/pub.swf' />
- <param name='quality' value='high' />
- <param name='menu' value='false' />
- <param name='wmode' value='transparent' />
- <param name='FlashVars' value='url_site=http%3A%2F%2F127.0.0.1&action=visit_url&banniere=5&url=http%3A%2F%2Fwww.wikivin.org' />
- </object>
FlashVars transmet les variables : url_site, action, banniere, url que vous pouvez ensuite exploiter dans votre flash
Par exemple en actionscript 3, voici le code d’un bouton qui utilise les variables précédentes
- but_callback.addEventListener(MouseEvent.CLICK,actionButCallback);
- function actionButCallback(evt:MouseEvent){
- var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
- var url_site = paramObj["url_site"];
- var action = paramObj["action"];
- var url = paramObj["url"];
- var banniere = paramObj["banniere"];
- debug.text = "url:" + url;
- var urlRequest=new URLRequest(url_site+"/spip.php?action="+action+"&banniere="+banniere+"&url="+url);
- navigateToURL(urlRequest,"_self");
- }
Voici un exemple de bannière flash (avec son code source) mettant en oeuvre les deux types de boutons : télécharger un exemple de bannière flash
Evolutions...
Quelques améliorations possibles à étudier ou à faire...
- Utilisation de CFG pour :
-
Utiliser ou pas les bannières localisées (dépendance plugin géographie) - Configurer l’utilisation ou pas du suivi des clics (table ou fichier log ou rien)
-
-
Utiliser les modèles de spip - Utiliser le filtre image_reduire
- Suivi des clics sur les objets multimedia
-
Statistiques de clics ou export des données -
Revoir les icones et le logo



plugin Bannières 2
Vos commentaires
# Le 31 janvier à 19:50, par guidoune
En réponse à : Bannières 2
Bonjour,
Lorsque je crée une campagne et que je fais enregistrer j’ai cette erreur dans l’administration. Et la bannière ne s’affiche pas. Qu’elle est le problème d’après vous ? Merci.
Erreur SQL 1054
Unknown column ’atwoprixpromo.atprix_documents.extension’ in ’field list’
SELECT spip_documents.extension, spip_documents.id_document, spip_documents.titre, spip_documents.descriptif FROM spip_documents AS `spip_documents` INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = spip_documents.id_document ) WHERE (L1.id_objet = 2) AND (L1.objet = ’banniere’) GROUP BY spip_documents.id_document
# Le 1er février à 02:24, par erational
En réponse à : Bannières 2
Bonjour,
Je viens de tester le plugin Version : 0.28.0 [53112]sur SPIP 2.1.12 tout semble fonctionne parfaitement
Quel est votre configuration de SPIP ? pourquoi votre table ne s’appelle pas spip_ ? êtes vous sur un SPIP mutualisé ? il faudrait regarder via votre gestionnaire mysql si votre table xx_documents possède la colonne extension.
# Le 4 février à 13:37, par ?
En réponse à : Bannières 2
Bonjour,
Merci pour votre réponse ! Non j’ai installé spip moi même et j’ai changé le préfixe de la table quand j’ai installé.
J’ai réinstallé le module depuis et cela m’affiche une nouvelle erreur :
Erreur SQL 1054
Unknown column ’bannieres.debut’ in ’field list’
SELECT bannieres.id_banniere, ’’, bannieres.debut, bannieres.fin, bannieres.nom, bannieres.position, bannieres.rayon, bannieres.diffusion FROM spip_bannieres AS `bannieres` ORDER BY bannieres.id_banniere DESC
# Le 4 février à 13:47, par ?
En réponse à : Bannières 2
J’ai la version spip 2.1.10 sur un hébergement ovh.
# Le 7 février à 09:05, par erational
En réponse à : Bannières 2
votre erreur me semble bizarre. ... je viens de re-tester sur un site OVH, aucun soucis
Normalement si le plugin est bien installé vous devriez voir, la structure de la table suivante
CREATE TABLE IF NOT EXISTS `spip_bannieres` (`id_banniere` bigint(21) NOT NULL AUTO_INCREMENT,
`nom` varchar(100) NOT NULL DEFAULT '',
`email` varchar(100) NOT NULL DEFAULT '',
`site` varchar(255) NOT NULL DEFAULT '',
`debut` date NOT NULL DEFAULT '0000-00-00',
`fin` date NOT NULL DEFAULT '0000-00-00',
`clics` int(11) NOT NULL DEFAULT '0',
`affichages` int(11) NOT NULL DEFAULT '0',
`commentaires` text NOT NULL,
`creation` date NOT NULL DEFAULT '0000-00-00',
`position` tinyint(2) NOT NULL DEFAULT '1',
`rayon` varchar(50) NOT NULL DEFAULT 'int',
`diffusion` text NOT NULL,
`maj` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id_banniere`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
# Le 25 février à 04:13, par guidoune
En réponse à : Bannières 2
Re Bonjour,
J’ai désinstallé le plugin depuis et réinstallé avec suppression de la table atprix-bannière sur phpmyadmin. J’ai réinstallé le plugin cette fois la table est bien installé dans phpmyadmin . Je crée une bannière, je remplis les champs je fais enregistrer et là cette erreur :
Erreur SQL 1054
Unknown column ’atwoprixpromo.atprix_documents.extension’ in ’field list’
SELECT spip_documents.extension, spip_documents.id_document, spip_documents.titre, spip_documents.descriptif FROM spip_documents AS `spip_documents` INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = spip_documents.id_document ) WHERE (L1.id_objet = 2) AND (L1.objet = ’banniere’) GROUP BY spip_documents.id_document
ensuite je retourne sur le plugin bannière et la bannière est bien crée (dans ma table sql aussi) par contre ça me met campagne échue alors que j’ai mis la date d’aujourd’huis et date de fin dans un mois, aussi je ne trouve pas le moyen de modifier une bannière existante.
Désolé de vous embête avec ça mais je trouve ce plug in vraiment intéressant d’où mon insistance sur ce problème.
Merci.
# Le 25 février à 04:31, par guidoune
En réponse à : Bannières 2
il y a du changement... j’ai vidé le cash et la bannière apparait bien en campagne active par contre j’ai mis la balise bannière dans mon squelette comme ceci #BANNIERE1 et cela m’affiche sur ma page aucune bannière mais juste 1 tout seul.
# Le 25 février à 08:32, par erational
En réponse à : Bannières 2
vérifier
#BANNIERE{1}(avec les accolades)Répondre à ce message
# Le 14 février à 13:53, par Dominique Lafond
En réponse à : Bannières 2
Bonjour,
J’ai le même problème que le post du 31 janvier à 19:50 dans le forum...
Et la même situation : à savoir que ma base de données contenant deux sites SPIP, le second (celui qui a le pb) utilise un préfixe de table qui n’est pas SPIP.
J’ai essayé le plugin sur l’autre et ça fonctionne parfaitement.
Bon. Pas grave : dans mon cas, il s’agit d’une démo de travail uniquement (sinon, j’utiliserais deux bases distinctes).
Néammoins si cela peut vous intéresser...
# Le 18 février à 21:55, par Dominique Lafond
En réponse à : Bannières 2
Et comme souvent... Je me réponds : la bannière est apparue toute seule (j’ai fait autre chose entre temps). Donc peut-être un pb d’horloge ou d’impatience...
Bref ça fonctionne très bien. Je vais pouvoir essayer de mettre un FLASH !!
Merci pour tous ces plugins drôlement utiles pour la communauté SPIP.
Répondre à ce message
# Le 12 février à 23:19, par brice
En réponse à : Bannières 2
Bonjour,
Quand je cree une publicité, je la place dans une bannière comme il se doit, mais apres avoir enregistré, la pub existe mais n’est affectée a aucune bannière.
La modification pour revalider une bannière n’aboutit à rien.
Jusque là j’ai modifié les pub existantes en exemple mais j’en ai maintenant besoin de plus ...
Une idée ?
SPIP 2.1.12 / Sarkaspip 3
# Le 13 février à 01:43, par erational
En réponse à : Bannières 2
Je ne comprends pas bien la question ... la bannière ne s’affiche pas à cause d’un bug (bien vérifier si la date de campagne est bonne) OU il n’y a pas assez de positions disponibles ? Actuellement le plugin propose 10 positions.
Répondre à ce message
# Le 22 janvier à 22:35, par Manou
En réponse à : Bannières 2
Bonjour,
J’utilise ce plugin qui est hyper intéressant, je vous en remercie, j’aimerai savoir pourquoi l’image n’est pas cliquable si c’est uniquement l’email de contact qui est renseigné et non l’url ?
y’a t’il un moyen de le corrigé ? Comme ca, si le site n’existe pas et qu’on a mis une adresse email, on peut cliqué sur la bannière et pouvoir envoyer un mail. Merci de votre réponse
# Le 23 janvier à 08:20, par erational
En réponse à : Bannières 2
cela me semble dangereux ... laisser un email en clair pour se faire spammer ?
Je ne connais pas de sites sérieux dont les bannières pointent vers un email.
Répondre à ce message
# Le 22 novembre 2011 à 21:59, par gilcot
En réponse à : Bannières 2
J’ai comme deux bug...
- le premier : quand on fait
on obtient «
avant après» (avec l’espace) quand il n’y a aucune bannière définie en position 5. De la même façon,exécutera toujours « mon code ... » parce-que la balise renvoie un espace (et donc ne vaut jamais vide/faux)
- le second est qu’on ne peut pas appliquer de filtre à la balise qui produit une image... (je n’ai essayé que le courant et indispensable
|image_reduire{}pour s’assurer que le squelette ne cassera pas...) C’est assez fâcheux :-SRépondre à ce message
# Le 26 mai 2011 à 00:46, par Teddy Payet
En réponse à : Bannières 2
Bonjour,
Je voudrais pouvoir afficher une bannière précise en renseignant son id_banniere. Comment puis-je procéder ?
Il existe bien le modèle, mais le paramètre (ou la variable) pris en compte par la balise
#BANNIEREest la position et aussi le rayon et l’id du département…Il n’est pas possible de passer en paramètre l’id_banniere.
Pour ceux qui vont me demander le pourquoi du comment :
Un partenaire peut avoir acheté un espace publicitaire pour un article donné et uniquement celui là. Donc, le numéro de position en paramètre ne correspond pas car il appelle toutes les bannières de la position X. Alors que je ne désire faire appel qu’à la bannière ayant l’
id_banniere=XX# Le 6 juin 2011 à 03:07, par erational
En réponse à : Bannières 2
bonjour teddy,
je comprends ton problème, je n’ai fait que mettre à jour le plugin et ne suis pas à l’origine de sa logique de fonctionnement.
est qu’une simple condition sur le squelette, ne pourrait-il pas résoudre ton problème ?
ex.
sinon, il faut reprendre le plugin et y ajouter un 4ème critère conditionnel id qui s’il est présent, écrase les précédents.
# Le 31 août 2011 à 14:18, par gilcot
En réponse à : Bannières 2
ceci me refait penser à une question la première fois que j’ai lu la doc : pourquoi lier les bannières à la gestion des documents ?
# Le 31 août 2011 à 19:29, par Jeannot
En réponse à : Bannières 2
Bonjour,
Cela permet d’utiliser les fonctionnalités de spip (inutile de re-coder ce qui existe déjà). La gestion des documents permet de gérer les images des bannières.
Jeannot
# Le 1er septembre 2011 à 05:07, par gilcot
En réponse à : Bannières 2
bonjour.
je vais regarder cela plus attentivement : c’est juste que je ne voyais pas à quel niveau la médiathèque était utilisée :)
Répondre à ce message
# Le 4 août 2011 à 09:40, par ?
En réponse à : Bannières 2
Bonjour,
Depuis la version de bannières 2.5, ça coince.
1) Début juillet, je mets le plugin à jour et me bloque mon site : la page d’accueil ne fonctionne plus
je remets donc une ancienne version datant de 6 mois 2. ? et tout refonctionne -> c’est bien le plugin.
2) Comme il y a eu une mise à jour le 25/07, je l’ai l’installée en pensant que ça fonctionnerait et ça va mieux, rien ne bloque, mais il ne retrouve plus mes anciennes bannières pourtant présente dans IMG-> gif
Je les réinstalle, il les accepte sauf petit message d’erreur pour une plus ancienne de 1 an, mais celle de 2 mois ok. Le problème est qu’activée, elle n’apparaît pas sur la page publique.
NB : le #Bannières est toujours placé dans ma page « sommaire.html »
La version 2.4 fonctionnait impeccablement avec spip et ahunstic.
Pourriez-vous soit m’indiquer où trouver la version 2.4 ou comment résoudre ce problème.
Merci
# Le 4 août 2011 à 10:14, par erational
En réponse à : Bannières 2
bonjour, le plugin a été vandalisé il y a un ou deux mois.
Je l’ai réparé fin juillet, il me semble qu’il fonctionnait bien alors.
Pourriez vous vérifier si votre squelette contient bien
#BANNIERE{5}(avec le numéro de votre campagne) et recalculer la page.Éventuellement essayer de désinstaller le plugin et le ré-installer pour avoir la bonne version de la base de donnée. Merci de nous tenir au courant
Répondre à ce message
# Le 1er mai 2011 à 10:43, par phil
En réponse à : Bannières 2
Bonjour et merci pour ce plugin.
Je fais ici une suggestion que je ne suis pas capable de développer moi-même :( :
il serait intéressant d’avoir un compteur du nombre d’affichage quotidien des bannières. Je suppose que vous y avez déjà penser mais que cela doit poser quelques difficultés.
Qu’en pensez-vous ?
Merci
# Le 13 juin 2011 à 20:37, par phil
En réponse à : Bannières 2
La version 0.28 du plugin permet de compter le nombre d’affichages des bannières.
Répondre à ce message
# Le 23 avril 2011 à 13:35, par christophe
En réponse à : Bannières 2
bonjour,
il me semble qu’il y a un soucis avec l’ajout des images :
- Si je créé une campagne sans mettre une image, l’interface m’indique que l’image est absente. Normal.
- Mais si j’édite à nouveau la campagne, j’ajoute dans un second temps une image au moyen du formulaire, et j’enregistre ensuite la camapagne, spip me dit toujours que l’image est manquante.
- Mais je ne vois nulle part dans la fenêtre d’édition de la campagne où je peux associer une image et une campagne. Que faut-il faire ?
- Pour éviter ce problème, il faut donc ajouter l’image au moment de la création de la campagne et pas après. Ce qui est un peu embêtant.
Merci d’avance pour vos réponses. christophe
# Le 25 avril 2011 à 02:22, par erational
En réponse à : Bannières 2
je n’arrive pas à reproduire ton bug.
Si tu crées une campagne sans image, tu peux la rajouter par la suite :
éditer la campagne > modifier la campagne > ajouter une image (le formulaire d’ajout est sur le côté en général à gauche).
# Le 26 avril 2011 à 16:51, par christophe
En réponse à : Bannières 2
merci pour ta réponse.
oui, j’avais bien vu le formulaire à gauche pour ajouter une image. Je viens de faire l’essai à nouveau en local (avec MAMP) et sur un serveur en ligne, avec spip 2.1.8, je te confirme que j’ai bien le problème à chaque fois : si l’image n’est pas ajoutée au moment de la création de la campagne, elle n’est pas prise en compte.
Où est-ce que je peux chercher des infos ? Dans les logs ?
Répondre à ce message
# Le 20 avril 2011 à 14:38, par erational
En réponse à : Bannières 2
sortie de la nouvelle version :
<banniereXX>en plus de la balise #BANNIERERépondre à ce message