# Coaster World v1.99.9.27

## Correctif HTTP/HTTPS des connexions publiques

- Ajout d'un middleware de canonicalisation HTTPS côté Laravel en production.
- `APP_URL=https://coaster-world.com` devient la source de vérité : une requête HTTP publique est renvoyée vers son équivalent HTTPS.
- L'URL, le chemin et la query string sont conservés.
- Les requêtes non GET inattendues utilisent un redirect 307 afin de conserver la méthode et le corps.
- L'endpoint `/.well-known/acme-challenge/*` reste volontairement accessible en HTTP pour win-acme / Let's Encrypt.
- Toutes les URL Laravel générées en production sont forcées sur `APP_URL` + HTTPS (`route()`, login, logout, formulaires, redirections) via `URL::useOrigin()` et `URL::forceHttps()`.
- Aucun changement en environnement local/test tant que `APP_ENV` n'est pas `production` et `APP_URL` n'est pas HTTPS.
- Aucune migration SQL.

## Cause corrigée

Certains navigateurs restaient sur `http://coaster-world.com`, contrairement à Chrome qui pouvait mettre automatiquement le domaine à niveau vers HTTPS. Les cookies `coaster_world_session` et `XSRF-TOKEN` configurés `Secure` étaient alors rejetés, ce qui provoquait les erreurs 419 lors de la connexion et des incohérences après connexion/déconnexion.
