2.1 KiB
2.1 KiB
tablet-app
App Flutter dédiée aux tablettes fixes (kiosks). Les visiteurs viennent à la tablette — elle ne bouge pas.
Fonctionnement
- Sélection de l'instance via pincode
- Choix d'une configuration à afficher (configurée dans
manager-app) - 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