flowchart TD
GetProvider["MWBS.GetProvider()
Instancie un provider et y ajoute tous les objets extraits des listes plates"]
InjectProviderRefs["Injection du provider dans chaque objet
Tous les ensembles et composants reçoivent une référence au provider"]
Construire["Appel à Construire()
Déclenche la reconstruction récursive depuis le niveau 0"]
CheckContexte["Le contexte du niveau 0 est connu,
mais doit être propagé manuellement aux enfants"]
Reconstruction["Reconstruction enfants + composants
Chaque objet utilise sa référence au provider"]
LogiqueRole["Stratégie 1 :
Recherche par ref + m_sRole
Pour les enfants métiers typés"]
LogiqueType["Stratégie 2 :
Recherche par ref + type
Pour des listes homogènes d’objets"]
LogiqueRefSeul["Stratégie 3 :
Recherche uniquement par ref
Pour traitement générique (ex: sommation)"]
HierarchieFonctionnelle["Hiérarchie métier fonctionnelle
préparée pour Calculer()"]
CalculReservoir["MENReservoir.Calculer()
Orchestre les calculs descendus vers MENVirole et MENFondBombe"]
GetProvider --> InjectProviderRefs
InjectProviderRefs --> Construire
Construire --> CheckContexte
CheckContexte --> Reconstruction
Reconstruction --> LogiqueRole
Reconstruction --> LogiqueType
Reconstruction --> LogiqueRefSeul
LogiqueRole --> HierarchieFonctionnelle
LogiqueType --> HierarchieFonctionnelle
LogiqueRefSeul --> HierarchieFonctionnelle
HierarchieFonctionnelle --> CalculReservoir