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

44 discussions

  • 12

    Bonjour acidulé,

    sur un site en SPIP 4.4.2 motorisé au Z-core, impossible d’afficher quoi que ce soir en public. Testé sur un site basique (v 4.4.2 sans z-core) avec juste tarte au citron v1.7.0 et ses plugin dépendants, ca fonctionne. J’ai testé la meme configuration sur mon site (même version de spip avec tous les plugins desactivés sauf tarte au citron et dépendances), rien... Bizarre.

    J’essaye de comprendre le fonctionnement de tarte au citron pour comprendre. Comment se fait l’inclusion de ses éléments html dans le <body>? Par javascript?

    le JS est présent dans le head, mais le div en fin de <body> est absent. J’ai vérifié la console, pas d’erreur affiché.

    J’ai un site de travail où les js et css ne sont pas compactés. Le code source reste donc lisible.

    Spipement,

    • Désolé, j’ai une coquille dans le lien:
      Site de travail

    • Bonjour,

      Je vois :

      Uncaught SyntaxError: missing } after property listzotho.xyz:129:37note: { opened at line 93, column 21

      Et du js après le body en bas de page.

    • Affirmatif, le JS en bas de page porte des fonction utilitaires (ajax, viewport, etc...) pour le fonctionnement du squelette. Je l’ai posé là pour le developpement, je pourrais l’injecter ailleurs... Ca peut poser un probléme d’accompagnement avec une tarte au citron?

    • Oui, est ce que ce si vous désactiver votre squelettes on a tarteaucitron visible ?

    • j’ai déjà fait la manip, comme indiqué dans mon premier post. Je vais retenter la manip, mais j’ai fait choux blanc hier soir, et c’est ca qui m’a désarconné....

    • J’ai déjà tenté cette manip, comme indiqué dans mon post de départ... Choux blanc, pas de tarte. Je vais retenter la manip.

    • J’ai fait la manip, toujours pas de tarte au citron servie mais j’ai trouvé quelque chose d’ interessant dans la console qui a résolu le problème.

      Rien à voir avec mes js en fin de body. Pas de conflit.

      Apparemment, l’objet tarteaucitron a une méthode

      tarteaucitron.init() 

      qui prend comme une suite d’argument dont le lien readmoreLink qui sur mon site est un bricolage de checkbox et d’Ajax pour le fonctionnement de mon layout. Un truc bizarre du genre <label onclick='ajax( id_article );return false;'>Titre article</label>. J’avais tenté ma chance en indiquant ce genre de lien dans la config.

      Oh malheureux! Ca a mis un de ces bazars... Je l’ai réédité (pas de lien), et la tarte au citron est sortie du four! Il ne faut pas cuire en Ajax!!!

      J’imagine que tarteaucitron est un objet javascript. Pour circonvenir a ce genre de problème, une ligne de code ou des smart getters/setters pour vérifier la compatibilité de l’argument du lien ferait l’affaire... Contre des idiots de mon genre.

      Question subsidiaire: je fais appel à un service video (vimeo) et je fais un embed des vidéos. Mais j’aimerais avoir un banner au sein de mon propre modèle d’appel <vimeo|id_video=xxxx>. Je vois que cela fonctionne avec le modèle tarteaucitron (<tac_vimeo|video_id=xxxx>) (voir site de dev, il sont contigus la page d’accueil)). Comment l’intégrer dans mon modèle? Dois-je le renommer tac_vimeo.html?

      Et merci pour tout surtout...

    • Vous pouvez garder votre modele mais il faut voir les différence avec celui du plugins

    • C’est ça qui m’étonne, le modèle viméo de TAC est juste un élément <div>avec une classe class="vimeo_player". Autant dire, vide!

    • Non c’est ça le code <div class="vimeo_player"[ videoID="(#ENV{video_id})"][ width="(#ENV{width})"][ height="(#ENV{height})"]></div>

      Tarteaucitron se base sur le videoID pour travailler

    • Si j’ai bien compris, il faut ajouter un attribut universel du type videoID="1872187361" au <div> conteneur .
      Pour info, un juriste m’a indiqué que depuis le 01/01/2025, il faut aussi indiqué son app_id dans l’URL de l’attribut src pour faire des vidéos embed avec Vimeo. Exemple:

      <iframe src="https://player.vimeo.com/video/76979871?background=1&muted=0&app_id=12345" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
    • Oui pour l’id

      Pour le app_id il faudrait en parler avec le mainteneur de la lib ici https://github.com/AmauriC/tarteaucitron.js/issues

    Reply to this message

  • 1

    Bonjour,

    Je tente de faire fonctionner ce plugin sur un site en SPIP 4.4.3 avec
    Tarteaucitron 1.7.0
    YAML 3.1.2
    Saisies pour formulaires 5.12.0
    API de vérification 3.3.1

    Le bandeau de consentement ne s’affiche pas. Par contre si j’active la mini fenêtre la modale avec les choix s’affiche bien au clic.

    J’ai désactivé le squelette perso. La modale ne s’ouvre plus (le bouton “Cookies (fenêtre modale)” ne fait rien) et en bas de chaque page il y a tout le laïus au format texte. Je joins une capture si quelqu’un peut m’aider.

    Merci

    • Bonjour,

      On peut avoir une url du site en question ?
      En dirait que la css est pas charger pour le moment.

      Cordialement

    Reply to this message

  • 3

    Bonjour,

    On me demande de rajouter Google Consent Mode sur un site : https://github.com/AmauriC/tarteaucitron.js/issues/850#issuecomment-2039243039

    Est-ce que c’est possible avec ce plugin ?

    Reply to this message

  • 9

    Bonjour,

    Je suis sur SPIP 4.4.2, avec la version 1.7.0 du plugin (et php 8.3).

    Je rencontre le problème suivant : le bandeau de consentement ne s’affiche pas lorsqu’on arrive sur le site (testé avec Firefox 135.0.1 et Edge 133.0.3065.82 sans être loggué).

    À la place, je n’ai que le texte “Gestion des services” ou bien l’icône pour accéder au panneau de gestion, comme si le visiteur avait déjà fait son choix, ce qui n’est bien sûr pas le cas. J’ai pourtant bien coché la case pour afficher le bandeau, j’ai ajouté des services comme Facebook ou LinkedIn pour forcer l’affichage, mais rien n’y fait. Ai-je raté quelque chose dans la configuration ?

    Si vous voulez voir en ligne, c’est à cette adresse : https://echodesmots.info

    Merci pour vos retours !

    • Bonjour,

      Quand nous sommes sur le site avec F12 je vois des erreurs de JS donc cela bloque tarteaucitron.
      Quel service avez vous activer actuellement ?

    • Bonjour Pierre,

      J’ai pour l’instant activé les services “facebook” et “linkedin” (en prévision de l’intégration de liens vers ces réseaux), “openstreetmap” (que j’utilise avec GIS), enfin, “matomotm” et “matomo” (pour les stats).

      J’avais installé et activé le plugin Matomo (https://contrib.spip.net/5419), mais je l’ai désactivé et désinstallé, ce qui a permis de corriger la double déclaration (setTrackerUrl / setSiteId is registered more than once in “_paq” variable). En effet, j’avais déjà intégré le code de suivi dans mon squelette et cela faisait redondance.

      J’ai également renseigné le champs “matomomtUrl” que j’avais oublié.

      Malgré ces corrections, je n’ai toujours pas la barre de consentement.

    • J’ai également activé ce jour les services pour Google Analytics et Google Tag Manager, sans amélioration sur l’affichage.

    • Essayer avec uniquement linkedin dans un premier temps.

    • J’ai désactivé tous les services sauf linkedin, et j’ai recalculé la page d’accueil, pas de changements.

    • Non je vois dans le code plusieurs code de google ou matomo ou autres , supprimez les pour voir ce que ça donne.

    • Ce code était dans mon squelette et même avant son insertion, j’avais ce problème, mais je l’ai supprimé. J’ai aussi vidé par FTP le cache dans tmp et local/js, j’ai retourné le site dans tous les sens, désactivé des plugins, supprimé mon squelette, rien à faire.

      J’ai tout de même remarqué une petite “bizarrerie”, en testant mon site sur https://pagespeed.web.dev/ ou https://gtmetrix.com/, les vignettes d’aperçu de la page d’accueil montrent bien le bandeau de consentement... C’est à n’y rien comprendre !

    • Et en désinstallant le plugins puis en le remettant cela donne quoi ?

    • Aucun changements. J’ai même refait une installation propre de SPIP 4.4.2 et activé seulement Tarte au citron et je n’avais toujours pas le bandeau.

      J’ai testé sur Firefox et Edge, au cas où certaines extensions seraient bloquantes, en y réfléchissant à l’instant où je vous réponds, la seule que je partage entre les deux navigateurs est Antidote v12, mais il serait étonnant que cette application de correction orthographique soit la cause du dysfonctionnement. Je vais tout de même tester en la désactivant, mais je suis plus que perplexe face à ce problème.

      C’est un peu hors sujet, mais lorsque j’active Z-core et SpipR-dist, je n’ai plus accès à la page de connexion non plus. J’ai passé mon week-end à essayer de résoudre ces erreurs, mais je patauge et j’ai finalement abandonné hier soir, faute de solutions.

    Reply to this message

  • 6

    Bonjour
    Le bandeau de consentement n’apparaît plus depuis la mise à jour 4.3.6
    Merci de votre aide

    Reply to this message

  • 3

    Bonjour,

    est ce que Tarteaucitron prend en compte la nouvelle propriété Google Analytics 4?

    Sur le service c’est l’identifiant de l’ancienne version qui est demandée: UA-XXXXXXXX-X

    Laëtitia

    Reply to this message

  • 5

    Bonjour

    Le plugin fonctionne bien pour moi, mais le panneau de gestion des cookies s’affiche sur la page login du site, derrière le bloc de login (?).
    Je vois seulement les textes, sans habillage css, en blanc sur le fond de couleur de la page.
    Est-ce que c’est normal ?
    J’ai installé le plugin sur plusieurs sites, et c’est le cas à chaque fois.

    Ça vient peut-être d’autres plugins…
    Je monte mes sites avec Z-core et Compositions entre autres.

    Merci de votre aide

    Version SPIP du site : 4.2.16
    Version Tarteaucitron : 1.5.6

    Reply to this message

  • 7

    Bonjour (et merci pour ce boulot !)
    Je testais le plugin et j’ai ajouté des “Liste des services”. Ça s’affiche nickel.
    Par contre, les services sont alors grisés, ainsi que leurs coches dans “Services activés” et je ne peux pas le désactiver.
    Je passe à coté de quelque chose ?
    Question bonus ;)
    Pour “Google Search Console”, je ne sais pas quel service activer (Il n’est pas nommé comme tel).
    Merci !
    Ben

    • Bonsoir,

      Pour désactivé un service il faut repasser par la recherche et ensuite cliquer désactivé.
      Pour google, avez vous trouvé le service ici https://tarteaucitron.io/fr/install/ ?

    • Merci pour la réponse.
      Effectivement le service “Google search console” n’est pas présent sur le lien de tarteaucitron.
      Cela s’appelait autrefois “Google Webmaster Tools” et ça a changé de nom. L’ancien nom n’est pas présent non plus.
      Sinon, quand je passe par la recherche, cela me propose de l’installer (pas le désinstaller) lorsqu’il est déjà installé. (Plugin V1.5.5 sur Spip 4.2.11). CF PJ
      Solution radicale qui marche (ou astuce de sioux ;) ) le désinstaller et le réinstaller, ça enlève les services.

    • idem pour d’autre service ?

    • Oui, pour tous les services.

    • Je ne reproduit pas, tu as une erreur JS ou autre ?

    • Non, rien ne s’affiche.
      Pour en être sûr, je viens d’installer un spip tout neuf sans rien du tout en 4.2.11 (avec spip_loader).
      J’ai mis tarte au citron 1.5.5 tout seul. API de vérification 3.1.0 et Saisies pour formulaires 5.4.1 se sont installés avec.
      En ajoutatn un service, j’ai eu :
      Erreur d’exécution ../plugins/auto/saisies/v5.4.1/inclure/generer_saisies.html | File […]/plugins/auto/saisies/v5.4.1/inc/saisies_lister_disponibles.php Line 18 : La fonction saisies_lister_disponibles() nécessite le plugin YAML
      J’ai donc mis YAML (Faudait-il l’ajouter aux dépendances à installation dans le code du plugin ?)
      Les résultats sont les mêmes qu’avant. Une différence tout de même, j’ai un affichage “Service déjà actif” quand je clique sur un servcie déjà activé (que je n’ai pas sur l’autre site avec les mêmes versions).
      Donc, le souci persiste. Ça ne vient pas de la configuration du site (je n’ai touché à rien), ni de conflit de plugin (que le nécessaire), pas de modification de code de spip, ni du htacess.
      Cela pourrait-il venir de php (en 8.1 pour moi) ou une de ses extension ?

    • Et merci évidemment de ton temps à répondre !

    Reply to this message

  • 3

    Bonjour,
    J’ai installé le plugin sur un nouveau site : collectif-jeandeneyman.fr.
    SPIP 4.2.6
    PHP 8.1
    Firefox 118.0.2
    Je pense que le “problème” vient du plugin Tarte au citron" ! Peut-être une suggestion aussi...
    Quand il faut que je me reconnecte à mon espace privé, après avoir renseigné les champs Utilisateur et Pass, et coché la case se souvenir de moi (qui ne dure qu’un certain temps...), un message rouge s’affiche : “Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.
    Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).”
    Je viens de le faire en “gérant les exceptions”, mais si une rédactrice ou rédacteur qui n’est pas trop informatique (voir moins..) se retrouve avec ce message, elle ou il n’a pas trop de recours (autre que de m’appeler, mais j’ai le droit aux vacances....).
    N’y aurait-il pas moyen d’ouvrir un article spécifique pour expliquer la manœuvre dans Firefox (ou/et les autres navigateurs) ou diriger vers les pages d’aide des navigateurs eux-même ?

    • Bonsoir,

      Sans ce plugins pas du tout le soucis ?
      On peut avoir l’url du site pour voir le services utiliser ?

      Merci

    • Je ne pense pas que ça soit lié au plugin (d’ailleurs faites un test en désactivant le plugin, a priori, le pb sera tjrs là). A mon avis, c’est plutôt la configuration de votre navigateur (Firefox si j’ai bien compris). Voici la documentation de Mozilla sur le sujet : https://support.mozilla.org/fr/kb/sites-disent-cookies-bloques-les-debloquer
      Donc, si les autres utilisateurs ont la configuration par défaut de leur navigateur, ils ne devraient pas rencontrer de soucis (si mes suppositions sont bonnes)

    • Bonjour,
      Merci pour vos réponses.
      Bonne journée
      Patrice

    Reply to this message

  • 1

    Bonjour

    Comment peut-on modifier ou personnaliser les feuilles de style ?
    Il me semble que les class sont générées dans le fichier tarteaucitron.js.
    Merci

    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
  • 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.

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