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 eux mêmes nécessitent une demande de consentement auprès de vos internautes.

Les services tiers proposés par défaut sont :

  • Gtag (Global Site Tag, le ’nouveau’ script de suivi pour Google Analytics)
  • Google Maps
  • Facebook (pour activation des boutons de Like et Partage)
  • Facebook Pixel

Mais il est possible d’en proposer d’autres (Twitter, etc.). Voir à ce propos le paragraphe Ajouter de nouveaux services ci-dessous.

Un plugin deux en un

Pour chaque service activé, le plugin :

  1. insère le tag,
  2. gère le consentement des vos internautes à ce tag.
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

Une fois que l’internaute aura fait son choix de consentement, ce bandeau disparaîtra.

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

Consentement : gestion des services au cas par cas

Prérequis et installation

Ce plugin a été écrit pour SPIP 3.2.

Il s’installe via le menu Configuration -> Gestion des plugins. (pour en savoir plus, voir Installer un plugin).

Configuration et activation

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

Configuration : options sur l’affichage du bandeau de consentement

Pour l’activation du ou des tags associé aux services, il faut en général fournir une clé ou un ID. Mais pas toujours, comme ici pour l’activation du Facebook Pixel.

Configuration : ajout des services

Dans le plupart des cas, l’activation depuis l’interface suffit. C’est par exemple le cas pour Google Analytics et Facebook Pixel.

Pour d’autres services, comme Facebook Like, il vous faudra également ajouter à vos squelettes le code idoine comme indiqué dans le documentation du service tiers.

Ajouter de nouveaux services

Comme il est dit plus haut, ce plugin intègre la libraire tarteaucitron.js. Cette librairie gère plusieurs dizaines de services.
Seuls 4 sont gérés ici, mais il est possible d’en ajouter de nouveaux.

Intégrer le code du service

Aller voir https://opt-out.ferank.eu/fr/install/ / Etape 3 : ajouter les services et intégrer le code proposé dans un fichier à placer dans le répertoire /services du plugin

Donner la possibilité d’activer ou non ce nouveau service

Il faut intégrer un nouveau champ de saisie correspondant à ce service et éventuellement à la clé correspondante dans le formulaire de déclaration des services.

Cette intégration se fait dans le fichier /formulaires/configurer_tarteaucitron_services.html du plugin.

Attention : il faut absolument faire correspondre l’attribut ‘name’ du nouveau champ et le nom du fichier placé dans /services.

N’hésitez pas à ajouter des services, les contributions sont les bienvenus !

Discussion

