# Correctif du 20 août 2026 — activation CMS

- Ajout d’une entrée **CMS · activation** dans la section **Système** de l’administration.
- Ajout d’un bouton **Activer le CMS / Vérifier et réparer** protégé par CSRF.
- Le noyau `001_cms_core` est rejoué de manière idempotente lorsqu’une installation a été interrompue, même si sa version avait déjà été enregistrée.
- Le contrôle d’installation vérifie désormais toutes les tables principales du CMS, et non un sous-ensemble.
- Le dashboard propose un accès direct à l’activation lorsque le CMS est incomplet.
- `CMS_AUTO_MIGRATE=0` est désormais réellement respecté ; par défaut les migrations automatiques restent activées.
## Correctif activation CMS MySQL/MariaDB
- Remplacement de `SHOW TABLES LIKE ?` par une requête préparée sur `information_schema.tables`.
- Corrige le faux diagnostic où toutes les tables `cms_*` apparaissaient absentes malgré leur création.
- L’écran `CMS · activation` affiche désormais un diagnostic chiffré si une structure reste réellement manquante.


## CMS relié au contenu historique

- Import automatique non destructif des pages existantes dans **Admin > Pages** : Accueil, Chalets, Achat & vente, Journal, Contact, Confidentialité, Conditions et Mentions légales.
- Les pages importées sont identifiées comme **Page existante** et restent reliées à leurs fichiers publics historiques.
- Les textes principaux de l’accueil, du catalogue, de l’immobilier, du journal, du contact et des entêtes légales sont désormais lus depuis le CMS après publication.
- Le slug des pages historiques est verrouillé dans l’éditeur afin de ne pas casser la liaison avec la route publique.
- Import automatique du menu principal et du menu de pied de page lorsqu’aucun menu actif n’existe encore.
- Le footer expose désormais dans **Apparence > Footer** son sous-titre, son CTA, ses libellés légaux/cookies, son copyright et ses réseaux sociaux. Les colonnes de liens restent gérées dans **Menus** et les coordonnées dans **Paramètres**.

## Informations légales de la société

- Ajout du siège social : **8 RUE D'ANETO, 31490 LEGUEVIN**.
- Ajout du **SIREN 809 897 630**.
- Ajout du **SIRET 809 897 630 00012**.
- Ajout du **RCS 809 897 630 R.C.S. Toulouse**.
- Ajout du **numéro de TVA FR42809897630**.
- Ces informations sont affichées sur la page **Mentions légales** et utilisées pour identifier le responsable du traitement dans la politique de confidentialité.
- Elles sont modifiables depuis **Admin > Paramètres > Informations légales de la société**.
- Les valeurs sont injectées automatiquement dans les installations CMS déjà existantes sans écraser une valeur déjà enregistrée.

## URL officielle du site

- URL publique définie sur `https://www.alpine-evasion.com`.
- Ajout d’un champ **URL officielle du site** dans **Admin → Paramètres**.
- Utilisation de cette URL pour les URL canoniques SEO, le sitemap dynamique et les mentions légales.
- Mise à jour des fichiers statiques `sitemap.xml` et `robots.txt` de `.ch` vers `.com`.
- Le chemin local `BASE_URL` reste inchangé afin que l’administration et les liens continuent de fonctionner sur `localhost`.

## Correctif routage cPanel / pages publiques

- Restauration du routage `mod_rewrite` dans `.htaccess` tout en conservant les directives cPanel PHP 8.1.
- Prise en charge des pages légales sans extension : `/mentions-legales`, `/confidentialite`, `/conditions`.
- Prise en charge des URLs canoniques `/blog/{slug}` et `/chalet/{slug}`.
- Ajout des alias historiques CMS `/accueil`, `/journal`, `/achat-vente`, `/acheter` et `/louer`.
- Routage des pages CMS personnalisées par leur slug public.
- `sitemap.xml` et `robots.txt` servis par les versions PHP dynamiques.
- Ajout d'une vraie page 404 locale afin d'éviter la double erreur 404 d'Apache/cPanel.
- Protection contre l'accès HTTP direct aux dossiers internes et fichiers techniques sensibles.
- Détection automatique du chemin de base en production (racine du domaine) et en sous-dossier local.
- Sitemap dynamique dédupliqué et corrigé pour les pages historiques reliées au CMS.
- Liens d'articles des menus CMS alignés sur les URLs `/blog/{slug}`.
- Robustesse PDO améliorée si l'extension MySQL n'est pas chargée dans un environnement de test.

## Correctif navigation racine, déconnexion et favicon

- Correction de `url()` lorsque le site est installé directement à la racine du domaine : l'accueil renvoie désormais `/` au lieu d'une URL vide.
- Correction du formulaire de déconnexion : après destruction de la session, retour fiable vers l'accueil au lieu d'une page blanche sur `deconnexion.php`.
- Correction des boutons « Voir le site » dans l'administration et Apparence : ils ouvrent désormais réellement l'accueil en production.
- Correction par ricochet de tous les liens d'accueil utilisant `url()` (logo du header, footer, fil d'Ariane, retours à l'accueil, URLs CMS `/`).
- Ajout d'un favicon Alpine Évasion par défaut (`favicon.svg`, `favicon.ico`, PNG 16/32/512 et icône Apple 180px).
- Le favicon choisi dans CMS > Apparence reste prioritaire ; sinon le favicon Alpine Évasion est utilisé automatiquement.
- Ajout du favicon dans le site public, l'administration, le mode maintenance et les templates CMS sans header.
