Un formulaire de contact posé il y a cinq ans a enregistré plusieurs milliers d'entrées, chacune contenant un nom, une adresse électronique, souvent un numéro de téléphone et un message dont le contenu peut être sensible. Personne ne les relit, personne ne les supprime, et elles se retrouvent dans chaque sauvegarde du site. Cette accumulation n'est ni volontaire ni nécessaire : elle résulte simplement du fait que Gravity Forms conserve tout par défaut et que la question n'a jamais été posée. La traiter demande deux heures et consiste à fixer une durée, à mettre en place une purge et à documenter le traitement. Nous ne sommes pas juristes et ce qui suit décrit des pratiques, pas un avis juridique.
Ce que Gravity Forms conserve réellement
Avant de décider quoi que ce soit, il faut savoir ce qui est effectivement enregistré, car le contenu du formulaire n'est qu'une partie de l'ensemble. La création d'un formulaire est décrite dans notre article sur la manière de créer un formulaire avec Gravity Forms.
Les entrées complètes
Chaque soumission produit une entrée contenant la valeur de chaque champ, y compris les champs masqués et ceux remplis automatiquement. Ces entrées vivent dans des tables dédiées, indépendamment des courriels envoyés, ce qui signifie qu'une notification reçue et traitée ne dispense en rien de la présence de l'entrée en base. Beaucoup d'utilisateurs pensent que le formulaire se contente d'envoyer un message, alors qu'il enregistre systématiquement, et cette méconnaissance explique une grande partie des situations que nous rencontrons. Le simple fait d'ouvrir la liste des entrées d'un formulaire ancien suffit généralement à provoquer une prise de conscience immédiate.
Les métadonnées techniques
À chaque entrée s'ajoutent l'adresse réseau de l'expéditeur, la page depuis laquelle le formulaire a été envoyé, l'identification du navigateur, la date et parfois des informations de source de trafic. L'adresse réseau constitue une donnée personnelle et son enregistrement doit être justifié par un besoin réel, généralement la lutte contre les envois automatisés. Elle peut être désactivée dans les réglages du formulaire, ce que peu de personnes font faute de savoir qu'elle est collectée. Lorsqu'un dispositif anti indésirables est en place par ailleurs, cette collecte perd l'essentiel de sa justification.
Les fichiers téléversés
Les champs de téléversement déposent les fichiers dans un répertoire du site, et ces fichiers ne sont pas supprimés lorsque l'entrée est effacée, sauf configuration explicite. Un formulaire de candidature accumule ainsi des curriculum vitae qui restent accessibles longtemps après le traitement de la demande. Ce point mérite une attention particulière car ces fichiers sont parfois accessibles directement par une adresse, ce qui les rend consultables par toute personne connaissant le chemin. Sur un formulaire de candidature, cette situation est particulièrement problématique et mérite une vérification immédiate.
Les notes et les brouillons
Les notes internes ajoutées sur une entrée, ainsi que les soumissions partielles enregistrées lorsque la fonction de sauvegarde et reprise est activée, constituent des données supplémentaires. Les soumissions partielles sont particulièrement discrètes : elles enregistrent ce que le visiteur a saisi avant d'abandonner, y compris lorsqu'il a changé d'avis et n'a jamais validé. Leur conservation est rarement justifiée et leur existence est presque toujours ignorée. La fonction elle même reste utile sur les formulaires longs, à condition d'en régler la durée de conservation séparément.
Les copies dans les courriels
Les notifications envoyées reproduisent le contenu de l'entrée et vivent ensuite dans les boîtes de réception des destinataires, hors de tout dispositif de purge. Cette diffusion parallèle doit être prise en compte : purger la base sans traiter la question des courriels ne fait que déplacer le problème. Limiter le contenu des notifications aux informations réellement nécessaires au traitement est une mesure simple et efficace. Un lien vers l'entrée dans l'administration, plutôt que le contenu complet, constitue souvent le meilleur compromis.
Les sauvegardes
Chaque sauvegarde du site contient l'intégralité des entrées à sa date. Une politique de purge à six mois, associée à des sauvegardes conservées trois ans, produit une conservation effective de trois ans. Ce point est systématiquement oublié et il mérite d'être traité explicitement, en alignant la durée de conservation des sauvegardes sur ce que l'on peut justifier, ou au minimum en le documentant honnêtement. Certaines solutions de sauvegarde permettent d'exclure des tables précises, ce qui offre une réponse technique lorsque la durée ne peut pas être réduite.
| Type de formulaire | Durée courante | Justification |
|---|---|---|
| Contact simple | 6 à 12 mois | Suivi de la relation commerciale |
| Demande de devis | 2 à 3 ans | Prospection et suivi commercial |
| Candidature | Jusqu'à 2 ans avec accord | Vivier de recrutement |
| Inscription à un événement | Jusqu'à l'événement plus 3 mois | Organisation et suivi |
| Réclamation | Durée du traitement plus délais légaux | Preuve et obligations |
| Soumissions partielles | Quelques jours | Reprise de saisie |
| Adresses réseau | Quelques mois | Lutte contre les envois automatisés |

