# Docs — Portfolio v2

Documents de conception et décisions prises pendant la refonte du portfolio.

## Sommaire

| # | Fichier | Rôle |
|---|---|---|
| 01 | [Analyse & plan](./01-analyse-et-plan.md) | Audit de l'ancien site Angular + choix Astro hybrid + système d'édition JSON + stack déploiement Plesk Node.js |
| 02 | [Moodboard Free Party](./02-moodboard-freeparty.md) | Direction artistique "Studio Live / tekno free party" : palette acid, typos, vocabulaire, déclinaison page par page, plan d'implémentation 14 blocs |

## Choix principaux validés

- **Framework** : Astro 6 hybrid (SSG public + SSR `/admin` et `/api`)
- **Hébergement** : Plesk Node.js (startup `dist/server/entry.mjs`)
- **Contenu** : `public/content/*.json` éditables via `/admin`, runtime fetch (zéro rebuild)
- **Direction artistique** : Cyberpunk Dark + skin Free Party
  - Palette : `#0A0A0F` / `#00F0FF` cyan / `#C6FF00` acid / `#FF2A6D` magenta / `#FF0040` LED red
  - Typos : Inter, Space Grotesk, JetBrains Mono, Bebas Neue (stencil)
- **Animations** : Lenis smooth scroll, Framer Motion, View Transitions API, GSAP scroll-pinned manuel, islands React

## Structure des 14 blocs implémentés

Voir [02-moodboard-freeparty.md §11](./02-moodboard-freeparty.md) pour la liste ordonnée et [14](./02-moodboard-freeparty.md) pour le plan d'exécution détaillé.

## Racines & contraintes

- **Pro avant tout** : nav FR grand public, URLs standards, CV 1 clic
- **Jargon free party = déco** : stickers, BPM fictifs, LED, stencil — jamais bloquant
- **Responsive** : fallbacks propres pour chaque effet wow (pinned horizontal, magnetic, UV parallax)
- **A11y** : respect de `prefers-reduced-motion` partout
- **Sécurité** : admin JWT cookie httpOnly, middleware protégeant `/admin/*` et `/api/content/*`
