Files
astro-site-cerveau/public/data/carte-o.json
Jules Neny 458a152525 V1.5-E RSSHub journal feed (E.1-E.8)
Bascule Behold -> RSSHub self-host (rss.trans-former.fr) :

- InstaFeed.vue : consomme PUBLIC_JOURNAL_URL (journal unifie n8n)
  au lieu de feeds.behold.so direct. Filtre platform=instagram +
  account dans l'url. Plus de feedId Behold a passer.
- ColInsta.astro : supprime props feedId, passe seulement account
  handle (aep.politique, julesneny) pour filtrage cote client.
- .env.example : PUBLIC_BEHOLD_* deprecies (conservees pour compat),
  PUBLIC_JOURNAL_URL note V1.5-E source RSSHub.
- docs/n8n-workflow-journal-aggregate-v2-rsshub.json : workflow V2
  a importer dans n8n. Remplace 3 nodes Behold par : Substack natif
  (julesneny.substack.com/feed) + RSSHub Insta x2 (rss.trans-former.fr/
  instagram/user/*). Cron 3h -> 4h UTC (anti-rate-limit). Parser RSS
  ajoute (CDATA, dedup par GUID).
- carte-o.json : regen prebuild auto.

Ops VPS realisees hors repo (E.1-E.3, E.8 conf) :
- docker pull diygod/rsshub:latest (image officielle, pas rsshub/rsshub)
- /opt/rsshub/docker-compose.yml : RSSHub + Redis cache, port 3006 local
- Caddy : bloc rss.trans-former.fr -> reverse_proxy 127.0.0.1:3006

CHECKPOINT E.4 BLOQUANT : DNS OVH 'rss' IN A 178.104.106.195 a pousser
manuellement par Jules. Sans DNS, rss.trans-former.fr inaccessible.

LIMITE FONCTIONNELLE detectee : RSSHub /instagram/* requiert config
Instagram cookie (ConfigNotFoundError 503). Tant que les env vars
INSTAGRAM_USERNAME/PASSWORD ou cookie ne sont pas fournis a RSSHub,
les routes Insta retourneront vide. Le journal aura 0 item insta et
ColInsta affichera fallbackBio. Substack et Gitea sources OK.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 00:56:36 +02:00

289 lines
6.7 KiB
JSON

{
"version": "1.1",
"generatedAt": "2026-05-12T22:53:33.094Z",
"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"
}
]
}