Files
portfolio/.planning/phases/01-foundation/01-DISCUSSION-LOG.md
T

112 lines
3.2 KiB
Markdown

# Phase 1: Foundation - Discussion Log
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
**Date:** 2026-04-07
**Phase:** 01-foundation
**Areas discussed:** Structure données, Stratégie composables, Assets images, Modules Phase 1
---
## Structure des données
| Option | Description | Selected |
|--------|-------------|----------|
| Fichier data séparé | Créer data/projects.ts avec les données brutes, le composable ne fait que la logique | ✓ |
| Garder inline | Laisser les données dans le composable comme actuellement | |
**User's choice:** Fichier data séparé
**Notes:**
| Option | Description | Selected |
|--------|-------------|----------|
| Clés i18n dans data | Les fichiers data stockent des clés de traduction, textes dans les locales | ✓ |
| Textes FR/EN inline | Stocker les textes directement avec objet { fr, en } | |
| Garder pattern t() | Conserver getXxx(t) comme actuellement | |
**User's choice:** Clés i18n dans data
**Notes:**
| Option | Description | Selected |
|--------|-------------|----------|
| Resserrer | Rendre obligatoires les champs toujours présents | ✓ |
| Migrer tel quel | Copier les types sans changement | |
| Claude décide | Analyse des données réelles | |
**User's choice:** Resserrer
**Notes:**
---
## Stratégie composables
| Option | Description | Selected |
|--------|-------------|----------|
| Style Nuxt natif | Réécrire pour auto-imports, useAppConfig(), supprimer useI18n custom | ✓ |
| Wrapper minimal | Copier avec minimum de changements | |
| Claude décide | Analyser chaque composable individuellement | |
**User's choice:** Style Nuxt natif
**Notes:**
| Option | Description | Selected |
|--------|-------------|----------|
| Phase 1 : seulement useProjects | Porter uniquement useProjects() en Phase 1 | ✓ |
| Tout porter maintenant | Migrer tous les composables d'un coup | |
**User's choice:** Phase 1 : seulement useProjects
**Notes:**
---
## Assets images
| Option | Description | Selected |
|--------|-------------|----------|
| public/ | Images dans public/images/, URLs stables, compatible NuxtImg | ✓ |
| assets/ | Images bundlées par Vite avec hash | |
| Claude décide | Choix selon contraintes | |
**User's choice:** public/
**Notes:**
| Option | Description | Selected |
|--------|-------------|----------|
| WebP uniquement | Garder .webp partout, support 98%+ | ✓ |
| WebP + fallback JPEG | Prévoir fallbacks via <picture> | |
**User's choice:** WebP uniquement
**Notes:**
---
## Modules Phase 1
| Option | Description | Selected |
|--------|-------------|----------|
| Tous en Phase 1 | Installer et configurer tous les modules dès le scaffold | ✓ |
| Progressif par phase | Ajouter module par module selon la phase | |
| Claude décide | Juger selon les dépendances | |
**User's choice:** Tous en Phase 1
**Notes:**
| Option | Description | Selected |
|--------|-------------|----------|
| npm | Rester sur npm comme le projet actuel | |
| pnpm | Passer à pnpm comme recommandé par Nuxt | ✓ |
**User's choice:** pnpm
**Notes:**
---
## Claude's Discretion
Aucune zone déléguée.
## Deferred Ideas
Aucune.