commit 21c44d8193abd0a5489ce0eb97ab18a489c4c275 Author: Jules Neny Date: Tue Apr 28 14:00:05 2026 +0200 feat(aep): carte AEP — push Gitea 2026-04-28 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3184488 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +node_modules +.nuxt +.output +dist +.env +.env.* +*.log + +*.tmp.* diff --git a/Archive Prompts/dev-aep-S6-corrections-post-S5.md b/Archive Prompts/dev-aep-S6-corrections-post-S5.md new file mode 100644 index 0000000..7c92c2a --- /dev/null +++ b/Archive Prompts/dev-aep-S6-corrections-post-S5.md @@ -0,0 +1,133 @@ +# Prompt — AEP Session 6 (corrections post S5) + +**À lancer :** prochaine session, Sonnet full auto (Opus pilote standby) +**Priorité :** Mobile polish + DOM-TOM layout repensé + bug form proposer +**Créé :** 2026-04-15 (après S5 livrée — 11/11 retours, 8 commits) + +--- + +## Contexte + +Site live : https://aep.trans-former.fr/ +Racine projet : `C:\Users\jules\Dropbox\ATIS - IPCJRA\1 PROJETS\TECH - infra VPS, website pro, RAG\nav-carte\` +VPS SSH : alias `vps-hetzner`, service `nav-carte.service`, working dir `/opt/nav-carte/.output/`. +Stack : Nuxt 3 + Vue 3 + Tailwind + Leaflet. + +**État S5 livrée (2026-04-15) :** +- 11 retours implémentés (onglets header, sheet mobile, report Resend, DOM-TOM row bas, dark mode tuile, bandeau inversé, etc.) +- 8 commits `aep-s5` +- Site 200 OK, service active + +**NE PAS TOUCHER à `.env` VPS ni `.env.production` local** (patchés manuellement). + +--- + +## Mission + +9 retours UX post-S5 + 1 bug critique (form proposer invisible). + +--- + +## Retours Jules — à implémenter + +### 1. DOM-TOM — repenser le layout (encore) +**Actuel S5 :** row horizontale pleine largeur en bas de la Métropole (Option A). +**Cible S6 :** DOM-TOM à droite du site, **empilés verticalement** (superposés). Navigation dans chaque mini-carte OK (acquis S5). + +En clair : revenir sur un encart à droite de la Métropole, mais les 5 DOM-TOM se **superposent** (une pile verticale dense), pas en grille étalée. Conserver `dragging: true` + `scrollWheelZoom: true`. + +**Layout suggéré :** Métropole 75-80% largeur à gauche, colonne droite 20-25% avec les 5 DOM-TOM empilés (Guadeloupe, Martinique, Guyane, Réunion, Mayotte) — petites hauteurs ~140-160px chacune. + +**Bug #1a — Réunion** : la mini-carte Réunion disparaît après un moment de déplacement. À investiguer (event listener cassé ? tile layer perdu ? bounds reset ?). + +### 2. Onglets header — style "languette de dossier" +Les 3 onglets (Écosystème / Agences / RAG) sont présents mais trop discrets. +Ajouter un effet visuel **languette de fiche de dossier** : petit trapèze/rectangle qui ressort au-dessus de la carte, suggère que l'onglet actif "tire" le contenu de la carte vers le haut. Underline + border-top + border-left/right arrondis haut, background blanc pour l'actif, fond gris clair pour les inactifs. + +### 3. Mobile — onglets invisibles +Les 3 onglets ne sont pas visibles en version mobile actuellement. Les faire apparaître (scroll horizontal ou drawer compact). Même style languette que desktop, adapté petit écran. + +### 4. Mobile — bug barre recherche superposée +La barre de recherche header mobile chevauche les filtres "National / Local". Fix : soit décaler la barre, soit décaler les filtres, soit les combiner proprement dans un bloc unifié. + +### 5. Mobile — supprimer ou remonter "Leaflet | OpenStreetMap contributors" +La ligne de crédit Leaflet en bas de la carte interfère avec les fiches qui remontent (sheet swipable). Options : +- Option A : supprimer sur mobile (`attributionControl: false`) +- Option B : la déplacer en haut de la carte (`position: 'topright'` — mais conflit possible avec autres UI) +- **Recommandation agent : Option A** (suppression mobile — la mention légale peut vivre dans `/a-propos`). + +### 6. Mobile — remonter le chatbot, coeur reste en bas +Actuellement chatbot et coeur (don) tous deux en bas, ça prend de la place inutile. +Cible : +- **Chatbot** : remonter en haut (icône flottante top-right ou intégrée au header) +- **Coeur (don Liberapay)** : reste en bas à droite à la place du chatbot (garde visibilité du don, important) + +### 7. Desktop — bandeau bas label initial +Actuel replié : "AEP transparence IA" +Cible replié : **"Soutenir le projet"** (plus clair, plus engageant) +Transparence IA passe en second plan (hover ou dans le bandeau déployé). + +### 8. Desktop — bandeau fluidité +Le bandeau déploie/replie pas hyper fluide. Ajouter transition CSS propre : `transition: height 0.25s ease-out, opacity 0.2s ease-out`. Vérifier qu'il n'y a pas de reflow layout (utiliser `transform: translateY` si possible plutôt que `height`). + +### 9. Formulaire "Proposer une ressource" — nombre de caractères +Réduire les minimums de caractères requis. Accepter même 0 ou très court (1 ligne suffit). Laisser la description optionnelle ou très permissive. + +### 10. **BUG CRITIQUE — Bouton envoyer invisible sur /proposer** +Sur la page formulaire "Proposer une ressource", **le bouton "Envoyer" n'est pas visible** — probablement masqué sous le bandeau IA/footer fixe. Impossible de soumettre une fiche actuellement. + +Fix : +- Ajouter un `padding-bottom` suffisant au form pour que le bouton soit au-dessus du bandeau +- Ou : s'assurer que le bandeau a un `z-index` inférieur au form +- Tester sur desktop ET mobile + +### 11. Chatbot — vérifier compteur de tokens +Jules a fait quelques recherches via chatbot, mais le compteur de tokens n'a apparemment pas bougé. Vérifier que le tracking fonctionne (logs API, compteur frontend, incrémentation backend). Si bug, corriger. + +--- + +## Règles d'exécution + +- Sonnet full auto, délègue aux sous-agents task si utile +- Commits atomiques : `feat(aep-s6): ` / `fix(aep-s6): ` +- Tests après chaque batch : `npm run build` +- Deploy final : + ```bash + tar -czf - .output | ssh vps-hetzner "rm -rf /tmp/nav-output && mkdir /tmp/nav-output && tar -xzf - -C /tmp/nav-output && rm -rf /opt/nav-carte/.output && mv /tmp/nav-output/.output /opt/nav-carte/.output && systemctl restart nav-carte" + ``` +- Vérif : `curl -sI https://aep.trans-former.fr/ | head -3` → 200 +- Mise à jour `JOURNAL-V2.md` section "Session 6 (2026-04-16)" + +## Critères de fin + +- [ ] 10 retours implémentés + #11 chatbot compteur vérifié +- [ ] Bug form proposer (bouton envoyer visible + soumission fonctionnelle) testé +- [ ] DOM-TOM à droite empilés + bug Réunion fixé +- [ ] Mobile : onglets visibles, barre recherche fixée, chatbot remonté, leaflet credit géré +- [ ] Site 200 OK, service active +- [ ] JOURNAL-V2.md à jour + +## Modèle recommandé + +- Sonnet full auto sur tout +- Opus pilote standby uniquement si bug Réunion #1a nécessite arbitrage debug + +## Durée estimée + +1h30-2h + +--- + +## Autocritique + +**✓ Solide :** +- Bugs critiques identifiés (form proposer, Réunion) +- Layout DOM-TOM reprécisé clairement (pile verticale à droite, pas row bas) +- Chaque retour a recommandation concrète + +**⚠ Faiblesses :** +- #2 style "languette de dossier" : subjectif, agent devra itérer — si rendu pas satisfaisant, screenshot + retour session suivante +- #8 fluidité bandeau : solution CSS proposée mais dépend de l'archi actuelle de `BandeauBas.vue` +- #11 compteur tokens chatbot : pas clair si bug frontend ou backend — agent devra investiguer + +**Autonomie : 8/10** (bug Réunion potentiellement piégeux, sinon clean). diff --git a/Archive Prompts/dev-aep-S8-scroll-hamburger.md b/Archive Prompts/dev-aep-S8-scroll-hamburger.md new file mode 100644 index 0000000..9310440 --- /dev/null +++ b/Archive Prompts/dev-aep-S8-scroll-hamburger.md @@ -0,0 +1,60 @@ +# Prompt AEP — S8 : Fix scroll fiches + hamburger desktop + +**Projet :** `1 PROJETS/TECH - infra VPS, website pro, RAG/nav-carte/` +**Site live :** `aep.trans-former.fr` +**Invocation :** `/atis-dev AEP` + +--- + +## État d'avancement (fin S8, 2026-04-25) — SESSION TERMINÉE + +**S8 livré et déployé :** +- P0 scroll : `app.vue` — `overflow-hidden` conditionné sur `route.path === '/'`, `overflow-y-auto` ailleurs → /fiche/[id], /a-propos, /contribuer scrollent +- P1 hamburger : lien "Signaler" ajouté dans le header desktop (`hidden lg:inline-flex`) — accessible sans hamburger +- /a-propos : phrase "On s'installe seul.e." ajoutée en S1 (texte 2026-04-25 ATIS Business) +- Deploy : `/opt/aep/` sur VPS Hetzner, service `aep`, port 3333 — HTTP 200 confirmé + +**Nota deploy :** le dossier VPS est `/opt/aep/` (pas `/opt/nav-carte/`), service systemd `aep`. + +--- + +## État d'avancement (fin S7, 2026-04-16) + +Déployé et fonctionnel : +- Logo "AEP" dans le carré + sous-titre "Architecture d'Écologie Politique" + lien → trans-former.fr +- Onglets Agences/RAG masqués (code en commentaire dans app.vue, pages gardées) +- Mobile : clic fiche → navigation /fiche/[id] (filtres sauvegardés) +- Desktop : nextTick sur ficheModalOpen (P0 fix) +- Outre-mer mobile : accordéon (header compact, déplie 33vh, invalidateSize Leaflet) +- /a-propos : section "Coût de construction" (~1M tokens, ~0,3 kgCO₂e) + +--- + +## Reste à faire (S9+) + +- /a-propos Section 5 "Transparence IA" — placeholder à écrire (posture politique des coûts IA) +- /a-propos Section 6 "Contribuer" — placeholder à écrire (invitation, ton sans friction) +- Taxonomie v2 (Session N dans roadmap dev) +- Intégration IA / RAG chatbot (Session S3) + +--- + +## Fichiers clés + +| Fichier | Rôle | +|---------|------| +| `app.vue` | Layout global, header, overflow conditionné | +| `pages/index.vue` | Page carte (overflow-hidden géré via app.vue conditionnel) | +| `pages/a-propos.vue` | Page à propos — sections 5+6 encore placeholder | + +--- + +## Deploy (corrigé) + +```bash +cd nav-carte && npm run build +tar -czf /tmp/nav-carte-output.tar.gz -C .output . +scp -P 4422 /tmp/nav-carte-output.tar.gz vps-hetzner:/tmp/ +ssh -p 4422 vps-hetzner "rm -rf /opt/aep/server /opt/aep/public && tar -xzf /tmp/nav-carte-output.tar.gz -C /opt/aep && rm /tmp/nav-carte-output.tar.gz && systemctl restart aep" +ssh -p 4422 vps-hetzner "curl -s -o /dev/null -w 'HTTP %{http_code}' http://localhost:3333/" +``` diff --git a/JOURNAL-V2.md b/JOURNAL-V2.md new file mode 100644 index 0000000..fba9bc3 --- /dev/null +++ b/JOURNAL-V2.md @@ -0,0 +1,1005 @@ +--- +type: journal +project: NAV V2 +created: 2026-04-14 +status: actif +--- + +# NAV V2 — Journal de développement + +Journal technique de la V2. Décisions, anomalies, points bloquants, TODOs. + +--- + +## 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 +**Pattern :** agents parallèles (3 × Sonnet) pour les 3 SSH indépendants — ~90s total vs ~20min séquentiel + +### Changements implémentés + +**B — OutremerMap.vue : accordéon vertical DOM-TOM** +- Template : row horizontale → accordéon `