33 Commits

Author SHA1 Message Date
Thomas Fransolet
d39949a6bd Lunettes Meta, lecteur audio en onglet, et badge de version dans les Parametres
Ce commit boucle le travail en cours sur la branche (assistant lunettes Meta,
passage du lecteur audio flottant a un onglet, ajustements scanner / liste de
configurations / telechargement) et y ajoute le badge de version.

Le badge, en bas de la feuille Parametres, affiche « flavor . version . commit ».
Un APK pose sur une tablette du terrain n'etait rattachable a aucun commit
precis : la version du pubspec ne bougeait pas d'un build a l'autre et rien
n'indiquait le flavor reellement installe. kGitSha suit le meme schema que
kApiBaseUrl, injecte par --dart-define, et kFlavor expose le flavor deja calcule.

package_info_plus etait deja une dependance transitive ; il devient direct,
puisqu'il est desormais importe.

/!\ Un --dart-define modifie n'est PAS pris en compte sans `flutter clean` sur
ce projet : verifie a la sentinelle, le SHA restait absent de libapp.so tant que
le cache Dart n'etait pas vide. Un build de release destine au terrain doit donc
toujours passer par un clean, sinon le badge affiche le SHA du build precedent.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 22:43:53 +02:00
Thomas Fransolet
e9e68942c9 Proactif câblé, M3 fermé, voix du CMS honorée, et trois services morts supprimés
Déclenchement proactif (lot F) — quatre branchements : la garde, le cycle de
vie accroché à VoiceController, les points GPS peuplés depuis la configuration,
et un réglage visiteur.

⚠️ La garde recommandée par le plan aurait coûté de l'argent. _trigger appelle
le LLM d'abord et ne parle qu'ensuite via activeVoiceOrchestrator?.ttsEngine,
dont le ?. avale le cas « aucun mode vocal actif ». Avec proactiveModeEnabled
seul, un visiteur traversant une zone avec l'app en poche et le vocal éteint
consommait des jetons Gemini facturés au client pour une phrase que personne
n'entend. La garde interroge l'orchestrateur : la vraie condition n'est pas
« quel matériel » mais « y a-t-il quelqu'un pour écouter ».

Il n'y avait pas de troisième mode à inventer : VoiceMode.voiceOnly existe déjà
et construit le même orchestrateur que le mode lunettes. Le proactif est donc un
sous-réglage, pas une tuile. glassesEnabled est supprimé, ses trois usages
étaient morts — dont une pastille « Lunettes / Déconnecté » jamais affichée.

M3 — meterZoneGPS devient le rayon par section, la constante n'étant plus qu'un
défaut. Deux pièges de format vérifiés : currentSections porte des maps JSON
brutes, pas des DTO, et latitude/longitude y sont des chaînes.

Voix du guide — le sélecteur Viva/Marco de manager-app écrivait dans le vide :
Instance.GuideVoiceId n'était lu nulle part ici, l'app utilisant une constante
de build dont le défaut était Algieba, une voix que personne n'a écoutée. Même
forme que W1. Et aucun APK ne parlait avec la voix du produit : GeminiTtsEngine
n'est choisi que si GEMINI_API_KEY est injectée, ce qui n'était fait nulle part,
donc repli silencieux sur la voix système. Le repli reste le défaut — les tests
ne coûtent alors ni jetons ni argent — mais il s'annonce dans les logs.

Code mort supprimé : wake_word_service.dart, glasses_qr_scanner_service.dart et
glasses_tts_service.dart, les ancêtres de Services/Glasses/. Ils portaient les 4
erreurs kElevenLabs* et l'APK se construisait quand même, personne ne les
important. flutter analyze lib rend désormais zéro erreur.
⚠️ android/.../WakeWordService.kt est un homonyme bien vivant, non touché.
impl/elevenlabs_tts_engine.dart est conservé comme option.

