From 6aa5a7143a5010194491708c852cfcb26ccc541a Mon Sep 17 00:00:00 2001 From: Jules Neny Date: Sat, 9 May 2026 01:06:02 +0200 Subject: [PATCH] feat: PC4 iframe carte AEP centre BAS + scroll articles Substack placeholder - IframeCarteAEP.astro : iframe https://aep.trans-former.fr/agences avec skeleton loader + timeout 8s + fallback lien externe - ScrollArticles.astro : 7 articles placeholder (V1, PC6 remplacera par fetch journal.json) - ColCentre.astro : zone BAS cablee (iframe min-h 60vh mobile / 400px desktop + scroll articles dessous) - Preflight headers : pas de X-Frame-Options ni frame-ancestors restrictifs sur /agences (200 OK), iframe cross-origin permise sans modif Caddy --- src/components/astro/ColCentre.astro | 13 ++-- src/components/astro/IframeCarteAEP.astro | 55 +++++++++++++++++ src/components/astro/ScrollArticles.astro | 72 +++++++++++++++++++++++ 3 files changed, 136 insertions(+), 4 deletions(-) create mode 100644 src/components/astro/IframeCarteAEP.astro create mode 100644 src/components/astro/ScrollArticles.astro diff --git a/src/components/astro/ColCentre.astro b/src/components/astro/ColCentre.astro index 26114a5..155e6fc 100644 --- a/src/components/astro/ColCentre.astro +++ b/src/components/astro/ColCentre.astro @@ -1,8 +1,10 @@ --- // Centre - HAUT : tabs (Carte O mindmap | Chatbot RAG placeholder PC7). -// BAS : iframe carte AEP (PC4). +// BAS : iframe carte AEP + scroll articles Substack (PC4). import CarteOWrapper from '../vue/CarteOWrapper.vue'; import ChatbotPlaceholder from '../vue/ChatbotPlaceholder.vue'; +import IframeCarteAEP from './IframeCarteAEP.astro'; +import ScrollArticles from './ScrollArticles.astro'; ---
@@ -54,9 +56,12 @@ import ChatbotPlaceholder from '../vue/ChatbotPlaceholder.vue';
- -
-

Iframe carte AEP — PC4

+ +
+
+ +
+
diff --git a/src/components/astro/IframeCarteAEP.astro b/src/components/astro/IframeCarteAEP.astro new file mode 100644 index 0000000..66003a9 --- /dev/null +++ b/src/components/astro/IframeCarteAEP.astro @@ -0,0 +1,55 @@ +--- +// PC4 - iframe carte AEP (cartobifurcation) avec skeleton loader + fallback timeout 8s. +// Route confirmee 200 sans X-Frame-Options ni frame-ancestors restrictifs (preflight 2026-05-08). +const CARTE_URL = 'https://aep.trans-former.fr/agences'; +--- +
+ +
+
Chargement de la carte AEP...
+
+ + +
+ + diff --git a/src/components/astro/ScrollArticles.astro b/src/components/astro/ScrollArticles.astro new file mode 100644 index 0000000..c7b2e6d --- /dev/null +++ b/src/components/astro/ScrollArticles.astro @@ -0,0 +1,72 @@ +--- +// PC4 - Liste articles Substack en scroll sous l'iframe carte. +// V1 placeholder data en dur ; PC6 (journal n8n) remplacera par fetch journal.json filtre tag #politique. +const articles = [ + { + date: '2026-04-28', + titre: 'Cap sur l\'autonomie : retour sur 6 mois de chantier', + url: 'https://transformations.substack.com/p/cap-autonomie', + }, + { + date: '2026-04-15', + titre: 'Le commun comme infrastructure', + url: 'https://transformations.substack.com/p/commun-infrastructure', + }, + { + date: '2026-03-30', + titre: 'Architecte ou operateur de bifurcation ?', + url: 'https://transformations.substack.com/p/architecte-bifurcation', + }, + { + date: '2026-03-12', + titre: 'Reseaux AEP : pourquoi la coordination est politique', + url: 'https://transformations.substack.com/p/aep-coordination', + }, + { + date: '2026-02-26', + titre: 'Sortir du sauveur, entrer dans le compagnon', + url: 'https://transformations.substack.com/p/sauveur-compagnon', + }, + { + date: '2026-02-08', + titre: 'Petit manifeste contre l\'expert isole', + url: 'https://transformations.substack.com/p/contre-expert-isole', + }, + { + date: '2026-01-22', + titre: 'Ce que la commande publique fait a la pensee', + url: 'https://transformations.substack.com/p/commande-publique', + }, + // TODO PC6 : remplacer par fetch journal.json filtre tag #politique. +]; +--- +
+

+ Derniers articles ; Substack +

+ + + Voir tous les articles → + +