Les 5 fiches pratiques pour la conformité RGPD de votre site Web sous Drupal 8

Chapeau
Le RGPD (Règlement Général pour la Protection des Données à caractère personnel) est apparu afin que les usagers (consommateurs) de services notamment les internautes reprennent le contrôle de leurs données personnelles. Cela représente un défi pour la mise en conformité de toutes les applications de collecte de données que ce règlement pointe du doigt à juste titre. Si vous êtes un fervent défenseur de projets Open Source (ou pas), si votre site d’entreprise utilise le système de gestion de contenu (aka CMS) Drupal 8, que vous ayez en charge la gestion de formulaires, de mentions légales, de cookies statistiques et réseaux sociaux, dans cet article nous (re)passons en revue sur les cinq actions majeures pour la mise en conformité.
Champ média image
Media Image
Droits d'auteur
BOSSTEK

Historiquement, les grands acteurs du Web ont mis en place différentes techniques pour mesurer l’utilisation de leurs sites Web, récoltant au passage un grand nombre de données personnelles à l’insu de l‘utilisateur ; puis la diversité, l’abondance et la fraîcheur de cette masse de données a créé une nouvelle valeur marchande. Certes une grande partie des sites Web n’usent pas de ces pratiques, très probablement le vôtre non plus, mais vous êtes pourtant en obligation de vous mettre en conformité. Dans le cas contraire, c’est la sanction. Pour s’en préserver, se mettre en conformité avec le règlement ne nécessite pas forcément de déployer des moyens coûteux ou complexes. Les logiciels libres tels que Drupal ou phpList se sont rapidement mis en conformité. Nous suggérons dans cet article 5 actions pratiques pour mettre un site Web Drupal 8 au diapason.

 

Le RGPD : pourquoi ?

Le Règlement Général sur la Protection des Données (RGPD) a été appliqué le 25 mai 2018. Tous les sites Internet européens ont dû se mettre à jour sous la menace de ce nouveau règlement. Les sites à fortes audiences,  notamment ceux des GAFA*, chacun d’entre eux a développé sa propre stratégie. Les uns fournissent les liens expliquant comment gérer les cookies utilisateurs soi-même à l’aide des paramètres du navigateur. Les autres proposent une personnalisation des cookies à l’aide d’une interface dédiée. D’autres encore ont choisi simplement de mettre à jour leurs conditions d’utilisation.

Les grands du Web profitent du fort trafic sur leurs sites pour monnayer leurs données collectées certes en échange de leurs services "gratuits". Mais ils donnent accès à ces données à une collection d’autres sites tiers en insérant des scripts de suivi dans leurs pages Web. Le business model de ces tiers invisibles de l’internaute est basé sur l’analyse et le croisement des données utilisateurs. Ils établissent ainsi un profil pour chaque visiteur afin que leurs clients puissent mieux connaître les habitudes de chacun et adapter leurs campagnes marketing, tout cela à l’insu de leurs utilisateurs. C’est l’objet du RGPD, du moins une facette très importante : que l’utilisateur reprenne la main sur ses données personnelles collectées et leurs usages.

Dans les prochains paragraphes, nous ne prétendons pas expliquer les textes de lois de façon exhaustive. Nous partageons le résultat de nos recherches pour la mise en conformité d’un site avec Drupal 8.


1 – La collecte de données par les formulaires

Les formulaires sont le point d’entrée des données utilisateurs. Ils prennent le plus souvent les formes suivantes : formulaire de contact, inscription à une newsletter, demande de devis, candidature à une offre d’emploi, inscription à un événement, etc.

Ces données, leurs traitements et leurs conservations doivent désormais faire l’objet d’un traitement et d’une gestion réglementée. Le visiteur fournissant ces informations doit être informé du cadre d’utilisation, de la durée de conservation et des modalités d’accès qui lui sont proposées. Toute entreprise collectant ces informations doit être en mesure de les restituer, fournir un moyen de les modifier et de les supprimer.

L’article 6 du RGPD précise « Le traitement n’est licite que si la personne concernée a consenti au traitement de ses données à caractère personnel pour une ou plusieurs finalités spécifiques ». Pour être plus détaillé et pragmatique, voilà ce qu’il faut en comprendre : l’acte de consentement doit être clair, aucune interprétation ne doit être possible. En pratique, la formulation doit être positive (pas de négation). Le consentement doit être recueilli par une action positive. L’opt-in (option non présélectionnée) est obligatoire. Dans le cas d’une inscription à une newsletter, le double opt-in est fortement conseillé par exemple. Une case pré-cochée (opt-out) n’est plus valide. Il faut expliquer clairement comment rompre le consentement. Le droit à l’oubli fait également partie du RGPD. Indiquer la durée de rétention des informations à proximité immédiate du formulaire est un bon moyen de répondre à cette obligation.

