Files
astro-site-cerveau/public/data/carte-o.json
Jules Neny 5a628fd85b fix(v14-cde): Carte O cadre + bouton replier desktop + drag mouseup fix + manifeste preview event + transitions
- C1 : cadre 1px #CBD5E1 + radius 6px autour section centre-haut (Carte O zone).
  Force tuning CarteO.vue : forceX/Y strength 0.05 -> 0.08, collide radius +12 -> +14
  pour mieux contenir les nodes dans le cadre visible.
- C2 : bouton toggle Carte O desktop (icone triangle dans le bandeau, a cote de la legende).
  Replie a flex 0 0 36px (header reste visible, body masque avec opacity 0).
  Persistance sessionStorage 'tf-carte-o-collapsed'.
- D  : fix drag handle qui ne se decliquait pas au mouseup. Listeners poses sur window
  (vs document) + ajout pointerup/mouseleave/blur/mouseenter-buttons-0 pour couvrir
  tous les flux utilisateur (sortie iframe, perte focus, relache hors-page).
  Suspension transitions CSS pendant le drag (pas de lag).
- E1 : PreviewArticle hydration client:load (vs client:visible) - le v-if rendait
  l'IntersectionObserver aveugle, donc les listeners 'preview-open' n'etaient jamais
  installes. Resultat : clic manifeste -> preview ne s'ouvrait pas.
- E2 : Transition Vue preview-fade (opacity + translateY 8px, 250ms ease) +
  transitions CSS flex-basis 0.3s ease sur sections haut/bas pour smooth UX.
2026-05-12 00:30:42 +02:00

289 lines
6.7 KiB
JSON

{
"version": "1.1",
"generatedAt": "2026-05-11T22:29:46.546Z",
"nodes": [
{
"id": "contrat-social-medecine-corps-social",
"label": "Une medecine du corps social pour ecrire un nouveau contrat social",
"niveau": 0,
"nature": "essai",
"statut": "gestation",
"resume": "Manifeste central AEP : inventer un nouveau contrat social et diagnostiquer/soigner les pathologies du corps social.",
"radius": 30,
"family": "concept"
},
{
"id": "systemique",
"label": "Systemique & complexite",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "pratiques-collectives",
"label": "Pratiques collectives",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "art-narration",
"label": "Art & narration",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "pouvoir-domination",
"label": "Rapport au pouvoir",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "medias-critique",
"label": "Medias & pensee critique",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "justice-securite",
"label": "Justice & securite",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "sante-globale",
"label": "Sante globale",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "agriculture",
"label": "Agriculture",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "post-croissance",
"label": "Post-croissance",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "anthropocene",
"label": "Anthropocene & effondrement",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "education",
"label": "Education a la transformation",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "urbanisme",
"label": "Urbanisme",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "geopolitique",
"label": "Geopolitique & decolonisation",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "ia-technologie",
"label": "IA & technologie",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "spiritualite",
"label": "Spiritualite",
"niveau": 2,
"nature": "essai",
"statut": "gestation",
"resume": null,
"radius": 12,
"family": "concept",
"domain": "substack.com"
},
{
"id": "tmip",
"label": "TMIP",
"niveau": 2,
"nature": "projet",
"statut": "gestation",
"resume": "Transport, mobilite, industrie, politique - projet archi. Exemple de projet archi relie aux thematiques AEP.",
"radius": 18,
"family": "ressource"
}
],
"edges": [
{
"source": "contrat-social-medecine-corps-social",
"target": "systemique",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "pratiques-collectives",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "art-narration",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "pouvoir-domination",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "medias-critique",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "justice-securite",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "sante-globale",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "agriculture",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "post-croissance",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "anthropocene",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "education",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "urbanisme",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "geopolitique",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "ia-technologie",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "spiritualite",
"central": true
},
{
"source": "contrat-social-medecine-corps-social",
"target": "tmip",
"central": true
},
{
"source": "tmip",
"target": "urbanisme"
},
{
"source": "tmip",
"target": "justice-securite"
},
{
"source": "tmip",
"target": "post-croissance"
},
{
"source": "tmip",
"target": "agriculture"
}
]
}