fix: update portfolio branding to "Killian' DAL-CIN" across all documentation and components

- Corrected the name in various files including CLAUDE.md, README.md, and configuration files to reflect the updated branding.
- Ensured consistency in the use of the new name throughout the project, enhancing brand identity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-08 19:54:46 +02:00
parent 9779e4e133
commit c8dac9ac88
45 changed files with 750 additions and 665 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
# Portfolio Killian Dalcin — Migration Nuxt 4
# Portfolio Killian' DAL-CIN — Migration Nuxt 4
## What This Is
Migration complète d'un portfolio freelance de Vue 3 SPA vers Nuxt 4 avec SSR complet. Le site présente les projets, services et compétences de Killian Dalcin, développeur freelance, avec support bilingue FR/EN. L'objectif est un SEO parfait et un développement rapide via des composants prêts à l'emploi (Nuxt UI v3).
Migration complète d'un portfolio freelance de Vue 3 SPA vers Nuxt 4 avec SSR complet. Le site présente les projets, services et compétences de Killian' DAL-CIN, développeur freelance, avec support bilingue FR/EN. L'objectif est un SEO parfait et un développement rapide via des composants prêts à l'emploi (Nuxt UI v3).
## Core Value
+1 -1
View File
@@ -1,4 +1,4 @@
# Requirements: Portfolio Killian Dalcin — Nuxt 4 Migration
# Requirements: Portfolio Killian' DAL-CIN — Nuxt 4 Migration
**Defined:** 2026-04-07
**Core Value:** Chaque page du portfolio doit être crawlable par les moteurs de recherche sans JavaScript côté client
+1 -1
View File
@@ -1,4 +1,4 @@
# Roadmap: Portfolio Killian Dalcin — Nuxt 4 Migration
# Roadmap: Portfolio Killian' DAL-CIN — Nuxt 4 Migration
## Overview
+1 -1
View File
@@ -171,7 +171,7 @@ export interface TechStack {
```vue
<template>
<div>
<h1>Portfolio Killian Dalcin</h1>
<h1>Portfolio Killian' DAL-CIN</h1>
<p>Nuxt 4 Foundation</p>
</div>
</template>
+31 -31
View File
@@ -120,7 +120,7 @@ export default defineAppConfig({
- `css: ['~/assets/css/main.css']`
- `colorMode` block: `{ preference: 'dark', fallback: 'dark', storage: 'cookie', storageKey: 'nuxt-color-mode', cookieName: 'nuxt-color-mode', classSuffix: '' }`
- `i18n.baseUrl: 'https://killiandalcin.fr'`
- `site: { url: 'https://killiandalcin.fr', name: 'Killian Dalcin - Developpeur Full Stack' }`
- `site: { url: 'https://killiandalcin.fr', name: 'Killian' DAL-CIN - Developpeur Full Stack' }`
Do NOT touch existing modules array or i18n locale config — they are correct from Phase 1.
@@ -171,44 +171,44 @@ fr.json top-level structure:
"formation": "Formation"
},
"footer": {
"copyright": "© 2026 Killian Dalcin"
"copyright": "© 2026 Killian' DAL-CIN"
},
"a11y": {
"logoLabel": "Killian Dalcin — Developpeur Full Stack — Retour a l'accueil",
"logoLabel": "Killian' DAL-CIN — Developpeur Full Stack — Retour a l'accueil",
"openMenu": "Ouvrir le menu de navigation",
"closeMenu": "Fermer le menu de navigation",
"closeDrawer": "Fermer le menu",
"langToggle": "Changer la langue — actuellement Francais",
"themeDark": "Activer le mode clair",
"themeLight": "Activer le mode sombre",
"github": "GitHub de Killian Dalcin (nouvelle fenetre)",
"linkedin": "LinkedIn de Killian Dalcin (nouvelle fenetre)",
"fiverr": "Fiverr de Killian Dalcin (nouvelle fenetre)"
"github": "GitHub de Killian' DAL-CIN (nouvelle fenetre)",
"linkedin": "LinkedIn de Killian' DAL-CIN (nouvelle fenetre)",
"fiverr": "Fiverr de Killian' DAL-CIN (nouvelle fenetre)"
},
"seo": {
"home": {
"title": "Killian Dalcin — Developpeur Full Stack Freelance",
"description": "Portfolio de Killian Dalcin, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
"title": "Killian' DAL-CIN — Developpeur Full Stack Freelance",
"description": "Portfolio de Killian' DAL-CIN, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
},
"projects": {
"title": "Projets — Killian Dalcin",
"title": "Projets — Killian' DAL-CIN",
"description": "Decouvrez mes realisations en developpement web : applications Vue.js, API Node.js, bots Discord et solutions d'entreprise."
},
"about": {
"title": "A propos — Killian Dalcin",
"description": "Biographie et competences de Killian Dalcin, developpeur full stack freelance base en France."
"title": "A propos — Killian' DAL-CIN",
"description": "Biographie et competences de Killian' DAL-CIN, developpeur full stack freelance base en France."
},
"contact": {
"title": "Contact — Killian Dalcin",
"description": "Contactez Killian Dalcin pour discuter de votre projet de developpement web."
"title": "Contact — Killian' DAL-CIN",
"description": "Contactez Killian' DAL-CIN pour discuter de votre projet de developpement web."
},
"fiverr": {
"title": "Services Fiverr — Killian Dalcin",
"title": "Services Fiverr — Killian' DAL-CIN",
"description": "Services de developpement disponibles sur Fiverr : bots Discord, plugins Minecraft, applications web."
},
"formation": {
"title": "Formation — Killian Dalcin",
"description": "Formations et cours proposes par Killian Dalcin en developpement web."
"title": "Formation — Killian' DAL-CIN",
"description": "Formations et cours proposes par Killian' DAL-CIN en developpement web."
}
}
}
@@ -226,44 +226,44 @@ en.json same structure with English translations:
"formation": "Training"
},
"footer": {
"copyright": "© 2026 Killian Dalcin"
"copyright": "© 2026 Killian' DAL-CIN"
},
"a11y": {
"logoLabel": "Killian Dalcin — Full Stack Developer — Back to homepage",
"logoLabel": "Killian' DAL-CIN — Full Stack Developer — Back to homepage",
"openMenu": "Open navigation menu",
"closeMenu": "Close navigation menu",
"closeDrawer": "Close menu",
"langToggle": "Change language — currently English",
"themeDark": "Switch to light mode",
"themeLight": "Switch to dark mode",
"github": "Killian Dalcin on GitHub (opens in new tab)",
"linkedin": "Killian Dalcin on LinkedIn (opens in new tab)",
"fiverr": "Killian Dalcin on Fiverr (opens in new tab)"
"github": "Killian' DAL-CIN on GitHub (opens in new tab)",
"linkedin": "Killian' DAL-CIN on LinkedIn (opens in new tab)",
"fiverr": "Killian' DAL-CIN on Fiverr (opens in new tab)"
},
"seo": {
"home": {
"title": "Killian Dalcin — Freelance Full Stack Developer",
"description": "Portfolio of Killian Dalcin, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
"title": "Killian' DAL-CIN — Freelance Full Stack Developer",
"description": "Portfolio of Killian' DAL-CIN, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
},
"projects": {
"title": "Projects — Killian Dalcin",
"title": "Projects — Killian' DAL-CIN",
"description": "Discover my web development projects: Vue.js applications, Node.js APIs, Discord bots and enterprise solutions."
},
"about": {
"title": "About — Killian Dalcin",
"description": "Biography and skills of Killian Dalcin, freelance full stack developer based in France."
"title": "About — Killian' DAL-CIN",
"description": "Biography and skills of Killian' DAL-CIN, freelance full stack developer based in France."
},
"contact": {
"title": "Contact — Killian Dalcin",
"description": "Contact Killian Dalcin to discuss your web development project."
"title": "Contact — Killian' DAL-CIN",
"description": "Contact Killian' DAL-CIN to discuss your web development project."
},
"fiverr": {
"title": "Fiverr Services — Killian Dalcin",
"title": "Fiverr Services — Killian' DAL-CIN",
"description": "Development services available on Fiverr: Discord bots, Minecraft plugins, web applications."
},
"formation": {
"title": "Training — Killian Dalcin",
"description": "Training and courses offered by Killian Dalcin in web development."
"title": "Training — Killian' DAL-CIN",
"description": "Training and courses offered by Killian' DAL-CIN in web development."
}
}
}
+2 -2
View File
@@ -103,7 +103,7 @@ Create `app/components/layout/AppHeader.vue` as a single-file component containi
**Left — Logo:**
- `<NuxtLink to="localePath('/')" :aria-label="t('a11y.logoLabel')">`
- Contains `<NuxtImg src="/images/logo.webp" alt="Killian Dalcin" width="40" height="40" loading="eager" />` + `<span class="text-lg font-semibold">Killian</span>`
- Contains `<NuxtImg src="/images/logo.webp" alt="Killian' DAL-CIN" width="40" height="40" loading="eager" />` + `<span class="text-lg font-semibold">Killian</span>`
**Center-Right — Desktop nav (hidden md:flex):**
- Use `<nav>` with `<NuxtLink>` for each route: home(/), projects(/projects), about(/about), contact(/contact), fiverr(/fiverr), formation(/formation)
@@ -226,7 +226,7 @@ Template:
- Icon: `<UIcon :name="link.icon" class="w-5 h-5 text-gray-500 dark:text-gray-400 hover:text-primary-500 transition-colors duration-150" />`
- Focus ring on each `<a>`: `focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2`
Note: a11y.github key text says "GitHub de Killian Dalcin" but links to Gitea — the executor should update the a11y key in fr.json/en.json to say "Gitea" instead of "GitHub" if not already correct. Check and fix if needed.
Note: a11y.github key text says "GitHub de Killian' DAL-CIN" but links to Gitea — the executor should update the a11y key in fr.json/en.json to say "Gitea" instead of "GitHub" if not already correct. Check and fix if needed.
2. Create `app/layouts/default.vue` (per D-15):
```vue
+2 -2
View File
@@ -128,7 +128,7 @@ useHead({
'@graph': [
{
'@type': 'Person',
name: 'Killian Dalcin',
name: 'Killian' DAL-CIN',
url: 'https://killiandalcin.fr',
jobTitle: 'Developpeur Full Stack Freelance',
email: 'contact@killiandalcin.fr',
@@ -140,7 +140,7 @@ useHead({
},
{
'@type': 'ProfessionalService',
name: 'Killian Dalcin - Developpeur Full Stack',
name: 'Killian' DAL-CIN - Developpeur Full Stack',
url: 'https://killiandalcin.fr',
logo: 'https://killiandalcin.fr/images/logo.webp',
priceRange: '$$$',
+2 -2
View File
@@ -20,7 +20,7 @@ Chaque route rend la bonne langue (FR/EN), le bon thème (dark/light), et les bo
- **D-04:** Switch langue = bouton texte simple FR/EN (toggle au clic), pas de dropdown ni drapeaux
### Footer
- **D-05:** Footer minimaliste — une seule bande : copyright © 2026 Killian Dalcin + icônes réseaux sociaux (Gitea, LinkedIn, Fiverr). Note : siteConfig pointe vers gitea.kamisama.ovh, pas GitHub.
- **D-05:** Footer minimaliste — une seule bande : copyright © 2026 Killian' DAL-CIN + icônes réseaux sociaux (Gitea, LinkedIn, Fiverr). Note : siteConfig pointe vers gitea.kamisama.ovh, pas GitHub.
### i18n SSR
- **D-06:** Enrichir les fichiers existants fr.json/en.json avec les clés navigation, footer et SEO — un seul fichier par langue
@@ -32,7 +32,7 @@ Chaque route rend la bonne langue (FR/EN), le bon thème (dark/light), et les bo
### SEO & Métadonnées
- **D-10:** useSeoMeta() par route — title, description, og:title, og:description uniques
- **D-11:** JSON-LD sur la page d'accueil : schéma Person + ProfessionalService pour Killian Dalcin
- **D-11:** JSON-LD sur la page d'accueil : schéma Person + ProfessionalService pour Killian' DAL-CIN
- **D-12:** og:image statique dans public/ (og-image.png 1200x630) — nuxt-og-image dynamique reporté à Phase 3 suite aux risques Windows identifiés en recherche
### Sitemap
+7 -7
View File
@@ -15,13 +15,13 @@
- **D-02:** Mobile nav via UDrawer (Nuxt UI v3) — hamburger opens left-sliding drawer
- **D-03:** Header sticky permanent
- **D-04:** Language switch = simple text button FR/EN (toggle on click), no dropdown, no flags
- **D-05:** Footer minimal — single band: copyright © 2026 Killian Dalcin + social icons (GitHub, LinkedIn, Fiverr)
- **D-05:** Footer minimal — single band: copyright © 2026 Killian' DAL-CIN + social icons (GitHub, LinkedIn, Fiverr)
- **D-06:** Enrich existing fr.json/en.json with nav, footer, SEO keys — one file per language
- **D-07:** @nuxtjs/i18n already configured: strategy prefix_except_default, FR default, browser detection + cookie
- **D-08:** Dark mode default for new visitors
- **D-09:** Cookie persistence via @nuxtjs/color-mode — no localStorage, no FOUC
- **D-10:** useSeoMeta() per route — unique title, description, og:title, og:description
- **D-11:** JSON-LD on homepage: Person + ProfessionalService schema for Killian Dalcin
- **D-11:** JSON-LD on homepage: Person + ProfessionalService schema for Killian' DAL-CIN
- **D-12:** og:image dynamic via nuxt-og-image (advanced from SEOV2-01)
- **D-13:** All public pages in sitemap except 404
- **D-14:** hreflang FR/EN alternates automatic via @nuxtjs/sitemap + @nuxtjs/i18n integration
@@ -240,7 +240,7 @@ useHead({
innerHTML: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'Person',
name: 'Killian Dalcin',
name: 'Killian' DAL-CIN',
url: 'https://killiandalcin.fr',
jobTitle: 'Développeur Full Stack Freelance',
sameAs: [
@@ -326,7 +326,7 @@ useSeoMeta({
// nuxt.config.ts
site: {
url: 'https://killiandalcin.fr',
name: 'Killian Dalcin — Développeur Full Stack',
name: 'Killian' DAL-CIN Développeur Full Stack',
},
```
@@ -423,7 +423,7 @@ export default defineNuxtConfig({
site: {
url: 'https://killiandalcin.fr',
name: 'Killian Dalcin — Développeur Full Stack',
name: 'Killian' DAL-CIN Développeur Full Stack',
},
colorMode: {
@@ -549,7 +549,7 @@ useHead({
{
'@type': 'Person',
'@id': 'https://killiandalcin.fr/#person',
name: 'Killian Dalcin',
name: 'Killian' DAL-CIN',
url: 'https://killiandalcin.fr',
jobTitle: 'Développeur Full Stack Freelance',
email: 'contact@killiandalcin.fr',
@@ -561,7 +561,7 @@ useHead({
{
'@type': 'ProfessionalService',
'@id': 'https://killiandalcin.fr/#service',
name: 'Killian Dalcin — Développeur Full Stack',
name: 'Killian' DAL-CIN Développeur Full Stack',
url: 'https://killiandalcin.fr',
provider: { '@id': 'https://killiandalcin.fr/#person' },
priceRange: '€€€',
+6 -6
View File
@@ -145,7 +145,7 @@ Components delivered in this phase only:
### AppFooter (COMP-06)
- Single band: `py-6 bg-gray-100 dark:bg-gray-800`
- Layout: flex row on md+, flex column on mobile — `items-center justify-between gap-4`
- Left: copyright text — "© 2026 Killian Dalcin"
- Left: copyright text — "© 2026 Killian' DAL-CIN"
- Right: social icon links — GitHub (`simple-icons:github`), LinkedIn (`simple-icons:linkedin`), Fiverr (`simple-icons:fiverr`)
- Icon size: 20px (w-5 h-5). Hover: accent color with `transition-colors duration-150`
- All links open in `_blank` with `rel="noopener noreferrer"` and `aria-label`
@@ -175,7 +175,7 @@ Phase 2 scope: header nav labels, footer copyright, mobile drawer, language/them
| Element | Copy (FR) | Copy (EN) |
|---------|-----------|-----------|
| Logo aria-label | "Killian Dalcin — Développeur Full Stack — Retour à l'accueil" | "Killian Dalcin — Full Stack Developer — Back to homepage" |
| Logo aria-label | "Killian' DAL-CIN — Développeur Full Stack — Retour à l'accueil" | "Killian' DAL-CIN — Full Stack Developer — Back to homepage" |
| Nav: Home | "Accueil" | "Home" |
| Nav: Projects | "Projets" | "Projects" |
| Nav: About | "À propos" | "About" |
@@ -188,10 +188,10 @@ Phase 2 scope: header nav labels, footer copyright, mobile drawer, language/them
| Language toggle aria-label | "Changer la langue — actuellement Français" | "Change language — currently English" |
| Theme toggle aria-label (dark) | "Activer le mode clair" | "Switch to light mode" |
| Theme toggle aria-label (light) | "Activer le mode sombre" | "Switch to dark mode" |
| Footer copyright | "© 2026 Killian Dalcin" | "© 2026 Killian Dalcin" |
| GitHub icon aria-label | "GitHub de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on GitHub (opens in new tab)" |
| LinkedIn icon aria-label | "LinkedIn de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on LinkedIn (opens in new tab)" |
| Fiverr icon aria-label | "Fiverr de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on Fiverr (opens in new tab)" |
| Footer copyright | "© 2026 Killian' DAL-CIN" | "© 2026 Killian' DAL-CIN" |
| GitHub icon aria-label | "GitHub de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on GitHub (opens in new tab)" |
| LinkedIn icon aria-label | "LinkedIn de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on LinkedIn (opens in new tab)" |
| Fiverr icon aria-label | "Fiverr de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on Fiverr (opens in new tab)" |
Destructive confirmation: none — Phase 2 has no destructive actions.
Empty state: none — Phase 2 has no data-driven content.
@@ -640,7 +640,7 @@ if (!name || !email || !message || message.length > 5000) {
|---|-------|---------|-------------|
| A1 | `@types/nodemailer` est le package de types correct pour nodemailer 8.x | Standard Stack | Types manquants — TypeScript strict échouera ; vérifier avec `npm view @types/nodemailer` |
| A2 | OVH SMTP fonctionne sur ssl0.ovh.net:465 avec auth PLAIN | Pattern 3 | L'envoi échoue — tester avec les vraies credentials avant de fermer la phase |
| A3 | Docker est disponible sur la machine de déploiement de Killian | Environment Availability | INFRA-01 bloqué — confirmer avec `docker --version` |
| A3 | Docker est disponible sur la machine de déploiement de Killian'| Environment Availability | INFRA-01 bloqué — confirmer avec `docker --version` |
| A4 | `UCarousel` expose `emblaApi` directement via `useTemplateRef` dans Nuxt UI v3 | Pattern 1 | Navigation thumbnail cassée — fallback : gérer index manuellement avec `watch` |
---
+1 -1
View File
@@ -1,6 +1,6 @@
# Architecture Patterns
**Project:** Portfolio Killian Dalcin — Nuxt 4 SSR Migration
**Project:** Portfolio Killian' DAL-CIN — Nuxt 4 SSR Migration
**Researched:** 2026-04-07
**Confidence:** HIGH (based on official Nuxt 4 conventions + existing codebase analysis)
+1 -1
View File
@@ -1,6 +1,6 @@
# Technology Stack
**Project:** Portfolio Killian Dalcin — Nuxt 4 SSR Migration
**Project:** Portfolio Killian' DAL-CIN — Nuxt 4 SSR Migration
**Researched:** 2026-04-07
**Knowledge cutoff:** August 2025 — all versions marked LOW confidence must be verified against npm before pinning
+1 -1
View File
@@ -1,6 +1,6 @@
# Research Summary
**Project:** Portfolio Killian Dalcin — Vue 3 SPA → Nuxt 4 SSR Migration
**Project:** Portfolio Killian' DAL-CIN — Vue 3 SPA → Nuxt 4 SSR Migration
**Date:** 2026-04-07
**Sources:** STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md