# Correctifs du 13 août 2026

## Interface publique

- Remplacement de la mention `CMS NO-CODE` du logo public par `CHALETS & IMMOBILIER`.
- Remplacement de la mention `CMS NO-CODE` dans l’administration par `ADMINISTRATION`.

## Journal

- `blog.php` ne déclenche plus d’erreur fatale lorsque les tables du CMS ne sont pas encore installées.
- Un état propre « Le journal se prépare » est affiché à la place.
- Pour un administrateur, un bouton mène directement à la page de mise à niveau du CMS.
- `article.php` gère également proprement un module Journal non initialisé.
- Les liens des articles utilisent maintenant l’URL propre `/blog/{slug}`.
- L’administration des articles détecte une migration incomplète et propose la mise à niveau.

> Pour activer le Journal sur une base existante qui ne contient pas `cms_posts`, ouvrir `/admin/migrations.php` après connexion et appliquer `001_cms_core`.

## Pages légales

Trois pages publiques ont été ajoutées avec le design du site :

- `/confidentialite`
- `/conditions`
- `/mentions-legales`

Les routes Apache, le footer et le sitemap sont raccordés. Les coordonnées affichées reprennent les réglages CMS (`site_name`, `site_address`, `site_email`, `site_phone`).

Avant une mise en production commerciale, compléter dans les mentions légales la raison sociale officielle, la forme juridique, l’IDE / inscription au registre du commerce si applicable, le responsable de publication et l’hébergeur réel.

## Vérification

Tous les fichiers PHP du projet passent `php -l` avec PHP 8.4.
## Catalogue chalets enrichi

- Ajout de 5 nouveaux chalets à louer : Megève, Chamonix-Mont-Blanc, La Clusaz, Nendaz et Val d’Isère.
- Ajout de 6 propriétés à vendre : Megève, Chamonix-Mont-Blanc, Annecy, Ardèche, St-Moritz et Crans-Montana.
- Ajout de galeries et d’équipements pour les nouveaux biens.
- Ajout de la migration `003_catalogue_chalets_demo.sql` pour injecter ces biens dans une base déjà installée sans créer de doublons.
- Mise à jour de la détection France/Suisse pour les nouvelles destinations françaises.


## Consentement cookies, footer et navigation

- Ajout d’un bandeau de consentement cookies visible à la première visite, avec choix **Tout accepter** ou **Refuser l’analyse**.
- Les intégrations Google Analytics et PostHog ne sont plus chargées avant le consentement à la mesure d’audience.
- Ajout d’un lien permanent **Gérer les cookies** dans le pied de page pour modifier le choix.
- Mise à jour de la politique de confidentialité pour refléter ce fonctionnement.
- Ajout d’un bouton fixe **Retour en haut** en bas à droite, affiché après défilement.
- Réorganisation complète du footer : présentation de marque, appel à contact, colonnes de navigation plus lisibles, coordonnées et liens légaux séparés.
- Mise en page responsive spécifique pour tablette et mobile.

## Journal éditorial enrichi

- Ajout de la migration `004_journal_26_articles.sql`.
- Ajout de **26 vrais articles éditoriaux** en français, publiés dans le CMS, avec extraits SEO, contenu structuré et sources officielles.
- Ajout de 6 catégories : Destinations, Été & randonnée, Hiver, Mobilité, Patrimoine & nature et Conseils.
- Les insertions sont idempotentes et ne remplacent aucun article existant portant un autre slug.
- Les cartes du Journal disposent désormais d’un visuel graphique cohérent lorsqu’aucune image principale n’est renseignée.

## Correctif Journal — affichage immédiat des articles

- Correction du filtre Journal : une catégorie vide n'est plus transformée en slug aléatoire.
- Ajout de `includes/journal_articles.php` contenant les 26 articles éditoriaux complets comme contenu intégré de secours.
- `blog.php` fusionne les articles CMS et les articles intégrés : le Journal affiche donc les 26 articles même avant application de la migration SQL.
- `article.php` sait afficher chaque article intégré par son slug si la BDD CMS n'est pas encore initialisée.
- Lorsque les tables CMS sont disponibles, les 26 articles sont synchronisés automatiquement dans `cms_posts` et reliés à leurs catégories, sans doublon.
