v0.9.3 Aiguillage
La collecte anonymisée des données d'incident — le cœur statistique du projet — était silencieusement hors service depuis la v0.9.2. Deux problèmes indépendants bloquaient l'envoi vers Google Sheets, sans qu'aucune erreur ne soit visible côté utilisateur. C'est corrigé.
🐛 Corrections critiques
Collecte de données anonymisées
Content-Security-Policy corrigée — la directive CSP de la page autorisait
script.google.com, mais passcript.googleusercontent.com, le domaine vers lequel Google Apps Script redirige systématiquement les requêtes pour exécuter le code serveur. Résultat : le navigateur bloquait la redirection,doPost()n'était jamais exécuté, et aucune donnée n'atteignait le Google Sheet — le tout sans message d'erreur visible. Les directivesconnect-srcetframe-srcincluent désormais les deux domaines.Remplacement de hCaptcha par un anti-spam invisible — le script côté serveur (Google Apps Script) exigeait un token hCaptcha que le formulaire HTML n'envoyait pas, ce qui rejetait silencieusement 100 % des soumissions. Le système de vérification a été remplacé par quatre mécanismes invisibles : champ honeypot, time-trap (temps minimum de remplissage), clé partagée formulaire/serveur, et rate-limiting via CacheService.
🔧 Sous le capot
Code.gs entièrement réécrit — le script Google Apps Script a été refactorisé pour intégrer les quatre mécanismes anti-spam, l'écriture dans l'onglet « Signalements » du Sheet, et l'envoi optionnel d'un e-mail de confirmation multilingue (FR/DE/IT/EN).
Aucun impact côté utilisateur — le formulaire et la génération PDF fonctionnent exactement comme avant. Seul le pipeline de collecte statistique a été réparé.
⚠️ À savoir
Cet outil n'est ni soutenu ni développé par les CFF ou une organisation gouvernementale. Il s'agit d'une initiative journalistique indépendante.
Développé par Mondame Productions.