tablet-app-new/CLAUDE.md

2.1 KiB

tablet-app

App Flutter dédiée aux tablettes fixes (kiosks). Les visiteurs viennent à la tablette — elle ne bouge pas.

Fonctionnement

  1. Sélection de l'instance via pincode
  2. Choix d'une configuration à afficher (configurée dans manager-app)
  3. Affichage du contenu en boucle pour les visiteurs

Stack

  • Flutter mobile (cible : tablette Android/iOS)
  • State management : Provider + ChangeNotifier
  • MQTT (mqtt_client) pour la communication temps réel avec le backend
  • SQLite (sqflite) pour le cache local
  • Firebase Storage + Core

Client API

Dépendance locale sur le client généré dans manager-app :

manager_api_new:
  path: ../manager-app/manager_api_new

Ne pas copier/dupliquer le client — toujours pointer vers manager-app/manager_api_new.

Structure

lib/
├── api/          # Intégration OpenAPI
├── Components/   # Boutons, carrousels, loaders, players audio/vidéo
├── Helpers/      # DatabaseHelper, DeviceInfoHelper, MQTTHelper, translationHelper
├── Models/       # TabletAppContext, agenda, section, map-marker, WeatherData
├── Screens/      # Agenda, Article, Configuration, MainView, Menu, PDF,
│                 # Map (Google Maps + MapBox + Flutter Map), Puzzle, Quiz,
│                 # Slider, Video, Weather, Web
└── Services/     # assistantService, downloadService, statisticsService

Fonctionnalités non supportées

La tablette étant fixe, certaines features orientées mobilité ne sont pas implémentées :

  • Escape game / parcours géolocalisé — requiert un device mobile qui se déplace
  • Pas de scanner QR, pas de beacons
  • Pas de notifications push

Particularités vs mymuseum-visitapp

  • MQTT activé (synchronisation device ↔ backend)
  • Langues gérées via translationHelper + données backend (même pattern que visitapp)
  • Support cartes : Google Maps, MapBox, Flutter Map

Commandes utiles

flutter run                    # Lancer sur device/émulateur connecté
flutter build apk              # Build Android
flutter build ios              # Build iOS