Tarteaucitron

Afin de mettre votre site en conformité au RGPD, si besoin, voici le portage pour SPIP de la solution de gestion de consentement aux cookies tarteaucitron.js.

Présentation du plugin

Tarteaucitron est un plugin permettant d’activer des services tiers qui nécessitent une demande de consentement auprès de vos internautes pour l’utilisation des cookies. Il est possible d’activer tous les services fournis par la bibliothèque Tarteauciron.js. Voir à ce propos le paragraphe Ajouter de nouveaux services ci-dessous.

Un plugin tout en un

Pour chaque service activé, le plugin :

  1. permet de saisir les éventuels paramètres (APIkey, userID, etc.)
  2. gère le consentement de vos internautes à ce service.
  3. Propose, suivant les services, un ou plusieurs modèles à insérer dans vos squelettes ou dans vos articles pour activer le service concerné
Note : ce plugin fait donc la même chose que Plugin Google analytics pour activer le tag Google Analytics, mais en plus il gère le consentement des vos internautes à ce service.

Affichage du bandeau de consentement

Il suffit d’activer un ou plusieurs services pour que automatiquement s’affiche le bandeau de consentement sur toutes les pages du site.

Bandeau de consentement

Si l’internaute clique sur le bouton « Personnaliser », alors la fenêtre modale suivante s’ouvre.

Consentement : gestion des services au cas par cas

Une fois que l’internaute aura fait son choix de consentement, ce bandeau disparaîtra mais pourra être affiché de nouveau si le webmestre a paramétré l’ouverture du panneau dans la configuration du plugin.

Le plugin propose aussi un onglet de configuration technique pour les utilisateurs avancés.

Prérequis et installation

Ce plugin a été écrit pour SPIP 3.2 et est compatible avec SPIP 4.0.0.

Il s’installe via le menu Configuration -> Gestion des plugins. (pour en savoir plus, voir Installer un plugin). Il nécessite les plugins Saisies et Vérifier

Configuration

Certaines options de configuration sont disponibles quant à la façon dont s’affichent les demandes de consentement.

Ajouter de nouveaux services

Pour activer un service, rendez-vous dans la configuration du plugin, à l’onglet Liste des services. Recherchez votre service (Si besoin, vérifiez sur le site officiel tarteaucitron.io) puis cliquez sur le bouton Activer.

Dans le plupart des cas, l’activation depuis l’interface suffit (Youtube par exemple). Mais parfois, il est nécessaire de fournir une clé ou un ID comme ici pour l’activation du Facebook Pixel :

Pour d’autres services, comme Facebook Like ou Youtube/Dailymotion, il vous faudra également ajouter à vos squelettes ou dans vos articles un modèle (fourni par le plugin).

Pour les modèles à insérer dans vos articles, des raccourcis sont sont présents dans le Porte-plume :

Si un service activé nécessite un modèle et qu’aucune entrée n’existe dans le porte-plume, il suffit de créer une icône carrée de 17px de côté dans /squelettes/icones_barre/tac_monservice_x.png avec le même nom que le modèle concerné (tac_monservice_x.html).

Traiter du contenu ancien

Le plugin possède un script  ?action=tarteaucitron_nettoyer_iframes issu du plugin oEmbed et à adapter selon vos besoins. Celui-ci permet de remplacer les iframes des anciens articles par les modèles fournis par le plugin. Il peut être lancé directement via l’onglet technique du plugin (ecrire/ ?exec=configurer_technique)

Discussion

