feat(media): rename /pensees-ecologiques → /media + corpus réel + 12 écoles FRACAS Bonpote

- Page pages/pensees-ecologiques.vue → pages/media.vue (titre "ATIS Média")
- Labels onglet/menu "Pensées" → "Média" (app.vue, agences, index, filters)
- auteurs-pensees.json reconciled avec 141 docs LightRAG (était 27)
  · 28 auteurs (était 18), 64 livres, slugs corrigés (ex: bookchin-ecologie-liberte)
  · 12 écoles: 8 familles FRACAS Bonpote + 4 extensions ATIS
  · Labels alignés Bonpote: Écologies libertaires (ex eco-anarchisme),
    Écologies anti-industrielles (ex technocritique)
  · Familles Bonpote ajoutées: Capitalisme vert + Écofascismes
    (corpus_status: non_ingere — fidélité carte, critique éditoriale assumée)

V2 Phase 2.3 — corpus réel reflété, alignement Bonpote initial
This commit is contained in:
Jules Neny
2026-05-11 23:21:49 +02:00
parent 538c9a1214
commit 11732a6a4b
10 changed files with 548 additions and 174 deletions

View File

@@ -129,11 +129,11 @@
@click="desktopMapView = 'graphe'"
>Vue graphique</button>
<NuxtLink
to="/pensees-ecologiques"
to="/media"
class="px-5 py-2 text-sm font-medium transition-colors"
style="color: var(--nav-text-muted); border-bottom: 2px solid transparent;"
active-class="!color-nav-text"
>Pensees</NuxtLink>
>Média</NuxtLink>
</div>
<!-- Carte Métropole desktop -->
@@ -226,10 +226,10 @@
@click="mobileMapView = 'graphe'"
>Graphe</button>
<NuxtLink
to="/pensees-ecologiques"
to="/media"
class="flex-1 py-2 text-sm font-medium transition-colors text-center"
style="color: var(--nav-text-muted); border-bottom: 2px solid transparent;"
>Pensees</NuxtLink>
>Média</NuxtLink>
</div>
<div class="lg:hidden flex-1 relative overflow-hidden">

View File

@@ -201,10 +201,19 @@
</div>
</div>
<!-- Filtres FONCTION chips flex-wrap -->
<!-- Filtres FONCTION chips flex-wrap + toggle collapse -->
<div class="mt-2">
<span class="text-xs font-bold uppercase tracking-wide block mb-1" style="color: var(--nav-text-muted);">FONCTION</span>
<div class="flex flex-wrap gap-1">
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px;">
<span class="text-xs font-bold uppercase tracking-wide" style="color: var(--nav-text-muted);">
FONCTION
<span v-if="fonctions.length" style="font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 0.65rem; margin-left: 4px;">({{ fonctions.length }} active{{ fonctions.length > 1 ? 's' : '' }})</span>
</span>
<button
@click="mobileFonctionsOpen = !mobileFonctionsOpen"
style="font-size: 0.65rem; color: var(--nav-text-muted); background: none; border: none; cursor: pointer; text-decoration: underline; padding: 0; white-space: nowrap;"
>{{ mobileFonctionsOpen || fonctions.length ? (mobileFonctionsOpen ? 'Replier' : 'Afficher') : 'Fonctions (' + FONCTIONS.length + ')' }}</button>
</div>
<div v-if="mobileFonctionsOpen || fonctions.length" class="flex flex-wrap gap-1">
<span
v-for="fn in FONCTIONS"
:key="fn"
@@ -365,6 +374,7 @@ const ficheModalOpen = ref(false)
const ficheModalId = ref<number | null>(null)
const mobileMapView = ref<'metropole' | 'outremer'>('metropole')
const missionOpen = ref(false)
const mobileFonctionsOpen = ref(false)
onMounted(() => {
try {

View File

@@ -7,9 +7,9 @@
<!-- Header onglet -->
<div class="shrink-0 px-5 py-3"
style="background: var(--nav-surface); border-bottom: 1px solid var(--nav-bg-alt);">
<h1 class="font-bold text-base" style="color: var(--nav-text);">Pensees Ecologiques</h1>
<h1 class="font-bold text-base" style="color: var(--nav-text);">ATIS Média</h1>
<p class="text-xs mt-0.5" style="color: var(--nav-text-muted);">
{{ corpusCount }} auteurs ingeres dans le RAG - carte FRACAS Bonpote V2
{{ corpusCount }} auteurs ingérés dans le RAG - carte FRACAS Bonpote V2
</p>
</div>
@@ -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' })
</script>