Date : 29/12/2024
Projet : /home/gouroubleu/WS/qwikpress-gitlab sur vscode.local
Status : TERMINÉ
Implémentation complète de l'architecture v2 de QwikPress avec :
src/types/
├── auto-data.ts # PageTreeNode, AutoData, CurrentPageContext
├── data-catcher.ts # DataCatcher, TransformConfig, CacheConfig
├── layout.ts # Layout, ZoneConfig, ResolvedLayout
└── hot-module.ts # HotModule, ServerContext, SandboxOptions
src/services/
├── auto-data/
│ └── index.ts # buildAutoData(), getAutoData()
├── data-catchers/
│ ├── index.ts # Exports
│ ├── graph.ts # buildDependencyGraph(), validateGraph()
│ ├── executor.ts # executeGraph(), applyTransform()
│ ├── resolver.ts # resolveDataCatchers(), getDataContext()
│ └── connector-bridge.ts # createConnectorBridge()
├── layouts/
│ ├── index.ts # Exports
│ └── resolver.ts # resolveLayouts(), findMatchingLayouts()
├── hot-modules/
│ ├── index.ts # Exports
│ ├── sandbox.ts # executeServerCode(), validateCode()
│ └── renderer.ts # renderHotModule()
└── storage/
└── storage-extension.ts # load/save Catchers, Layouts, HotModules
src/routes/admin/
├── catchers/index.tsx # Liste des Data Catchers
├── layouts/index.tsx # Liste des Layouts (arborescence)
└── hot-modules/
├── index.tsx # Liste Hot Modules (tabs)
└── [id]/index.tsx # Éditeur avec Monaco
src/components/admin/
└── code-editor/index.tsx # CodeEditor + SimpleCodeEditor
STORAGE/data/
├── catchers/
│ └── example-products.json
├── layouts/
│ ├── root.json
│ └── docs.json
└── hot-modules/
└── custom-banner.json
1. Storage → sharedMap.set('storage')
2. Config → sharedMap.set('config')
3. Auto Data → sharedMap.set('auto')
4. Layouts → sharedMap.set('layout')
Connecteurs → Data Catchers → Modules
↓ ↓ ↓
APIs DAG Graph Composants
Parallel Exec
/ → Layout A (root)
/docs → Layout A + B (héritage)
/docs/api → Layout A + B + C
Admin Editor → Save JSON → Load at Runtime
↓ ↓ ↓
Monaco STORAGE/data VM Sandbox
hot-modules/ + iframe
# Démarrer dev local
ssh gouroubleu@vscode.local "cd /home/gouroubleu/WS/qwikpress-gitlab && ~/.bun/bin/bun run dev:local"
# Démarrer dev supabase
ssh gouroubleu@vscode.local "cd /home/gouroubleu/WS/qwikpress-gitlab && ~/.bun/bin/bun run dev:supabase"
# Build
ssh gouroubleu@vscode.local "cd /home/gouroubleu/WS/qwikpress-gitlab && ~/.bun/bin/bun run build"
# Logs
ssh gouroubleu@vscode.local "tail -50 /tmp/qwikpress-local.log"