MousePlayer et le consentement
Les enregistrements de session nécessitent un consentement. Voici comment installer MousePlayer pour que rien ne soit enregistré avant qu’un visiteur ait donné son accord — et comment le prouver ensuite.
Pourquoi le consentement est requis
MousePlayer enregistre les mouvements de souris, les clics, le défilement et les modifications du DOM. Il s’agit d’une observation du comportement au sens du considérant 24 du RGPD et d’un accès à l’appareil du visiteur au sens de l’article 25 TDDDG et de ses équivalents. Cela nécessite un consentement. L’intérêt légitime ne suffit pas.
La charge de la preuve d’un consentement valable vous incombe en tant que responsable du traitement. MousePlayer enregistre donc non seulement qu’un consentement existait, mais aussi d’où venait le signal, quand il est arrivé et quelle configuration était en vigueur à ce moment-là.
Le refus est la règle par défaut. Sans signal, MousePlayer ne crée aucun identifiant de session, n’écrit rien dans le stockage, ne dépose aucun cookie et n’ouvre aucune connexion. Aucun chemin ne mène à « autorisé » après un délai dépassé, une erreur ou une réponse manquante.
1Option 1 — laisser votre outil de consentement bloquer le script
L’extrait de code est intégré avec type="text/plain" et l’attribut de catégorie de votre CMP. Avant le consentement, il n’est pas exécuté du tout. Rien ne peut se produire trop tôt, puisque rien ne s’exécute. C’est la seule option qui ne dépend pas de l’arrivée correcte d’un signal.
| Outil de consentement | Attribut pour la balise script |
|---|---|
| Usercentrics | type="text/plain" data-usercentrics="MousePlayer" |
| Cookiebot | type="text/plain" data-cookieconsent="statistics" |
| OneTrust | type="text/plain" class="optanon-category-C0002" |
| Consentmanager | type="text/plain" class="cmplazyload" data-cmp-purpose="1" |
| Borlabs | data-borlabs-cookie-blocker type="text/template" |
| Complianz | type="text/plain" data-category="statistics" |
<script type="text/plain" data-cookieconsent="statistics">
window.mp_config = {
channel: 'YOUR-CHANNEL-ID',
mode: 'web_only'
};
window.mp = window.mp || function() { (window.mp.q = window.mp.q || []).push(arguments); };
(function(w, d, s, id) {
w.mp_channelid = id;
var f = d.getElementsByTagName(s)[0], j = d.createElement(s);
j.async = true; j.src = 'https://www.mouseplayer.com/mp.js';
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'YOUR-CHANNEL-ID');
</script>Les noms d’attributs changent d’une version majeure à l’autre de ces outils. Vérifiez l’orthographe actuelle dans la documentation de votre CMP — un attribut mal saisi signifie zéro enregistrement, et la panne aura l’air de venir de nous.
2Option 2 — votre propre bannière
Utilisez l’extrait de code standard et informez vous-même MousePlayer. La ligne ci-dessous fonctionne avant comme après le chargement du script ; l’ordre dans votre page n’a donc pas d’importance. Le retrait fonctionne à tout moment — y compris plusieurs minutes plus tard.
Après l’accord du visiteur :
(window.mp_q = window.mp_q || []).push(['consent', true]);
Lors du retrait, à tout moment :
(window.mp_q = window.mp_q || []).push(['consent', false]);
Utilisez toujours la forme (window.mp_q = window.mp_q || []). Un simple window.mp_q = [] remplace le tableau et casse le retrait.
3Option 3 — détection automatique
L’extrait de code standard seul. MousePlayer détecte de lui-même Google Consent Mode v2, l’IAB TCF v2 et sept outils de consentement courants (Consented.eu, Usercentrics, Cookiebot, OneTrust, Consentmanager, Borlabs, Complianz), et respecte sans condition le Global Privacy Control. Ne l’utilisez que là où aucune des options ci-dessus n’est possible : la détection dépend du bon comportement de l’autre outil, et vous ne remarquerez pas quand ce n’est pas le cas.
Ce qui se passe lors du retrait
L’arrêt est immédiat, pas à la fin de la page :
- tous les écouteurs d’enregistrement sont supprimés et les deux observateurs sont déconnectés ; seule l’écoute d’un nouveau consentement subsiste
- tous les minuteurs sont effacés et la connexion est fermée sans reconnexion
- la mémoire tampon est supprimée, pas envoyée — sinon, fermer l’onglet livrerait exactement les données qui viennent d’être refusées
- les identifiants et marqueurs que MousePlayer a stockés dans le stockage local et le stockage de session pour l’enregistrement sont supprimés ; si votre outil de consentement bloque entièrement le script après le retrait, de sorte qu’il ne démarre plus, ils restent en place jusqu’à l’effacement des données du navigateur mais ne sont plus utilisés
- le retrait est signalé au serveur tant que la connexion est encore ouverte, puis enregistré, de sorte que l’événement reste démontrable
Paramètres du projet
Sous Projet → Paramètres → Consentement et régions, vous décidez si le serveur n’accepte les enregistrements qu’avec un signal de consentement (recommandé) ou, dans des régions explicitement autorisées, également sans. Le script lui-même n’ouvre aucune connexion sans signal de consentement ; une autorisation n’assouplit que la vérification côté serveur, pas celle-ci. L’UE/EEE, le Royaume-Uni, la Suisse, le Brésil et le Canada ne peuvent pas être autorisés — la loi y exige un consentement préalable. La région est déterminée côté serveur à partir de l’adresse IP ; l’adresse IP n’est conservée que sous forme tronquée (sans le dernier octet ou bloc), avec le pays.
Ce qui doit figurer dans votre politique de confidentialité
- MousePlayer en tant que sous-traitant, avec la finalité : analyse du comportement d’utilisation au moyen d’enregistrements de session et de cartes de chaleur
- le fait que l’enregistrement nécessite un consentement, et comment les visiteurs peuvent le retirer
- la durée de conservation convenue pour les enregistrements
Une version rédigée existe. Texte de politique de confidentialité pour votre site vous fournit le paragraphe à coller — court et détaillé — ainsi que le tableau pour votre récapitulatif des cookies et les trois endroits où il cesse d’être exact dès que vous modifiez un réglage.
Aucun enregistrement n’arrive ?
- Vérifiez l’attribut de catégorie dans la documentation de votre CMP — un attribut erroné bloque le script en permanence
- Assurez-vous que la ligne de consentement s’exécute avant ou après l’extrait de code, et non dans un bloc qui ne s’exécute jamais
- Le Global Privacy Control dans le navigateur du visiteur l’emporte sur tout « oui », partout dans le monde et sans condition
- Les pages de votre liste d’exclusion ne sont jamais enregistrées, quel que soit le consentement