Pourquoi
L'écosystème Lun' tourne en permanence : sur NAS, serveurs, machines locales. Mais sans interface mobile, il reste invisible dès que tu n'es plus devant un écran.
Lun'Avaritia est ce point d'accès : feed d'alertes depuis Lun'Acedia, chat avec Natsume, notifications push. Deux modes backend switchables depuis l'écran settings, sans rebuild.
Comment
Flutter ≥3.22, Android natif. Architecture feature-first avec découplage strict via abstraction BackendClient : ApiService (Natsume Core, /api/mobile/*) ou LunAcediaClient (/api/chat · /api/events · /api/devices/push-token). ChatProvider et AlertProvider dépendent uniquement de BackendClient : swapper le backend ne touche pas aux providers. FCM pour les notifications push (foreground + background, canaux Android). Chaque release publie un APK debug via CI GitHub (sideloadable sans signing config).
01 BackendClient Abstraction commune : ApiService (Natsume Core) ou LunAcediaClient
02 ChatProvider Chat avec Natsume / AI butler, mood & affinity bar temps réel
03 AlertProvider Feed d'alertes filtrable par source et priorité, swipe-to-dismiss
04 FCM + CI/CD Notifications push Android foreground/background, APK debug sur chaque release
FlutterAndroidFCMDart
GitHub ↗
Où en est-on
Architecture BackendClient abstraite
Mode LunAcedia (défaut)
Chat avec Natsume / AI butler
Feed d'alertes filtrable (source + priorité)
Swipe-to-dismiss, pull-to-refresh
FCM push notifications Android
CI → APK debug sur chaque release
En cours
- Mode Natsume Core (statut émotionnel temps réel)
- Amélioration UX chat (mood · energy · affinity bar)
Ensuite
- Mode offline avec cache local
- Widget Android