incubateur-ademe / nosgestesclimat-site

Estimez votre empreinte climat - le code du site
https://nosgestesclimat.fr
MIT License
70 stars 40 forks source link

NGC : mode sondage #402

Open Clem-mrtn opened 2 years ago

Clem-mrtn commented 2 years ago

Les points d'alertes :

Next steps :

fjg commented 2 years ago

Pouvoir filtrer pour restreindre la diffusion/participation :

Pouvoir exporter les résultats dans un fichier CSV/ODS/XLSX.

laem commented 2 years ago

Voir #231 pour l'historique. Je mets ici mes derniers avancements.

Tech

Pour collecter les données, je vois 2 solutions techniques :

utiliser matomo

Un paramètre dans l'URL de fin -> on récupère via l'API les requêtes avec un certain paramètre -> dashboard en direct ou précalculé sur un serveur. Risque : un peu compliqué, pas temps réel, on stocke tout en clair dans matomo (tout le monde peut accéder au sondage de tout le monde, ce qui me semble OK a priori).

Mise à jour : après discussion avec quelqu'un qui a le même sujet, il semble compliqué de faire ça via matomo : on risque d'être limité sur la récupération des lignes brutes du sondage, Matomo bloquera genre à 5000.

Autre point problématique : pas facile sur le matomo de prod de faire une remise à zéro, chose complètement anodine sur une base de données dédiée, au moins en phase de test.

Utiliser une base de données classique

Pour que sondage soit vraiment le miroir non éphémère de conférence, avec le même côté temps réel super agréable en conférence pour les organisateurs comme les utilisateurs.

Une question importante est le traitement qu'on fait des données : est-ce qu'on peut tout balancer au client qui lui va afficher les données dans le dashboard ? S'il y a 1000 sondés, sans aucun problème. S'il y en a 100 000, c'est probablement faisable aussi, mais on aura un problème sur la visualisation des résultats et peut-être l'utilisation de yjs.

On sait jamais, ça peut nous convenir pour une v1 avec très peu d'adaptation du code actuel :)

Ça fonctionne avec HOST=localhost PORT=1234 YPERSISTENCE=./database npx y-websocket.

Où héberger ce serveur ? Un simple serveur nodejs sur clevercloud devrait suffir. Le "backend" serait donc la visualisation des résultats. Il est probable que ce système soit une passoire de sécurité, mais rien de grave pour une beta.

Légal

Il nous faut investiguer les obligations que l'on a en stockant de telles données. Explorer l'exception "production de statistiques publiques" nous permettant peut-être de passer outre l'obligation de laisser la possibilité à l'utilisateur de demander une suppression de sa réponse, ce qui impliquerait un système d'authentification au moins partiel.

Question apriori assez séparée du côté tech.

laem commented 2 years ago

Travail commncé sur #420

Clemog commented 2 years ago

Est ce qu'on peut fermer cette issue ? Je ne me souviens plus si il reste des actions autour des docs sur la RGPD ?