DOCS/kanban/done/010-purge-du-journal-d-audit-mention-dans-visitap.md
2026-09-03 14:00:51 +02:00

7 lines
1.7 KiB
Markdown

---
title: Purge du journal d'audit, mention dans visitapp-web, et <code>_toLangCode</code> dédoublonné
---
<span>⚠️ <strong>La purge d'<code>AuditLog</code> avait été oubliée</strong> à la première passe du lot J, alors que le plan l'y assignait explicitement. <code>AuditLog</code> porte un <code>UserId</code>, et les valeurs avant/après d'une modification de <code>User</code> contiennent e-mail, prénom et nom — <strong>conservés sans limite</strong>, quand <code>VisitEvent</code> purge à 13 mois et <code>VisitorQuestion</code> à 90 jours. <strong>12 mois, uniforme</strong> ; pas 13, les 13 mois des stats servent à comparer une saison à la précédente et les recopier serait du mimétisme — un test fige l'écart. Inerte tant qu'<code>Audit:RetentionDays</code> n'est pas défini : pas de pg_dump, pas de suppression.</span>
<span>⚠️ <strong><code>ExecuteDeleteAsync</code> n'est pas traduisible par le provider InMemory</strong> : la suppression se teste contre un vrai Postgres. L'écrire en chargeant les lignes puis <code>RemoveRange</code> l'aurait rendue testable en mémoire au prix de charger un an de journal — dégrader le code de production pour satisfaire un provider de test.</span>
<span><strong>Mention visiteurs dans <code>visitapp-web</code></strong>, panneau dépliable dans l'en-tête de l'assistant, même texte que l'app mobile. <strong><code>_toLangCode</code> était copié trois fois</strong> et la décision « FR/NL/EN/DE seulement » n'était écrite que dans une copie : les deux autres ressemblaient à un oubli qu'on aurait « corrigé » en ajoutant des langues, produisant un support partiel silencieux. Une seule copie désormais, une seule décision.</span>