Selon la manière dont a été développé votre site Web, les formulaires peuvent être principalement de trois formes : intégrés depuis une application tierce, créés à l’aide d’un module de type Webform, développés à l’aide d’un module « fait maison ». Nous ne traiterons pas cette dernière possibilité. Dans le premier cas (application tierce), nous avons choisi PhpList, une application Open Source. Nous l’abordons dans le point n°5. Pour adapter la majorité des autres formulaires, nous recommandons l’utilisation du module Webform. Module historique de la communauté Drupal, il est très polyvalent et permet toutes sortes de traitements des formulaires.

Pour la mise en conformité RGPD, notre choix a été d’ajouter une case à cocher accompagnée d’un texte explicatif spécifique à chaque formulaire. L’intérêt d’utiliser Webform est qu’il est possible de facilement exporter / importer la configuration d’un formulaire au format YAML*. Pour cela aller à l’URL : /admin/structure/Webform/manage/[nom_machine_du_formulaire]/source

Le code correspondant à une case à cocher a la forme suivante :

[nom de la case à cocher au format machine. Par exemple: je_donne_mon_consentement]:
  '#type': checkbox
  '#title': '[Donner ici un titre à la case à cocher. Par exemple: Je donne mon consentement]'
  '#description': '<span>[insérer ici le message spécifique au formulaire auquel il est rattaché]</span>'
  '#description_display': before
  '#required': true

Un exemple de texte pour un formulaire de contact :

Les informations recueillies sur ce formulaire sont enregistrées dans un fichier informatisé par [ma société] uniquement pour vous contacter en retour. Elles sont conservées pendant une durée maximale de 24 mois et sont destinées au service concerné par votre demande. Conformément à la loi « informatique et libertés », vous pouvez exercer votre droit d’accès aux données vous concernant et les faire rectifier à tout moment. Pour savoir comment, veuillez vous reporter à [(lien vers) notre politique de confidentialité].

 

2 – Le devoir d’information : les mentions légales et politique de confidentialité

Nous l’évoquions plus haut, il est nécessaire d’adapter les mentions légales et la politique de confidentialité. Il s’agit là d’aborder principalement deux points : la gestion des informations issues des formulaires et la gestion des cookies.

Un deuxième grand volet du RGPD est la gestion des données en interne (cartographie, responsable de traitement, lieux de stockage, etc.). Vous pouvez trouver toutes les informations nécessaires sur le site de la CNIL*. Dans cette mise à jour de votre politique de sécurité, l’objectif est de décrire de façon claire la gestion du cycle de vie des données issues des formulaires. C’est également là qu’il faut expliquer à l’internaute ses moyens d’action sur ses données et comment les mettre en œuvre. Il est conseillé de proposer plusieurs moyens d’entrer en contact pour effectuer les demandes.

Le principal moyen pour un site Web de se « souvenir » d’un visiteur, surtout s’il est anonyme est l’utilisation des cookies. Même à des fins de statistiques non nominatives, leurs utilisations sont sujettes à une déclaration dans les mentions légales. Cette déclaration n’est pas nouvelle. Cependant, elle évolue dans sa mise en œuvre. La réglementation impose désormais de fournir un moyen à l’internaute de décider des cookies qu’il accepte. Les mentions légales doivent donc détailler ce fonctionnement : expliquer clairement l’utilisation et la finalité de chaque cookie, ainsi que la démarche à suivre pour s’opposer à leur utilisation. Dans le cas où l’utilisateur changerait d’avis, il faut lui indiquer comment gérer ses préférences de navigation. Pour cela, il est admis de fournir une liste de liens (sites tutoriels, documentation des navigateurs, etc.).

 

3 – Les cookies et Google Analytics

La communauté Drupal propose plusieurs solutions sous forme de modules. On peut citer « General Data Protection Regulation » et « eu cookie compliance ». Cependant, ils ne gèrent pas les cookies, et ne sont pas tous suffisamment stables pour un site en production.

Si vous n’utilisez pas d’autres cookies que ceux de Google Analytics, nous recommandons d’utiliser le script JavaScript fourni par la CNIL (Tag_google_analytics.js sur GitHub)

L’intégration du script est très simple. Plusieurs méthodes existent, nous avons utilisé celle du thème :

  1. ajouter le fichier dans le dossier du thème contenant les autres JavaScript
  2. le déclarer dans montheme.info.yml et montheme.libraries.yml
montheme.info.yml
libraries:
- montheme/rgpd

montheme.libraries.yml
rgpd:
  version: 1.x
  js:
    js/Tag_google_analytics.js: {}

