# Correctifs du 18 août 2026

## Administration

- Correction globale des redirections PHP qui pouvaient déclencher `Cannot modify header information - headers already sent` après le chargement de l’en-tête d’administration.
- Nettoyage du buffer avant les redirections, exports CSV et téléchargements de sauvegardes.
- Conservation des contrôles CSRF, rôles et permissions existants.

## Installation automatique du CMS

- Ajout de `DB_AUTO_INSTALL` activé par défaut : si la base MySQL configurée n’existe pas et que le compte MySQL possède les droits nécessaires, elle est créée automatiquement ; si elle est vide, `database.sql` est importé.
- Ajout de `CMS_AUTO_MIGRATE` activé par défaut : toutes les migrations SQL en attente sont appliquées automatiquement au chargement du site.
- L’écran `/admin/migrations.php` reste disponible comme outil de secours et de diagnostic.
- Réinitialisation du cache de détection des tables après migration afin que le CMS soit utilisable immédiatement dans la même requête.

## Accès

- Ajout d’un champ `identifiant` unique sur les utilisateurs.
- La connexion accepte désormais un **identifiant ou un email**.
- Provisionnement automatique des comptes `Support` (`super_admin`) et `Client1test` (`user`) avec le mot de passe communiqué pour cette livraison, stocké uniquement sous forme de hash.
- Suspension des anciens comptes de démonstration connus lors de la migration, sans suppression de leurs données liées.

## Validation

- 64 fichiers PHP : syntaxe validée.
- `js/app.js` et `js/cms.js` : syntaxe validée.
- Migration Journal `004` : 58 instructions reconnues.
- Migration Accès `005` : 5 instructions reconnues.