Définir des durées de conservation
La durée ne se fixe pas au hasard et ne se copie pas d'un autre site. Elle découle de l'usage réel des données, et cet exercice est plus rapide qu'il n'y paraît.
Partir de l'usage
La question à poser est simple : combien de temps après réception une entrée sert elle encore à quelque chose. Sur un formulaire de contact, la réponse est généralement quelques semaines, le temps de la conversation. Sur une demande de devis, elle peut atteindre deux ou trois ans, le cycle de décision de certains projets étant long. Cette réponse, donnée par l'équipe commerciale et non par l'équipe technique, constitue la base de la durée retenue. Il vaut mieux retenir une durée un peu généreuse et la respecter qu'une durée courte que l'on ne tiendra pas.
Une durée par formulaire
Un site comporte souvent cinq à dix formulaires aux finalités très différentes, et leur appliquer une durée unique conduit soit à conserver trop, soit à supprimer trop tôt. Une durée par formulaire, décidée en une réunion d'une heure, résout la question. Ce tableau constitue en outre l'essentiel de la documentation exigée, ce qui en fait un livrable doublement utile. Il doit être relu à chaque ajout de formulaire, moment où la question se pose naturellement.
Distinguer conservation et archivage
Certaines données doivent être conservées pour des raisons de preuve ou d'obligation comptable bien au delà de leur utilité opérationnelle. Ces données n'ont pas à rester dans les entrées du formulaire : elles peuvent être exportées vers le système qui en a besoin, comptabilité ou gestion de la relation client, et supprimées de la base du site. Cette séparation entre le site et les systèmes métier est la bonne façon de traiter la question. Elle évite de faire du site un entrepôt de données qu'il n'a pas vocation à être et qu'il protège moins bien.
Le cas des candidatures
Les données de recrutement suivent des règles particulières, avec une durée liée à la fin du processus et une possibilité de conservation plus longue si la personne y consent explicitement pour intégrer un vivier. Cette distinction doit apparaître dans le formulaire lui même, par une case à cocher distincte du reste. Sans elle, la conservation prolongée n'a pas de fondement, et le sujet est particulièrement suivi par les autorités. La case doit être décochée par défaut et son libellé doit indiquer clairement la durée de conservation envisagée.
Les informations sensibles
Un formulaire recueillant des informations relatives à la santé, aux opinions ou à la situation personnelle relève d'un régime nettement plus strict, avec des exigences renforcées sur la base légale, la sécurité et la durée. Sur ces formulaires, la conservation dans la base du site doit être évitée autant que possible, la notification par courriel chiffré vers un destinataire unique constituant souvent une meilleure solution que l'enregistrement. La désactivation de l'enregistrement des entrées est possible formulaire par formulaire et mérite d'être envisagée dans ces cas précis.
Documenter la décision
Le tableau des durées, avec pour chaque formulaire sa finalité, sa durée et sa justification, doit être écrit et conservé. C'est ce document que l'on présente en cas de contrôle et que l'on relit lors de l'ajout d'un formulaire. Il s'inscrit dans le registre plus large décrit dans notre article sur le RGPD et la conformité d'un site. Une page suffit pour un site ordinaire, et sa rédaction est nettement plus rapide que ce que l'on imagine avant de s'y mettre.
Mettre en place la purge automatique
Une politique de conservation qui repose sur une suppression manuelle n'est pas une politique. L'automatisation est la seule façon d'obtenir un résultat durable.
Le réglage natif
L'extension propose, dans les réglages de chaque formulaire, une option de conservation permettant de supprimer ou d'anonymiser automatiquement les entrées au delà d'un nombre de jours défini. C'est le moyen le plus simple et il suffit dans la majorité des cas. Ce réglage doit être posé formulaire par formulaire, ce qui prend deux minutes chacun, et vérifié après chaque mise à jour majeure de l'extension. Le réglage se trouve dans les paramètres du formulaire et non dans les réglages généraux de l'extension, ce qui explique qu'il passe souvent inaperçu.
Supprimer ou anonymiser
La suppression retire l'entrée entièrement, l'anonymisation conserve la ligne en remplaçant les données personnelles par des valeurs neutres. La seconde option présente un intérêt réel lorsqu'on souhaite conserver des statistiques de volume, de source ou de taux de complétion sans conserver les personnes. Elle demande de vérifier que tous les champs identifiants sont bien traités, y compris les champs libres où le visiteur peut avoir écrit son nom. Un contrôle sur un échantillon d'entrées anonymisées suffit à valider que le traitement fait bien ce qu'on attend de lui.
Traiter les fichiers joints
La suppression d'une entrée ne supprime pas nécessairement les fichiers téléversés associés. Un réglage existe pour cela et doit être activé explicitement. À défaut, un script de nettoyage comparant les fichiers présents aux entrées existantes permet de retrouver les orphelins, opération qu'il vaut mieux mener une première fois manuellement sur un site ancien, tant le volume accumulé peut être important. Sur un site ancien, ce répertoire dépasse fréquemment plusieurs gigaoctets sans que personne ne s'en soit aperçu.
Vérifier l'exécution
La purge s'appuie sur le mécanisme de tâches planifiées de WordPress, qui se déclenche au passage d'un visiteur. Sur un site peu fréquenté, elle peut donc ne pas s'exécuter comme prévu. Un contrôle mensuel du nombre d'entrées les plus anciennes suffit à s'assurer que le dispositif fonctionne, et sa mise en place vaut mieux que la confiance accordée à un réglage jamais vérifié. Sur un serveur dont on dispose, le déclenchement par une tâche système supprime définitivement cette incertitude.
Le cas des soumissions partielles
Les soumissions partielles disposent de leur propre réglage de conservation, distinct de celui des entrées complètes. Leur durée doit être très courte, quelques jours suffisant à couvrir la reprise de saisie. Ce réglage est différent du principal et il est presque toujours oublié, ce qui laisse accumuler des données que le visiteur n'a jamais validées, situation particulièrement difficile à justifier. Une durée de sept jours convient à la quasi totalité des usages et se règle en quelques secondes.
Traiter l'existant
La mise en place de la purge ne traite que l'avenir. Les entrées accumulées avant son activation doivent être traitées séparément, par un export si certaines ont une valeur, puis une suppression en masse. Cette opération doit être précédée d'une sauvegarde et menée par lots sur les volumes importants, l'interface supportant mal la suppression de dizaines de milliers d'entrées en une fois. Un traitement en ligne de commande, par lots de quelques milliers, reste la méthode la plus sûre sur les volumes importants.
Part des sites concernés par chaque situation lors d'une reprise. Le premier point se corrige en deux minutes par formulaire dans les réglages de l'extension.
Les autres obligations à traiter
La durée de conservation n'est qu'une partie du sujet, et les autres points se traitent avec le même effort.
Informer au moment de la collecte
Le formulaire doit indiquer qui traite les données, pour quelle finalité, pendant combien de temps et comment exercer ses droits. Une phrase courte sous le formulaire, renvoyant vers une page détaillée, suffit. Cette mention est obligatoire et son absence est le manquement le plus visible, puisqu'il se constate en regardant simplement le formulaire. La mention doit être visible sans avoir à ouvrir un autre document, et rédigée en termes compréhensibles.
Ne demander que le nécessaire
Chaque champ doit être justifié par un usage réel. Un formulaire de contact demandant l'adresse postale, la date de naissance ou la civilité collecte des données dont personne ne se sert. Retirer ces champs améliore le taux de complétion et réduit le périmètre à protéger, double bénéfice qui rend cette révision particulièrement rentable, comme nous l'évoquons à propos du formulaire de contact avec Gravity Forms. Chaque champ retiré est aussi un champ de moins à traiter en cas de demande d'accès.
Répondre aux demandes d'accès
Une personne peut demander une copie de ses données ou leur suppression. L'extension propose des outils d'export et de suppression par adresse électronique, intégrés aux mécanismes de WordPress prévus à cet effet. Les avoir identifiés à l'avance permet de traiter une demande en quelques minutes plutôt que de découvrir la question dans l'urgence, avec un délai de réponse qui court. Une procédure d'une demi page, indiquant où cliquer et quoi vérifier, suffit à rendre ces demandes triviales à traiter.
Sécuriser l'accès aux entrées
La consultation des entrées doit être réservée aux rôles qui en ont besoin. Par défaut, plusieurs rôles y ont accès, ce qui est rarement souhaitable. Un réglage de capacités permet de restreindre cette consultation, et il mérite d'être posé au même moment que les durées de conservation, dans le même mouvement de mise en ordre. Il faut également penser aux comptes des prestataires, qui disposent parfois d'accès dont plus personne ne se souvient.
Protéger le répertoire de téléversement
Les fichiers déposés par les formulaires doivent être placés dans un répertoire non accessible directement par une adresse. L'extension prévoit ce comportement mais il doit être vérifié, une configuration de serveur particulière pouvant le contourner. Le test consiste à tenter d'ouvrir un fichier déposé depuis un navigateur en navigation privée, contrôle d'une minute qui devrait figurer dans toute recette de site. Il doit être refait après chaque changement d'hébergement, la configuration du serveur pouvant différer.
Reprendre l'ensemble une fois par an
Les formulaires se multiplient, les usages changent, les réglages dérivent après les mises à jour. Une revue annuelle passant en revue chaque formulaire, sa durée, son réglage de purge et ses champs remet l'ensemble en cohérence. Elle prend une demi journée sur un site ordinaire et constitue le meilleur moyen d'éviter la situation décrite en introduction, où l'on découvre cinq ans d'accumulation sans que personne n'ait jamais rien décidé. Programmer cette revue à date fixe, plutôt que de compter sur une bonne résolution, est ce qui fait la différence entre un dispositif tenu et un dispositif abandonné. Elle se planifie utilement au même moment que la revue des accès administrateurs, les deux exercices relevant de la même discipline et se traitant dans la même heure.
💬 0 commentaires
✍️ Laisser un commentaire
Créez un compte gratuit ou connectez-vous pour commenter.