# CHANGELOG — Coaster World v1.69.0

## Road Trips multi-parcs
- Nouveau hub `Road Trips` accessible depuis la navigation et le profil.
- Création de voyages contenant plusieurs parcs et plusieurs jours.
- Nom, description, dates globales et statut du voyage.
- Statuts disponibles : À préparer, En voyage, Terminé et Annulé.
- Vue synthétique de tous les voyages de l'utilisateur avec progression, étapes et participants.

## Itinéraire de voyage
- Ajout de jusqu'à 30 étapes par Road Trip.
- Chaque étape est liée à un parc publié du catalogue Coaster World.
- Date de début et de fin facultatives par étape.
- Titre et notes libres par étape.
- Réorganisation de l'ordre des parcs avec les actions monter / descendre.
- États d'étape : À venir, Sur place, Fait et Ignoré.
- Progression globale calculée automatiquement à partir des étapes terminées.
- Statistiques : nombre de parcs, pays, voyageurs et pourcentage du parcours réalisé.

## Lien avec les sorties de groupe
- Une étape peut être reliée à une sortie de groupe existante du même parc.
- Le lien est autorisé uniquement si l'organisateur du Road Trip est membre actif du groupe concerné.
- Les participants ayant accès au groupe peuvent ouvrir directement la sortie depuis l'étape.
- Supprimer un Road Trip ou une étape ne supprime jamais la sortie de groupe liée.

## Voyage à plusieurs
- L'organisateur peut inviter ses amis existants à rejoindre le Road Trip.
- Invitation acceptée ou refusée depuis le hub Road Trips.
- Notifications Coaster World lors d'une invitation.
- Nouvelle catégorie de notifications `Road Trips` avec préférence activable/désactivable.
- Liste des voyageurs acceptés et des invitations en attente.
- L'organisateur peut retirer un participant.
- Un participant peut quitter librement le voyage.

## Confidentialité et permissions
- Seuls l'organisateur et les participants ayant accepté l'invitation peuvent consulter le détail d'un Road Trip.
- Seul l'organisateur peut modifier le voyage, l'itinéraire et les participants.
- Les invitations sont limitées aux amitiés Coaster World existantes.
- Les sorties de groupe liées restent protégées par leurs permissions habituelles.
- Protection CSRF via les formulaires Laravel existants.

## Base de données
- Nouvelle table `road_trips`.
- Nouvelle table `road_trip_members`.
- Nouvelle table `road_trip_stops`.
- Migration Laravel : `database/migrations/2026_08_14_001500_create_road_trip_tables.php`.
- Alternative phpMyAdmin : `database/migrations/sql/coaster_world_v1.69.0_road_trips.sql`.

## Interface
- Navigation desktop et mobile mise à jour avec `Road Trips`.
- Accès rapide ajouté dans le profil utilisateur.
- Timeline de voyage pensée pour desktop, tablette et smartphone.
- Compatibilité thèmes clair et sombre.
- Traductions FR / EN / DE / ES / IT.

## Vérifications
- Syntaxe PHP contrôlée sur les fichiers applicatifs, migrations et routes.
- Équilibre des principales directives Blade contrôlé sur les vues du projet.
- Routes utilisées par le module Road Trips contrôlées statiquement.
- JavaScript source validé avec `node --check`.
- Manifest Vite vérifié et nouvel asset CSS v1.69 présent.
- Cohérence des nouvelles traductions contrôlée dans les 5 langues.
- Composer et `vendor/` ne sont pas présents dans l'environnement de génération : les tests Artisan runtime ne peuvent donc pas être exécutés ici.
