feat(v12-o): Carte O logos plateforme via Brandfetch CDN (visible zoom>1.5x)

Champ optionnel domain dans YAML carte-o-source : propage vers JSON et
permet d'afficher un logo plateforme en bas-droite de chaque node (cercle
blanc 18px + image clippee circulaire 14px) quand le zoom depasse 1.5x.

V1.2-O par defaut : substack.com sur les 15 thematiques essais. Centre +
projet TMIP gardent leur fill brut (encre / ocre). Toggle visibilite via
callback zoom (opacity 0/1 sur .logo-overlay).

A flagger : CDN Brandfetch retourne 403 en curl server-side avec le client
ID fourni. A revalider en browser (origin trans-former.fr) — le CDN peut
exiger un Origin header autorise. Si bloque, fallback prevu en V1.3
(proxy local ou logos packages dans /public/logos/).

Files:
- public/data/carte-o-source.yaml : +15 champs domain
- scripts/build-carte-o.js : propagation domain -> JSON
- src/components/vue/CarteO.vue : CarteNode.domain + logoUrl helper
  + logo-overlay (circle + image clip-path) + toggle visibilite zoom
- public/data/carte-o.json : regenere (15/17 nodes ont domain)
This commit is contained in:
Jules Neny
2026-05-11 18:48:15 +02:00
parent e613fc1ca3
commit a1d6271b65
4 changed files with 92 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
{
"version": "1.1",
"generatedAt": "2026-05-11T16:41:21.600Z",
"generatedAt": "2026-05-11T16:47:45.459Z",
"nodes": [
{
"id": "contrat-social-medecine-corps-social",
@@ -20,7 +20,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "pratiques-collectives",
@@ -30,7 +31,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "art-narration",
@@ -40,7 +42,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "pouvoir-domination",
@@ -50,7 +53,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "medias-critique",
@@ -60,7 +64,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "justice-securite",
@@ -70,7 +75,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "sante-globale",
@@ -80,7 +86,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "agriculture",
@@ -90,7 +97,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "post-croissance",
@@ -100,7 +108,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "anthropocene",
@@ -110,7 +119,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "education",
@@ -120,7 +130,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "urbanisme",
@@ -130,7 +141,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "geopolitique",
@@ -140,7 +152,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "ia-technologie",
@@ -150,7 +163,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "spiritualite",
@@ -160,7 +174,8 @@
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept"
"family": "concept",
"domain": "substack.com"
},
{
"id": "tmip",