15/11/2024

Matomo et la conformité CNIL – RGPD

Nous venons d’installer Matomo et d’intégrer le code de suivi à notre site Internet. Cependant, cette intégration, bien que fonctionnelle, n’est pas conforme aux obligations de la CNIL. Au-delà du code de suivi, il y a d’autres modifications à opérer.

I. Le code de suivi et l’expiration du cookie à 13 mois

Nous devons modifier le code de suivi pour être conforme. Il est impératif d’ajouter une date d’expiration pour le cookie créé par Matomo, afin de le limiter à 13 mois.

Ce qui nous oblige à ajouter ce bout de code :

<!-- Debut - Obligation CNIL -->
_paq.push([function() {
    var self = this;
    function getOriginalVisitorCookieTimeout() {
        var now = new Date(),
        nowTs = Math.round(now.getTime() / 1000),
        visitorInfo = self.getVisitorInfo();
        var createTs = parseInt(visitorInfo[2]);
        var cookieTimeout = 33696000; // 13 mois en secondes
        var originalTimeout = createTs + cookieTimeout - nowTs;
        return originalTimeout;
    }
    this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() );
}]);
<!-- Fin - Obligation CNIL -->

Il doit être intégré dans le code de suivi existant, mais à n’importe quel endroit ! A titre d’exemple, voici le code de suivi complet afin de vous aider à le positionner correctement :

echo "<script type='text/javascript'>
  var _paq = _paq || [];
<!-- Debut - Obligation CNIL -->
_paq.push([function() {
    var self = this;
    function getOriginalVisitorCookieTimeout() {
        var now = new Date(),
        nowTs = Math.round(now.getTime() / 1000),
        visitorInfo = self.getVisitorInfo();
        var createTs = parseInt(visitorInfo[2]);
        var cookieTimeout = 33696000; // 13 mois en secondes
        var originalTimeout = createTs + cookieTimeout - nowTs;
        return originalTimeout;
    }
    this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() );
}]);
<!-- Fin - Obligation CNIL -->
  /* tracker methods like 'setCustomDimension' should be called before 'trackPageView' */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u='//stats.it-connect.fr/';
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>";

Sur WordPress, vous devrez mettre à jour votre fonction dans « functions.php » comme vu précédemment.

II. Ne plus me suivre

Au sein de votre politique de confidentialité, généralement sur une page dédiée, vous devez intégrer un code Matomo qui indique à l’utilisateur s’il est actuellement suivi ou non par l’outil. Cette intégration doit aussi permettre à l’utilisateur de cliquer pour ne plus être suivi.

Sur votre page de confidentialité, vous devez intégrer cette iframe (en modifiant le nom de domaine):

<iframe
        style="border: 0; height: 200px; width: 600px;"
        src="https://stats.it-connect.fr/index.php?module=CoreAdminHome&action=optOut&language=fr&backgroundColor=efeded&fontColor=&fontSize=15px&fontFamily=PT%20Sans"></iframe>

Vous pouvez personnaliser le design de cette iframe et obtenir directement le code de votre site via l’interface Matomo, dans : Paramètres > Vie privée > Users opt-out

Ce code donne l’aspect suivant :

III. Anonymiser les adresses IP

Conformément aux obligations de la CNIL et afin de respecter le RGPD, vous devez anonymiser les adresses IP récoltées dans Matomo. Fort heureusement, l’application intègre nativement cette option contrairement à Google Analytics.

Pour configurer cette option, accédez aux paramètres, et sous « Vie privée » cliquez sur « Anonymiser les données ». Vous devez ensuite activer l’option « Rendre anonymes les adresses IP des visiteurs » et masquer au moins deux octets (2 byte(s)). L’adresse IP « 50.40.30.20 » deviendra « 50.40.0.0 ».

Le temps que vous y êtes, cochez aussi « Oui » pour l’option « Utiliser les adresses IP anonymisées pour enrichir les visites ».

Plus  bas dans cette page, vous avez la possibilité d’anonymiser les données déjà stockées dans votre base si vous activez cette option alors que vous avez déjà commencé à mesurer l’audience de votre site.

Validez ces nouveaux paramètres, et restez dans le panneau des paramètres.

IV. Prise en charge « Do Not Track »

Les navigateurs récents intègrent la fonctionnalité « Do No Track » ou « Ne pas suivre » en français. Celle-ci, lorsqu’elle est activée indique aux sites que vous visitez qu’il ne doit pas vous suivre, autrement dit ne pas vous tracer. Cette information est fournie dans l’en-tête de la requête http.

Pour montrer votre engagement vis-à-vis du respect de la vie privée de vos visiteurs, vous pouvez activer la prise en charge de « Do Not Track » dans : Paramètres > Vie privée > Users opt-out.

Cette dernière étape n’est pas une obligation, mais elle est recommandée afin de respecter le choix de vos visiteurs. Lecture supplémentaire sur le sujet de la mise en conformité : Matomo et les données personnelles

Dans le prochain chapitre, nous allons aborder un point important : la sécurisation de Matomo.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Matomo et la conformité CNIL – RGPD

  • Bonjour,

    Je vous remercie.

    Ok au niveau des obligations légales pour le I et III.
    Pour le IV comme vous dites, pas d’obligation.
    Pour le II, je ne vois pas non plus d’obligation légale puisqu’aucune donnée personnelle n’est stockée.

    Etes vous d’accord pour le II ?

    Bien cordialement.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.