Dans le cas de la gestion de plus de services, la CNIL fournit une liste de sites proposant des solutions de gestion centralisée.
https://www.cnil.fr/fr/solutions-centralisees-de-recueil-de-consentement-aux-cookies-les-gestionnaires-de-tag

 

4 - Boutons de partages sociaux

Les partages sociaux et autres plugins comme l’affichage de flux, les commentaires Facebook, la lecture de vidéos, etc., tous ces boutons sont liés à des cookies. Il faudra les gérer ou au minimum sensibiliser l’utilisateur dans les mentions légales avant même qu'ils ne soient cliqués. Les sites ont différentes stratégies pour malgré tout effectuer un suivi. Le simple fait qu’une librairie JavaScript soit téléchargée au travers d’un réseau de diffusion de contenu (CDN) peut donner lieu à une première trace.
La solution que nous avons retenue pour les boutons de partage est le module Shariff Sharing Buttons.

Il s’appuie sur la bibliothèque JavaScript Open Source Shariff. Elle protège les utilisateurs du code potentiellement intrusif des boutons officiels en le remplaçant par un code ouvert et focalisé sur la fonctionnalité uniquement.

 

5 – Listes de diffusions et applications tierces

Il existe beaucoup de services de gestion de newsletter. Mailchimp par exemple a un module Drupal dédié. Le module Simplenews permet la gestion directement dans l’interface du CMS. Une troisième solution est d’utiliser une application tierce. PhpList est une application Open Source de gestion de listes de diffusion et d’envoi de mail en masse. La dernière version parue récemment a été améliorée par de nouvelles fonctionnalités facilitant la conformité au RGPD.

Lors de l’inscription à une liste de diffusion, le double opt-in sera employé. Une case à cocher dédiée au RGPD est fournie par défaut et est activable dans l’interface. Il ne reste plus qu’à adapter le texte accompagnant le formulaire et éventuellement compléter les informations dans les mentions légales.

L’intégration Drupal peut se faire d’une multitude de manières :

  • un lien qui pointe directement sur la page d’inscription de phpList ;
  • un copié-collé du formulaire de phpList dans un bloc Drupal ;
  • un formulaire Webform avec un attribut « action » pointant vers l’URL de phpList ;
  • un module Drupal « fait maison » ;
  • une combinaison de ces solutions. Par exemple : un formulaire Webform classique qui, après enregistrement de l’inscription dans Drupal, posterait les informations du formulaire à phpList par l’intermédiaire de l’API REST.

 

Le RGPD est une grande nouveauté pour tous et représente un coût de gestion supplémentaire pour l’entreprise. Il est admis par les autorités que dans un premier temps les sociétés fassent leur maximum pour la mise en conformité. C’est un processus qui peut être très long. Une des plus importantes problématique est la gestion des données en interne. La cartographie et la gestion de la durée de conservation en sont les composantes majeures. À l’échelle d’un site Web, la mise en œuvre est relativement plus aisée comme nous l’avons vu. Cependant, la dimension légale n’est pas forcément à la portée de tous. Les services d’un avocat spécialisé pourrait être nécessaire dans les cas sensibles. La communauté Drupal propose de plus en plus de solutions pour la mise en œuvre de la conformité sous tous ses aspects. Certains modules proposent un best effort d’ici à ce que les efforts de tous aient permis de finaliser toutes les fonctionnalités. D’autres proposent une solution complète mais malheureusement pas encore prête pour un environnement de production au moment où cet article est rédigé. À l’heure actuelle, beaucoup de sites ont appliqué la loi selon leurs interprétations du règlement, leurs objectifs et stratégie de marketing. Effectivement, la conformité la plus stricte bouscule les pratiques marketing. Elle peut représenter un frein dans la découverte de nouveaux clients et redéfinit les critères de transparence dans le processus d’acquisition.

Au delà des contraintes fortes du règlement soumises aux fournisseurs de service, gardons à l’esprit qu’il est avant tout question de gagner (ou de conserver) la confiance des usagers et des consommateurs lorsqu’ils acceptent de nous confier leurs données personnelles, bien montrer que nous n'en disposons pas sans leurs consentements.

Gardez un œil sur les actualités Open Source et sur BOSSTEK !

 

* GAFA : Google, Apple, Facebook et Amazon
* YAML : Yet Another Markup Language (ou YALM Ain't Markup Language)
* CNIL : Commission nationale de l'informatique et des libertés

 

laurent.bach
mar 2019

Newsletter

Restez informé ! Abonnez-vous à notre newsletter

Votre adresse de messagerie est uniquement utilisée pour vous envoyer notre lettre d'information. Vous pouvez à tout moment utiliser le lien de désabonnement intégré dans la newsletter.