flutter build apk --debug --flavor dev : vert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 11:57:44 +02:00
Thomas Fransolet
0f2b4ed6bd multi wakeword + misc 2026-07-17 15:23:12 +02:00
Thomas Fransolet
c6526046c8 Working flow also in background ! With custom wakeword working (hey visit and hey viva). flow llm working + take photo (not stored for now) + scan qr code working (need to be tested but the issue was llm config in backend) 2026-06-04 17:00:43 +02:00
Thomas Fransolet
bdabfad92e added launch screen + update in ai chat + notifs (to be tested) + EventAgenda layout (to be tested) + home 3.0 update (event) + event mode layout (to be tested) + guided Path layout (to be tested) + map parcours (to be tested) + update readme 2026-03-25 17:47:10 +01:00
Thomas Fransolet
e8ef78d0e2 Update fix after service generation + need test geoloc ! + need test for connexion with apikey also ! + check where http needed.. need to pass by service generation 2026-03-13 17:43:17 +01:00
Thomas Fransolet
538e677993 Update gradle, remove bluetooth beacon (gralde update etc..) + ai assistant (wip) + stats + layout update + clean repo (remove old release) + link to unique backend generation managerapp (TO BE TESTED) 2026-03-13 15:15:18 +01:00
Thomas Fransolet
b20a112eb2 Map working - (only google, mapContext issue on selected point) 2025-06-19 16:50:28 +02:00
Thomas Fransolet
b7ca69162c Misc, update layout, nice main page + hero to configuration detail 2025-06-05 18:20:48 +02:00
Thomas Fransolet
878a2e4cf0 Wip version 3.0.0 2025-05-28 17:16:18 +02:00
Thomas Fransolet
53dff98388 WIP version 3.0.0 2025-05-28 14:08:32 +02:00
Thomas Fransolet
e5249795f3 update app label 2024-10-17 09:14:22 +02:00
Thomas Fransolet
157fefc2af update icon and instanceId 2024-10-16 14:34:18 +02:00
Thomas Fransolet
cac71cb8a3 Set tomdlf instance 2024-07-07 22:17:34 +02:00
Thomas Fransolet
fb8b564456 update logic from resource in DB to resources in file + others 2024-07-07 20:32:34 +02:00
Thomas Fransolet
14ba287872 Branding MDLF + wip test 2024-07-04 21:04:24 +02:00
Thomas Fransolet
c2ec5d0c0d Add instanceId MyMuseum test 2024-01-15 08:47:47 +01:00
d38cdffe5a Download all languages if admin + show it in admin pop up + add isAllLanguages 2023-04-06 21:56:06 +02:00
d78873c9d4 Clean code + wip handle quizz section type 2023-02-23 18:07:08 +01:00
6d6871e440 Update translations + add language selection on download + beacon update 2023-02-15 16:41:17 +01:00
62fd00d400 Flutter beacon test 2023-01-27 23:19:11 +01:00
c80d5b4a08 Update translations (add play, pause and stop + Uk and Ar) + audio player to just audio update 2023-01-22 17:27:57 +01:00
8e3de47bb9 Trying to fix audioplayer ios 2023-01-17 18:16:00 +01:00
a1836ca76f Add loader charge images + fix logic + update title when langue changed 2022-10-20 18:44:00 +02:00
20543dc883 Replace client endpoint + small fixs 2022-09-29 18:45:23 +02:00
329f9299c5 Translations of common elements + update layout 2022-09-10 23:01:27 +02:00
357fa2f235 Init database, insert and get configuration working, section wip (insert ok but not get) 2022-08-25 18:09:24 +02:00
5ce0ec4f80 Scanner popup + list config + check internet 2022-08-18 18:12:45 +02:00
00a42010b4 Wip Scanner in dialog + route etc 2022-08-12 17:56:54 +02:00
a0d43f56eb add openapi generation + wip scanner.. 2022-08-10 18:02:03 +02:00
d40c8df6a8 Add scanner page + wip navigation 2022-06-30 22:27:54 +02:00
8e9acd5ba1 Build test 2022-06-22 18:57:17 +02:00
693ca9e967 Init MyVisit flutter app 2022-06-12 00:09:39 +02:00