Files
librodrome/CONTRIBUTING.md
Yvv 9caf11c8ab
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Restructuration sections, contenu administrable, shadoks, palette été
- Structure par section : /numerique, /economique, /citoyenne (plus de /gestation)
- Chaque section a index + sous-pages avec contenu YAML administrable
- API content supporte les chemins imbriqués ([...path])
- Admin : liste des pages + éditeur par section
- Page /economique : monnaie libre (picto Ğ1), modèle éco, productions collectives, commande livre
- Page /citoyenne : decision (CTA Glibredecision), tarifs-eau (CTA SejeteralO)
- BookActions : composant partagé (player, PDF, chapitres, commande) sur home, eco et modele-eco
- GrateWizard remonté dans la section économique de la home
- Palette été par défaut, choix persisté en localStorage
- Fix lisibilité été (text-white/65 + variables CSS)
- Shadoks thématiques sur toutes les pages (8-10 par page, métiers variés)
- Redirections 301 : /gestation/*, /modele-eco/*, /decision, /lire/*
- README, CONTRIBUTING, CLAUDE.md mis à jour

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 16:13:46 +01:00

3.1 KiB

Contributing — Le Librodrome

Architecture

app/
  pages/
    numerique/          # Section autonomie numérique
      index.vue         # Vue d'ensemble (3 piliers)
      [slug].vue        # Détail pilier (contenu YAML)
    economique/         # Section autonomie économique
      index.vue         # Vue d'ensemble (monnaie libre, livre, productions)
      monnaie-libre.vue
      commande.vue      # Commande du livre (Bookelis + librairie)
      productions-collectives.vue
      modele-eco/
        index.vue       # Couverture livre + sommaire chapitres
        [slug].vue      # Lecteur de chapitre (Nuxt Content)
    citoyenne/          # Section autonomie citoyenne
      index.vue         # Vue d'ensemble (decision, tarifs-eau)
      [slug].vue        # Détail (contenu YAML)
    en-musique/         # Player audio
    evenement.vue
    admin/              # Back-office protégé
      pages/
        index.vue       # Liste toutes les pages YAML
        [...path].vue   # Éditeur YAML (supporte les sous-dossiers)
  components/
    book/Actions.vue    # Boutons partagés du livre (player, PDF, chapitres, commande)
    home/BookSection.vue # Bloc couverture + CTAs (utilise BookActions)
    home/AxisBlock.vue  # Bloc axe sur la home (supporte actions lien via `to`)
    home/AxisGrid.vue   # Grille 3 axes + GrateWizard
  stores/palette.ts     # 4 palettes saisonnières (été par défaut)

Contenu YAML

API : GET /api/content/pages/{path} — supporte les chemins imbriqués (numerique/logiciel-libre).

Admin : PUT /api/admin/content/pages/{path} + GET /api/admin/content/pages (liste).

Les fichiers YAML sont dans site/pages/, organisés en sous-dossiers par section.

Palettes

4 palettes dans stores/palette.ts : automne, hiver, printemps, été.

  • Défaut : été (premier visiteur)
  • Persisté en localStorage('palette') pour les visites suivantes
  • CSS : variables --color-primary, --color-accent, etc. + classe .palette-light/.palette-dark
  • Overrides light mode dans main.css (.palette-light .text-white → couleur adaptive)

Shadoks

Illustrations SVG inline sur chaque page, thématiques par section :

  • Numérique : métiers tech/industrie (codeuse, électricien, soudeuse...)
  • Économique : artisanat/agriculture (boulangère, potier, forgeron...)
  • Citoyenne : navigation/justice/théâtre (capitaine, avocate, comédien...)
  • Modèle éco : livre/édition (typographe, calligraphe, conteuse...)
  • Événement : spectacle (funambule, accordéoniste, jongleur...)

Règles : corps compact, longues pattes, grands pieds plats, bec pointu, postures variées. CSS : position: absolute, pointer-events: none, opacity 0.18-0.28, animation float, display: none sur mobile.

Redirections

server/middleware/redirects.ts :

  • /gestation/* → section appropriée
  • /modele-eco/*/economique/modele-eco/*
  • /decision/citoyenne/decision
  • /lire/*/economique/modele-eco/*
  • /ecouter/*/en-musique/*

Conventions

  • Commits en français, concis
  • Build prod vérifié avant push (PORT=3099 node .output/server/index.mjs)
  • Port dev : 3000 (fixe, jamais de fallback)