# Installation — Coaster World v1.101.1

Base : `coaster-world_v1.101.0_2026-08-18.zip`

## 1. Sauvegarde
Effectuer une sauvegarde de la base MySQL et conserver votre `.env` ainsi que le contenu de `storage/` avant la mise à jour.

## 2. Déployer l'archive
Remplacer les fichiers applicatifs par ceux de `coaster-world_v1.101.1_2026-08-18.zip`, sans écraser votre `.env` ni vos fichiers utilisateurs dans `storage/`.

## 3. Base de données
**v1.101.1 ne crée aucune nouvelle table et n'ajoute aucune colonne.**

Si la migration de v1.101.0 a déjà été appliquée, aucune opération SQL supplémentaire n'est nécessaire.

Par sécurité après déploiement, vous pouvez exécuter :

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

`php artisan migrate` ne fera rien de nouveau pour v1.101.1 ; il garantit simplement que la table `visit_validations` introduite en v1.101.0 est bien installée.

## 4. HTTPS obligatoire pour le vrai GPS
La géolocalisation navigateur doit fonctionner dans un contexte sécurisé. Le domaine public doit donc rester en HTTPS.

## 5. Contrôle rapide avec un compte normal
1. Ouvrir une page parc alors que vous n'êtes pas physiquement dans le parc.
2. Cliquer sur **Parc visité**, **Je suis dans ce parc** ou **Démarrer le Mode visite**.
3. La position doit être demandée ; une position hors du parc doit être refusée côté serveur.
4. Sur une page coaster/attraction, **Déjà fait** doit également demander une position fraîche et être refusé hors de la zone autorisée.

## 6. Contrôle rapide avec un compte admin
Avec un compte administrateur, les mêmes boutons restent utilisables sans GPS afin de tester l'interface. La validation est enregistrée comme `admin_override`, et non comme GPS réel.

Les validations `admin_override` sont visibles pour le compte admin afin de permettre les tests, mais elles ne doivent pas alimenter les classements, challenges ou expertise communautaire.

## 7. Données antérieures
Les anciennes visites/rides manuels ne sont pas supprimés. Pour un compte normal, ils ne sont simplement plus considérés comme des validations réelles tant qu'aucune validation GPS `verified` ne leur est associée.
