🏗️ Aperçu de l'architecture du SDK
Le SDK Azeoo est un module Flutter intégré dans des apps natives hôtes. Vous intégrez via un point d'entrée unique par plateforme ; Pigeon fait le pont entre le code hôte et Dart.
Flux global
Cycle de vie en deux étapes
- Initialize — Clé API, locale, thème, offline, deep links, safe area. Pas d'utilisateur.
- Connect — JWT utilisateur et mesures de profil. L'id utilisateur est renvoyé.
Voir Initialisation.
Ce que vous utilisez dans l'app hôte
| Surface | Rôle |
|---|---|
AzeooSDK / AzeooSDK.shared | initialize, connect, disconnect, dispose |
sdk.modules.nutrition / .training | Intégrer l'UI (natif) |
AzeooSDKModules | Intégrer l'UI (Flutter) |
sdk.navigate(to:) | Navigation typée (Navigation) |
sdk.setModuleContainer(...) | Synchroniser la barre d'onglets hôte |
sdk.user / sdk.theme | Profil et thème après connect |
Les apps hôtes intègrent via les APIs Pigeon de chaque plateforme, pas en appelant directement les types Dart internes.
Modules
- Nutrition — journal, plans, scanner, recherche, réglages
- Entraînement — workouts, exercices, progression
Chaque module a des APIs d'intégration (getFragment, getView, tabHost, …) et des destinations typées.
Organisation du dépôt (interne)
| Chemin | Rôle |
|---|---|
plugins/core/ (azeoo_core) | API canonique — AzeooSDK, AzeooSDKInitOptions, handlers Pigeon, wrappers natifs |
lib/ | UI Flutter nutrition/entraînement — AzeooSDKModules, AzeooSDKContent |
sdk/android, sdk/ios, sdk/react-native | Packages de distribution |
example/ | Exemples d'intégration |
Séparation des packages
azeoo_core— initialize, connect, config (toutes plateformes)azeoo_sdk— réexporteazeoo_core+ modules UI Flutter
Voir Compiler depuis les sources.