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>
289 lines
6.7 KiB
JSON
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"
|
|
}
|
|
]
|
|
} |