7 discussions

  • 8
    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 ;-)

    Reply to this message

  • 5

    Bonjour
    J’ai un site Spip en anglais (/ecrire/?exec=configurer_langue sur english) et mon compte est en anglais aussi. Mon squelettes contient bien <html lang="en"> et quand j’active le plugin, le bandeau sur le site public est en français. Alors que je trouve bien une traduction du bandeau d’alerte dans lib/tarteaucitron/lang/tarteaucitron.en.js.
    Comment faire pour activer le bandeau public en anglais ?

    Reply to this message

  • 3

    Bonjour,
    “Petit” soucis de mon côté. Le bandeau apparait de façon aléatoire et quand il apparait c’est vraiment très rarement (paramètres par défaut de tarteaucitron, plusieurs navigateurs et plateformes testés, navigation privée ON/OFF, etc), ce qui m’empêche de reproduire le comportement. Je suis en Spip 3.2.8 et je n’ai rien dans les logs apache.
    Est-ce que ça peut être lié au inc/config ? D’autre idées, au moins sur la méthode que je pourrais employer pour soir d’où vient le bug ?

    • Hello,

      Le plus simple est d’installer un SPIP tout neuf, sans /squelettes avec juste le plugin Tarteaucitron (et dépendances) et voir si tu reproduis le problème.

      En général pour traquer un bug PHP, il te faut ajouter les instructions suivantes dans ton fichier mes_options.php.

      error_reporting(E_ALL^E_NOTICE);
      ini_set ("display_errors", "On");
      define('SPIP_ERREUR_REPORT',E_ALL);

      (Voir à ce propos Les aides au débuggage et Le fichier mes_options.php)

      Pour les bugs JS, c’est dans la console de ton navigateur.

    • Merci Peetdu,
      Rien trouvé dans les erreurs php à part les habituels warnings de fonctions obsolètes.
      Par contre en faisant un diff du code source entre le cas où ça marche et celui où ça ne marche pas, j’ai ça :

      1814c1814
      <   <!-- SPIP-CRON --><script>setTimeout(function(){var xo = new XMLHttpRequest();xo.open('GET', 'https://www.monsite.fr/spip.php?action=cron', true);xo.send('');},100);</script><noscript><div style="background-image: url('https://www.monsite.fr/spip.php?action=cron');"></div></noscript><script type="text/javascript">tarteaucitron.user.gtagUa = '***-***-***';
      ---
      >   <script type="text/javascript">tarteaucitron.user.gtagUa = '***-***-***';
    • Du coup, j’ai trouvé d’où venait le “bug”. C’était un commentaire mal refermé dans mon squelette.
      Je passe à la suite : cookie de Twitter.

    Reply to this message

  • 3

    Bonjour,

    je ne vois plus apparaitre le bouton d’activation pour Google Analytics.

    L’UA est bien renseigné dans le paramétrage du plugin et le fichier “configurer_tarteaucitron_services” convenablement renseigné me semble-t-il :

                    <fieldset>
                            <legend>Services Google</legend>
                            [(#SAISIE{input, gtag, label=Google global site tag (gtag.js), explication=Replace GA_MEASUREMENT_ID with the ID of the Google Analytics property to which you want to send data, placeholder=GA_MEASUREMENT_ID})]
                    </fieldset>
                    
                    <fieldset>
                            <legend>Réseaux Sociaux</legend>
                            [(#SAISIE{checkbox, fb, label=Boutons de Like et Partage Facebook, datas=[(#ARRAY{fb,fb})]})]
                            [(#SAISIE{checkbox, twitter, label=Timeline Twitter, datas=[(#ARRAY{twitter,twitter})]})]
                    </fieldset>
    
                    <fieldset>
                            <legend>Services Vidéos</legend>
                            [(#SAISIE{checkbox, youtube, label=Lecteur Youtube, datas=[(#ARRAY{youtube,youtube})]})]
                            [(#SAISIE{checkbox, dailymotion, label=Lecteur Dailymotion, datas=[(#ARRAY{dailymotion,dailymotion})]})]                        
                    </fieldset>

    Suis je le seul ?

    • Hello,

      sur deux sites différents, avec tarteaucitron v1.2.4, aucun soucis de mon côté.

    • Étrange... je suis en SPIP 3.2.8 et Tarteaucitron 1.2.4... je vais supprimer l’extension pour revenir sur les fichiers d’origine en réinstallant et voir si c’est l’une des mes modifications qui génère ce soucis.
      Faut il désactiver l’extension Google Analytics 0.5.3 pour obtenir le fonctionnement voulu de Tarteaucitron ?

    • je me réponds à moi même, une erreur dans l’un de mes fichiers “services” cassé le comportement... du bruit pour rien, désolé... et merci

    Reply to this message

  • 7

    Bonjour, c’est un plugin très intéressant, mais j’ai été obligé de le supprimer : il provoquait l’affichage d’une erreur : Fatal error: Uncaught Error: Call to undefined function lire_config() in /homepages/..../www/plugins/auto/tarteaucitron/v1.2.3/inc/tarteaucitron.php:18

    Reply to this message

  • 2

    Bonjour,

    Plugin intéressant et pratique, par contre j’ai du le désinstaller pour le moment suite à un problème avec certains navigateurs, tout était fonctionnel sur firefox mais sur edge et chrome ça bloque l’affichage du site....

    Avez-vous déjà eu le problème ?

    • Pour info la version 1.2.4 résout le problème.

    • hum, je pense que vous aviez un autre bug mais qui ne se voyait que si vous n’étiez pas connectée, bug qui a été résolu en 1.2.4

    Reply to this message

  • 6

    Bonjour,
    j’ai intégré ce plugin très pratique à mettre en œuvre... mais je n’arrive pas à faire apparaitre le lien présent dans “Divers” (consentement aux cookies) dans le bandeau de consentement. J’ai essayé le lien url_propres ainsi que le lien vers l’ID de l’article sans résultat.

    Une option quelconque à activer dans un fichier de configuration ?

    Merci pour le travail sur cette extension et d’avance pour une éventuelle réponse.

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom