c32e44d0e8
M1.1 complete (phases 5-8, 13 plans): - @nuxt/content v3 + Shiki syntax highlighting - Blog listing + article pages SSR bilingue (TOC + prev/next) - JSON-LD Article/Breadcrumb/CollectionPage + sitemap hreflang x-default - 2 articles seed Hytale FR+EN (API Java réelle) - Cocon sémantique /blog ↔ /hytale
107 lines
5.6 KiB
Markdown
107 lines
5.6 KiB
Markdown
# Portfolio Killian' Dalcin — Refonte Nuxt 4 SSR
|
||
|
||
## What This Is
|
||
|
||
Portfolio professionnel de Killian' Dalcin, developpeur freelance specialise en plugins Hytale et developpement web gaming. Le site presente ses services, projets et competences en bilingue FR/EN. Migration d'une SPA Vue 3 (invisible sur Google) vers Nuxt 4 SSR pour un SEO complet. Objectif business : qu'un server owner Hytale qui cherche "Hytale plugin developer" trouve Killian sur Google.
|
||
|
||
## Core Value
|
||
|
||
Le portfolio doit positionner Killian comme LE developpeur de plugins Hytale professionnel — pas un "dev web freelance generique" perdu parmi 500 000 autres. Chaque page doit etre crawlable sans JavaScript (SSR), avec un SEO optimise pour le marche Hytale.
|
||
|
||
## Current State
|
||
|
||
**Shipped:** v1.1 (2026-04-22) — SEO Hytale — Autorité & Contenu
|
||
- Blog markdown bilingue FR/EN live avec 2 articles seed Hytale (Java API réelle)
|
||
- SEO blog complet : JSON-LD Article/Breadcrumb/CollectionPage, sitemap hreflang x-default, og:image résolu
|
||
- Cocon sémantique bidirectionnel `/blog` ↔ `/hytale` établi
|
||
|
||
**Prior milestones:** v1.0 (2026-04-21) — Portfolio Hytale-first SSR déployé. Voir `.planning/milestones/`.
|
||
|
||
## Next Milestone
|
||
|
||
*No active milestone.* Candidats identifiés :
|
||
- Asset branded `/og-blog-default.jpg` 1200×630 (design)
|
||
- Page `/blog/tags/[tag]` (SEO long-tail dès 10+ articles)
|
||
- og:image dynamique Satori
|
||
- Analytics blog (reading completion, conversions CTA /hytale)
|
||
- Pipeline éditorial continu (3-5 articles supplémentaires)
|
||
|
||
Lancer `/gsd-new-milestone` pour définir v1.2.
|
||
|
||
## Requirements
|
||
|
||
### Validated
|
||
|
||
- ✓ Nuxt 4 SSR configure avec compatibilityVersion 4 — existant
|
||
- ✓ Systeme i18n bilingue FR/EN avec prefix_except_default — existant
|
||
- ✓ Dark/light theme avec persistence cookie (SSR-safe) — existant
|
||
- ✓ Nuxt UI v3 integre comme bibliotheque de composants — existant
|
||
- ✓ Pages : accueil, projets, about, contact, fiverr — existant
|
||
- ✓ Formulaire de contact avec Zod validation + honeypot — existant
|
||
- ✓ Donnees projets typees avec composable useProjects() — existant
|
||
- ✓ Layout responsive avec header sticky et navigation mobile — existant
|
||
- ✓ JSON-LD structured data (Person, WebSite) sur homepage — existant
|
||
- ✓ Sitemap dynamique avec hreflang FR/EN — existant
|
||
- ✓ useSeoMeta() par route avec title, description, og:tags bilingues — existant
|
||
- ✓ Dockerfile SSR multi-stage node:22-alpine — existant
|
||
|
||
### Active
|
||
|
||
- [ ] Refonte Hero — positionner "Hytale Plugin Developer" en premier plan, pas "Full Stack Developer"
|
||
- [ ] Page Hytale dediee — services plugin dev, demos (placeholders), offre maintenance recurrente
|
||
- [ ] Section pricing/services — grille tarifaire visible (plugin simple, complexe, sur-mesure, maintenance, web)
|
||
- [ ] Temoignages clients — section avis sur page d'accueil et page Hytale
|
||
- [ ] Audit et correction i18n — traductions FR/EN completes et naturelles (certaines traductions sont approximatives)
|
||
- [ ] Correction concerns codebase — og:image hardcodee, sitemap statique obsolete, email validation serveur, flowboard features non-i18n
|
||
- [ ] Page 404 personnalisee — verifier que error.vue fonctionne correctement avec i18n
|
||
- [ ] SEO consolide — canonical links, ogUrl par page, og:image dynamique par projet
|
||
|
||
### Out of Scope
|
||
|
||
- Tests automatises — priorite au shipping, tests si necessaire apres
|
||
- Blog/CMS — promu en Active pour M1.1 (blog markdown statique)
|
||
- Dashboard admin — portfolio statique
|
||
- PWA/Service Workers — pas de besoin offline
|
||
- Pub payante — budget zero
|
||
- Plugin marketplace — trop complexe pour 5-10h/semaine
|
||
- Payment integration — paiements via Fiverr ou virement direct
|
||
|
||
## Context
|
||
|
||
- **Developpeur:** Killian' Dalcin, 7+ ans autodidacte, JS/TS/Vue/React/Node/Java/Kotlin
|
||
- **Situation:** CDI chez Mashe + auto-entrepreneur (micro-entreprise) a cote
|
||
- **Marche:** Hytale en Early Access (2026), marche de plugins quasi vide sur Fiverr (~1 concurrent direct a $45)
|
||
- **Avantage structurel:** Chaque update Hytale casse les plugins = clients recurrents pour maintenance
|
||
- **Probleme resolu:** Portfolio SPA invisible sur Google, positionnement generique "dev web freelance"
|
||
- **Codebase:** Migration Nuxt 4 deja avancee — pages, composants, data, i18n, contact form, SEO, Docker fonctionnels
|
||
- **Disponibilite:** 5-10h/semaine pour prospection hors CDI
|
||
- **Anglais:** Courant/Pro — acces marche international
|
||
|
||
## Constraints
|
||
|
||
- **Stack**: Nuxt 4 + Nuxt UI v3 + Tailwind v4 — versions stables actuelles
|
||
- **Budget**: Zero dependance payante (hors Claude)
|
||
- **Composants**: Nuxt UI v3 en priorite (80% suffit, pas de custom inutile)
|
||
- **TypeScript**: Mode strict partout
|
||
- **i18n/Theme**: Persistance cookie uniquement (SSR-safe), pas de localStorage
|
||
- **Deploiement**: Docker node:22-alpine, SSR
|
||
- **Design**: Garder le dark theme et brand green (#85cb85) actuels — ameliorer, pas refaire
|
||
- **Scope**: Ameliorer l'existant et ajouter le contenu Hytale, pas tout refaire from scratch
|
||
|
||
## Key Decisions
|
||
|
||
| Decision | Rationale | Outcome |
|
||
|----------|-----------|---------|
|
||
| Hytale en positionnement principal | Marche emergent quasi vide, avantage first-mover, clients recurrents | Pending |
|
||
| Nuxt 4 SSR over static generation | SEO dynamique, meta tags par page, i18n avec prefix routing | Good |
|
||
| Cookie-only persistence | SSR-safe, pas de flash/hydration mismatch | Good |
|
||
| pnpm comme package manager | Standard Nuxt 4, plus rapide que npm | Good |
|
||
| Grille tarifaire visible sur le site | Filtrer les clients non-serieux, transparence | Pending |
|
||
|
||
## Evolution
|
||
|
||
This document evolves at phase transitions and milestone boundaries.
|
||
|
||
---
|
||
*Last updated: 2026-04-10 after initialization*
|