# language: fr @rgpd @cookies @analytics Fonctionnalité: Cookies et analytics avec Matomo self-hosted # 13.7 - Matomo self-hosted, zéro cookie tiers (souveraineté données) Contexte: Étant donné que je suis un utilisateur de l'application web RoadWave # Liste des cookies utilisés Scénario: Cookies strictement nécessaires - pas de consentement requis Étant donné que j'accède à l'application web Quand je me connecte Alors les cookies techniques suivants sont déposés: | cookie | type | durée | finalité | consentement | | session | Technique | 30j | Authentification | Non requis | | refresh_token | Technique | 30j | Session persistante | Non requis | Et ces cookies sont essentiels au fonctionnement de l'application Et ils sont exemptés de consentement selon l'article 82 de la loi Informatique et Libertés Scénario: Cookie analytique Matomo - consentement requis Étant donné que j'ai accepté le consentement "Analytique" Quand je navigue sur l'application web Alors le cookie `_pk_id` est déposé Et la durée de conservation est de 13 mois Et ce cookie sert à Matomo pour analytics Et mon IP est automatiquement anonymisée (2 derniers octets) Scénario: Refus du consentement analytique - pas de cookie Matomo Étant donné que j'ai refusé le consentement "Analytique" Quand je navigue sur l'application web Alors aucun cookie `_pk_id` n'est déposé Et aucune donnée d'usage n'est collectée Et l'application fonctionne normalement sans analytics # Matomo self-hosted Scénario: Matomo hébergé sur les serveurs RoadWave Étant donné que RoadWave utilise Matomo pour les analytics Quand on analyse l'infrastructure Alors Matomo est installé sur les serveurs RoadWave (Docker) Et aucune donnée n'est envoyée à un service tiers Et toutes les données restent dans l'UE Et l'accès à Matomo est restreint à l'équipe RoadWave Scénario: IP anonymisées automatiquement Étant donné que Matomo collecte des données d'usage Quand une requête est enregistrée Alors l'adresse IP est automatiquement anonymisée Et les 2 derniers octets sont remplacés par des zéros Et une IP 192.168.1.100 devient 192.168.0.0 Et cette anonymisation est irréversible Et elle est conforme aux recommandations CNIL Scénario: Configuration Matomo conforme RGPD Étant donné que Matomo est configuré pour RoadWave Quand on vérifie les paramètres Alors les configurations suivantes sont activées: | paramètre | valeur | | Anonymisation IP (2 octets) | activé | | Respect Do Not Track | activé | | Suppression auto anciens logs (25 mois)| activé | | Géolocalisation IP désactivée | activé | | User ID anonymisé | activé | Et la configuration est RGPD-compliant # Trackers interdits Scénario: Aucun tracker tiers utilisé Étant donné que j'accède à l'application web Quand j'inspecte les requêtes réseau avec les DevTools Alors aucune requête n'est envoyée vers les domaines suivants: | domaine tiers interdit | | google-analytics.com | | facebook.com (Pixel) | | hotjar.com | | mixpanel.com | | segment.io | | amplitude.com | Et toutes les requêtes analytics vont uniquement vers matomo.roadwave.fr Scénario: Conformité zéro cookie tiers Étant donné que j'analyse les cookies déposés sur roadwave.fr Quand je consulte la liste des cookies Alors tous les cookies sont first-party (domaine roadwave.fr) Et aucun cookie tiers (third-party) n'est présent Et cette politique respecte les recommandations CNIL 2020 # Alternative: Plausible (si besoin) Scénario: Alternative Plausible SaaS (EU-hosted) Étant donné que RoadWave pourrait utiliser Plausible au lieu de Matomo Quand on compare les deux solutions Alors Plausible a les caractéristiques suivantes: | caractéristique | valeur | | Hébergement | UE (Allemagne) | | Conformité RGPD | Natif (pas de cookie) | | Coût | 9€/mois (50K pageviews) | | IP anonymisées | Automatique | | Consentement requis | Non (selon CNIL 2020) | Mais Matomo self-hosted reste le choix prioritaire (0€, contrôle total) # Souveraineté des données Scénario: Aucun transfert de données hors UE Étant donné que Matomo est self-hosted Quand on analyse les flux de données Alors aucune donnée d'analytics n'est transférée hors de l'UE Et les serveurs sont localisés en France Et aucun transfert vers les US (pas de Privacy Shield / DPF requis) Et la souveraineté des données est garantie # Coût de la solution Scénario: Matomo self-hosted - coût estimé Étant donné que Matomo est hébergé sur l'infrastructure RoadWave Quand on calcule le coût mensuel Alors le coût est d'environ 5€/mois: | composant | coût | | Serveur supplémentaire | 0€ (mutualisé) | | Base de données MySQL | 0€ (mutualisé) | | Stockage logs (25 mois) | ~5€/mois | | License Matomo | 0€ (opensource) | Et ce coût est marginal comparé à un SaaS tiers (9-50€/mois) # Respect Do Not Track Scénario: Respect du signal Do Not Track (DNT) Étant donné que mon navigateur envoie le header "DNT: 1" Quand j'accède à l'application web Alors Matomo détecte le signal DNT Et aucune donnée d'usage n'est collectée Et aucun cookie `_pk_id` n'est déposé Et l'application fonctionne normalement Et un message discret s'affiche: "Vos préférences de confidentialité sont respectées (DNT activé)" # Suppression automatique des anciens logs Scénario: Logs Matomo supprimés après 25 mois Étant donné que Matomo collecte des données d'usage Quand les logs atteignent 25 mois d'ancienneté Alors un job automatique supprime les anciens logs Et seules les données agrégées (rapports) sont conservées Et les données brutes (logs) sont supprimées définitivement Et cette politique respecte le principe de minimisation RGPD # Métriques collectées par Matomo Scénario: Données collectées par Matomo Étant donné que j'ai accepté le consentement "Analytique" Quand je navigue sur l'application web Alors Matomo collecte les données suivantes: | donnée collectée | anonymisée | | Pages visitées | non | | Durée de visite | non | | Navigateur / OS | non | | Résolution écran | non | | Provenance (referrer) | non | | IP (2 derniers octets) | oui | | User ID (hashé) | oui | Et aucune donnée personnelle identifiable n'est collectée Scénario: User ID hashé pour analytics Étant donné que je suis connecté à l'application Et que j'ai accepté le consentement "Analytique" Quand Matomo enregistre mes actions Alors mon user_id est hashé (SHA-256) Et le hash est 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 Et il est impossible de retrouver mon user_id original depuis ce hash Et ce processus garantit l'anonymat # Conformité CNIL 2020 Scénario: Conformité recommandations CNIL sur les cookies Étant donné que RoadWave utilise Matomo self-hosted Quand un auditeur CNIL vérifie la conformité Alors le système respecte les recommandations CNIL 2020: | recommandation CNIL | respecté | | Consentement requis pour cookies analytics | oui | | IP anonymisées | oui | | Pas de transfert hors UE | oui | | Durée conservation limitée (25 mois) | oui | | Respect Do Not Track | oui | | Transparence (liste cookies dans CGU) | oui | # Tarteaucitron.js - gestion du consentement Scénario: Intégration Tarteaucitron.js pour gérer Matomo Étant donné que Tarteaucitron.js gère les consentements Quand je personnalise mes consentements Alors je vois l'option "Analytique (Matomo)" Et une description est affichée: """ Matomo nous aide à comprendre comment vous utilisez l'application pour l'améliorer. Vos données restent anonymes et ne sont jamais partagées avec des tiers. """ Et je peux activer ou désactiver Matomo indépendamment Et si je désactive, le cookie `_pk_id` est supprimé immédiatement # Application mobile - analytics Scénario: Analytics sur application mobile Étant donné que j'utilise l'application mobile Quand j'accepte le consentement "Analytique" Alors l'app utilise le SDK Matomo Mobile Et les données sont envoyées à la même instance Matomo self-hosted Et les mêmes règles d'anonymisation s'appliquent Et aucun SDK tiers (Google Analytics, Firebase) n'est utilisé Scénario: Refus analytics sur mobile Étant donné que j'ai refusé le consentement "Analytique" sur mobile Quand j'utilise l'application Alors aucune donnée d'usage n'est collectée Et le SDK Matomo est désactivé Et l'application fonctionne normalement sans différence d'UX # Opensource et auditabilité Scénario: Matomo opensource et auditable Étant donné que Matomo est opensource Quand on consulte le code source Alors le code est disponible publiquement sur GitHub Et le code peut être audité par des experts indépendants Et aucune backdoor ou collecte cachée n'est possible Et cette transparence renforce la confiance utilisateur