Écrit par Laborouge le
Mis à jour le
logo Discreto : vous avez le droit de rester anonyme

Discreto : vous avez le droit de rester anonyme

4 minutes

J'ai souvent cherché une solution technique pour gérer au mieux le consentement des cookies tiers sur un site web et les problématiques liées au Règlement Général sur la Protection des Données (RGPD).

Pendant longtemps j'ai utilisé CookieCuttr. Mais je n'étais pas entièrement satisfait du résultat :

  • Seuls les cookies tiers d'audience sont gérés (Google Analytics entre autres).
  • Pas de gestion indépendante de chaque cookie tiers.
  • Lorsque l'on refuse les cookies, il faut jouer avec le code pour enlever les cookies de Google Analytics.
  • Pas de prise en charge de Google Analytics version 4.

Cela a parfaitement répondu à mes attentes pendant longtemps, mais ce n'est plus le cas.

A la recherche d'une nouvelle solution

J'avais trois critères importants pour la recherche d'une nouvelle solution :

  1. Qu'elle soit maintenable dans le temps et évolutive
    Pas envie d'investir sur une solution couteuse en dette technique et où il serait difficile d'implanter de nouveaux services .
  2. Qu'elle prenne en compte la gestion des cookies tiers de manière indépendante
    Pouvoir donner le choix au visiteur d'autoriser / refuser chaque service.
  3. Qu'elle soit facile à implanter sur un site Drupal
    Que cette solution s'implante facilement dans l'écosystème Drupal et notamment dans ses interactions avec certains modules.

J'ai testé quelques solutions (dont certaines très utilisées) mais aucune ne remplissait les trois critères de manière satisfaisante.

Et puis un jour en allant sur le site de Greenpeace, je suis tombé sur leur outil de gestion de cookies : Discreto !

Discreto

Une popup de consentement pour tous les services tiers et trackers qui respecte la vie privée et le droit à l'anonymat des internautes

discreto
Discreto : page d'accueil

Discreto est un outil libre et gratuit. Et ça, c'est un très bon point. Mais ce qui me séduit le plus, c'est son attachement au respect de la vie privée. Ce qui n'est pas le cas de tous les outils que j'ai pu utiliser auparavant.

Il présente beaucoup d'avantages techniques :

  • Il peut se charger depuis un dépôt distant ou s'installer manuellement en local
  • La fenêtre de consentement est entièrement personnalisable : position, apparition, utilisation d'une feuille de style personnalisée
  • Il prend en compte beaucoup de services web : Google Analytics, Matomo, YouTube, Vimeo, Google map, Pixel Facebook, etc...
  • Il est très simple d'implanter de nouveaux services
  • Il est multilingue
  • Son implantation au sein d'un CMS (WordPress, Drupal, etc...) se fait facilement
  • Il est très simple à maintenir

Pour ma part, j'ai choisi d'installer Discreto manuellement en local. Cela me permet de maitriser les services utilisés et de rendre son intégration maintenable et évolutive.

Pour la première configuration, j'utilise le service en ligne. Ce dernier me permet, par exemple de configurer l'apparence de la fenêtre de consentement.

Discreto : personnalisation de la fenêtre de consentement

Toujours depuis l'interface en ligne, il est possible d'ajouter les différents services utilisés par le site web. Ceux-ci sont classés par catégories : Mesure d'audience, Réseaux sociaux, Lectuers audio / vidéo, etc...

Discreto : configuration des services

Discreto propose de charger la configuration de 3 manières différentes :

  • Dans le code HTML
  • Dans un fichier JSON séparé
  • Dans une balise GTM

Pour ma part, je choisis de générer un fichier de configuration au format JSON (config.json), ce qui me permet de le faire évoluer selon les services utilisés.

{
  "gui": {
    "pos": "banner",
    "logo": false,
    "block": true,
    "hide": false,
    "wait": "50px",
    "css": "/path/to/discreto.css"
  },
  "cookie": {
    "name": "discreto",
    "days": "365",
    "wild": false,
    "path": false,
    "track": false
  },
  "ids": {
    "gtag": "G-XXXXXXXXXX"
  },
  "services": {
    "analytics-anon": {
      "types": ["audience"],
      "anon": true,
      "tag": "gtag",
      "load": "G-XXXXXXXXXX"
    },
    "vimeo": {
      "name": "Vimeo",
      "types": [
        "media"
      ],
      "tag": "nil"
    },
    "youtube": {
      "name": "YouTube",
      "types": [
        "media"
      ],
      "tag": "nil"
    }
  }
}

Il ne reste plus qu'à charger Discreto dans votre page HTML.

<script>
  window.discretoConf="/path/to/config.json";
  (function(d,i,s,c,o){c=d.getElementsByTagName(i)[0];o=d.createElement(i);o.async=true;o.src=s;c.parentNode.insertBefore(o,c)})(document,'script','//repo.discre.to/latest/discreto.min.js')
</script>

Conclusion

Cela fait maintenant plus d'un an que j'utilise Discreto dans mes projets web et je dois avouer que je ne lui trouve aucun défaut.

Techniquement, l'utilisation de nouveaux services se fait très facilement et la création de services personnalisés est assez simple à mettre en place.

Humainement, ses valeurs autour du respect de la vie privée en font un outil totalement en adéquation avec mon éthique de développeur.

Je reviendrai plus longuement sur son intégration avec Drupal dans un article dédié.

Illustration par Discreto

À propos

Laborouge
Développeur basé sur la région de Rouen, je me suis spécialisé dans le développement de site web avec le C.M.S. Drupal.

Ajouter un commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
Cette question sert à vérifier si vous êtes un visiteur humain ou non afin d'éviter les soumissions de pourriel (spam) automatisées.