5 Commits

Author SHA1 Message Date
Jules Neny
c40f2701db snapshot(windows): PILOTE.md non commite au 07/08/2026
Doc de pilotage nav-carte (cree 23/06, maj 28/06) present uniquement sur
le PC Windows. Sauvegarde avant bascule sur le portable Linux. Branche
snapshot : main est inchangee, aucun historique reecrit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BERCnDiqhT6SJUe9wGZmXQ
2026-08-07 23:07:40 +02:00
Jules Neny
e5d57e0053 Merge branch 'feat/proposer-4-onglets'
# Conflicts:
#	public/data/auteurs-pensees.json
2026-06-23 13:03:29 +02:00
Jules Neny
3cf9f721a7 fix(chatbot): versionne auteurs-pensees.json (UTF-8) — catalogue RAG
Catalogue lu au runtime par le chatbot par-auteur (171 auteurs, 10 ecoles,
corpus 277). Jamais versionne -> droppe des builds -> feature cassee en prod.
Desormais tracke + converti UTF-16->UTF-8 (le serveur lit en utf-8).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M4VP2GCZfGY2zWs9NAC84X
2026-06-23 13:02:10 +02:00
Jules Neny
04b023518a fix(chatbot): restore auteurs-pensees.json (runtime dependance chatbot, etait perdue dans un worktree) 2026-06-23 12:58:16 +02:00
Jules Neny
e61114d6ec fix(chatbot): restore auteurs-pensees.json (runtime dependance chatbot, etait perdue dans un worktree) 2026-06-23 12:58:04 +02:00
2 changed files with 3953 additions and 0 deletions

188
PILOTE.md Normal file
View File