37 discussions

  • 4

    Bonjour,
    impossible d’enregistrer l’ ID Facebookpixel

    • Bonjour,

      l’activation de l’ID pixel Facebook n’est pas possible, impossible d’enregistrer.
      Faut-il ouvrir un ticket ?

      Laëta

    • Bonjour Laëta,

      peux-tu nous préciser dans quel contexte l’erreur ce produit ?
      Voir à ce propos le paragraphe « Ajouter un commentaire » en bas de cette page.

      cheers

    • Bonjour Peetdu,

      SPIP 3.2.11, Tarteaucitron 1.3.0,

      Dans la configuration du plugin, j’active le service facebookPixel en indiquant la suite chiffre de l’ID à la place du placeholder : « YOUR-ID », j’appuie sur « enregistrer » rien ne se passe

      si je recalcule ma page, le service reste avec le statut « activé » mais à la place de l’id j’ai le placeholder : « YOUR-ID » . Le Facebook Pixel Helper dans Chrome m’indique qu’il n’a rien trouvé

       :)

    • Ok. Je veux bien que tu fasses un ticket.

      Merci
      P

    Répondre à ce message

  • Bonjour,

    Où faut-il ajouter une surcharge pour pouvoir prendre en compte le nombre de clic sur un document.
    Normalement, il y a un contenu du type :

    <script type="text/javascript">
        var analyticsFileTypes = ['pdf'];
        var analyticsEventTracking = 'enabled';
        jQuery(document).ready(function(){jQuery('a').each(function(){var a=jQuery(this);var href=a.attr('href');if(href==undefined)
    return;var url=href.replace('http://','').replace('https://','');var hrefArray=href.split('.').reverse();var extension=hrefArray[0].toLowerCase();var hrefArray=href.split('/').reverse();var domain=hrefArray[2];var downloadTracked=false;if(jQuery.inArray(extension,analyticsFileTypes)!=-1){downloadTracked=true;a.click(function(){if(analyticsEventTracking=='enabled'){_gaq.push(['_trackEvent','Téléchargements',extension.toUpperCase(),href]);}else
    _gaq.push(['_trackPageview',analyticsDownloadsPrefix+url]);});}
    if((href.match(/^http/))&&(!href.match(document.domain))&&(downloadTracked==false)){a.click(function(){if(analyticsEventTracking=='enabled'){_gaq.push(['_trackEvent','Outbound Traffic',href.match(/:\/\/(.[^/]+)/)[1],href]);}else
    _gaq.push(['_trackPageview',analyticsOutboundPrefix+url]);});}});});
    </script>

    Mais je ne trouve pas où ce script doit se trouver dans le plugin.

    Merci.

    Répondre à ce message

  • 9

    Super plugin ! TarteAuCitron a l’air d’être LA solution. Quelques remarques (ça pourrait être une contribution de ma part mais je ne sais pas comment contribuer sur git.spip.net) sur les options de configuration que j’aimerais ajouter :
    -  Possibilité de personnaliser le nom du cookie (au lieu de « cookieName » : « tarteaucitron »)
    -  Possibilité de mettre l’alerte au milieu (« orientation » : « middle » en plus de « top » et « bottom »)
    -  Possibilité de personnaliser le petit bandeau : « showAlertSmall » (boolean) et « cookieslist » (boolean) uniquement si showAlertSmall=true
    -  Éventuellement possibilité de personnaliser « adblocker » (boolean)
    -  Mettre « handleBrowserDNTRequest » sur true (si le visiteur a dit à son navigateur de refuser les cookies, c’est qu’il n’en veut pas. Donc pourquoi lui demander ?)
    -  Possibilité de personnaliser « removeCredit » (boolean)
    -  Possibilité de personnaliser le CSS (« useExternalCss » en booléen avec éventuellement un input pour mettre les règles CSS que l’on souhaite)
    -  Éventuellement possibilité de personnaliser « cookieDomain » pour les autres sous-domaines
    -  Possibilité de masquer les cookies obligatoires (« mandatory », boolean)

    • Hello Paidge,

      merci pour tes ajouts dans ce plugin. Bien cool. Pleins de bonnes choses :)

      Quelques remarques :
      Tu as initié dans la fonction tarteaucitron_upgrade() l’initialisation de certains paramètres, créant ainsi une dichotomie dans cette gestion. Pas sûr de comprendre pourquoi ?
      Pas mal des nouvelles possibilités que tu as introduite mériteraient un complément de doc. Je viens de t’ajouter comme auteur. Si tu te sens de compléter…

      Merci pour ton aide !

    • Dans tarteaucitron_upgrade(), j’indique seulement les services installés. Ils ne sont pas acivés. Juste installés.

    • Pas mal d’avancées sur le dépôt. L’upgrade est bien gérée maintenant. Je complèterai avec plaisir la documentation lorsque ma branche aura mergée pour décrire le nouveau fonctionnement.

    • Hello Paidge,

      pourrais-tu faire un début de doc dans le wiki ? (voir https://git.spip.net/spip-contrib-extensions/tarteaucitron/wiki) ?
      Cela permettrait sans doute d’aider à comprehension et donc d’aller plus vite dans les tests.

      merci

    • Vu. Je regarde ça dans la journée…

    • Bon ben pour les tests, c’est déjà plié avec la mise en ligne de la 1.2.10.

      Dans ton complément de doc…

      le développeur doit lancer le script ?action=tarteaucitron_referencer_services

      Pas sûr de savoir comment on fait ça ?

    • Pas sûr de savoir comment on fait ça ?

      Tu veux dire pour appeler le script ? Ben il faut appeler https://monsite.fr/?action=tarteaucitron_referencer_services

    • Je viens de mettre à jour la documentation après le merge du code effectué le 22/10/2021.

    Répondre à ce message

  • 5

    Bonjour, j’ai le message suivant dans le log d’erreur. Comment peut-on le résoudre s’il vous plaît ?

    'PHP message: PHP Warning:  Invalid argument supplied for foreach() in /.../plugins/auto/tarteaucitron/v1.2.8/tarteaucitron_pipelines.php on line 50\n
    • Bonjour,

      Avec quel version du plugins ?

    • Bonjour, avec la version 1.2.8.

      Je viens de mettre à jour. Et j’attends si l’erreur persiste.

      On est en multi-site et cela ne le fait que sur un site en particulier. On est sous SPIP 3.2.9 [24473].

      Il y avait également l’erreur suivant. Le referer est une rubrique SPIP.

      PHP message: PHP Notice:  Undefined variable: id_objet in /...../plugins/auto/tarteaucitron/v1.2.8/tarteaucitron_pipelines.php on line 59\n', referer: https://www.....fr/decouvrir/
    • Une v1.2.10 arrive, voit ce que ça donne avec cela.
      Sinon une url m’aiderais.

    • Merci pour votre temps, j’ai fait des recalculs sur plusieurs liens du sites. Je pense que c’est réglé pour moi. Le log d’erreur ne mentionne que l’ancienne version v1.2.8 alors que le plugin est maintenant en version 1.2.9.

    • vider les logs pour voir sinon.
      Merci pour le retour

    Répondre à ce message

  • 2

    Bonjour,
    J’aimerais ajouter un nouveau service qui n’est pas dans la liste proposée par la librairie TarteAuCitron (https://www.canal-u.tv). Alors je suis tombé sur ce ticket. Mais comme il faut modifier des fichiers de la lib (tarteaucitron.services.js par ex), j’ai peur que ma modif soit écrasée dans une prochaine mise à jour. Y’aurait-il un moyen plus « propre » ?

    Répondre à ce message

  • 6
    spipheure

    Bonjour,

    J’ai installé récemment le plugin (version 1.2.8) sur une version SPIP 3.2.9, j’ai ajouté le code Analytics « Google global site tag (gtag.js) »
    Le plugin fonctionne parfaitement sous Chrome, et Firefox (je peux choisir d’activer ou désactiver le cookies pour Analytics « mesure d’audience ») en revanche sous SAFARI (12.1.2), la partie « Mesure d’audience » n’apparait pas.

    Merci beaucoup par avance pour votre aide ou vos explications

    A bientôt

    • Bonjour Spipheure,

      je viens de tester avec deux versions de Safari (v11.1.2 et v13.1.2) avec SPIP 3.2.11 et je ne reproduis pas le pb que tu signales.
      Peut être une extension Safari qui bloque qqc ?

    • spipheure

      Bonjour

      Merci beaucoup pour votre réponse.

      J’ai vérifié et je n’ai aucune extension Safari, je suis sous MAC (Os : 10.14.6).

      J’ai fait le test sur un autre site web SPIP (3.2.0) avec une version du plugin 1.2.6 et là ca fonctionne bien sous SAFARI (je peux choisir d’activer ou désactiver le cookies pour Analytics « mesure d’audience »). Mais il est impossible d’installer la version du plugin 1.2.6 sous SPIP 3.2.9.

      Je sèche complètement...

    • L’idéal, serait que tu passes en SPIP 3.2.11. Cela ferait une inconnue de moins.

      Ensuite, la différence majeure en la 2.1.6 et la 2.1.8 c’est la mise à jour de la lib javascript Tarteaucitron. (voir ici)
      Je rappelle que ce plugin SPIP est essentiellement un portage de cette librairie JS.
      Du coup, tu pourrais peut être aller voir ici : https://github.com/AmauriC/tarteaucitron.js/issues si ton problème est référencé / résolu ?

    • spipheure

      Merci pour votre réponse.

      Je vais creuser encore le sujet

    • spipheure

      Je viens de retester le plugin sur une page spip ultra épurée, le bug persiste et sur l’outil d’inspection / console on obtient l’erreur suivante : [Error] SyntaxError : Unexpected token ’ ?’
      (fonction anonyme) (tarteaucitron.services.js:158)

      En revanche pas d’erreur depuis chrome ?

      Cela vous parle t’il s’il vous plait ?

      Bonne journée

    • Bonjour,

      Peut on avoir une url du site ?

      Merci

    Répondre à ce message

  • Une autre question.
    Les publicateurs de notre site web (les rédacteurs), utilisent parfois des iframe (par ex : youtube, GoogleMap, etc.). Or, TarteAuCitron souhaite qu’on remplace les iframe par des DIV dont la syntaxe st fournie dans leur documentation. Y’aurait-il un moyen d’automatiser la transformation ? J’ai quelques milliers d’articles et je n’ai pas envie de tous les parcourir à la recherche d’un iframe... Même avec une requête en BDD, ça pourrait retourner une grosse quantité d’articles à modifier à la main....

    Répondre à ce message

  • 5

    Bonjour,

    On voit souvent « Continuer sans accepter ».
    Comment mettre cela dans le plugin qui semble ne prévoir que « OK, tout accepter », « Interdire tous les cookies », ou « Personnaliser » ?
    Ce « Continuer sans accepter » me parait plus simple…

    Par ailleurs, j’utilise « cookiebar »… dois-je le supprimer ou utiliser les deux ?

    J’utilise également « Google Analytics » avec un identifiant (UA-) mais j’ai aussi reçu un identifiant « G- »…

    J’ai du mal à faire le tri de tout ça :(

    Merci.

    Répondre à ce message

  • Bonjour, merci pour ce plugin.

    On utilise un mode de paiement par Amazon Pay, au cours duquel, on inscrit le client à notre site qui utilise le plugin spipthelia.

    Est-ce qu’il existerait un service Amazon Pay ?

    Répondre à ce message

  • 10
    Sébastien

    Merci pour ce plugin. J’ai mis quelques minutes à comprendre : ce plugin nécessite Saisie. Une dépendance serait la bienvenue.

    • Normalement c’est intégré depuis la v1.2.1

    • Sébastien

      Merci ! Cela me permet de tester la mise à jour... et de me pencher sur un problème que je n’ai pas réussi à résoudre : où peut-on mettre les nouveaux services (/services) et (/formulaires/configurer_tarteaucitron_services.html) pour en ajouter sans risquer de les perdre à la prochaine mise à jour ? De même si on veut créer un service, le fichier est dans /lib/tarteaucitron/tarteaucitron.service.js, je n’ai pas réussi à le surcharger dans /squelettes... Merci, bonne fin de journée.

    • je ne suis pas l’auteur du plugin. Tu point eun problème que j’avais pointé : l’asbence de mecanisme de pipeline sur ce plugin.

      Du coup, le mieux si tu crée de nouveaux services serait carrément de proposer les modifications aux plugin, via une PR. Comme cela les autres pourrotn en profiter :)

    • Bonjour Sébastien

      Je suis entrain de voir pour faire des rajouts, tu cherches quel services ?
      D’ici début janvier je vais rajouter des services de vidéo dans le plugins comme youtube et dailymotion

    • Sébastien

      Bonjour. Merci. Effectivement, je cherchais à ajouter YouTube, DailyMotion et Viméo. Ainsi que Google Doc. Bonne fête de Noël.

    • Bonjour

      Peut-on savoir où ça en est pour l’intégration des services vidéos et de twitter ?

    • Bonjour,

      C’est en cour de validation sur mes projet, je le fais rapidement sur le plugins.

      A plus

    • Ah cool !
      Je suis impatient ;-)

    • Bonjour

      Toujours intéressé par l’inclusion de nouveaux services (twitter et vidéos) , je viens aux nouvelles.

    • Bonjour,

      pour les vidéos met le plugins oembed qui fait déjà pas mal le travail en passant par des no-cookies
      pour twitter c’est commit mais peetdu doit le validé.

      Cdt

    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