Aller au contenu

📍 État Actuel du Projet — EGS / Gallois Sisal

Instantané technique et fonctionnel au 23 juin 2026. Pour l'historique complet, voir PROJECT-HISTORY.md.


🚦 Résumé exécutif

Le projet a pivoté de WordPress/Breakdance vers Astro + EmDash CMS. Les 10 anciens repos de l'org Gallois-sisal ont été consolidés en un monorepo unique (Gallois-sisal/egs, privé), traqué via GitHub issues.

  • Phase 1 (Consolidation monorepo) — 100% terminée (8 issues fermées #1–#8)
  • 🔄 Phase 2 (Intégration design Pencil) — en cours (12 issues ouvertes #9–#20, 0% officiellement mais travail déjà amorcé)
  • Phase 3 (CI/CD & Deploy) — planifiée
  • Phase 4 (Maintenance & Cleanup) — planifiée (issue #22 blocked)
PROD (gallois-sisal.com)     →  🟡 Page de garde "Site en construction"
STAGING (staging.gallois-sisal.com) →  🟢 Pages Astro (proxy :4321)
REPO OFFICIEL                →  github.com/Gallois-sisal/egs (privé, 22 issues)

Ce qui se passe maintenant : intégration design Pencil (egs.pen) dans apps/web/, avec un vrai tracker GitHub par page/composant (issues #9–#20).


🏗️ Architecture actuelle (monorepo)

EGS/  (github.com/Gallois-sisal/egs — privé)
├── apps/
│   ├── web/                 ⭐ APP PRINCIPALE (Astro SSR) — ce qui est déployé
│   │   ├── src/pages/       → 7 pages (index, about, products, build-together,
│   │   │                      transition, impact, contact)
│   │   ├── src/components/  → Hero, Navbar, Footer, Valeurs, Production,
│   │   │                      Storytelling, Bandeau, Articles, CTA,
│   │   │                      AccessibilityWidget, agentation-init.ts
│   │   ├── src/layouts/     → Layout.astro (SEO, fonts, GSAP/Lenis, Agentation)
│   │   ├── public/          → images .webp, fonts Overused Grotesk, logos, favicon
│   │   ├── data.db          → SQLite EmDash (DATABASE_URL par défaut)
│   │   └── emdash-env.d.ts  → collections CMS (Page, Post)
│   ├── wordpress/           📦 ARCHIVE — ancienne stack WP/Breakdance (DDEV)
│   ├── egs-frontend/        📦 ARCHIVE — ancien frontend Astro pré-monorepo
│   ├── egs-design/          📦 ARCHIVE — Next.js design system
│   ├── ycode/               🔧 Sous-projet (engagement 68d57f5)
│   ├── prototype/           🎨 Prototype Pencil (EGS.pen)
│   ├── dashboard/           📊 Dashboard (Svelte)
│   └── _archive/            📦 ARCHIVE — code historique non buildé/non déployé
│       └── admin-panel/       ← ancien faux dashboard Svelte (mock, jamais connecté)
│                               ⚠️ NE PAS CONFONDRE avec le CMS EmDash (apps/web)
├── services/
│   ├── agent/               🤖 Hermes-Agent v0.15.1 (10 261 commits)
│   └── agent-local/         🤖 Copie locale de l'agent
├── deploy/                  🚢 Infra VPS (Nginx, Coolify, landing, setup-server.sh)
├── docs/                    📚 Documentation (ce dossier)
├── Design/                  🎨 egs.pen (5.2 Mo, 2789 frames) + images/ (79 assets)
├── .github/workflows/       ⚙️ CI/CD (ci, deploy-prod, deploy-staging, gh-pages)
└── .pi/RULE-EGS.md          🔒 Règles d'accès Coolify (scope EGS uniquement)

⚠️ Important : Seul apps/web est buildé et déployé. Le package.json racine restreint les workspaces à apps/web + apps/ycode.


📋 Tracker GitHub (source de vérité)

Repo : Gallois-sisal/egs · 22 issues (8 fermées / 14 ouvertes) · 4 milestones

Issues fermées ✅ — Phase 1 (Consolidation)

# Titre
#1 Reorganize to monorepo structure
#2 Merge chore/reorg-monorepo + résolution Layout.astro
#3 Restore deploy/ nginx + landing + scripts + .pi/RULE-EGS.md
#4 Consolidate 10 Gallois-sisal repos (filter-repo, full history)
#5 Version Design assets (egs.pen + 79 image-import)
#6 Merge origin/main server commits (June 1) + conflits path-move
#7 Push consolidated monorepo via VPS (plafond réseau 364 Mo)
#8 Archive 10 source repos

Issues ouvertes 🔄

# Titre Priorité Milestone
#21 🗺️ EGS Roadmap (overview) 🔴 critical
#22 [Infra] Deletion egs-agent + egs-agent-local repos 🟠 high Phase 4 (blocked)
#9 Design tokens (colors/type/spacing) from egs.pen 🔴 critical Phase 2
#10 Asset pipeline (79 image-import → public/) 🟠 high Phase 2
#11 Recover EGS-DS .fig 487 Mo (perdu) 🟠 high Phase 2 (blocked)
#12 Page Accueil (Hero + Storytelling + CTA + Bandeau) 🟠 high Phase 2
#13 Page À propos (heritage + team + valeurs) 🟡 normal Phase 2
#14 Page Produits (catalog + product detail) 🟡 normal Phase 2
#15 Page Contact (form + map + infos) 🟡 normal Phase 2
#16 Page Durabilité (sustainability, nouvelle) 🟡 normal Phase 2
#17 Composants partagés (Navbar/Footer/Hero/CTA/Card) 🟠 high Phase 2
#18 Responsive breakpoints + mobile 🟡 normal Phase 2
#19 QA : cross-browser, a11y, perf, Lighthouse 90+ 🔴 critical Phase 2
#20 Docs workflow Figma → Pencil → EGS 🟡 normal Phase 2

🌐 Pages — état page par page

Route Fichier Design source Statut
/ index.astro (Pencil — issue #12) 🟡 Composée (8 sections) — en cours
/about about.astro Prop 25 (issue #13) 🟢 Intégrée
/products products.astro Prop 23 (issue #14) 🟢 Intégrée
/build-together build-together.astro Prop 26 🟢 Intégrée
/transition transition.astro Prop 27 🟢 Intégrée
/impact impact.astro (715 lignes, nouvelle) Prop 28 🟢 Intégrée (refonte totale)
/contact contact.astro (issue #15) 🟡 Formulaire action="#"backend à connecter
/durabilite (issue #16) Page à créer

Assets intégrés : 16 images .webp converties + 79 assets Design/images/ à router (issue #10).


🎨 Design system en vigueur

Élément Valeur
Typographie unique Overused Grotesk (VF + Roman/Book/Medium/SemiBold/Bold)
Palette Vert foncé #071915, Vert #bee9b2, Crème #fefaf1, Texte #e6e8e7
Règle anti-slop (polish) Aucun #fff/#000 pur → tokens design (pass 1 + 2 faits)
Accessibilité prefers-reduced-motion respecté
Source design Design/egs.pen (Pencil/Penpot, 5.2 Mo, 2789 frames)

Voir issue #9 — extraction des design tokens depuis egs.pen vers apps/web.


🚢 Infrastructure & déploiement

Domaines & vhosts Nginx (VPS 85.190.240.49)

Domaine Cible Port Statut vhost
gallois-sisal.com Page de garde → (proxy Astro commenté) 4321 🟡 Landing active, proxy :4321 commenté
staging.gallois-sisal.com Astro staging 4321 🟢 Proxy actif
deploy.gallois-sisal.com Coolify Dashboard 8000 🟢 Proxy actif

📍 CMS EmDash : EmDash sert son admin sur /_emdash/admin (préfixe /_emdash codé en dur, non configurable dans EmDashConfig). Une redirection courte /admin/_emdash/admin est en place (apps/web/src/pages/admin.astro : 308 + header X-Robots-Tag: noindex). Les deux URLs marchent : - URL courte (recommandée) : https://staging.gallois-sisal.com/admin - URL brute : https://staging.gallois-sisal.com/_emdash/admin - Staging : 🟡 setup admin bloqué — voir bug WebAuthn ci-dessous - Prod : pas encore exposée (proxy :4321 commenté)

🗑️ Appwrite supprimé (23/06/2026) — backend.gallois-sisal.com et backend.cloud-gallois.com retirés (vhosts + certs SSL + domaines). Aucun conteneur/volume Appwrite n'existait sur le serveur ; seuls des vhosts orphelins pointant vers des conteneurs absents restaient. Backup des configs dans /root/backups/appwrite-removal-20260623/ sur le VPS.

Environnements

Env Domaine Branche Auto-déploiement État
Production gallois-sisal.com main Push main → Coolify 🟡 Page de garde
Staging staging.gallois-sisal.com dev Push dev → Coolify 🟢 Site Astro
Coolify deploy.gallois-sisal.com 🟢 Actif

CI/CD (GitHub Actions)

Workflow Déclencheur Action
ci.yml push main/dev/feature/**/fix/** + PR Build Astro + Type check
deploy-staging.yml push dev Build gate → API Coolify → staging
deploy-prod.yml push main Build gate → API Coolify → prod
deploy-gh-pages.yml Déploiement doc GitHub Pages

Secrets GitHub requis : COOLIFY_URL, COOLIFY_TOKEN, COOLIFY_UUID_STAGING, COOLIFY_UUID_PROD

⚠️ Phase 3 (issue tracker) : la CI doit être reconfigurée pour le monorepo consolidé (les workflows actuels pointent vers l'ancien layout). Voir roadmap Phase 3.


🤖 Outils & automatisations actifs

Outil Rôle État
EmDash CMS Headless CMS (collections Page, Post, SQLite) 🟢 Déployé en staging — setup admin non terminé (voir ⚠️ ci-dessous)
Agentation Feedback visuel → issues (toolbar dev/staging) 🟡 Conditionné par PUBLIC_AGENTATION
GSAP + Lenis Animations + scroll smooth 🟢 Actif
AccessibilityWidget Dyslexie, contraste, taille texte (localStorage) 🟢 Actif
Hermes (agent) Notifications Telegram, création issues 🟢 Actif (services/agent)
Coolify Orchestration déploiements 🟢 Actif (token Riake, root)

⚠️ Points d'attention immédiats (23/06/2026)

🔴 BUG — Setup admin EmDash bloqué (passkey WebAuthn)

L'admin EmDash ne peut pas être créé en staging actuellement. Quand on va sur https://staging.gallois-sisal.com/_emdash/admin et qu'on saisit l'email, le navigateur affiche « Erreur de sécurité. Assurez-vous que vous êtes sur une connexion sécurisée ».

Cause racine (confirmée en lisant le code EmDash + le conteneur) : - Le conteneur staging a EMDASH_APP_URL=https://staging.gallois-sisal.com, mais EmDash ne lit pas cette variable. Il lit EMDASH_SITE_URL ou SITE_URL (ni l'une ni l'autre n'est set). - Sans EMDASH_SITE_URL, getPublicOrigin() retombe sur url.origin = http://0.0.0.0:4321 (interne au conteneur). - Résultat : EmDash construit la config passkey avec rp.id = "localhost" (confirmé via POST /_emdash/api/setup/admin{"rp":{"name":"localhost","id":"localhost"}}). - Le navigateur crée une passkey pour localhost, qui ne matche jamais l'origine réelle https://staging.gallois-sisal.com → WebAuthn rejette → « Erreur de sécurité ».

Correctif (1 variable d'env, dans Coolify — staging resource) :

EMDASH_SITE_URL = https://staging.gallois-sisal.com
Redéployer, puis refaire le setup sur /admin (redirige vers /_emdash/admin) — la passkey s'enregistrera correctement.

Note : EMDASH_APP_URL peut rester (inoffensif, ignoré par EmDash), mais ne suffit pas. Idem en prod quand on y activera le CMS : EMDASH_SITE_URL = https://gallois-sisal.com. Voir docs/CI-CD-DEPLOY.md sur le dépôt pour la checklist complète env/secrets.

🔴 À régler en priorité (Phase 2)

  1. Issue #9 — Extraire les design tokens (couleurs, typo, spacing) depuis egs.pen vers apps/web
  2. Issue #10 — Router les 79 assets Design/images/ vers apps/web/public/
  3. Issue #17 — Refactorer les composants partagés (Navbar, Footer, CTA, Card) pour matcher Pencil
  4. Formulaire /contact (issue #15) — action="#", aucun backend connecté
  5. Revue responsive mobile (issue #18) — pas de tests mobile systématiques

🟡 À valider côté EGS

  1. Démo des pages corrigées (about, products, build-together, transition, impact, accueil)
  2. Décision CMS : EmDash utilisé par EGS pour éditer le contenu, ou contenu statique ?
  3. Contenu final : textes/visuels définitifs
  4. Page Durabilité (issue #16) : nouvelle page prévue — à confirmer dans le scope

🔒 Bloqués

  • Issue #11.fig EGS-DS 487 Mo perdu pendant le filter-repo (récupération à étudier)
  • Issue #22egs-agent + egs-agent-local supprimés de l'org GitHub (code sauf, métadonnées perdues — GitHub restore sous 90 j possibles)

📋 Décisions infrastructure pendantes (Phase 3)

  1. Reconfigurer la CI pour le monorepo consolidé
  2. Bascule prod : dé-commenter le bloc proxy :4321 dans deploy/nginx/gallois-sisal.com quand prêt
  3. Vérifier/certificat SSL multi-domaines (Let's Encrypt)
  4. Activer Agentation en staging (env PUBLIC_AGENTATION)

📊 Métriques de code (approximatives)

Métrique Valeur
Commits totaux (monorepo) ~20 582 (full history des 10 repos)
Pages Astro 7 (+1 Durabilité prévue)
Composants Astro 11
Issues GitHub 22 (8 fermées / 14 ouvertes)
Milestones 4 (Phase 1 done, ⅔/4 planned)
Images Design/images/ 79 assets (~274 Mo)
Taille egs.pen ~5.2 Mo / 2789 frames

Prochaine étape : voir ROADMAP.md pour le plan de finalisation et de lancement.