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

@@ -43,7 +43,7 @@ async function main() {
}
function addNode(obj) {
nodes.push({
const node = {
id: obj.id,
label: obj.label,
niveau: obj.niveau,
@@ -52,7 +52,10 @@ async function main() {
resume: obj.resume || null,
radius: getRadius(obj.niveau, obj.nature),
family: getFamily(obj.nature),
})
}
// V1.2-O : propage le champ optionnel domain (logo plateforme via Brandfetch CDN)
if (obj.domain) node.domain = obj.domain
nodes.push(node)
}
const centreId = data.centre.id