6 Commits

Author SHA1 Message Date
Thomas Fransolet
82cb4cff3e Stats : lire voiceSessions, et l'aperçu cesse de polluer le rapport du client
_voiceSessions lisait appTypeDistribution['Voice'], qui ne se serait jamais
rempli : le vocal est un mode d'interaction, pas une plateforme. Le serveur
expose désormais « sessions ayant utilisé le vocal », qui est vrai.

Et l'aperçu de conversation du Guide IA journalisait chaque essai comme une
question de visiteur : le gestionnaire qui testait sa personnalité polluait son
propre onglet « Ce que demandent vos visiteurs » et gonflait le bloc des
questions sans réponse. isVisitorQuestion: false.

manager_api_new étendu à la main (voiceSessions, renommage isVisitorQuestion).
flutter analyze lib sans erreur, flutter build web vert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 14:32:55 +02:00
Thomas Fransolet
bb4d4fe2d5 Écran Statistiques refondu + Guide IA + onboarding (auth, abonnement) + i18n FR/EN/NL
Statistiques — refonte complète, aucun changement backend
  statistics_screen.dart réécrit (+1832) : barres horizontales monochromes à la place
  des barres verticales tronquées et des deux anneaux, barre de filtres unique avec les
  volumes par canal, règle mono-canal, 4 KPI portant chacun leur variation, bandeau
  « à retenir », courbe en aire avec bandes de week-end. La période précédente s'obtient
  en rappelant le même endpoint.
  statistics_report.dart : export PDF généré côté client (paquet pdf Dart), il partage
  les valeurs calculées de l'écran — un chiffre ne peut pas diverger entre l'écran et le
  document envoyé à la commune. Deux puces du sommaire promettaient des données
  inexistantes (parcours terminés, questions au guide IA), retirées.
  ⚠️ Jamais ouvert dans un navigateur. Cases de test : test-plan.md §8bis / §8ter.

Guide IA
  Screens/GuideIa/guide_ia_screen.dart — onglet Configuration. Menu conditionné à
  isAssistant, le même drapeau que la garde d'AiController. L'onglet « Ce que demandent
  vos visiteurs » n'est pas dans ce commit : le schéma backend est prêt, l'UI non.

Onboarding self-service
  Screens/Auth/ (mot de passe oublié, définition du mot de passe),
  Screens/Billing/subscription_screen.dart, ai_quota_hint.dart.
  ⚠️ Aucun parcours joué de bout en bout — test-plan.md §18.

Parcours guidés
  progression_mode.dart : 9 booléens sur 3 niveaux remplacés par 3 questions.
  Popups GuidedPath / GuidedStep / QuizQuestion mises à jour en conséquence.

Client API (manager_api_new) — édité À LA MAIN, ne pas relancer la génération
  onboarding_api.dart, authentication_api.dart (+80), instance_dto (champs Guide*),
  guided_step / quiz_question_guided_step (flags morts retirés).
  Le // @dart=2.18 manquant dans onboarding_api.dart cassait les 3 apps Flutter d'un
  coup — corrigé ici.

i18n : ~180 clés par langue (FR/EN/NL) + fichiers générés.
Tests : progression_mode_test, statistics_report_test (le second a attrapé deux
plantages qui seraient sortis au premier clic).

flutter build web . flutter analyze : 68 erreurs, toutes dans les fichiers modèle
orphelins de manager_api_new — dette connue, pas une régression, ces fichiers ne sont
pas dans le graphe de compilation.
2026-08-09 22:14:37 +02:00
Thomas Fransolet
205f1ec933 Misc 2026-05-09 00:23:04 +02:00
Thomas Fransolet
0059582e9f Multi langues + Assign plan dialog + display quotas + translator IA 2026-04-10 17:17:49 +02:00
Thomas Fransolet
634fd8d4d7 missing file stat screnn 2026-03-25 17:41:42 +01:00
Thomas Fransolet
b9ab5238ba Add stat screen (wip) to be tested + ia assistant activation for mobile (todo add to tablet) + SERVICE GENERATION 2026-03-13 15:07:39 +01:00