AYLICRÉA O tuto
AYLICRÉA

Tuto Site

Grafo Route → View

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

Route

RouteContent = URL GoRouter. Elle liste des pages, elle ne les layout pas.

list_page[]

02

Page + Back

Toile PageContent. Fond BackContent en fill — pas un view.

p_back[]

03

View plat

Folder ou leaf. Enfant = même page, uuid_folder = parent.

p_view[]

Entités et liaisons

EntitéRôleLiaison
RouteContentURL publique, menu, transitionlist_page[] = uuids PageContent
PageContentToile. width/height doubles canvasuuid = View.uuid_page et Back.uuid_page
BackContentZONE Back, fill, pas un viewuuid_page
ViewContentFolder (moteur) ou leaf (widget)uuid_folder vide = racine ShowPageSite
ActionContentClic, ordre d’exécutionView.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.

Racines vs enfants — ShowPageSite

Le 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().

Racine ShowPageSite : uuid_folder == "" · enable · desktop/mobile · locale/theme/platform · layer · pop. Un enfant n’existe que via folderView().

ZONE map (page stack)

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
ZonepopPosition CMS
Back—fill, pas de pos view
PopDown / PopUp1PositionedWidget(stack: true) lit pos
Flow0Wrap. pos ignoré sauf enfant d’un id_page_stack (inStack)

JSON — graphe minimal

{
  "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 }]
}
Piège. Imbriquer des views dans un tableau children JSON. Le live est plat. L’enfant pointe uuid_folder vers le uuid du parent, même uuid_page.