01
Route
RouteContent = URL GoRouter. Elle liste des pages, elle ne les layout pas.
list_page[]
Site tutorial
Une page AYLICRÉA n’est pas un arbre JSON children. C’est une table plate de ViewContent reliés par uuid_page, uuid_folder et odr. Flutter peint : ShowPageSite → ViewPreView.
01
RouteContent = URL GoRouter. Elle liste des pages, elle ne les layout pas.
list_page[]
02
Toile PageContent. Fond BackContent en fill — pas un view.
p_back[]
03
Folder ou leaf. Enfant = même page, uuid_folder = parent.
p_view[]
| Entité | Rôle | Liaison |
|---|---|---|
RouteContent | URL publique, menu, transition | list_page[] = uuids PageContent |
PageContent | Toile. width/height doubles canvas | uuid = View.uuid_page et Back.uuid_page |
BackContent | ZONE Back, fill, pas un view | uuid_page |
ViewContent | Folder (moteur) ou leaf (widget) | uuid_folder vide = racine ShowPageSite |
ActionContent | Clic, ordre d’exécution | View.uuid_action[] |
API live page_by_route/{routeUuid} : data.p_back[] + data.p_view[]. Grouper les views par uuid_page, puis par uuid_folder, tri odr. p_route / p_page / p_action / styles ne sont pas dans ce payload — store route, style/all, actions. Pour construire, on émet quand même les cinq familles et on référence les uuid de style déjà présents.
ShowPageSiteLe host ne monte que les vues racine :
uuid_page == page courante uuid_folder vide OU folder introuvable enable == true desktop && isLarge OU mobile && !isLarge theme / platform / locale / loc_text layer match · pop match tri odr
Un view avec uuid_folder rempli n’apparaît jamais dans le stack page. Il n’existe que comme enfant de son folder via folderView().
ShowPageSite : uuid_folder == "" · enable · desktop/mobile · locale/theme/platform · layer · pop. Un enfant n’existe que via folderView().ShowPageSite ZONE PageWidth SizedBox(width: forceWidth) ZONE Back BackPreView fill ZONE PopDown pop==1 layer == 0 Positioned.fill ZONE Flow pop==0 Wrap centré document ZONE PopUp pop==1 layer > 0 Positioned.fill
| Zone | pop | Position CMS |
|---|---|---|
| Back | — | fill, pas de pos view |
| PopDown / PopUp | 1 | PositionedWidget(stack: true) lit pos |
| Flow | 0 | Wrap. pos ignoré sauf enfant d’un id_page_stack (inStack) |
{
"p_route": [{ "uuid": "0197836e-eff6-7168-974e-d4b63ed8f04f", "list_page": ["0197836f-07f5-70a6-bc61-e0377b5cd0d9"], "enable": 1 }],
"p_page": [{ "uuid": "0197836f-07f5-70a6-bc61-e0377b5cd0d9", "width": 0, "height": 0, "background": "0197836f-2810-7b7a-9a7d-0d3d98e4362b" }],
"p_back": [{ "uuid": "0197836f-2810-7b7a-9a7d-0d3d98e4362b", "uuid_page": "0197836f-07f5-70a6-bc61-e0377b5cd0d9", "height_desktop": -1, "height_mobile": -1 }],
"p_view": [{ "uuid": "<W>", "uuid_page": "0197836f-07f5-70a6-bc61-e0377b5cd0d9", "uuid_folder": "", "type": "bca54f56-4e50-11ee-be56-0242ac120002", "layer": 1, "pop": 0 }]
}
children JSON. Le live est plat. L’enfant pointe uuid_folder vers le uuid du parent, même uuid_page.