Files
portfolio/.planning/PROJECT.md
T
kayjaydee e44175b9e4 chore: archive v1.1 milestone — SEO Hytale Autorité & Contenu shipped
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
2026-04-22 22:08:00 +02:00

107 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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*