55 lines
2.1 KiB
Markdown
55 lines
2.1 KiB
Markdown
# 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` :
|
|
```yaml
|
|
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
|
|
```bash
|
|
flutter run # Lancer sur device/émulateur connecté
|
|
flutter build apk # Build Android
|
|
flutter build ios # Build iOS
|
|
```
|