feat(seo): amélioration du référencement et ajout de nouvelles fonctionnalités

- Mise à jour des métadonnées SEO dans index.html pour un meilleur référencement
- Ajout de la prise en charge des balises Open Graph et Twitter pour les partages sur les réseaux sociaux
- Intégration de données structurées pour les pages About, Fiverr et Home
- Ajout d'un fichier robots.txt pour contrôler l'accès des robots d'indexation
- Création d'un fichier sitemap.xml pour améliorer la découverte des pages par les moteurs de recherche
- Ajout d'un fichier site.webmanifest pour la prise en charge des applications web progressives
- Mise à jour des traductions pour refléter les changements dans le contenu et les services
- Amélioration de l'accessibilité avec des attributs ARIA dans les composants de l'interface utilisateur
This commit is contained in:
Mr¤KayJayDee
2025-06-22 20:40:08 +02:00
parent 82147b5ca6
commit 104c667ab9
20 changed files with 958 additions and 376 deletions

View File

@@ -23,19 +23,21 @@ const toggleMenu = () => {
</script>
<template>
<header class="header">
<header class="header" role="banner">
<div class="container">
<div class="header-content">
<!-- Logo -->
<RouterLink to="/" class="logo">
<img :src="getImageUrl('@/assets/images/logo.png')" alt="Killian" class="logo-image">
<RouterLink to="/" class="logo" aria-label="Killian - Full Stack Developer Homepage">
<img :src="getImageUrl('@/assets/images/logo.png')" alt="Killian - Full Stack Developer Logo"
class="logo-image" width="40" height="40" loading="eager">
<span>Killian</span>
</RouterLink>
<!-- Desktop Navigation -->
<nav class="nav hidden md:flex">
<nav class="nav hidden md:flex" role="navigation" aria-label="Main navigation">
<RouterLink v-for="item in navigation" :key="item.name" :to="item.path" class="nav-link"
:class="{ 'active': $route.path === item.path }">
:class="{ 'active': $route.path === item.path }"
:aria-current="$route.path === item.path ? 'page' : undefined">
{{ item.name }}
</RouterLink>
</nav>
@@ -49,8 +51,10 @@ const toggleMenu = () => {
<ThemeToggle />
<!-- Mobile menu button -->
<button @click="toggleMenu" class="md:hidden btn btn-ghost p-2" aria-label="Toggle menu">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<button @click="toggleMenu" class="md:hidden btn btn-ghost p-2"
:aria-label="isMenuOpen ? 'Close navigation menu' : 'Open navigation menu'" :aria-expanded="isMenuOpen"
aria-controls="mobile-menu">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path v-if="!isMenuOpen" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M4 6h16M4 12h16M4 18h16" />
<path v-else stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
@@ -61,10 +65,11 @@ const toggleMenu = () => {
</div>
<!-- Mobile Navigation -->
<div class="mobile-menu md:hidden" :class="{ 'open': isMenuOpen }">
<div id="mobile-menu" class="mobile-menu md:hidden" :class="{ 'open': isMenuOpen }" role="navigation"
aria-label="Mobile navigation">
<nav class="mobile-menu-nav">
<RouterLink v-for="item in navigation" :key="item.name" :to="item.path" class="nav-link"
@click="isMenuOpen = false">
@click="isMenuOpen = false" :aria-current="$route.path === item.path ? 'page' : undefined">
{{ item.name }}
</RouterLink>
</nav>