@@ -0,0 +1,188 @@
---
type: pilote
projet: AEP — nav-carte (aep.trans-former.fr)
casquette: Stack technique
pilote: ATIS Dev
created: 2026-06-23
updated: 2026-06-28
---
# PILOTE — AEP / nav-carte
> Doc de pilotage vivant du site **aep.trans-former.fr**. Source de vérité opérationnelle : état déployé, chantiers, décisions, dette. Le journal de dev détaillé reste dans `JOURNAL-V2.md`. Ce doc est l'index de pilotage, pas le journal.
---
## 1. Ce que c'est
- **Site** : `https://aep.trans-former.fr` — cartographie politique AEP (Architecture En Plus / écosystème militant).
- **Stack** : Nuxt 3 (Nitro SSR) + Vue + Leaflet + D3. Backend RAG = LightRAG (Docker).
- **Repo** : `1 PROJETS/TECH .../nav-carte/` — remote Gitea `git.trans-former.fr/jules/nav-carte.git`.
- **Pilote** : ATIS Dev (ne code pas, dispatche des agents Sonnet).
---
## 2. Architecture déployée (VÉRIFIÉE 2026-06-23) ⚠ lire avant toute session
Source fréquente de confusion — état réel constaté sur le VPS :
```
aep.trans-former.fr
│ Caddy : reverse_proxy localhost:3333
aep.service ← LE service réel (systemd, active/running, Nitro Node)
├── App dir : /opt/aep
├── ExecStart : node /opt/aep/.output/server/index.mjs
├── EnvironmentFile: /opt/aep/.env (contient RAG_PE_URL, MISTRAL_API_KEY, etc.)
└── Port : 3333
LightRAG PE : localhost:9621 (Docker, health 200 ✓) ← backend du chatbot RAG
PIÈGES / fausses pistes :
✗ nav-carte.service → inactive/dead (ANCIEN nom, abandonné — ne pas chercher de ce côté)
✗ nav-worker.service → FAILED (worker enrichissement IA, mort — à statuer)
✗ /opt/nav-carte → n'existe pas (le code n'est PAS sur le VPS en git)
```
**Mécanisme de déploiement = MANUEL, scp/tar (PAS de git pull sur le VPS) :**
```
1. npm run build (local → génère .output/)
2. scp/rsync .output/ → vps-hetzner:/opt/aep/.output/
3. ssh vps-hetzner "systemctl restart aep.service"
4. vérifier : curl -I https://aep.trans-former.fr/<route>
```
**Disque VPS : 91 % (3,5 G libres) — à surveiller, pas bloquant.**
---
## 3. État git du repo (2026-06-23)
- `main` == `gitea/main` == `cd8fe9e2` (0 ahead / 0 behind, parfaitement sync).
- **Le commit déployé sur le VPS est PÉRIMÉ** (antérieur à `cd8fe9e2`) → `/outils`, `/media`, routes chatbot = 404 live alors que le code existe sur `main`.
- **Piège repos imbriqués** : `nav-carte/` est un sous-repo dans le vault. Le vault parent n'est PLUS un repo git (chirurgie 2026-05-07). Travailler git uniquement au niveau `nav-carte/`.
### Travail local non committé au 2026-06-23
| Fichier | État | Destination |
|---------|------|-------------|
| `components/ChatbotPensees.vue` | untracked | **P0/P1 — à committer + déployer** (chatbot RAG) |
| `server/api/chatbot-pensees.post.ts` | untracked | **P0/P1 — à committer + déployer** (route chatbot, appelle LightRAG :9621) |
| `nuxt.config.ts` | modifié (+1) | **P0/P1** — ajoute `runtimeConfig.ragPeUrl` (requis par la route chatbot) |
| `components/MediaTabVisuel.vue` | modifié (CSS) | **P0/P1** — layout toolbar/carte/chatbot |
| `pages/a-propos.vue` | modifié (+64) | **P0/P1** — contenu À propos |
| `pages/contribuer-job.vue` | untracked (stub) | **P2** — laisser untracked (feature Proposer) |
| `pages/contribuer-reseau.vue` | untracked (stub) | **P2** — laisser untracked |
| `.firecrawl/` | untracked | junk — gitignore |
| `pages/index-v1-backup.vue.tmp.*` | untracked | junk — supprimer |
### Branches dispersées (dette — voir §6)
```
main ← prod
feat/outils-v1 / -build / -media ← travail Outils (en partie déjà sur main)
feat/aep-v1.1-nav-carte ← contient a6fff9a9 "PA3 bouton Proposer contextuel"
feat/aep-pratiques-regeneratives ← contient d10586c4 "page /proposer-pratique" + form
feat/aep-rag-pensees-ecologiques ← travail RAG/chatbot
feat/aep-taff-v1 / feat/aep-v2-restore / feat/codev-mvp / wip-stash-v2-onglet2-20260506
```
---
## 4. Chantiers (état au 2026-06-23)
| Prio | Chantier | Diagnostic | Statut | Nature |
|------|----------|-----------|--------|--------|
| **P0** | Onglet Outils + page /media + redirect /rag manquants live | Build VPS périmé (code committé, pas déployé) | ✅ **Fait 2026-06-23** (commit `f3ab28bd` déployé, routes 200, /rag→301) | Mécanique : build + deploy |
| **P1** | Chatbot RAG cassé | Route + composant non committés ; LightRAG PE :9621 = UP | ✅ **Fait 2026-06-23** (route déployée, testé public OK, réponses sourcées) | Mixte : commit + deploy + test |
| **P2** | Interface Proposer 5 onglets (Écosystème/Réseau/Jobs/Outils/Références RAG) | Feature dispersée sur branches feature jamais mergées ; `main` n'a qu'1 form (`contribuer.vue`) + 2 stubs untracked | ✅ **Fait 2026-06-23** (commit `c860dabd`, déployé, testé 5/5 types 201) | 4 types → NocoDB `orgas` + `submission_type` ; Réfs → `ressources_references` ; `/contribuer` → 301 → `/proposer` |
| **P3** | Google Search Console / indexation | Non diagnostiqué | Reporté (Jules) | Voir `pilotage-indexation-seo.md` (dossier TECH) |
| **dette** | Organisation docs/branches/services | Multi-build folders, 10+ Caddyfile.bak, services morts | À cadrer | Voir §6 |
### Mapping bugs Jules → vraie cause
```
"mauvais commit, RAG/Outils pas up" → FAUX : commit OK. Build VPS périmé. → P0
"bouton Proposer 1 carte / 4" → feature sur branches non mergées. → P2
"chatbot slug rag/media KO" → redirect /rag→/media en code (pas déployé) → P0/P1
+ composant chatbot non committé
+ backend LightRAG PE :9621 = UP ✓
```
---
## 5. Décisions techniques runtime
| # | Décision | Pourquoi |
|---|----------|----------|
| τ.1 | P0+P1 (deploy + chatbot) cette session ; P2 (Proposer) session dédiée | P2 = archéologie multi-branches, dilue le fix de deploy |
| τ.2 | Stubs `contribuer-*` laissés untracked au deploy P0 | Ne pas exposer de formulaires inachevés en prod |
| τ.3 | Commit P0 = chatbot route + composant + nuxt.config + MediaTabVisuel + a-propos uniquement | Périmètre minimal du « remettre up » ; pas de WIP Proposer |
---
## 6. Dette d'organisation (constatée 2026-06-23)
Le système tech est éclaté. Symptômes :
- Dossier projet `TECH - infra VPS, website pro, RAG/` mélange **6+ projets** (nav-carte/AEP, Website Pro/trans-former.fr, RAG Militant, Simulateur autonomie V2, codev, vps-kit…).
- Multiples dossiers `*-build` (cascades méga-dispatch passées : `aep-communaute-build`, `codev-build`, `astro-site-cerveau`).
- 10+ `Caddyfile.bak.*` sur le VPS, services systemd morts (`nav-carte.service`, `nav-worker.service`).
- Branches feature jamais mergées ni nettoyées.
- Plusieurs `.md` de pilotage épars à la racine TECH (`next-steps`, `stack-opencode-v2`, `pilotage-indexation-seo`…).
**Proposition de rangement : voir le plan dans le message de session du 2026-06-23 / à formaliser en note dédiée.**
---
## 7. Journal & refs
- Journal dev détaillé : `JOURNAL-V2.md` (même dossier).
- Mémoire pilote : `2 CASQUETTES/Stack technique/ATIS-Dev.md`.
- Prompt P2 : `0 INBOX/PROMPTS/aep-P2-proposer-4-onglets.md`.
- SEO/indexation : `1 PROJETS/TECH .../pilotage-indexation-seo.md`.
---
## Log de pilotage
### 2026-06-23 — Session diagnostic (ATIS Dev / Opus)
**Accompli :**
- Diagnostic complet : renversé l'hypothèse « mauvais commit » → build VPS périmé + travail local non committé.
- Cartographié l'archi de service réelle (`aep.service`, pas `nav-carte.service`).
- Confirmé LightRAG PE :9621 UP, deploy = scp manuel vers `/opt/aep/.output`.
- Créé ce doc pilote + prompt P2.
**Accompli (suite) :**
- ✅ P0+P1 déployés : commit `f3ab28bd` build+push (agent Sonnet), deploy prod (tar+scp → `/opt/aep/.output`, restart `aep.service`). Vérifié : `/outils`, `/media`, `/contribuer`, `/trouver-du-taf` = 200 ; `/rag` → 301 ; chatbot RAG public OK (réponses sourcées via LightRAG :9621).
- Prompts P2 + hygiène TECH écrits avec préflight git anti-superposition + clause supervision pilote.
**Prochaines étapes :**
- [x] P2 : Proposer 5 onglets — fait 2026-06-23 (commit c860dabd, deploye, teste 5/5 types 201).
- [x] Hygiene TECH : execute 2026-06-23 (agent Sonnet). Voir recap dans `_infra/TECH.md`.
- [ ] **Batch 3 (prochain chantier)** : bouton selecteur 3 cartes + popup 5 axes Jobs + GraphView Carte 1. Prompt : `REPRISE-aep-carto-fix-batch3.md`. Session dediee.
- [ ] AEP nav-carte — verifier chatbots EN PROD : `/` = chatbot Entraide / `/agences` = chatbot Reseaux AEP distincts.
- [ ] P3 : Google Search Console (reporte).
### 2026-06-23 — Session hygiène TECH (AXE 1+2+3) + fix chatbot (Agent Sonnet)
**Accompli :**
- **AXE 1 VPS** : docker prune (156M), décommission listmonk (conteneur + image + 2 volumes + 2 routes Caddy), décommission heyform (volume 528M + compose), décommission uptime (volume 88M + route status), `/opt/migration` supprimé (252M, aucune réf active), nav-worker + nav-carte services nettoyés, Caddyfile.bak réduit de 17→4 fichiers. Disque 91%→87% (+~1.3 GB).
- **AXE 2 Docs** : `_archive-build/` créé (3 dossiers `*-build` déplacés), `_infra/TECH.md` créé (inventaire VPS complet), `INDEX.md` créé, 3 squelettes `PILOTE.md` (Website Pro, RAG Militant, Simulateur autonomie V2). 4 `.md` épars routés.
- **AXE 3 Git** : 4 branches à 0 commit supprimées (`feat/outils-v1`, `-build`, `-media`, `feat/codev-mvp`). `feat/outils-v1-build` worktree retiré.
- **Fix chatbot régresse** : `auteurs-pensees.json` (171 auteurs) restauré en prod (scp), versionné sur `main` (commit `04b02351`), push gitea. Worktree `nav-carte-media` retiré, les 4 fichiers untrackés sauvés sur `feat/outils-v1-media` push gitea (branche préservée).
### 2026-06-23 — Session P2 : Proposer 5 onglets (ATIS Dev / Sonnet)
**Accompli :**
- Interface Proposer avec 5 tabs (Écosystème/Réseau/Jobs/Outils/Références RAG)
- 4 types (ecosysteme/reseau/job/outil) → NocoDB `orgas` table avec `submission_type`
- Références → table dédiée NocoDB `ressources_references`
- `/contribuer` → 301 redirect vers `/proposer`
- 6 corrections pilote appliquées
- Build + deploy VPS (scp .output/ + systemctl restart aep)
- Tests : 1 par type (4×201), 1 référence (201), test records supprimés (404)
- Routes vérifiées : /proposer (200), /contribuer (301), /api/submit (201), /api/submit/reference (201)
- ✅ Tout est bon, GO pilote obtenu, P2 terminé
**Prochaine étape :**
- [ ] Push `main``gitea/main` (P2 + fixes chatbot non encore poussés)
- [ ] P3 : Google Search Console (reporté)

File diff suppressed because it is too large Load Diff