# Installation — Coaster World v1.61.0

Base : `coaster-world_v1.60.0_2026-08-13.zip`

## 1. Remplacer les fichiers
Copier les fichiers de la v1.61.0 sur l'installation Coaster World en conservant la configuration locale et le fichier `.env` du serveur.

## 2. Base de données — choisir UNE méthode

### Méthode A — Laravel / Laragon recommandée
Ouvrir le terminal Laragon dans le dossier du projet :

```bat
cd C:\laragon\www\coaster-world
php artisan migrate
php artisan optimize:clear
```

La migration attendue est :

`2026_08_13_001200_create_group_visit_program_items_table`

Elle crée la table :

`group_visit_program_items`

### Méthode B — phpMyAdmin
Si la migration Laravel ne peut pas être utilisée, importer uniquement :

`database/migrations/sql/coaster_world_v1.61.0_group_visit_program.sql`

Puis exécuter dans le terminal :

```bat
cd C:\laragon\www\coaster-world
php artisan optimize:clear
```

**Ne pas exécuter la migration Laravel et le fichier SQL manuel tous les deux.**

## 3. Vérification rapide
1. Se connecter avec le propriétaire ou un administrateur d'un groupe.
2. Ouvrir une sortie de groupe encore planifiée.
3. Vérifier le nouveau bloc `Programme de la journée`.
4. Ajouter une attraction avec une heure indicative.
5. Ajouter une étape libre de type repas ou pause.
6. Affecter une étape à une équipe si la sortie contient des équipes.
7. Tester les boutons monter / descendre.
8. Tester les quatre statuts : À faire / En cours / Fait / Ignoré.
9. Vérifier avec un compte participant que le programme est visible mais non modifiable.
10. Vérifier l'affichage smartphone et les thèmes clair/sombre.

## 4. Si Laravel indique que la table manque encore
Dans le terminal :

```bat
php artisan migrate:status | findstr 001200
```

Si la migration est `Pending`, exécuter :

```bat
php artisan migrate
php artisan optimize:clear
```

Ne jamais utiliser `php artisan migrate:fresh` sur la base de production ou sur une base contenant les données Coaster World à conserver.
