Webdev & Matomo : assurer un suivi RGPD-compliant

,
webdev 2025, matomo, rgpd

Introduction

Le suivi des utilisateurs sur un site web est une pratique standard, mais elle est encadrée par des exigences strictes en matière de protection des données, notamment depuis l’entrée en vigueur du Règlement Général sur la Protection des Données (RGPD). Dans ce contexte, les solutions de web analytics doivent impérativement respecter la vie privée des utilisateurs, sous peine de sanctions importantes.

Matomo s’impose comme une réponse de choix pour les entreprises soucieuses de leur conformité. Contrairement à Google Analytics, Matomo peut être auto-hébergé, configuré sans cookies, et paramétré pour anonymiser les données, ce qui en fait un outil parfaitement aligné avec les recommandations de la CNIL. Il est même explicitement cité comme alternative RGPD-compliant dans plusieurs guides officiels.

Chez IsiNeva, nous avons choisi Matomo pour cette raison : il allie puissance d’analyse, maîtrise totale des données, et conformité légale. Cet article montre comment l’intégrer dans un projet Webdev de PCSoft, à travers une mise en place Docker sécurisée, et un exemple concret de suivi d’interactions tout en respectant le consentement utilisateur.


Déploiement de Matomo avec Docker et MariaDB

Voici un docker-compose.yml pour déployer Matomo avec une base MariaDB, en tenant compte des bonnes pratiques (dont l’utilisation de secrets Docker pour les mots de passe).

Structure des fichiers

matomo/

├── docker-compose.yml
├── secrets/
│ └── db_root_password.txt
│ └── db_password.txt

Fichier docker-compose.yml


services:
  db:
    image: mariadb:11
    container_name: matomo-db
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
      MYSQL_DATABASE: matomo
      MYSQL_USER: matomo
      MYSQL_PASSWORD_FILE: /run/secrets/db_password
    secrets:
      - db_root_password
      - db_password

  matomo:
    image: matomo:latest
    container_name: matomo-app
    restart: always
    ports:
      - "8080:80"
    depends_on:
      - db
    volumes:
      - matomo_data:/var/www/html
    environment:
      MATOMO_DATABASE_HOST: db
    secrets:
      - db_password

secrets:
  db_root_password:
    file: ./secrets/db_root_password.txt
  db_password:
    file: ./secrets/db_password.txt

volumes:
  db_data:
  matomo_data:

Générer le code de suivi Matomo depuis l’interface d’administration

Avant toute intégration dans un projet Webdev, il est essentiel de récupérer le code de suivi JavaScript unique généré par Matomo pour votre site. Ce code permet de collecter les données de navigation de manière conforme et personnalisée.

Étapes depuis le tableau de bord Matomo

  1. Connexion à l’interface Matomo (ex. https://www.monmatomo.com).
  2. Rendez-vous dans le menu : Administration > Sites Web.
  3. Sélectionnez votre site ou ajoutez-en un nouveau si nécessaire.
  4. Une fois le site créé, cliquez sur le lien Afficher le code de suivi JavaScript.

Vous obtiendrez un extrait similaire à celui-ci :

<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//matomo.mondomaine.local/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

Adaptation RGPD (optionnelle mais recommandée)

Pour respecter le consentement des utilisateurs selon le RGPD, vous pouvez ajouter manuellement cette ligne :

_paq.push(['requireConsent']);

Elle empêche le déclenchement du suivi tant que l’utilisateur n’a pas donné son accord explicite.

Ce code sera ensuite intégré dans Webdev, comme détaillé dans le chapitre suivant.

Intégration du code de suivi Matomo dans Webdev : conformité RGPD assurée

1. Ajout du code JavaScript de Matomo dans le projet Webdev

L’intégration du code de suivi Matomo dans une application Webdev est relativement simple.

  • Ouvrez la description du projet webdev
  • Copiez le code javascript fourni par matomo dans la zone Entete HTML personnalisée

L’option requireConsent permet de ne pas déclencher le tracking sans consentement explicite, en ligne avec le RGPD.

2. Gestion du consentement

Lorsqu’un utilisateur accepte le tracking via une bannière :

_paq.push(['rememberConsentGiven']);

Pour le retirer :

_paq.push(['forgetConsentGiven']);

Création d’une procédure navigateur globale

  • Créer une procédure globale navigateur action_matomo
  • La basculer en javascript
procedure action_matomo

Suivi d’un clic sur un bouton Webdev

Dans Webdev, chaque champ bouton peut contenir du JavaScript dans l’événement « clic navigateur ».

Voici le code JS à insérer dans l’événement JavaScript du bouton :

action_matomo(MoiMême)

Cela permet de tracer précisément l’interaction sans compromettre l’anonymat des utilisateurs.


Des stats à foison : L’or de votre site Matomo

Une fois Matomo bien en place, préparez-vous à une véritable avalanche de données ! C’est là que la magie opère : votre tableau de bord se transforme en une mine d’or, regorgeant d’informations précieuses sur le comportement de vos visiteurs.

tableau de bord matomo

Conclusion : un choix éthique et robuste

Intégrer Matomo avec Webdev permet de bénéficier d’une analyse précise, hébergée en interne et surtout respectueuse du RGPD, un critère désormais central pour les projets de nos clients. Cette architecture garantit une souveraineté complète sur les données et répond aux exigences de transparence imposées par la législation européenne.


Liens externes


Liens internes