> ⚠️ **OBSOLÈTE PARTIEL — audit 2026-05-13** : ce doc référence des ports morts (~~:9011~~ → :10001, ~~:9010~~ → :10001, etc.). Le seul port valide pour la sphère/cockpit est **:10001** (NEXUS). Mis à jour par 114-GAMEDIVINE. Voir `MNEMOSYNE/01_LOIS/DOCTRINE_PORTS_OLYMPUS.md`. # 🖼️ P21 — Mosaic en incubateur officiel > **Statut** : 🛠️ chantier (mosaic existe en sandbox, à transformer en projet) > **Priorité Vivien** : haute (« mes tuiles brutes que j'ai pas oubliées ») --- ## ⚡ Idée centrale > **Le fichier `apps/_sandbox/mosaic.html` (53 apps live) et son cousin `mosaic_v2_lovelace.html` doivent devenir un PROJET officiel d'incubateur, avec metadata, lien vers Q10/P16 pour modifier les tuiles, et chemin clair vers la prod.** Pour toi (Vivien) : > *Aujourd'hui, mosaic est juste un fichier HTML traînant dans `_sandbox/`. Demain, c'est un projet structuré avec sa fiche, sa description, ses tuiles modifiables une par une, son passage en prod planifié.* --- ## 🎯 État actuel ✅ **`apps/_sandbox/mosaic.html`** existe (titre : « 🖼 OLYMPUS Mosaïque · 53 apps live · vérification complétude ») ✅ **`apps/_sandbox/mosaic_v2_lovelace.html`** (proposition Lovelace × OLYMPUS) ✅ Accessibles en HTTP (`/apps/_sandbox/mosaic.html`) ❌ Pas de `metadata.json` pour les définir comme projet ❌ Pas de description claire ❌ Pas de lien vers Q10 / P16 pour modifier les tuiles ❌ Pas de chemin défini vers la prod (où ça va finir ?) --- ## 🚀 Transformation proposée ### 1. Création du projet structuré ``` 01_SERVEUR/NEXUS/Cockpit/apps/_incubateur/mosaic/ metadata.json (fiche projet) mosaic.html (page principale, ex-_sandbox) mosaic_v2_lovelace.html (proposition v2) tuiles/ (les tuiles individuelles) meteo_matin.html meteo_matin.description.md ... README.md ``` ### 2. metadata.json ```json { "id": "mosaic", "titre": "Mosaïque OLYMPUS — toutes les tuiles en grille", "description_courte": "53 tuiles d'apps live, vérification complétude, point d'accès rapide.", "statut": "incubateur", "owner": "Vivien", "cree_le": "2026-04-?? (date à retrouver dans git ou stat)", "destination_si_valide": "01_SERVEUR/NEXUS/Cockpit/apps/mosaic.html", "tuiles_count": 53, "linked_projects": ["P11_STACK_JARVIS", "P12_MODE_DIEU_ULTIME"], "tags": ["UI", "tuiles", "navigation", "Cockpit"] } ``` ### 3. Lien vers P16 (modification par prompt) Chaque tuile dans `tuiles/` a sa description en `.md`. P16 (« Tuile auto-décrite ») permet de la modifier en mots simples. ### 4. Chemin vers la prod - Quand Vivien valide une tuile → on déplace `tuiles/X.html` vers `apps/X.html` (officiel) - Le metadata se met à jour (`statut: actif`) - Inscription dans le catalogue --- ## 🚦 Phases ### Phase 1 — Migration sandbox → incubateur (30 min) - Créer `apps/_incubateur/mosaic/` - Copier les fichiers - Snapshot Mona Lisa de l'ancien - Garder `_sandbox/mosaic.html` comme alias temporaire ### Phase 2 — Metadata + structure (30 min) - Créer `metadata.json` - README.md - Identifier et lister les tuiles individuelles ### Phase 3 — Tuiles séparées (variable, selon nb tuiles) - Si mosaic regroupe 53 tuiles dans une seule page → les SPLITTER en fichiers individuels - Chacune a sa `description.md` (compatible Q10) ### Phase 4 — Lien vers P16 (rapide) - Bouton « Modifier cette tuile » sur chaque tuile dans mosaic - Ouvre l'éditeur Q10 préchargé sur la bonne tuile ### Phase 5 — Validation et passage en prod - Vivien teste, valide - Tuiles validées → déplacées vers `apps/` - Catalogue mis à jour --- ## ⚖️ Limites - 53 tuiles = beaucoup. Splitter en fichiers individuels = travail volume - Risque de casser l'existant lors du split - Solution : faire en parallèle, garder l'original tant que c'est pas validé --- ## 🔗 Liens - **Q10** (livré) : éditeur de description tuile - **P16** : modification tuile par prompt - **P22** futur : multi-incubateurs (ce projet est un cas d'usage) - Mosaic actuel : http://127.0.0.1~~:10001~~ → :10001/apps/_sandbox/mosaic.html - Mosaic v2 Lovelace : http://127.0.0.1~~:10001~~ → :10001/apps/_sandbox/mosaic_v2_lovelace.html --- **Statut** : 🛠️ Chantier identifié, à attaquer Phase 1 quand tu valides la migration.