# Story 3.4: Barre de progression globale (XP bar)
Status: review
## Story
As a visiteur,
I want voir ma progression dans l'exploration du site,
so that je sais combien il me reste à découvrir.
## Acceptance Criteria
1. **Given** le visiteur est en mode Aventure **When** il navigue sur le site **Then** une barre de progression discrète s'affiche dans le header
2. **And** le pourcentage est calculé selon les sections visitées (Projets, Compétences, Témoignages, Parcours)
3. **And** l'animation de la barre est fluide lors des mises à jour
4. **And** un tooltip au hover indique les sections visitées et restantes
5. **And** le design évoque une barre XP style RPG (cohérent avec `sky-accent`)
6. **And** la barre respecte `prefers-reduced-motion` (pas d'animation si activé)
7. **And** sur mobile, la progression est accessible via la bottom bar
8. **And** la barre n'est pas visible en mode Express/Résumé
## Tasks / Subtasks
- [x] **Task 1: Créer le composant ProgressBar** (AC: #1, #3, #5, #6)
- [x] Créer `frontend/app/components/feature/ProgressBar.vue`
- [x] Props : percent (number), showTooltip (boolean)
- [x] Design XP bar style RPG avec sky-accent
- [x] Animation fluide de remplissage (CSS transition)
- [x] Respecter prefers-reduced-motion
- [x] **Task 2: Implémenter le tooltip des sections** (AC: #4)
- [x] Afficher au hover la liste des sections
- [x] Indiquer le statut : visitée (✓) ou à découvrir
- [x] Tooltip custom avec Transition
- [x] Traductions FR/EN
- [x] **Task 3: Intégrer dans le header** (AC: #1, #8)
- [x] Ajouter la ProgressBar dans le composant Header
- [x] Conditionner l'affichage : visible uniquement en mode Aventure (hero !== null)
- [x] Position : à droite du header, avant le language switcher
- [x] **Task 4: Calculer le pourcentage** (AC: #2)
- [x] Définir les 4 sections : projets, competences, temoignages, parcours
- [x] Chaque section visitée = 25%
- [x] Lire depuis `visitedSections` du store
- [x] Le calcul est fait dans le store (progressPercent/completionPercent)
- [x] **Task 5: Version mobile** (AC: #7)
- [x] Sur mobile, la barre est masquée du header
- [x] La progression est accessible via ProgressIcon.vue (cercle)
- [x] Un tap affiche un drawer avec le détail
- [x] **Task 6: Effets visuels RPG** (AC: #5)
- [x] Effet de brillance/glow au survol
- [x] Bordure stylisée évoquant un cadre de jeu
- [x] Graduation subtile sur la barre (4 segments)
- [x] **Task 7: Tests et validation**
- [x] Tester l'animation de remplissage
- [x] Vérifier le tooltip (desktop)
- [x] Valider la version mobile (ProgressIcon)
- [x] Tester prefers-reduced-motion
- [x] Vérifier que la barre est masquée si pas de héros choisi
## Dev Notes
### Composant ProgressBar
```vue