Commit Graph
14 Commits
Author SHA1 Message Date
Jules NenyandClaude Opus 5.5 a9befb25ab fix(vue-fiches): passe /autofeedback — Échap dans un champ garde le brouillon, titre d'onglet = fiche ouverte, contrastes et mini-carte décorative de FicheDetail
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGNSEFZdoKvbdsGyfSnu5S
2026-10-03 09:20:16 +02:00
Jules NenyandClaude Opus 5.5 5e0027b861 feat(fiches): / et /agences ouvrent la fiche dans le panneau ; FicheReseauContenu extrait, FicheModal et FicheModalV2 retirées ; Voir sur la carte (B12-M4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGNSEFZdoKvbdsGyfSnu5S
2026-10-03 08:57:16 +02:00
Jules NenyandClaude Opus 5.5 d4e72942fc fix(vue-fiches): accessibilité et contrôles M8 (Lighthouse 24/24 ≥ 95)
Nom accessible de la carte-fiche = son contenu ; résumé et « Sans localisation »
en color-mix(--text 78 %) ; libellé du tri gardé pour les lecteurs d'écran sous
768 px ; lien « sans adresse » hors du parcours clavier quand le compteur est
masqué ; bouton Chatbot flottant en fond plein ; option sélectionnée explicite
des <select> (rendu serveur) ; pastille « Sans adresse » ; cluster allumé au
survol ; pas d'init Leaflet sur un conteneur détaché.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCt6e8wWiYqRXLJAuKqP5i
2026-10-02 18:10:35 +02:00
Jules NenyandClaude Opus 5.5 a98342c5f1 feat(reseaux): /agences branché sur VueFiches ; recherche, tags, famille et carte= dans l'URL (B11-M6)
Hashtags désormais en OU dans leur dimension (ET avant), ET avec la famille.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCt6e8wWiYqRXLJAuKqP5i
2026-10-02 17:57:27 +02:00
JulesandClaude Opus 5.5 38818f77ae feat(aep): têtes Jobs (S) et Réseaux AEP (M) + retrait des mentions Mistral
Arbitrages de Jules du 26/09 (table R §6) : 2A Jobs en S (tête ← slide 16),
1A Réseaux AEP en M (tête ← slide 17), 6 retrait de « Propulsé par Mistral »
et du badge « IA souveraine : Mistral AI », sans rien affirmer à la place.

- pages/trouver-du-taf.vue : EchelleTete S sous le titre, centrée comme l'en-tête ;
  note du chatbot réduite à « 20 questions/jour ».
- pages/agences.vue : popup Réseaux avec echelle="M".
- ChatbotPlaceholder, ChatbotSheet : phrase « serveur européen souverain
  (Mistral FR, zéro rétention) » retirée.
- a-propos : badge « IA souveraine » retiré.
Non touchés : cartes ia-card « Mistral Nemo / Small » d'À propos, « Mistral Le Chat »
d'Outils (hors consigne).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 18:42:19 +02:00
JulesandClaude Sonnet 5 13af3fa1c5 fix(b3): M3 — vue Fiches mobile pleine hauteur, intention avant le compteur
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 12:23:52 +02:00
JulesandClaude Sonnet 5 1838f4b02d feat(b3): M3 — panneau « toutes les fiches » sur / et /agences (desktop + mobile), fiches sans géoloc visibles, ?vue=fiches
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 12:17:52 +02:00
JulesandClaude Sonnet 5 4b1340f160 feat(b3): M1 — Chip.vue par dimension (échelle outline, fonction pleine, posture safran) + filtres / et /agences
- components/Chip.vue (nouveau) : label/variant(echelle|fonction|posture)/
  active/count/as(button|span)/removable, emits toggle+remove, aria-pressed
  natif sur as=button, croix "Retirer {label}" accessible. Styles 100% tokens
  DS (--primary/--on-primary/--bg-alt/--accent/--on-accent/--focus-ring/
  --dur-fast), hover translateY, focus-visible outline var(--focus-ring),
  transition coupée sous prefers-reduced-motion. Taille compacte 32px de haut
  mesurée (tap ok).
- components/ChipGroup.vue (nouveau) : role="group" + aria-label + flex-wrap
  gap — garantit le wrap propre exigé (jamais une ligne à virgules).
- EchelleFilter.vue, FonctionFilter.vue : rendu remplacé par Chip/ChipGroup,
  props modelValue/counts et événement update:modelValue strictement
  inchangés (NavSidebar.vue n'a rien à changer côté logique). FonctionFilter
  passe le rang de sélection (comme avant) via le prop count de Chip.
- HashtagFilter.vue : seule la liste HASHTAGS (togglable, grammaire fonction)
  passe en Chip/ChipGroup. Les chips FAMILLES gardent leur rendu et leurs
  couleurs propres par famille (hors grammaire échelle/fonction/posture,
  hors périmètre B3 — les changer aurait été une refonte, pas un branchement).
- pages/agences.vue : hashtags par structure (liste sidebar) en
  Chip as="span" variant="fonction" (non cliquables avant, le restent).
- pages/index.vue : la sheet mobile ne passe PAS par NavSidebar/EchelleFilter/
  FonctionFilter — elle a son propre bloc de chips dupliqué (découvert en
  testant le mobile, absent du périmètre écrit du brief). Direction du parti
  design ("chips codées par dimension", mobile-first explicite) : convertie
  en Chip/ChipGroup elle aussi, mêmes handlers toggleEchelle/toggleFonction
  inchangés. Effet de bord positif : le nombre par fonction (déjà calculé,
  jamais affiché sur mobile) apparaît désormais aussi en mobile, à parité
  avec le desktop.
- components/TagBadge.vue supprimé : son seul consommateur, OrgCard.vue,
  n'est importé nulle part dans l'app (grep vérifié) — code mort. OrgCard.vue
  supprimé avec lui plutôt que laissé avec une référence à un composant
  disparu.
- components/TypeBadge.vue : conservé tel quel — ce n'est pas un filtre, et
  sa grammaire couleur par type (7 couleurs Tailwind fixes) est orthogonale
  à échelle/fonction/posture ; le convertir en Chip aurait perdu l'info de
  type ou inventé une 4e variante non validée.

Vérifié : npm run build OK. Chips wrap avec gap en clair/sombre/mobile
(390px, hauteur mesurée 32px). Dark mode : contraste texte/fond conforme
(safran = texte sombre, jamais blanc).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 12:03:22 +02:00
Jules NenyandClaude Opus 4.7 f5732bf336 feat(mobile+UX): refonte hamburger, pop-ups Mission, Manifeste, fixes mobile
Hamburger:
- Ajout Jobs, Manifeste, Soutenir
- Ré-ordonnancement (cartes/RAG/Codev en haut, ressources en bas)

Pop-ups Mission:
- MissionPopup générique (slot, props title/ctaLabel/storageKey)
- Auto-show 1ère visite Carte 1 (Entraide) et Carte 2 (Réseaux AEP)
- Bouton (i) flottant pour rouvrir

Pages:
- /manifeste : nouvelle page (texte version page-carto-V1)
- /a-propos : section 1 retirée (devient pop-up Carte 1) + scroll latéral fixé
- /agences : 3e onglet "Graphe" sur mobile + labels structures sur GraphView
- /trouver-du-taf : intro pédagogique repliable (onglets / tags / 5 axes),
  filtres mobile repliables, "Plateformes B2C" → "Pour archi indépendants"

Mobile UX:
- FAB coeur jaune Soutenir retiré (BandeauBas) — accessible via hamburger
- FicheModal/V2 : décalage top:76px sur mobile pour ne plus mordre header
- Logo header : "Architecture d'Écologie / Politique" en clair (2 lignes)

Cause racine résolue:
- /api/chatbot-reseaux n'avait jamais été déployé → 404 en prod avant ce build

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 18:58:42 +02:00
Jules NenyandClaude Sonnet 4.6 5967a5af57 fix(chatbot): séparation définitive Carte1/Carte2 + markdown inline styles
- ChatbotReseaux.vue : composant standalone, endpoint hardcodé /api/chatbot-reseaux,
  onboarding 120 réseaux AEP, aucun prop partagé avec ChatbotSheet
- ChatbotSheet.vue : restauré état simple, /api/chatbot hardcodé, onboarding Carte 1
- agences.vue : ChatbotReseaux au lieu de ChatbotSheet
- useMarkdown.ts : inline styles (font-weight:700 etc) — zéro dépendance CSS,
  fonctionne dans tout contexte Vue scoped/v-html sans exception

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 02:38:47 +02:00
Jules NenyandClaude Sonnet 4.6 a72928343f fix(chatbot): import explicite useMarkdown + titre/onboarding par carte
- ChatbotSheet: import explicite useMarkdown (plus d'auto-import incertain)
- Props: title, onboarding, endpoint
- agences.vue: titre 'Réseaux AEP' + message d'accueil distinct + endpoint correct
- Header chatbot affiche le nom de la carte active

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 01:54:38 +02:00
Jules NenyandClaude Sonnet 4.6 f9a0875727 fix(chatbot): Réseaux AEP → /api/chatbot-reseaux + prop endpoint ChatbotSheet
- server/api/chatbot-reseaux.post.ts : keyword search sur reseaux-bifurcation.json
  (120 structures, même pattern que chatbot-taff)
- ChatbotSheet.vue : prop endpoint? (défaut /api/chatbot) + renderMd déjà actif
- agences.vue : endpoint='/api/chatbot-reseaux'

Markdown s'active au prochain restart du bat (cache .nuxt à nettoyer).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 01:43:02 +02:00
Jules NenyandClaude Sonnet 4.6 03127b1648 feat(nav): Réseaux AEP V2 + onglets Métropole/Outremer Carte1 + reorder nav
- pages/agences.vue : carte V2 complète restaurée (517L, 120 structures)
- pages/index.vue : onglets Métropole/Outre-mer + desktopMapView + chatbot outremer
- app.vue : ordre nav → Entraide / Réseaux AEP / Jobs / Codev / RAG (en construction)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 00:40:22 +02:00
Jules Neny 21c44d8193 feat(aep): carte AEP — push Gitea 2026-04-28 2026-04-28 14:00:05 +02:00