diff --git a/JOURNAL-V2.md b/JOURNAL-V2.md index fba9bc3..aab5bf6 100644 --- a/JOURNAL-V2.md +++ b/JOURNAL-V2.md @@ -11,6 +11,56 @@ Journal technique de la V2. Décisions, anomalies, points bloquants, TODOs. --- +## 2026-05-08 — Fix mobile + chatbot prod (cause racine résolue) + +**Commits :** session loggée sur main (pushé sur gitea) +**Pattern :** pilote direct, 2 batches successifs, ~3h, 11 fichiers + +### Cause racine bug "chatbot Carte 1 == Carte 2" + +`/api/chatbot-reseaux` était **404 en prod** (jamais déployé) — explique pourquoi 5 cycles de fix précédents (ChatbotReseaux.vue prop endpoint, useRoute fallback, useMarkdown direct, etc.) n'ont rien donné : le code source était correct depuis le début. Le rebuild + redeploy de cette session résout le bug. + +**Verif :** `curl -s -X POST https://aep.trans-former.fr/api/chatbot-reseaux` → 200 + réponse distincte de `/api/chatbot`. + +### Batch 1 — fixes mobile principaux + +- Hamburger app.vue : ajout Jobs + Manifeste + Soutenir, ré-ordonnancement (Manifeste dans 2e groupe avec À propos/Soutenir/Signaler) +- BandeauBas.vue : FAB cœur jaune mobile retiré (Soutenir migré dans hamburger via lien Liberapay direct) +- agences.vue mobile : 3e onglet "Graphe" ajouté + masquage MobileSheet en mode graphe (canvas fullscreen) +- a-propos.vue : section 1 "Mission" retirée (devient pop-up Carte 1) + `overflow-x: hidden` sur `.apropos-page` + retrait `white-space: nowrap` problématique sur `.badge-detail` +- pages/manifeste.vue : nouvelle page (texte version `manifeste-page-carto-V1.md`, sans le diagramme ASCII pour V1 web) +- components/MissionPopup.vue : nouveau composant générique (props `title`, `ctaLabel`, `storageKey`, slot pour contenu, `:slotted()` pour styles) +- index.vue : intégration MissionPopup + bouton (i) `position:fixed` bottom-left + auto-show 1ère visite via `localStorage.aep_mission_seen` +- trouver-du-taf.vue : toggle "Filtres [N] [chevron]" mobile-only (`@media max-width: 767px`) avec `taff-filters-collapsible` max-height transition +- FicheModal.vue + FicheModalV2.vue : sur mobile `top: 76px` + `max-height: calc(100dvh - 92px)` au lieu de `top: 50% translate(-50%, -50%)` + `max-height: 90vh` qui mordait sur le header + +### Batch 2 — pop-up Carte 2, logo, intro Jobs, labels graphe + +- agences.vue : pop-up Réseaux AEP avec MissionPopup (storageKey `aep_reseaux_seen`, ctaLabel "Explorer les 120 réseaux") + bouton (i) flottant +- app.vue logo header : badge AEP + 2 spans `logo-line-1` ("Architecture") / `logo-line-2` ("d'Écologie Politique") avec font-size responsive (0.7rem mobile → 0.85rem ≥1024) +- trouver-du-taf.vue : `
` avec 3 blocs (deux onglets, trois étiquettes, cinq axes) + onglet "Plateformes B2C" → "Pour archi indépendants" +- GraphView.vue : `d3NodeSelection.filter(type==='structure').append('text')` avec class `graph-struct-label`, `dy: -(d.r + 5)`, font-size 9.5px, halo via `paint-order: stroke; stroke: var(--nav-bg)` (style global non-scoped pour piercer D3) + +### Bug d'opération à retenir + +Lors du 1er déploiement batch 2, `bash deploy.sh` semblait OK (HTTP 200) mais le HTML en prod ne contenait pas les modifs. **Cause** : Dropbox sync a effacé `.output/` entre `npm run build` et le tar SCP — le tar a uploadé un `.output` quasi-vide. Solution : 2e cycle clean (`Remove-Item .nuxt/dist + .output`) + rebuild + redeploy avec `yes y |` (skip confirm interactif `.env diff`). + +**Réflexe à intégrer** : après build, vérifier `grep -o "" .output/public/_nuxt/*.js | head` AVANT le deploy. Si 0 match → ne pas deploy, rebuild. + +### Bug de communication à retenir + +Jules a signalé "le logo n'a pas marché", "B2C pas renommé", "hamburger pas modifié" alors que le HTML en prod contenait bien les modifs (vérifié curl avec `?nc=$(date +%s)`). **Cause** : cache navigateur / service worker Nuxt. Réflexe à mettre en place pour /done de toute session web : si Jules dit "ça n'apparaît pas", vérifier curl en bypass cache AVANT de chercher un bug. Si match curl → demander hard refresh (Ctrl+Shift+R). + +### Reste à faire (batch 3) + +Voir `0 INBOX/PROMPTS/cascade-megaboum/REPRISE-aep-carto-fix-batch3.md` : +- Bouton "+" → sélecteur 3 cartes (Entraide/Réseaux/Jobs) +- Pop-up explication 5 axes Jobs (paragraphe par axe) +- Pop-up Carte 1 visibilité (option à clarifier avec Jules) +- GraphView Carte 1 (centres = hashtags, couche échelle activable) — gros chantier session dédiée + +--- + ## 2026-04-27 — Session V3 : Finition mobile + Blog Liberapay + 3 deploys **Commit :** `a02a555` — feat(mobile): accordéon outremer, hamburger nav, logo AEP, fiches cliquables, chatbot fullscreen diff --git a/app.vue b/app.vue index 83b0010..972a729 100644 --- a/app.vue +++ b/app.vue @@ -108,14 +108,52 @@ > Signaler - - + + - - - - - - + +
+ +
+ + Fiche Entraide + + +
+ + Réseau / collectif + + +
+ + Plateforme jobs + + +
+
@@ -205,6 +265,31 @@ const route = useRoute() const hamburgerOpen = ref(false) watch(() => route.path, () => { hamburgerOpen.value = false }) +// ── Popover "+ Proposer" ───────────────────────────────────────────────── +const proposerOpen = ref(false) +const proposerAnchor = ref(null) + +function onClickOutsideProposer(e: MouseEvent) { + // Ferme si le clic est hors de tout élément portant data-proposer-popover + const target = e.target as HTMLElement + if (!target.closest('[data-proposer-popover]')) { + proposerOpen.value = false + } +} + +watch(proposerOpen, (open) => { + if (open) { + // Délai court pour ne pas attraper le clic d'ouverture lui-même + setTimeout(() => document.addEventListener('click', onClickOutsideProposer, true), 10) + } else { + document.removeEventListener('click', onClickOutsideProposer, true) + } +}) + +onUnmounted(() => { + document.removeEventListener('click', onClickOutsideProposer, true) +}) + // ── Dark mode ───────────────────────────────────────────────────────────── const isDark = ref(false) diff --git a/components/ChatbotPlaceholder.vue b/components/ChatbotPlaceholder.vue index 1f0e294..9ef11c8 100644 --- a/components/ChatbotPlaceholder.vue +++ b/components/ChatbotPlaceholder.vue @@ -52,9 +52,10 @@
-

Explore les 120 structures de la carte par la conversation. Je peux t'aider à trouver des collectifs, agences ou réseaux selon ta situation, ta pratique ou tes inspirations du moment.

-

Exemple : "Je cherche des acteurs de la rénovation de maisons individuelles en France, plutôt en milieu rural, avec des approches biosourcées ou low-tech."

-

Propulsé par Mistral FR - serveur européen souverain, zéro rétention.

+

Je connais les structures d'entraide pour architectes référencées sur cette carte — appui juridique, technique, économique, formation, santé mentale, gestion d'agence…

+

Décris ta situation, je te propose les fiches les plus pertinentes.

+

Exemple : "Architecte salarié, litige avec mon employeur, besoin d'un appui juridique droit du travail, Île-de-France."

+

Propulsé par Mistral FR — serveur européen souverain, zéro rétention.

diff --git a/components/EchelleFilter.vue b/components/EchelleFilter.vue index 9f09556..cb6de87 100644 --- a/components/EchelleFilter.vue +++ b/components/EchelleFilter.vue @@ -1,38 +1,16 @@ @@ -61,3 +39,24 @@ function toggle(option: string) { } } + + diff --git a/components/FonctionFilter.vue b/components/FonctionFilter.vue index fda7c11..738c9a5 100644 --- a/components/FonctionFilter.vue +++ b/components/FonctionFilter.vue @@ -1,35 +1,33 @@ @@ -57,6 +55,25 @@ const emit = defineEmits<{ 'update:modelValue': [value: string[]] }>() +// Replié par défaut, ouvre automatiquement quand des filtres sont actifs +const manuallyOpen = ref(false) + +const isOpen = computed(() => { + return manuallyOpen.value || props.modelValue.length > 0 +}) + +function toggleCollapse() { + // Si des filtres actifs forcent l'ouverture, on doit gérer le cas « forcer fermer » + if (isOpen.value) { + manuallyOpen.value = false + // Si des fonctions sont actives, le computed va les réouvrir — on les efface + // Non : on laisse le choix à l'utilisateur. On toggle juste manuallyOpen. + // Quand replié avec filtres actifs, l'indicateur "(N actives)" reste visible. + } else { + manuallyOpen.value = true + } +} + function toggle(fn: string) { if (props.modelValue.includes(fn)) { emit('update:modelValue', props.modelValue.filter(f => f !== fn)) @@ -65,3 +82,23 @@ function toggle(fn: string) { } } + + diff --git a/components/GraphView.vue b/components/GraphView.vue index af98809..68adb3a 100644 --- a/components/GraphView.vue +++ b/components/GraphView.vue @@ -877,6 +877,7 @@ onUnmounted(() => { /* Labels des structures dans le graphe (D3 injecte les , donc style global) */ .graph-view .graph-struct-label { fill: var(--nav-text); + opacity: 0.7; paint-order: stroke; stroke: var(--nav-bg); stroke-width: 3px; diff --git a/pages/agences.vue b/pages/agences.vue index 7a32264..fa9e178 100644 --- a/pages/agences.vue +++ b/pages/agences.vue @@ -129,11 +129,11 @@ @click="desktopMapView = 'graphe'" >Vue graphique Pensees + >Média
@@ -226,10 +226,10 @@ @click="mobileMapView = 'graphe'" >Graphe Pensees + >Média
diff --git a/pages/index.vue b/pages/index.vue index 93a8767..3a06f15 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -201,10 +201,19 @@
- +
- FONCTION -
+
+ + FONCTION + ({{ fonctions.length }} active{{ fonctions.length > 1 ? 's' : '' }}) + + +
+
(null) const mobileMapView = ref<'metropole' | 'outremer'>('metropole') const missionOpen = ref(false) +const mobileFonctionsOpen = ref(false) onMounted(() => { try { diff --git a/pages/pensees-ecologiques.vue b/pages/media.vue similarity index 93% rename from pages/pensees-ecologiques.vue rename to pages/media.vue index 40690fa..5b222a8 100644 --- a/pages/pensees-ecologiques.vue +++ b/pages/media.vue @@ -7,9 +7,9 @@
-

Pensees Ecologiques

+

ATIS Média

- {{ corpusCount }} auteurs ingeres dans le RAG - carte FRACAS Bonpote V2 + {{ corpusCount }} auteurs ingérés dans le RAG - carte FRACAS Bonpote V2

@@ -79,5 +79,5 @@ function onInterrogerRag(auteurId: string) { chatbotAuteur.value = auteur?.nom ?? null } -useHead({ title: 'AEP - Pensees Ecologiques - Carte FRACAS' }) +useHead({ title: 'AEP - Média - Carte FRACAS Bonpote' }) diff --git a/public/data/auteurs-pensees.json b/public/data/auteurs-pensees.json index 87b4af5..c1c4e6e 100644 --- a/public/data/auteurs-pensees.json +++ b/public/data/auteurs-pensees.json @@ -1,8 +1,12 @@ { "meta": { - "version": "1.0", - "source": "FRACAS Bonpote V2 oct 2024 + LightRAG corpus J+2", - "corpus_ingere": 27, + "version": "2.0", + "source": "FRACAS Bonpote V2 oct 2024 + LightRAG corpus 11/05/2026", + "corpus_ingere": 141, + "auteurs_count": 28, + "livres_count": 64, + "ecoles_count": 12, + "note_doublons_en_fr": "3 livres avec version EN aussi indexee dans le RAG pour cross-language queries : carson-mer-autour-de-nous-fr/EN, graeber-wengrow-aurore-fr/EN, saito-capital-anthropocene/EN. JSON conserve la version FR.", "updated": "2026-05-11" }, "ecoles": [ @@ -14,10 +18,18 @@ "x_hint": 0.55, "y_hint": 0.28 }, + { + "id": "marxismes-ecologiques", + "label": "Marxismes écologiques", + "description": "Relecture écologique des écrits de Marx et de ses continuateurs contemporains. Le Capital comme critique du métabolisme homme-nature. Décroissance communiste.", + "color": "#8e44ad", + "x_hint": 0.65, + "y_hint": 0.2 + }, { "id": "eco-anarchisme", - "label": "Éco-anarchisme", - "description": "Écologies libertaires et anti-industrielles. Contre l'État, le capitalisme et la domination de la nature — pour l'autogestion et le municipalisme libertaire.", + "label": "Écologies libertaires", + "description": "Filiation des traditions du socialisme ouvrier anglais et de l'anarchisme. Les dominations de l'homme sur l'homme, sur la femme et sur la nature ne peuvent être prises séparément. Éco-communautés, institutions autogérées, démocratie radicale, municipalisme libertaire.", "color": "#2d6a4f", "x_hint": 0.25, "y_hint": 0.3 @@ -40,8 +52,8 @@ }, { "id": "technocritique", - "label": "Technocritique", - "description": "Critique radicale de la technique comme système autonome. Contre l'illusion de la technologie comme solution aux crises qu'elle engendre.", + "label": "Écologies anti-industrielles", + "description": "Rejet du productivisme et de l'hyper-mécanisation issus de l'ère industrielle. Approche technocritique : critique du gigantisme productif et de l'État, refus de l'idéologie du Progrès. Considérer la technique comme un système avec ses logiques propres.", "color": "#7f8c8d", "x_hint": 0.2, "y_hint": 0.48 @@ -65,10 +77,38 @@ { "id": "pensees-vivant", "label": "Pensées du vivant", - "description": "Anthropologie et ontologies de la nature. Dépasser le dualisme nature/culture. Sympoïèse, multi-espèces.", + "description": "Anthropologie et ontologies de la nature. Dépasser le dualisme nature/culture. Sympoïèse, multi-espèces, éthologie politique.", "color": "#6b8e6e", "x_hint": 0.62, "y_hint": 0.58 + }, + { + "id": "collapsologie", + "label": "Collapsologie", + "description": "Étude interdisciplinaire de l'effondrement de la civilisation industrielle et des voies de résilience. Articule sciences du vivant, géopolitique et psychologie de la transition.", + "color": "#34495e", + "x_hint": 0.42, + "y_hint": 0.22 + }, + { + "id": "capitalisme-vert", + "label": "Capitalisme vert", + "description": "Théoriciens du capitalisme qui intègrent la dimension environnementale aux échanges marchands (taxes, compensation, technologies vertes). Certains accélèrent la dynamique capitaliste, voulant contrôler le Système-Terre sans nuire aux intérêts de la classe possédante. Famille critiquée par toutes les autres.", + "color": "#6c8a6d", + "x_hint": 0.85, + "y_hint": 0.5, + "corpus_status": "non_ingere", + "note_editoriale": "Famille intégrée pour fidélité à la carte FRACAS Bonpote. Pas d'auteurs ingérés dans le RAG ATIS (critique éditoriale assumée)." + }, + { + "id": "ecofascismes", + "label": "Écofascismes", + "description": "Émergés à bas bruit depuis les années 1980, fragmentés. En Europe : éco-différentialisme, séparation des « races »/civilisations adaptées à leur environnement. Aux USA : néo-malthusianisme, xénophobie, apologie de la wilderness, logiques survivalistes. Famille critiquée par toutes les autres.", + "color": "#5d4037", + "x_hint": 0.92, + "y_hint": 0.85, + "corpus_status": "non_ingere", + "note_editoriale": "Famille intégrée pour fidélité à la carte FRACAS Bonpote. Pas d'auteurs ingérés dans le RAG ATIS (critique éditoriale assumée)." } ], "auteurs": [ @@ -79,12 +119,12 @@ "ecoles": ["eco-anarchisme"], "ecole_principale": "eco-anarchisme", "livres_rag": [ - { "slug": "bookchin-ecology-of-freedom", "titre": "L'Écologie de la liberté", "annee": 1982, "couches": ["fond", "structure"] }, + { "slug": "bookchin-ecologie-liberte", "titre": "L'Écologie de la liberté", "annee": 1982, "couches": ["fond", "structure"] }, { "slug": "bookchin-post-scarcity", "titre": "Post-Scarcity Anarchism", "annee": 1971, "couches": ["fond", "structure"] }, - { "slug": "bookchin-urbanization", "titre": "The Rise of Urbanization and the Decline of Citizenship", "annee": 1987, "couches": ["fond", "structure"] } + { "slug": "bookchin-urbanization-citizenship", "titre": "The Rise of Urbanization and the Decline of Citizenship", "annee": 1987, "couches": ["fond", "structure"] } ], "theses_cles": ["Municipalisme libertaire", "Écologie sociale", "Hiérarchie comme origine de la domination nature"], - "bio_courte": "Théoricien américain de l'écologie sociale et du municipalisme libertaire. A développé le concept d'\"écologie sociale\" articulant domination sociale et destruction de la nature." + "bio_courte": "Théoricien américain de l'écologie sociale et du municipalisme libertaire. A développé le concept d'écologie sociale articulant domination sociale et destruction de la nature." }, { "id": "pierre-kropotkine", @@ -94,11 +134,69 @@ "ecole_principale": "eco-anarchisme", "livres_rag": [ { "slug": "kropotkine-entraide", "titre": "L'Entraide, un facteur de l'évolution", "annee": 1902, "couches": ["fond", "structure"] }, - { "slug": "kropotkine-pain", "titre": "La Conquête du pain", "annee": 1892, "couches": ["fond", "structure"] } + { "slug": "kropotkine-conquete-pain", "titre": "La Conquête du pain", "annee": 1892, "couches": ["fond", "structure"] }, + { "slug": "kropotkine-champs-usines", "titre": "Champs, usines et ateliers", "annee": 1898, "couches": ["fond", "structure"] } ], - "theses_cles": ["Entraide vs sélection naturelle darwiniste", "Fédéralisme anarchiste", "Géographie critique"], + "theses_cles": ["Entraide vs sélection naturelle darwiniste", "Fédéralisme anarchiste", "Géographie critique et décentralisation industrielle"], "bio_courte": "Géographe et révolutionnaire russe. Son oeuvre centrale démontre que l'entraide, et non la compétition, est le moteur principal de l'évolution." }, + { + "id": "elisee-reclus", + "nom": "Élisée Reclus", + "dates": "1830-1905", + "ecoles": ["eco-anarchisme"], + "ecole_principale": "eco-anarchisme", + "livres_rag": [ + { "slug": "reclus-homme-terre", "titre": "L'Homme et la Terre", "annee": 1905, "couches": ["fond", "structure"] }, + { "slug": "reclus-evolution-revolution", "titre": "L'Évolution, la révolution et l'idéal anarchique", "annee": 1898, "couches": ["fond", "structure"] }, + { "slug": "reclus-histoire-ruisseau", "titre": "Histoire d'un ruisseau", "annee": 1869, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Géographie sociale anarchiste", "Homme comme nature prenant conscience d'elle-même", "Antimilitarisme et internationalisme"], + "bio_courte": "Géographe anarchiste français, auteur de la Nouvelle Géographie universelle. Précurseur de l'écologie politique et de la géographie humaine critique." + }, + { + "id": "david-graeber", + "nom": "David Graeber", + "dates": "1961-2020", + "ecoles": ["eco-anarchisme"], + "ecole_principale": "eco-anarchisme", + "livres_rag": [ + { "slug": "graeber-bullshit-jobs", "titre": "Bullshit Jobs", "annee": 2018, "couches": ["fond", "structure"] }, + { "slug": "graeber-wengrow-aurore", "titre": "Au commencement était... Une nouvelle histoire de l'humanité", "annee": 2021, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Travail sans valeur comme instrument de domination", "Anthropologie anarchiste", "Contre le récit d'une évolution linéaire de l'humanité"], + "bio_courte": "Anthropologue américain, figure du mouvement Occupy. Ses travaux déconstruisent les mythes fondateurs du capitalisme et proposent une anthropologie radicalement alternative.", + "note_rag": "graeber-wengrow-aurore-fr aussi indexe pour cross-language queries" + }, + { + "id": "karl-marx", + "nom": "Karl Marx", + "dates": "1818-1883", + "ecoles": ["marxismes-ecologiques", "ecosocialisme"], + "ecole_principale": "marxismes-ecologiques", + "livres_rag": [ + { "slug": "marx-manuscrits-1844", "titre": "Manuscrits économico-philosophiques de 1844", "annee": 1844, "couches": ["fond", "structure"] }, + { "slug": "marx-capital-livre1", "titre": "Le Capital, Livre I", "annee": 1867, "couches": ["fond", "structure"] }, + { "slug": "marx-grundrisse", "titre": "Grundrisse", "annee": 1857, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Métabolisme entre travail humain et nature", "Aliénation naturelle", "Accumulation primitive et rupture métabolique"], + "bio_courte": "Pensée-racine des marxismes écologiques. Les Grundrisse et le Capital contiennent une critique écologique du capitalisme que le 20e siècle a largement occultée." + }, + { + "id": "kohei-saito", + "nom": "Kohei Saito", + "dates": "1987-", + "ecoles": ["marxismes-ecologiques"], + "ecole_principale": "marxismes-ecologiques", + "livres_rag": [ + { "slug": "saito-marx-anthropocene", "titre": "Marx dans l'Anthropocène", "annee": 2016, "couches": ["fond", "structure"] }, + { "slug": "saito-decroissance-communisme", "titre": "La Décroissance communiste", "annee": 2020, "couches": ["fond", "structure"] }, + { "slug": "saito-capital-anthropocene", "titre": "Le Capital dans l'Anthropocène", "annee": 2020, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Marx et l'écologie dans les cahiers tardifs", "Métabolisme social et rupture métabolique", "Décroissance communiste comme horizon"], + "bio_courte": "Philosophe japonais, auteur d'une relecture écologiste des cahiers tardifs de Marx. Défend une décroissance communiste comme seule réponse cohérente à la crise écologique.", + "note_rag": "saito-capital-anthropocene-en aussi indexe pour cross-language queries" + }, { "id": "michael-lowy", "nom": "Michael Löwy", @@ -119,37 +217,39 @@ "ecole_principale": "ecosocialisme", "livres_rag": [ { "slug": "malm-fossil-capital", "titre": "Fossil Capital", "annee": 2016, "couches": ["fond", "structure"] }, - { "slug": "malm-comment-saboter", "titre": "Comment saboter un pipeline ?", "annee": 2020, "couches": ["fond", "structure"] }, + { "slug": "malm-saboter-pipeline", "titre": "Comment saboter un pipeline ?", "annee": 2020, "couches": ["fond", "structure"] }, { "slug": "malm-corona-climat", "titre": "Corona, Climate, Chronic Emergency", "annee": 2020, "couches": ["fond", "structure"] } ], - "theses_cles": ["Capitalisme fossile", "Sabotage stratégique", "Urgence climatique et action directe"], - "bio_courte": "Professeur d'écologie humaine à Lund. Théoricien du 'capital fossile' et défenseur d'une écologie de guerre pour répondre à l'urgence climatique." + "theses_cles": ["Capitalisme fossile comme choix historique, non technologique", "Sabotage stratégique", "Urgence climatique et action directe"], + "bio_courte": "Professeur d'écologie humaine à Lund. Théoricien du capital fossile et défenseur d'une écologie de guerre pour répondre à l'urgence climatique." }, { - "id": "kohei-saito", - "nom": "Kohei Saito", - "dates": "1987-", + "id": "naomi-klein", + "nom": "Naomi Klein", + "dates": "1970-", "ecoles": ["ecosocialisme"], "ecole_principale": "ecosocialisme", "livres_rag": [ - { "slug": "saito-marx-ecosocialisme", "titre": "Marx dans l'Anthropocène", "annee": 2020, "couches": ["fond", "structure"] } + { "slug": "klein-strategie-choc", "titre": "La Stratégie du choc", "annee": 2007, "couches": ["fond", "structure"] }, + { "slug": "klein-tout-peut-changer", "titre": "Tout peut changer", "annee": 2014, "couches": ["fond", "structure"] }, + { "slug": "klein-feu", "titre": "Le Feu qui nous attend", "annee": 2019, "couches": ["fond", "structure"] } ], - "theses_cles": ["Marx et l'écologie", "Métabolisme social", "Décroissance communiste"], - "bio_courte": "Philosophe japonais, auteur d'une relecture écologiste des cahiers tardifs de Marx. Défend une 'décroissance communiste' comme horizon." + "theses_cles": ["Capitalisme du désastre", "Crise climatique comme opportunité de transformation radicale", "Gestion du choc comme tactique néolibérale"], + "bio_courte": "Journaliste et activiste canadienne, une des voix les plus influentes du mouvement clima-justice. Articule critique du capitalisme et urgence écologique." }, { - "id": "karl-marx", - "nom": "Karl Marx", - "dates": "1818-1883", - "ecoles": ["ecosocialisme", "eco-anarchisme"], + "id": "andre-gorz", + "nom": "André Gorz", + "dates": "1923-2007", + "ecoles": ["ecosocialisme", "decroissance", "technocritique"], "ecole_principale": "ecosocialisme", "livres_rag": [ - { "slug": "marx-manuscrits-1844", "titre": "Manuscrits de 1844", "annee": 1844, "couches": ["fond", "structure"] }, - { "slug": "marx-capital", "titre": "Le Capital", "annee": 1867, "couches": ["fond", "structure"] }, - { "slug": "marx-grundrisse", "titre": "Grundrisse", "annee": 1857, "couches": ["fond", "structure"] } + { "slug": "gorz-capitalisme-socialisme-ecologie", "titre": "Capitalisme, Socialisme, Écologie", "annee": 1991, "couches": ["fond", "structure"] }, + { "slug": "gorz-immateriel", "titre": "L'Immatériel", "annee": 2003, "couches": ["fond", "structure"] }, + { "slug": "gorz-utopie-ou-mort", "titre": "Utopie ou mort", "annee": 1975, "couches": ["fond", "structure"] } ], - "theses_cles": ["Métabolisme entre travail humain et nature", "Aliénation naturelle", "Accumulation primitive"], - "bio_courte": "Pensée-racine de l'écosocialisme. Les Grundrisse et le Capital contiennent une critique écologique du capitalisme souvent occultée." + "theses_cles": ["Sortie du capitalisme par la réduction du temps de travail", "Économie de suffisance", "Immatériel comme nouvelle aliénation"], + "bio_courte": "Philosophe austro-français, pionnier de l'écosocialisme et de la critique du travail. Relie marxisme, existentialisme et écologie dans une pensée de la libération." }, { "id": "serge-latouche", @@ -158,23 +258,24 @@ "ecoles": ["decroissance"], "ecole_principale": "decroissance", "livres_rag": [ - { "slug": "latouche-decroissance", "titre": "Le Pari de la décroissance", "annee": 2006, "couches": ["fond", "structure"] }, - { "slug": "latouche-petit-traite", "titre": "Petit traité de la décroissance sereine", "annee": 2007, "couches": ["fond", "structure"] } + { "slug": "latouche-abondance-frugale", "titre": "Bon pour la casse : les déraisons de l'obsolescence programmée", "annee": 2012, "couches": ["fond", "structure"] }, + { "slug": "latouche-petit-traite-decroissance", "titre": "Petit traité de la décroissance sereine", "annee": 2007, "couches": ["fond", "structure"] }, + { "slug": "latouche-reenchanter-monde", "titre": "Pour un biorégionalisme en bonne intelligence avec les autres", "annee": 2019, "couches": ["fond", "structure"] } ], - "theses_cles": ["Sereine décroissance", "Critique du développement", "Société frugale abondante"], - "bio_courte": "Économiste hétérodoxe franco-algérien, principal théoricien de la décroissance en France. Critique radical de l'économie du développement." + "theses_cles": ["Sereine décroissance", "Critique du développement et de l'occidentalisation", "Société frugale abondante"], + "bio_courte": "Économiste hétérodoxe franco-algérien, principal théoricien de la décroissance en France. Critique radical de l'économie du développement et de l'impérialisme culturel." }, { - "id": "pablo-servigne", - "nom": "Pablo Servigne", - "dates": "1978-", - "ecoles": ["decroissance", "pensees-vivant"], + "id": "nicholas-georgescu-roegen", + "nom": "Nicholas Georgescu-Roegen", + "dates": "1906-1994", + "ecoles": ["decroissance"], "ecole_principale": "decroissance", "livres_rag": [ - { "slug": "servigne-comment-tout", "titre": "Comment tout peut s'effondrer", "annee": 2015, "couches": ["fond", "structure"] } + { "slug": "georgescu-decroissance", "titre": "Demain la décroissance", "annee": 1979, "couches": ["fond", "structure"] } ], - "theses_cles": ["Collapsologie", "Entraide comme résilience", "Transition post-collapse"], - "bio_courte": "Ingénieur agronome belge, cofondateur de la collapsologie. Explore les conditions d'un effondrement de la civilisation industrielle et les voies de résilience." + "theses_cles": ["Entropie et économie", "Impossibilité thermodynamique de la croissance infinie", "Bioéconomie"], + "bio_courte": "Mathématicien et économiste roumain, père fondateur de la bioéconomie. Démontre que la croissance économique est irréversiblement limitée par les lois de la thermodynamique." }, { "id": "donella-meadows", @@ -183,11 +284,26 @@ "ecoles": ["decroissance"], "ecole_principale": "decroissance", "livres_rag": [ - { "slug": "meadows-limites-croissance", "titre": "Les Limites à la croissance", "annee": 1972, "couches": ["fond", "structure"] } + { "slug": "meadows-halte-croissance", "titre": "Halte à la croissance ?", "annee": 1972, "couches": ["fond", "structure"] }, + { "slug": "meadows-thinking-systems", "titre": "Thinking in Systems", "annee": 2008, "couches": ["fond", "structure"] } ], - "theses_cles": ["Limites planétaires", "Modèles systémiques", "Overshoot"], + "theses_cles": ["Limites planétaires", "Modèles systémiques de l'overshoot", "Pensée systémique comme outil de transformation"], "bio_courte": "Le rapport Meadows (1972) est le premier modèle systémique démontrant l'impossibilité d'une croissance infinie dans un monde fini." }, + { + "id": "pablo-servigne", + "nom": "Pablo Servigne", + "dates": "1978-", + "ecoles": ["collapsologie"], + "ecole_principale": "collapsologie", + "livres_rag": [ + { "slug": "servigne-effondrer", "titre": "Comment tout peut s'effondrer", "annee": 2015, "couches": ["fond", "structure"] }, + { "slug": "servigne-autre-fin-du-monde", "titre": "Une autre fin du monde est possible", "annee": 2018, "couches": ["fond", "structure"] }, + { "slug": "servigne-entraide-autre-loi", "titre": "L'Entraide, l'autre loi de la jungle", "annee": 2017, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Collapsologie", "Conditions systémiques de l'effondrement industriel", "Transition post-collapse et résilience collective"], + "bio_courte": "Ingénieur agronome belge, cofondateur de la collapsologie. Explore les conditions d'un effondrement de la civilisation industrielle et les voies de résilience collective." + }, { "id": "francoise-deaubonne", "nom": "Françoise d'Eaubonne", @@ -197,8 +313,8 @@ "livres_rag": [ { "slug": "eaubonne-feminisme-mort", "titre": "Le Féminisme ou la mort", "annee": 1974, "couches": ["fond", "structure"] } ], - "theses_cles": ["Écoféminisme (terme inventé)", "Patriarcat et destruction de la nature", "Révolution féministe écologique"], - "bio_courte": "Féministe française, inventrice du terme 'écoféminisme' en 1974. Lie patriarcat et destruction de l'environnement dans une même critique." + "theses_cles": ["Écoféminisme (terme inventé en 1974)", "Patriarcat et destruction de la nature comme même système", "Révolution féministe écologique"], + "bio_courte": "Féministe française, inventrice du terme écoféminisme en 1974. Lie patriarcat et destruction de l'environnement dans une même critique radicale." }, { "id": "silvia-federici", @@ -207,10 +323,12 @@ "ecoles": ["ecofeminismes"], "ecole_principale": "ecofeminismes", "livres_rag": [ - { "slug": "federici-caliban", "titre": "Caliban et la sorcière", "annee": 2004, "couches": ["fond", "structure"] } + { "slug": "federici-caliban-sorciere", "titre": "Caliban et la sorcière", "annee": 2004, "couches": ["fond", "structure"] }, + { "slug": "federici-par-dela-peau", "titre": "Par-delà la peau", "annee": 2019, "couches": ["fond", "structure"] }, + { "slug": "federici-point-zero", "titre": "Le Point zéro de la révolution", "annee": 2012, "couches": ["fond", "structure"] } ], - "theses_cles": ["Accumulation primitive et corps des femmes", "Chasse aux sorcières", "Travail reproductif"], - "bio_courte": "Philosophe italo-américaine, théoricienne du féminisme marxiste. Caliban et la sorcière relit l'accumulation primitive à travers la domination des femmes." + "theses_cles": ["Accumulation primitive et corps des femmes", "Chasse aux sorcières comme contre-révolution", "Travail reproductif et commons"], + "bio_courte": "Philosophe italo-américaine, théoricienne du féminisme marxiste. Caliban et la sorcière relit l'accumulation primitive à travers la domination des femmes et la destruction des commons." }, { "id": "vandana-shiva", @@ -219,10 +337,22 @@ "ecoles": ["ecofeminismes", "ecologies-decoloniales"], "ecole_principale": "ecofeminismes", "livres_rag": [ - { "slug": "shiva-monocultures-esprit", "titre": "Monocultures of the Mind", "annee": 1993, "couches": ["fond", "structure"] } + { "slug": "shiva-staying-alive", "titre": "Staying Alive: Women, Ecology and Development", "annee": 1988, "couches": ["fond", "structure"] } ], - "theses_cles": ["Biopiraterie", "Souveraineté alimentaire", "Écoféminisme tiers-mondiste"], - "bio_courte": "Physicienne et militante indienne, figure mondiale de l'écoféminisme et de la souveraineté alimentaire. Cofondatrice de Navdanya." + "theses_cles": ["Biopiraterie et souveraineté alimentaire", "Écoféminisme tiers-mondiste", "Développement comme destruction"], + "bio_courte": "Physicienne et militante indienne, figure mondiale de l'écoféminisme et de la souveraineté alimentaire. Cofondatrice de Navdanya, contre la biopiraterie des semences." + }, + { + "id": "fatima-ouassak", + "nom": "Fatima Ouassak", + "dates": "1978-", + "ecoles": ["ecofeminismes", "ecologies-decoloniales"], + "ecole_principale": "ecofeminismes", + "livres_rag": [ + { "slug": "ouassak-puissance-meres", "titre": "La Puissance des mères", "annee": 2020, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Féminisme populaire et de couleur", "Écologie de banlieue", "Puissance maternelle comme force politique"], + "bio_courte": "Politiste et militante franco-tunisienne. Articule luttes de classes populaires, antiracisme et écologie dans une perspective féministe ancrée dans les quartiers." }, { "id": "malcolm-ferdinand", @@ -231,10 +361,11 @@ "ecoles": ["ecologies-decoloniales"], "ecole_principale": "ecologies-decoloniales", "livres_rag": [ - { "slug": "ferdinand-ecologie-decoloniale", "titre": "Une écologie décoloniale", "annee": 2019, "couches": ["fond", "structure"] } + { "slug": "ferdinand-ecologie-decoloniale", "titre": "Une écologie décoloniale", "annee": 2019, "couches": ["fond", "structure"] }, + { "slug": "ferdinand-monde-en-commun", "titre": "Un monde en commun", "annee": 2022, "couches": ["fond", "structure"] } ], - "theses_cles": ["Double fracture coloniale et écologique", "Habiter le monde", "Antillanité et écologie"], - "bio_courte": "Ingénieur et philosophe martiniquais. Son oeuvre articule colonialisme et destruction de l'environnement autour de la 'double fracture' historique." + "theses_cles": ["Double fracture coloniale et écologique", "Habiter le monde en commun", "Antillanité et écologie politique"], + "bio_courte": "Ingénieur et philosophe martiniquais. Son oeuvre articule colonialisme et destruction de l'environnement autour de la double fracture coloniale-écologique." }, { "id": "jacques-ellul", @@ -243,34 +374,24 @@ "ecoles": ["technocritique"], "ecole_principale": "technocritique", "livres_rag": [ - { "slug": "ellul-technique-enjeu", "titre": "La Technique ou l'Enjeu du siècle", "annee": 1954, "couches": ["fond", "structure"] } + { "slug": "ellul-technique-enjeu-siecle", "titre": "La Technique ou l'Enjeu du siècle", "annee": 1954, "couches": ["fond", "structure"] }, + { "slug": "ellul-systeme-technicien", "titre": "Le Système technicien", "annee": 1977, "couches": ["fond", "structure"] }, + { "slug": "ellul-bluff-technologique", "titre": "Le Bluff technologique", "annee": 1988, "couches": ["fond", "structure"] } ], - "theses_cles": ["Technique comme système autonome", "Efficacité comme valeur unique", "Propagande et technosystème"], - "bio_courte": "Juriste, sociologue et théologien bordelais. Son oeuvre fondatrice analyse la Technique comme système autonome qui échappe à tout contrôle humain." + "theses_cles": ["Technique comme système autonome échappant au contrôle humain", "Efficacité comme valeur unique de la modernité", "Propagande et technosystème"], + "bio_courte": "Juriste, sociologue et théologien bordelais. Son oeuvre fondatrice analyse la Technique comme système autonome, père de la technocritique radicale française." }, { - "id": "david-graeber", - "nom": "David Graeber", - "dates": "1961-2020", - "ecoles": ["eco-anarchisme"], - "ecole_principale": "eco-anarchisme", + "id": "bernard-charbonneau", + "nom": "Bernard Charbonneau", + "dates": "1910-1996", + "ecoles": ["technocritique"], + "ecole_principale": "technocritique", "livres_rag": [ - { "slug": "graeber-dette", "titre": "Dette : 5000 ans d'histoire", "annee": 2011, "couches": ["fond", "structure"] } + { "slug": "charbonneau-jardin-babylone", "titre": "Le Jardin de Babylone", "annee": 1969, "couches": ["fond", "structure"] } ], - "theses_cles": ["Dette comme instrument de domination", "Anthropologie anarchiste", "Bullshit jobs"], - "bio_courte": "Anthropologue américain, figure du mouvement Occupy. Ses travaux anthropologiques déconstruisent les mythes fondateurs du capitalisme (troc, dette, marché)." - }, - { - "id": "philippe-descola", - "nom": "Philippe Descola", - "dates": "1949-", - "ecoles": ["pensees-vivant"], - "ecole_principale": "pensees-vivant", - "livres_rag": [ - { "slug": "descola-par-dela-nature", "titre": "Par-delà nature et culture", "annee": 2005, "couches": ["fond", "structure"] } - ], - "theses_cles": ["Dualisme nature/culture comme exception occidentale", "4 ontologies (animisme, totémisme, analogisme, naturalisme)", "Cosmopolitiques"], - "bio_courte": "Anthropologue et ethnologue français, successeur de Lévi-Strauss au Collège de France. Démontre que le dualisme nature/culture est une anomalie culturelle." + "theses_cles": ["Liberté contre organisation", "Critique de l'aménagement du territoire", "Personnalisme anarchisant et nature"], + "bio_courte": "Essayiste béarnais, compagnon d'Ellul. Pionnier méconnu de l'écologie politique française. Défend la liberté contre toute organisation — État, marché, technique." }, { "id": "rachel-carson", @@ -279,10 +400,12 @@ "ecoles": ["ethiques-environnementales"], "ecole_principale": "ethiques-environnementales", "livres_rag": [ - { "slug": "carson-printemps-silencieux", "titre": "Printemps silencieux", "annee": 1962, "couches": ["fond", "structure"] } + { "slug": "carson-printemps-silencieux", "titre": "Printemps silencieux", "annee": 1962, "couches": ["fond", "structure"] }, + { "slug": "carson-mer-autour-de-nous", "titre": "The Sea Around Us", "annee": 1951, "couches": ["fond", "structure"] } ], - "theses_cles": ["Impact des pesticides sur les écosystèmes", "Naissance du mouvement environnementaliste moderne", "Responsabilité scientifique"], - "bio_courte": "Marine biologist and author américaine. Son livre Printemps silencieux (1962) a lancé le mouvement environnementaliste moderne en dénonçant les pesticides." + "theses_cles": ["Impact des pesticides sur les écosystèmes", "Naissance du mouvement environnementaliste moderne", "Responsabilité scientifique et démocratie"], + "bio_courte": "Marine biologist et autrice américaine. Printemps silencieux (1962) a lancé le mouvement environnementaliste moderne en dénonçant les pesticides.", + "note_rag": "carson-mer-autour-de-nous-fr aussi indexe pour cross-language queries" }, { "id": "arne-naess", @@ -291,10 +414,78 @@ "ecoles": ["ethiques-environnementales"], "ecole_principale": "ethiques-environnementales", "livres_rag": [ - { "slug": "naess-ecologie-profonde", "titre": "Écologie, communauté et style de vie", "annee": 1989, "couches": ["fond", "structure"] } + { "slug": "naess-ecology-of-wisdom", "titre": "Ecology of Wisdom", "annee": 2008, "couches": ["fond", "structure"] } ], - "theses_cles": ["Deep ecology vs écologie superficielle", "Égalité biosphérique", "Réalisation de Soi élargie"], - "bio_courte": "Philosophe norvégien, fondateur de la 'deep ecology'. Défend une valeur intrinsèque de tous les êtres vivants, indépendamment de leur utilité pour les humains." + "theses_cles": ["Deep ecology vs écologie superficielle", "Égalité biosphérique", "Réalisation de Soi élargie au-delà du moi individuel"], + "bio_courte": "Philosophe norvégien, fondateur de la deep ecology. Défend une valeur intrinsèque de tous les êtres vivants, indépendamment de leur utilité pour les humains." + }, + { + "id": "philippe-descola", + "nom": "Philippe Descola", + "dates": "1949-", + "ecoles": ["pensees-vivant"], + "ecole_principale": "pensees-vivant", + "livres_rag": [ + { "slug": "descola-par-dela-nature-culture", "titre": "Par-delà nature et culture", "annee": 2005, "couches": ["fond", "structure"] }, + { "slug": "descola-composition-mondes", "titre": "La Composition des mondes", "annee": 2014, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Dualisme nature/culture comme exception occidentale", "4 ontologies (animisme, totémisme, analogisme, naturalisme)", "Cosmopolitiques et pluriversalité"], + "bio_courte": "Anthropologue et ethnologue français, successeur de Lévi-Strauss au Collège de France. Démontre que le dualisme nature/culture est une anomalie culturelle occidentale." + }, + { + "id": "vinciane-despret", + "nom": "Vinciane Despret", + "dates": "1959-", + "ecoles": ["pensees-vivant"], + "ecole_principale": "pensees-vivant", + "livres_rag": [ + { "slug": "despret-habiter-oiseau", "titre": "Habiter en oiseau", "annee": 2019, "couches": ["fond", "structure"] }, + { "slug": "despret-autobiographie-poulpe", "titre": "Autobiographie d'un poulpe", "annee": 2021, "couches": ["fond", "structure"] }, + { "slug": "despret-quand-loup-habitera", "titre": "Quand le loup habitera avec l'agneau", "annee": 2002, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Éthologie politique", "Faire bon ménage avec les non-humains", "Épistémologie du point de vue animal"], + "bio_courte": "Philosophe et éthologiste belge. Explore comment penser avec les animaux plutôt que sur eux, développant une éthologie politique de la cohabitation inter-espèces." + }, + { + "id": "baptiste-morizot", + "nom": "Baptiste Morizot", + "dates": "1983-", + "ecoles": ["pensees-vivant"], + "ecole_principale": "pensees-vivant", + "livres_rag": [ + { "slug": "morizot-sur-piste-animale", "titre": "Sur la piste animale", "annee": 2018, "couches": ["fond", "structure"] }, + { "slug": "morizot-manieres-etre-vivant", "titre": "Manières d'être vivant", "annee": 2020, "couches": ["fond", "structure"] }, + { "slug": "morizot-raviver-braises", "titre": "Raviver les braises du vivant", "annee": 2020, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Crise de la sensibilité au vivant", "Diplomatie sauvage", "Désensauvagement comme désorientation ontologique"], + "bio_courte": "Philosophe et pisteur français. Propose une diplomatie sauvage fondée sur l'attention au vivant. La crise écologique comme crise de la relation, avant d'être une crise de ressources." + }, + { + "id": "bruno-latour", + "nom": "Bruno Latour", + "dates": "1947-2022", + "ecoles": ["pensees-vivant"], + "ecole_principale": "pensees-vivant", + "livres_rag": [ + { "slug": "latour-jamais-ete-modernes", "titre": "Nous n'avons jamais été modernes", "annee": 1991, "couches": ["fond", "structure"] }, + { "slug": "latour-face-a-gaia", "titre": "Face à Gaïa", "annee": 2015, "couches": ["fond", "structure"] }, + { "slug": "latour-ou-atterrir", "titre": "Où atterrir ?", "annee": 2017, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Modernes n'ayant jamais séparé nature et société", "Gaïa comme entité politique", "Terrestres vs Hors-sol"], + "bio_courte": "Sociologue et philosophe français, fondateur de la théorie acteur-réseau. Son dernier travail tourne autour de Gaïa et de la question politique du Terrestre face au dérèglement." + }, + { + "id": "isabelle-stengers", + "nom": "Isabelle Stengers", + "dates": "1949-", + "ecoles": ["pensees-vivant"], + "ecole_principale": "pensees-vivant", + "livres_rag": [ + { "slug": "stengers-cosmopolitiques", "titre": "Cosmopolitiques", "annee": 1997, "couches": ["fond", "structure"] }, + { "slug": "stengers-reactiver-sens-commun", "titre": "Réactiver le sens commun", "annee": 2020, "couches": ["fond", "structure"] } + ], + "theses_cles": ["Cosmopolitiques : faire droit aux pratiques non-scientifiques", "Capitalisme comme sorcellerie", "Sens commun contre la raison instrumentale"], + "bio_courte": "Philosophe des sciences belge. Déploie une pensée cosmopolitique qui fait droit à toutes les pratiques, scientifiques et non-scientifiques, face à la destruction capitaliste." } ] }