Vue d'ensemble¶
Cette section présente la structure générale de l'application Flutter ThermoNova. Le projet est organisé autour de quatre axes principaux : navigation, données, thème et gestion des plans 2D.
Entrée de l'application¶
lib/main.dartinitialise Flutter, charge le mode sombre via lesValueNotifier(batman), prépare la base SQLite (création + seed) puis lanceMyApp.core/config/app_theme.dartdéfinit leThemeDatacommun.
Navigation globale¶
views/widget_tree.dartorchestre les pages (accueil, propositions, plan 2D, solution, aides, paramètres, chauffage, nouveau logement).data/notifiers.dartcentralise lesValueNotifier: page courante, historique, logement/étage sélectionnés, mode sombre.
Couche données¶
utils/autres/bdd_manager.dartgère la base SQLite via un script d'amorçage (assets/createBDD.sql), la seed minimale et l'import des données depuis l'API ThermoNova (fetchAPI).- Les modèles métiers (Housing, Heater, Supplier, SocialAssistance...) sont définis dans ce même fichier.
Plans et GeoJSON¶
- Les plans sont stockés en GeoJSON (
utils/geojson/*), convertis en matrices pour la simulation et affichés viawidgets/room_painter.dart. - L'édition se fait dans
views/pages/edit_house_plan.dartavec sauvegarde danssaves/housing_<id>.json.
Les sections suivantes détaillent chacune de ces parties.