CMS / Site / Admin

Changelog IziiClean

Historique unifié du site public, du CMS et de son administration. Les journaux internes CRM, Agent et Client restent accessibles uniquement depuis leurs espaces authentifiés.

Version installéeCMS/Site/Admin V2.7.25
CMS V2.7.13

CONNEXIONS HARMONISÉES AVEC LE CRM

  • La connexion Admin CMS reprend la hiérarchie, la carte et les couleurs du CRM.
  • Les connexions Agent et Client utilisent le même langage visuel.
  • Les flux de mot de passe, 2FA et redirection ne sont pas modifiés.
  • Amélioration des libellés, des alertes accessibles et du rendu mobile.
CRM V4.13.21

DOCUMENTATION AUTOMATIQUE DES MISES À JOUR

  • Documentation actualisée avec la 2FA e-mail/application, les alertes pleine
  • largeur, les connexions harmonisées et le portail unifié CRM, Agent et CMS.
  • Chaque futur manifeste signé peut transporter jusqu’à 25 fiches détaillées.
  • Validation stricte des identifiants, espaces, longueurs, liens locaux et du
  • volume documentaire avant toute installation.
  • Création automatique d’une notice à partir du titre et des versions lorsque
  • le paquet ne fournit pas de fiche détaillée.
  • Registre privé fusionné par paquet, sans doublon lors d’une réinstallation.
  • Sauvegarde et restauration automatique de la documentation avec le reste de
  • la mise à jour en cas d’échec.
  • Correctif signé installable depuis CRM V4.13.20 / CMS V2.7.15 et
  • réinstallable en V4.13.21 / V2.7.16.
  • Aucune migration MySQL.
CRM V4.13.14

SÉCURITÉ COMPLÈTE ET SAUVEGARDES CHIFFRÉES

  • Chiffrement hybride obligatoire des nouvelles sauvegardes : AES-256-CTR,
  • HMAC-SHA-256 et enveloppe RSA-OAEP 4096 bits.
  • Clé privée requise uniquement lors de la restauration et jamais stockée sur
  • le serveur ; les archives chiffrées utilisent l’extension .izb.
  • Validation de l’intégrité avant déchiffrement et contrôle strict des chemins
  • de l’archive avant extraction.
  • Réauthentification mot de passe + TOTP pendant 10 minutes avant mises à jour,
  • extensions, permissions, utilisateurs, paiements et sauvegardes.
  • Révocation des sessions CRM/CMS après changement de mot de passe, de rôle ou
  • désactivation du compte.
  • CSP bloquante avec nonce aléatoire pour les scripts intégrés ; suppression du
  • mode Report-Only.
  • SBOM CycloneDX 1.5, empreintes des composants vendoriés et commande CLI de
  • contrôle/SCA compatible OSV-Scanner.
  • Installation depuis CRM V4.13.13 ou réinstallation V4.13.14 ; CMS V2.7.9 ou
  • réinstallation V2.7.10. Aucune migration MySQL.
CMS V2.7.16

DOCUMENTATION AUTOMATIQUE DES MISES À JOUR

  • Centre d’aide complété avec les dernières fonctions CRM, CMS et Agent.
  • Les fiches portées par les futurs paquets signés sont ajoutées automatiquement.
  • Une notice minimale est générée lorsque le manifeste n’en contient pas.
  • Le registre documentaire est privé, limité, sauvegardé et restaurable.
  • Installation depuis CMS V2.7.15 ou réinstallation V2.7.16.
  • Aucune migration MySQL.
CMS V2.7.15

LIBELLÉS SIMPLIFIÉS DU PORTAIL UNIFIÉ

  • Les trois cartes affichent désormais uniquement « CRM », « Agent » et « CMS ».
  • Les descriptions, liens, droits et contrôles d’accès restent inchangés.
  • Installation depuis CMS V2.7.14 ou réinstallation V2.7.15.
  • Aucune migration MySQL.
CMS V2.7.14

RÉFÉRENCE UX/UI STRICTE DES CONNEXIONS

  • Le gabarit compact CRM devient la référence commune Agent et Admin CMS.
  • Largeur, espacements, couleurs, typographies et composants sont centralisés
  • dans une feuille de style partagée.
  • Amélioration uniforme du focus clavier, des alertes et du rendu mobile.
  • Les traitements de connexion, CSRF, droits, sessions et 2FA restent inchangés.
  • Installation depuis CMS V2.7.13 ou réinstallation V2.7.14.
  • Aucune migration MySQL.
CMS V2.7.12

VÉRIFICATION PAR E-MAIL OU APPLICATION

  • Choix exclusif entre application TOTP et code reçu par e-mail.
  • Changement sécurisé de méthode sans supprimer prématurément l’ancienne.
  • Codes e-mail à usage unique, hachés et valables dix minutes.
  • Correction de l’affichage étroit des bulles d’information du CRM.
  • Installation directe du correctif signé depuis le gestionnaire du CRM.
CMS V2.7.11

CORRECTIF D’ENRÔLEMENT 2FA À LA PREMIÈRE CONNEXION

  • Première connexion guidée par QR ou clé TOTP manuelle.
  • Aucun ancien code ni code de récupération demandé avant l’activation.
  • Réparation automatique d’un secret non activé illisible ou incomplet.
  • Codes de récupération générés après le premier code TOTP valide.
  • Les facteurs déjà actifs restent protégés contre une réinitialisation par mot
  • de passe seul.
  • Mise à jour depuis CMS V2.7.10/V2.7.11 et CRM V4.13.14/V4.13.15.
CRM V4.13.10

CORRECTIFS DE SÉCURITÉ ISSUS DE L’AUDIT

  • Double authentification administrateur forcée par un plugin essentiel.
  • Sauvegardes sans secrets ni pièce jointe, avec intégrité HMAC.
  • Mises à jour et plugins vérifiés par signature RSA-SHA256.
  • Configuration guidée de la clé publique, sans faux échec des prérequis serveur.
  • Retour de mise à jour étendu aux dumps MySQL.
  • Limitations de connexion persistantes même si MySQL est indisponible.
  • Protections SSRF sur les calendriers iCal et endpoints Push.
  • Sessions bornées, fichiers locaux en 0600 et exposition web réduite.
  • Mise à jour autorisée depuis CRM V4.13.9/V4.13.10 et CMS V2.7.8/V2.7.9.
CRM V4.13.8

SÉCURISATION DU SOCLE REBASÉE

  • Suppression du jeton CRM/CMS qui était auparavant présent dans les fichiers livrés.
  • Génération cryptographique automatique du nouveau jeton et stockage dans la base MySQL unique.
  • Priorité possible à la variable d'environnement IZIICLEAN_SITE_CMS_API_TOKEN.
  • Suppression des comptes et du mot de passe de secours historiques du code source.
  • Création coordonnée du premier administrateur CRM et CMS lors d'une installation neuve.
  • Sessions CRM, CMS, Agent et Client en mode strict, cookies uniquement, HttpOnly et SameSite=Lax.
  • Attribut Secure activé automatiquement lorsque la requête utilise HTTPS.
  • Contrôles automatisés contre le retour de secrets, comptes par défaut ou manifestes incohérents.
  • Classement du changelog corrigé pour conserver l'ordre sémantique des versions.
  • Verrouillage des connexions et évolutions de production V4.13.2 à V4.13.7 conservés.
  • Mise à jour autorisée uniquement depuis CRM V4.13.7 et CMS V2.7.7.
  • Aucune modification de structure MySQL nécessaire.
CMS V2.7.10

SAUVEGARDES CHIFFRÉES ET RÉAUTHENTIFICATION FORTE

  • Toutes les nouvelles sauvegardes sont chiffrées et authentifiées au format
  • .izb avant conservation ; aucune archive en clair ne subsiste.
  • La restauration demande la clé privée hors ligne et vérifie le HMAC avant
  • toute extraction ou modification.
  • Les sauvegardes et réglages sensibles exigent mot de passe et TOTP récents.
  • Les sessions CMS sont révoquées après changement de mot de passe, de rôle ou
  • désactivation du compte.
  • La CSP avec nonce est désormais bloquante pour les scripts intégrés.
  • Inventaire CycloneDX et vérification des empreintes des dépendances vendoriées.
  • Mise à jour depuis CMS V2.7.9/V2.7.10 et CRM V4.13.13/V4.13.14.
CMS V2.7.9

CORRECTIFS DE SÉCURITÉ ISSUS DE L’AUDIT

  • Secrets et journaux exclus sans possibilité de désactivation des sauvegardes fichiers.
  • Notifications de sauvegarde sans archive jointe et intégrité HMAC vérifiée.
  • Limitation locale des connexions si MySQL est indisponible.
  • Sessions administrateur bornées et déclenchement HTTP Cron désactivé par défaut.
  • Diagnostic public supprimé et fichiers sensibles bloqués par le serveur web.
  • Mise à jour autorisée depuis CMS V2.7.8/V2.7.9 et CRM V4.13.9/V4.13.10.
CMS V2.7.8

SÉCURISATION DU SOCLE CMS REBASÉE

  • Le jeton de synchronisation CRM/CMS n'est plus présent dans les fichiers livrés.
  • Le CMS lit le secret généré dans la base MySQL unique ou fourni par l'environnement.
  • Une installation neuve crée le même administrateur sécurisé dans le CRM et le CMS.
  • Sessions en mode strict avec cookies HttpOnly, SameSite=Lax et Secure sous HTTPS.
  • Expiration après huit heures d'inactivité conservée.
  • Mise à jour autorisée uniquement depuis le CMS V2.7.7 et le CRM V4.13.7.
  • Aucun changement de structure MySQL.
CRM V4.13.0

AUTHENTIFICATION RENFORCÉE

  • Nouvelle extension facultative Authentification renforcée V1.0.0.
  • Double authentification TOTP pour le CRM, le CMS et l’espace Agent.
  • Politiques séparées : facultative, obligatoire pour les administrateurs ou tous.
  • QR d’activation local, secrets TOTP chiffrés AES-256-GCM et anti-rejeu.
  • Dix codes de récupération à usage unique et verrou après cinq erreurs.
  • Connexion Client Google avec OAuth 2.0, OpenID Connect, PKCE, état et nonce.
  • Connexion Client Apple avec OpenID Connect, état, nonce et secret ES256.
  • Signature RS256 et propriétés des jetons vérifiées depuis les clés officielles.
  • Liaison limitée à un espace Client existant, actif et à l’e-mail vérifié exact.
  • Association et retrait des identités Google/Apple depuis le profil Client.
  • Secrets fournisseurs conservés dans une configuration locale privée exclue des ZIP.
  • Quatre tables MySQL idempotentes dédiées à la 2FA et aux identités externes.
  • Documentation V2.13.0 portée à 86 fiches.
CRM V4.6.0

PLUGIN DEMANDER UN RAPPEL TÉLÉPHONIQUE

  • Extension facultative activable depuis Plugins & fonctions.
  • Formulaire public /rappel.html avec téléphone obligatoire, créneau, motif,
  • message, consentement, anti-spam et contrôle des doublons.
  • Création ou rapprochement automatique dans la liste des prospects avec le
  • statut À contacter, une priorité haute et une source dédiée.
  • Notifications limitées aux commerciaux et administrateurs.
  • Suivi CRM avec affectation, appel direct, accès au prospect, date, notes et
  • six statuts de traitement.
  • Migration idempotente site_callback_requests.
  • Plugin Rappel téléphonique V1.0.0 et Documentation V2.6.0 à 80 fiches.
CRM V4.5.0

SUPPRESSION SÛRE DES DOSSIERS VIDES VÉRIFIÉS

  • Nouvelle règle facultative pour les dossiers réellement vides, sans lien
  • symbolique, âgés de plus de 30 jours et hors branches applicatives connues.
  • Exclusion des chemins officiels, privés, techniques ou cachés : plugins,
  • médias, uploads, données, configurations, caches, sessions et sauvegardes.
  • Refus des chemins encore référencés dans le code CRM/CMS.
  • Revalidation immédiate avant la mise en quarantaine ZIP restaurable.
  • Contrôle d’intégrité avant/après des fichiers critiques, racines CRM/CMS,
  • connexion MySQL et diagnostic des plugins.
  • Restauration automatique de tous les dossiers au moindre écart détecté.
  • Rapport de quarantaine enrichi avec les deux états d’intégrité.
  • Plugin Nettoyage & maintenance V1.2.0 et Documentation V2.5.0 à 79 fiches.
  • Aucune migration de structure MySQL supplémentaire.
CRM V4.3.0

PLUGIN NETTOYAGE & MAINTENANCE

  • Extension facultative, désactivée par défaut et réservée aux administrateurs.
  • Analyse en lecture seule des racines CRM/CMS et des tables de la base unique.
  • Nettoyage limité aux résidus reconnus et anciens : fichiers système, swap,
  • temporaires de mise à jour et staging/sauvegardes de plugins abandonnés.
  • Règles de rétention fixes pour jetons expirés, jobs terminés, événements de
  • plugins et anciens rapports ou journaux d’audit.
  • Aucun DROP TABLE et aucune suppression automatique d’un fichier ou d’une
  • table inconnue ; médias, uploads, données et configurations sont exclus.
  • Mise en quarantaine ZIP des fichiers et export SQL complet avant nettoyage.
  • Confirmation explicite, transaction MySQL, verrou anti-concurrence,
  • restauration des fichiers en cas d’échec et journalisation du résultat.
  • Documentation V2.3.0 portée à 77 fiches.
  • Aucune migration de structure MySQL supplémentaire.
CRM V4.2.0

BASE MYSQL UNIQUE CRM + CMS

  • 97 tables distinctes regroupées dans une seule base MySQL.
  • Assistant Administration > Base MySQL unique avec analyse préalable.
  • Sauvegarde SQL automatique des deux bases historiques et de la configuration CMS.
  • Copie compatible entre serveurs ou comptes MySQL différents.
  • Refus des collisions, transaction, fusion du registre de migrations et contrôle des lignes.
  • Le CMS charge ensuite exclusivement la connexion privée du CRM.
  • Les anciens identifiants MySQL sont retirés de cms/config/local.php.
  • L’ancienne base CMS reste intacte et n’est jamais supprimée automatiquement.
  • Installation neuve avec un seul schéma iziiclean-unified-schema.sql.
  • Migration CRM V4.2.0 de préparation incluse ; copie des données par l’assistant sécurisé.
  • Documentation V2.2.0 portée à 76 fiches avec le parcours Base MySQL unique.
CRM V4.1.1

DOCUMENTATION DES DERNIÈRES ÉVOLUTIONS

  • Catalogue Documentation V2.1.0 porté de 67 à 75 fiches structurées.
  • Procédures dédiées aux plugins essentiels, fonctions optionnelles et extensions ZIP.
  • Diagnostic de compatibilité, resynchronisation du registre et contrôle après mise à jour.
  • Explication du registre partagé avec le CMS et du dépannage de la version détectée 0.0.0.
  • Distinction claire entre patch + MySQL et version complète + MySQL.
  • URL exacte du gestionnaire documentée : /admin/equipe/mises-a-jour.php.
  • Aucune migration MySQL supplémentaire.
CRM V4.1.0

REGISTRE UNIFIÉ DES PLUGINS

  • 47 fonctions natives intégrées dans Administration > Plugins & fonctions.
  • 19 fonctions essentielles toujours actives, protégées et non désactivables.
  • 28 fonctions optionnelles activables ou désactivables par l’administrateur.
  • Conservation automatique des réglages existants et de toutes les données métier.
  • Recherche et filtres Essentiels, Optionnels et Extensions.
  • L’ancienne page Modules redirige vers le registre unique.
  • Les accès Agent, Client et les réservations CMS suivent l’état des plugins concernés.
  • Aucune migration MySQL supplémentaire.
CRM V4.0.0

ARCHITECTURE EXTENSIBLE ET MOTEUR DE PLUGINS

  • Gestionnaire de plugins ZIP avec manifestes, versions, dépendances et chargement par zone.
  • Routes, menus, permissions, hooks et migrations MySQL idempotentes déclarés par extension.
  • Installation atomique, activation sans perte de données, journal et diagnostic Audit global.
  • Documentation convertie en plugin du noyau et plugin de démonstration multi-espace inclus.
  • Migration CRM V4.0.0 et runtime CMS V2.4.0.
CRM V3.7.0

AUDIT GLOBAL CRM, CMS, CLIENT ET AGENT

  • Audit fonctionnel en lecture seule des quatre espaces avec couverture des modules, fichiers, routes et schémas MySQL.
  • Contrôles serveur, mises à jour, stockage, comptes, paiements et Cron, avec tests HTTP publics optionnels.
  • Rapport scoré, correctifs recommandés, historique, recherche, filtres et exports CSV/JSON.
  • Migration MySQL CRM V3.7.0 incluse ; CMS maintenu en V2.3.0.
CRM V3.6.0

PRÉPAIEMENT DES RÉSERVATIONS PAR CARTE OU PAYPAL

  • Montant fixe configurable et choix carte ou PayPal dans le formulaire public.
  • Session Stripe Checkout idempotente avec retour protégé par jeton aléatoire.
  • Confirmation par webhook et création de l’intervention uniquement après paiement « paid ».
  • Reprise d’un paiement interrompu sans duplication de réservation.
  • Suivi du montant, du moyen et du statut dans le CRM et le CMS.
  • Migrations MySQL CRM V3.6.0 et CMS V2.3.0 incluses.
CRM V3.5.0

PLUGIN DOCUMENTATION AVEC RECHERCHE

  • Nouveau centre de documentation partagé couvrant les quatre espaces IziiClean.
  • 65 fiches structurées avec résumé, fonctionnalités, parcours, droits requis et lien d’accès.
  • Recherche instantanée tolérante aux accents et recherche multi-mots.
  • Filtres combinables par espace et catégorie, URL de recherche mémorisée et raccourci clavier « / ».
  • Accès complet depuis le CRM et le CMS ; aide contextualisée depuis les espaces Agent et Client.
  • Catalogue statique sécurisé : aucune donnée client, aucun secret et aucune requête MySQL ne sont exposés.
  • Plugin autoportant avec manifeste, catalogue, vue, styles et moteur JavaScript.
  • Aucun changement de schéma MySQL.
CRM V3.3.1

CORRECTIF SAUVEGARDES CMS SANS BLOCAGE

  • Publication coordonnée du correctif CMS V2.1.1.
  • La session web n’est plus verrouillée pendant une sauvegarde ou une restauration longue.
  • Un verrou global empêche les sauvegardes concurrentes et limite la saturation du serveur.
  • La racine CMS est maintenant détectée avec les dispositions /equipe, /admin/equipe et les dossiers frères /crm + /cms.
  • Aucun changement de schéma MySQL.
CRM V3.3.0

MISES À JOUR GLOBALES COMPATIBLES

  • Gestionnaire central des mises à jour du site, du CMS, du CRM et de MySQL.
  • Paquets versionnés avec plages de compatibilité et empreintes SHA-256.
  • Sauvegarde automatique des fichiers et des deux bases avant installation.
  • Migrations idempotentes, historique, mode maintenance et restauration des fichiers en cas d’échec.
  • Génération standard d’un patch + MySQL et d’une version complète + MySQL.
  • Migration CRM : database/migration-3.3.0-mises-a-jour-globales.sql.
  • Migration CMS : cms/database/migration-2.1.0-mises-a-jour-globales.sql.
CMS V2.7.0

DOUBLE AUTHENTIFICATION DES COMPTES CMS

  • Extension facultative Authentification renforcée partagée avec le CRM V4.13.0.
  • Code TOTP à six chiffres après le mot de passe du CMS.
  • Activation individuelle pour les administrateurs et les éditeurs.
  • Politique facultative, obligatoire pour les administrateurs ou pour tous.
  • QR d’activation généré localement et dix codes de récupération à usage unique.
  • Secret chiffré, anti-rejeu et verrouillage temporaire après cinq erreurs.
  • Accès au réglage individuel depuis le menu Sécurité du CMS.
  • Migration stockée et appliquée par le gestionnaire global du CRM.
CMS V2.6.0

FORMULAIRE DE RAPPEL TÉLÉPHONIQUE

  • Nouvelle page /rappel.html fournie par le plugin facultatif Rappel téléphonique.
  • Téléphone obligatoire, e-mail facultatif, choix d’une date et d’un créneau.
  • Validation serveur, consentement, champ piège, délai minimal, quota horaire
  • et limitation des doublons récents.
  • Création ou rapprochement automatique du prospect dans la base MySQL unique.
  • Affichage du lien dans la navigation, le pied de page et la barre mobile
  • uniquement lorsque l’administrateur active le plugin.
  • Nouvelle table site_callback_requests et synchronisation CRM suivie.
CMS V2.5.0

CONNEXION À LA BASE MYSQL UNIQUE

  • Le CMS réutilise la connexion unique définie dans /equipe/inc/config-db.local.php.
  • cms/config/local.php ne conserve plus de mot de passe MySQL après consolidation.
  • Le mode historique reste lisible uniquement jusqu’à la migration sécurisée des données.
  • Sauvegardes CMS étendues à toutes les tables CRM et CMS de la base unique.
  • Diagnostic et Audit global vérifient l’architecture unifiée.
  • Installation neuve dans une seule base MySQL.
CMS V2.4.1

ACTIVATION DES FONCTIONS CMS DEPUIS LES PLUGINS

  • Lecture du registre partagé lorsque le CRM est installé sous /equipe ou /admin/equipe.
  • Les réservations publiques suivent l’état du plugin natif « Réservations web & prépaiement ».
  • Les composants essentiels protégés restent actifs en l’absence de registre partagé.
  • Aucune migration MySQL CMS supplémentaire.
CMS V2.4.0

RUNTIME PARTAGÉ DU MOTEUR DE PLUGINS

  • Chargement sélectif des extensions CMS actives depuis le registre partagé du CRM V4.0.0.
  • Sections et menus CMS déclarés par manifeste, dispatcher protégé et hooks d’extension.
  • Compatibilité avec le plugin Documentation V2.0.0 et le plugin de démonstration multi-espace.
  • Aucun changement de schéma MySQL CMS.
CMS V2.3.0

PRÉPAIEMENT DES RÉSERVATIONS STRIPE ET PAYPAL

  • Choix carte bancaire ou PayPal dans le formulaire de réservation.
  • Redirection vers Stripe Checkout selon le montant configuré dans le CRM.
  • Vérification du paiement au retour et par webhook côté CRM.
  • Reprise sécurisée d’un paiement interrompu sans nouvelle réservation.
  • Affichage du montant, du moyen et du statut dans l’administration CMS.
  • Migration MySQL V2.3.0 incluse.
CMS V2.2.0

DOCUMENTATION INTÉGRÉE AVEC RECHERCHE

  • Nouvelle entrée Version > Documentation dans l’administration CMS.
  • Affichage direct des fiches CMS du catalogue documentaire partagé avec le CRM.
  • Recherche instantanée et filtre par catégorie.
  • Accès protégé par la session CMS existante.
  • Aucun changement de schéma MySQL.
CMS V2.1.1

CORRECTIF SAUVEGARDES SANS BLOCAGE DU SITE

  • La session PHP de l’administrateur est libérée pendant les sauvegardes et restaurations longues.
  • Les autres pages du site restent accessibles dans le même navigateur pendant la création d’une archive.
  • Un verrou commun empêche deux sauvegardes ou restaurations de s’exécuter simultanément.
  • Les sauvegardes automatiques utilisent le même verrou de sécurité.
  • Aucun changement de schéma MySQL.
CMS V2.1.0

COMPATIBILITÉ AVEC LES MISES À JOUR GLOBALES

  • Mise à jour coordonnée du CMS, du site public, du CRM et des bases MySQL.
  • Lien d’administration vers le gestionnaire central du CRM.
  • Maintenance temporaire et protection stricte des configurations, médias et stockages.
  • Registre idempotent des migrations.
  • Migration : database/migration-2.1.0-mises-a-jour-globales.sql.
CMS V2.0.7

PORTAIL CLIENT SOUS /CLIENT/

  • L’adresse publique du portail Client devient /client/.
  • Le serveur redirige en 301 les anciennes URL /portail-client/* vers /client/* afin de préserver les liens déjà envoyés.
  • /client/* est réécrit en interne vers le dossier technique historique /portail-client/* : aucune duplication des données ni des contrôleurs du portail.
  • Le hub /admin/ affiche désormais la nouvelle adresse du portail Client.
  • robots.txt exclut /client/ et l’ancien chemin technique /portail-client/ des zones à explorer.
  • Aucun changement de schéma MySQL.
CMS V2.0.6

ADMINISTRATION UNIFIÉE /ADMIN/

  • /admin/ devient le point d’entrée commun des interfaces internes IziiClean.
  • Le CMS conserve son interface actuelle via /admin/?section=..., le CRM est disponible via /admin/equipe/ et l’espace Agent via /admin/agent/.
  • Les alias /admin/equipe/* et /admin/agent/* utilisent des réécritures internes : les applications restent physiquement dans /equipe/ et /agent/ pour préserver les API, Cron et compatibilités existantes.
  • Chaque application conserve son propre contrôle d’accès et ses permissions avancées ; aucune élévation de droit n’est créée par le portail unifié.
  • Le portail client reste volontairement à /portail-client/.
  • Ajout d’un hub Premium conforme à la charte IziiClean et d’un lien « Tous les espaces » dans le CMS.
  • Aucun changement de schéma MySQL.
CMS V2.0.5

REFONTE VISUELLE PREMIUM DE L’ÉDITEUR DE TEXTE RICHE

  • Harmonisation visuelle de l’éditeur de texte riche avec la charte IziiClean et le design Minimal Premium.
  • Barre d’outils moderne, regroupement logique des commandes, boutons arrondis, états actifs et focus accessible.
  • Zone d’édition plus confortable sur desktop et mobile, avec meilleure présentation des titres, listes, citations et liens.
  • Mise à jour du cache-busting CSS/JS afin que le nouveau rendu soit chargé immédiatement après déploiement.
  • Le même composant peut désormais être utilisé dans l’administration CMS et les formulaires publics.
  • Aucun changement de schéma MySQL.
CMS V2.0.4

MISE EN FORME ENRICHIE DES MESSAGES

  • Ajout du même éditeur de texte riche aux champs de message des demandes de devis et des réservations en ligne.
  • Barre de mise en forme harmonisée : gras, italique, souligné, barré, paragraphes, H2/H3, listes, citations, liens, alignements et effacement de format.
  • Renforcement de l’éditeur riche de l’administration CMS avec les mêmes commandes de mise en forme.
  • Les messages publics sont nettoyés côté serveur avant stockage et synchronisation CRM ; les notifications texte utilisent une conversion sans balises HTML.
  • Les listes administratives convertissent les contenus enrichis en résumés texte afin de rester lisibles.
  • Whitelist stricte des balises et protocoles de liens ; scripts, iframes, formulaires, événements JavaScript et attributs arbitraires sont supprimés.
  • Compatibilité avec les anciens contenus texte brut.
  • Aucune migration MySQL.
CMS V2.0.3

CORRECTIF DOMAINE CANONIQUE PRINCIPAL

  • Origine canonique de production forcée sur https://iziiclean.fr.
  • Correction de l'ancienne valeur par défaut https://www.iziiclean.fr dans l'installation et l'exemple de configuration.
  • Les balises rel=canonical ne peuvent plus sortir du domaine principal.
  • Une ancienne canonical en www, HTTP ou sur un autre domaine conserve son chemin mais est réécrite sur https://iziiclean.fr.
  • Les fragments (#...) sont supprimés des URL canoniques.
  • Open Graph, JSON-LD et URL absolues publiques utilisent la même origine canonique.
  • Le sitemap normalise désormais toute URL vers le domaine principal au lieu d'omettre une page dont l'ancienne canonical était hors domaine.
  • Le bouton de régénération du sitemap corrige aussi les anciennes canonical enregistrées en base.
  • Les nouvelles canonical saisies dans le CMS sont normalisées avant enregistrement.
  • Redirection HTTP / www vers https://iziiclean.fr en un seul saut 301.
  • Le tableau SEO affiche explicitement le domaine canonique utilisé.
  • Aucune migration SQL nécessaire.
CMS V2.0.2

GÉNÉRATEUR DE SITEMAP XML CONFORME ET AUTOMATISÉ

  • Nouveau générateur natif de sitemap XML piloté depuis Administration > SEO Google.
  • URL absolues/canoniques uniquement ; brouillons, contenus inactifs et noindex exclus.
  • lastmod fondé sur les dates réelles de contenu et non sur la date du jour.
  • Suppression de changefreq/priority, ignorés par Google.
  • Découpage automatique et création d'un index de sitemap avant les limites protocolaires.
  • Régénération automatique après publication, modification ou suppression de contenus indexables.
  • Fallback dynamique conservé si aucun fichier statique n'est disponible.
  • Aucune migration SQL nécessaire.
CMS V2.0.1

SAISIE ENTREPRISES CONNECTÉE AUX DONNÉES DE L’ÉTAT

  • Connexion du site et du CMS à l’API publique Recherche d’entreprises de l’État via /api/entreprises.php.
  • Recherche par raison sociale, SIREN ou SIRET et préremplissage des données légales disponibles.
  • Demande de devis : raison sociale, SIREN/SIRET, adresse entreprise, code postal, commune, NAF/APE, forme juridique, état administratif et date/source de vérification sont conservés puis transmis au CRM.
  • Réservation en ligne : la même saisie assistée est disponible pour les clients professionnels et les informations sont synchronisées avec le CRM.
  • Administration CMS : l’identité légale d’IziiClean/EM CONSULTING peut être retrouvée et préremplie depuis les données officielles ; les demandes et réservations affichent désormais SIRET/NAF lorsqu’ils sont disponibles.
  • Le courriel interne de nouvelle demande de devis inclut également SIREN, SIRET, NAF et adresse entreprise lorsqu’ils sont renseignés.
  • Cache serveur et limitation des requêtes ; la saisie manuelle reste disponible en cas d’indisponibilité du service public.
  • Migration MySQL : database/migration-2.0.1-api-entreprises-gouv.sql pour enrichir site_quote_requests et site_reservations.
  • Nouveau diagnostic CLI : database/verifier-2.0.1.php ; option --live pour tester l’API depuis l’hébergement.
CMS V2.0.0

RÉSERVATION EN LIGNE & SEO LOCAL AUTOMATISÉ

  • Nouvelle page publique /reservation.html avec prestation, commune, date, créneau, durée, coordonnées et consentement confidentialité.
  • Protection anti-spam : honeypot, contrôle temporel, validation serveur et limitation par empreinte IP.
  • Synchronisation des réservations vers le CRM via /crm-api/site-booking.php avec fallback /equipe/api/site-booking.php, statut et relance manuelle depuis le CMS.
  • Nouvelle administration « Réservations en ligne » avec suivi du statut et de la synchronisation CRM.
  • Réservation rendue accessible depuis la navigation principale, le footer et le CTA mobile.
  • SEO local automatisé à partir des prestations et villes actives du CMS : URL, title, meta description, H1, intro, canonical, robots et données structurées Service/Breadcrumb.
  • Les pages locales générées sont ajoutées automatiquement au sitemap lorsqu’elles sont actives et indexables.
  • Administration SEO local avec modèles utilisant {service}, {ville}, {code_postal} et {entreprise}, aperçu des URL et activation/noindex.
  • Nouvelles migrations MySQL : site_reservations et site_local_seo_rules via database/migration-2.0.0-reservation-seo-local.sql.
CMS V1.9.18

CHANGELOG UNIFIÉ MULTI-INTERFACE

  • Le CMS/Site/Admin utilise désormais le moteur de changelog unifié partagé avec les interfaces CRM, Agent et Client.
  • La page publique /changelog/ conserve uniquement l’historique CMS/Site/Admin, tandis que l’administration dispose de sa propre vue changelog.
  • Le pied de page du site affiche « Site V1.9.18 » et le pied de page de l’administration « CMS/Admin V1.9.18 ».
  • Les écrans de connexion, mot de passe oublié et réinitialisation du CMS affichent également le numéro de version.
  • La version reste lue depuis /VERSION.txt et le journal depuis /changelog/MISES-A-JOUR.txt.
  • Aucun changement de schéma MySQL.
CMS V1.9.17

CORRECTIF AFFICHAGE CHANGELOG

  • Correction du conflit entre l’URL publique /changelog/ et le dossier physique /changelog/.
  • Ajout d’un index PHP dans le dossier centralisé pour rendre la page de consultation.
  • Le lien de version du footer pointe explicitement vers /changelog/.
  • Protection HTTP des fichiers texte du dossier changelog ; seule la page rendue est consultable.
  • Aucune migration SQL nécessaire.
CMS V1.9.16

CENTRALISATION DES CHANGELOGS

  • Création du dossier unique /changelog/ pour le CMS et le site public.
  • Déplacement du journal consolidé, des notes de mises à jour et des correctifs dans ce dossier.
  • La page /changelog lit désormais /changelog/MISES-A-JOUR.txt.
  • Ajout d’un INDEX.txt pour retrouver rapidement les historiques.
  • VERSION.txt et les documents techniques restent à leurs emplacements fonctionnels.
  • Aucune migration SQL nécessaire.
CMS V1.9.15

SYNCHRONISATION CRM DEVIS & NEWSLETTER ROBUSTE

  • Endpoint principal des demandes de devis déplacé vers /crm-api/site-lead.php afin de ne plus dépendre des règles d’accès du dossier /equipe.
  • Repli automatique vers /equipe/api/site-lead.php pour compatibilité et haute disponibilité.
  • Les erreurs des deux endpoints sont conservées dans crm_sync_error pour diagnostic.
  • Le test de connexion CRM indique l’endpoint réellement utilisé.
  • L’administration affiche l’endpoint principal et le secours.
  • Les demandes historiques non synchronisées restent rejouables depuis Demandes de devis.
  • Aucune migration SQL nécessaire depuis V1.9.14.
CMS V1.9.14

MINIMAL PREMIUM + VISUAL BUILDER FIGMA

  • Déploiement du Concept 4 « Minimal Premium » comme structure générale de l'administration CMS.
  • Suppression de la sidebar permanente au profit d'une navigation horizontale par domaines : Aujourd'hui, Contenu, Demandes, SEO & GEO, Structure et Administration.
  • En-tête IziiClean CMS bicolore, recherche globale fonctionnelle, menu de création rapide et menu utilisateur.
  • Nouveau tableau de bord Minimal Premium alimenté par les données réelles du CMS : pages publiées, articles, nouvelles demandes, sauvegarde, brouillons et synchronisation CRM.
  • Ajout d'un moteur de recherche interne sur les pages, prestations, zones et articles.
  • Déploiement du Concept 3 « Visual Builder » pour l'édition des pages.
  • Visual Builder en trois zones : arborescence des sections, aperçu réel du site dans une iframe protégée par l'authentification CMS, inspecteur de propriétés.
  • Modification directe des réglages de page, statut, résumé, titre SEO et description SEO depuis le Visual Builder.
  • Création, modification et suppression de sections depuis l'inspecteur visuel.
  • Les sections créées depuis le Visual Builder sont également rendues sur les pages standard ; les sections supplémentaires de l’accueil sont prises en charge sans modifier les sections historiques existantes.
  • Accès direct à la gestion des éléments d'une section et aux réglages SEO/GEO avancés.
  • Prévisualisation possible même pour une page en brouillon via une route d'administration protégée et marquée noindex/nofollow.
  • Les écrans historiques restent disponibles pour les réglages avancés et les opérations métier existantes.
  • Conservation intégrale de la synchronisation CRM/CMS, des sauvegardes, du SEO/GEO, des menus, du footer et de la médiathèque.
  • Responsive tablette/mobile pour l'administration et le Visual Builder.
  • Aucune migration SQL nécessaire depuis la V1.9.13.
  • 3. Ne lancer aucune migration SQL supplémentaire.
  • 4. Se connecter au CMS et ouvrir Contenu > Pages & Visual Builder.
CMS V1.9.13

SYNCHRONISATION UTILISATEURS CRM & CMS

  • Synchronisation bidirectionnelle des comptes utilisateurs entre le CMS et le CRM.
  • Identité, e-mail, état actif/inactif et hash du mot de passe sont répliqués via API HTTPS authentifiée.
  • Clé de synchronisation stable pour suivre un compte même après changement d'adresse e-mail.
  • CMS : choix de l'identifiant et du rôle CRM pour chaque compte.
  • CRM : option d'accès CMS et état de synchronisation affiché dans Utilisateurs.
  • Création/modification dans l'une des applications répercutée automatiquement dans l'autre.
  • Changement/réinitialisation de mot de passe répercuté afin de conserver le même mot de passe.
  • Protection du dernier administrateur actif sur les deux applications.
  • Boutons de test et de synchronisation globale pour reprendre les comptes historiques.
  • Nouvelle API CMS /api/crm-user.php et nouvelle API CRM /equipe/api/site-user.php.
  • Migration requise : database/migration-1.9.13-synchronisation-utilisateurs-crm.sql.
CMS V1.9.12

CTA DEVIS VERT ÉLECTRIQUE

  • Le CTA « Demander un devis » passe sur un vert nettement plus lumineux et saturé (#00D14B).
  • Survol en #00B943 avec ombre/glow plus visible.
  • Texte du CTA en bleu nuit (#062A16) afin de conserver une forte lisibilité sur le vert très vif.
  • Même rendu appliqué au CTA du header et au CTA mobile.
  • Le logo et les autres verts de la charte restent inchangés.
  • Version du CSS renouvelée pour contourner le cache navigateur/CDN.
  • Aucune migration SQL nécessaire depuis la V1.9.11.
CMS V1.9.11

CTA DEVIS VERT PLUS VIF

  • Le bouton « Demander un devis » et les CTA de devis utilisent désormais un vert
  • plus vif et plus saturé (#00883A).
  • Survol assombri (#007A34) et ombre renforcée pour une meilleure perception du CTA.
  • Le vert du logo et les autres éléments de marque restent inchangés.
  • Contraste texte blanc / fond vert amélioré pour atteindre le niveau AA sur le CTA.
  • Version du CSS public modifiée afin de contourner le cache navigateur/CDN.
  • Aucune migration SQL nécessaire depuis la V1.9.10.
CMS V1.9.10

CORRECTIF VERSION SYNCHRONISATION CRM

  • Correction de l’erreur « Call to undefined function cms_version_number() » dans Administration > Demandes de devis.
  • Le transport HTTP CRM utilise désormais la fonction canonique cms_version() pour construire son User-Agent.
  • Ajout d’un alias de compatibilité cms_version_number() afin qu’un ancien appel résiduel ne puisse plus interrompre la synchronisation.
  • Le test « Tester la connexion CRM » et la synchronisation des demandes de devis peuvent désormais atteindre l’API CRM.
  • Aucune migration SQL nécessaire depuis la V1.9.9.
CMS V1.9.9

CORRECTIF SYNCHRONISATION CMS → CRM

  • Correction de l’authentification de l’API CRM sur Apache/FastCGI : en-tête X-IziiClean-Token, Bearer et repli par jeton JSON HTTPS.
  • Repli automatique stream PHP si cURL ne peut pas joindre le CRM.
  • Messages d’erreur HTTP/transport plus précis dans Demandes de devis.
  • Ajout du bouton « Tester la connexion CRM ».
  • Resynchronisation jusqu’à 500 demandes en attente en une opération.
  • Les demandes déjà enregistrées dans le CMS peuvent être rejouées sans doublon côté CRM.
CMS V1.9.8

SYNCHRONISATION CRM & NEWSLETTER

  • Synchronisation automatique des demandes de devis vers le CRM via API HTTPS authentifiée.
  • Création ou mise à jour du prospect par e-mail, sans doublon lors des réessais.
  • File de reprise et bouton de resynchronisation dans Administration > Demandes de devis.
  • Consentement newsletter distinct, facultatif et non pré-coché.
  • Ajout à la liste de diffusion « Prospects site web » seulement après consentement.
  • Les prospects site_web sans consentement sont exclus de la diffusion newsletter.
CMS V1.9.7

SAUVEGARDES AUTOMATIQUES & ENVOI E-MAIL

  • Ajout d'une planification administrable des sauvegardes : quotidienne,
  • hebdomadaire ou mensuelle, avec heure et fuseau horaire configurables.
  • Choix du type automatique : base MySQL, fichiers ou sauvegarde complète.
  • Envoi automatique de l'archive par e-mail en pièce jointe.
  • Plusieurs destinataires possibles et taille maximale d'attachement configurable.
  • Si l'archive dépasse la limite e-mail, elle reste conservée localement et le
  • CMS envoie une notification d'alerte sans pièce jointe.
  • Ajout de /cron/backup.php, utilisable en CLI (recommandé) ou via une URL
  • protégée par un jeton secret régénérable depuis l'administration.
  • Verrou anti-concurrence pour empêcher deux sauvegardes automatiques simultanées.
  • Une même échéance ne peut être exécutée qu'une fois.
  • Bouton « Tester maintenant » pour créer immédiatement une sauvegarde et tester
  • l'envoi e-mail sans attendre la prochaine échéance.
  • Historique détaillé des exécutions automatiques : résultat, archive, taille,
  • envoi e-mail et message d'erreur/avertissement.
  • Nouvelle table cms_backup_runs.
  • 4. Créer dans l'hébergement la tâche cron indiquée par l'administration.
CMS V1.9.6

COMPATIBILITÉ ANTIVIRUS HÉBERGEUR

  • Remplacement des écritures PHP raccourcies du module de sauvegarde et de l’installateur par des opérations de fichier explicites afin de réduire les faux positifs des scanners antivirus d’hébergement.
  • Remplacement par des écritures explicites avec fopen, flock, fwrite et fflush.
  • Fonctionnalités de sauvegarde, test lecture/écriture, configuration et verrouillage d’installation conservées.
  • Aucun code obfusqué, eval, shell_exec, system, passthru, popen ou proc_open ajouté.
  • Remplacement des écritures de fichiers ayant déclenché une signature heuristique
  • antivirus par des écritures explicites avec fopen, flock, fwrite et fflush.
  • Fonctionnement des sauvegardes et de l'installation conservé.
  • Aucune migration SQL nécessaire depuis la V1.9.5.
CMS V1.9.5

CORRECTIF CHEMIN PRIVÉ DES SAUVEGARDES

  • Correction de la résolution de ROOT_PATH : la racine du site est désormais
  • normalisée avec realpath(), ce qui évite que /app/.. soit interprété comme
  • /app lors du calcul du dossier parent.
  • Sur une arborescence de type o2switch
  • /home/compte/preprod.iziiclean.fr, le chemin automatique attendu devient
  • /home/compte/iziiclean-backups.
  • Détection de plusieurs emplacements privés : HOME du compte PHP, HOME fourni
  • par le serveur, dossier personnel POSIX lorsqu'il est disponible, parent du
  • DOCUMENT_ROOT et parent réel de la racine publique.
  • Les chemins directement placés sous /, par exemple /iziiclean-backups, sont
  • refusés : ils ne correspondent pas à un espace privé de compte mutualisé et
  • sont généralement non inscriptibles.
  • Un ancien chemin invalide enregistré dans Administration > Sauvegardes est
  • automatiquement remplacé par le premier chemin privé fonctionnel détecté.
  • Le CMS teste chaque candidat jusqu'à trouver un dossier réellement créable,
  • lisible et inscriptible par PHP.
  • Permissions conservées : 0700 pour le dossier, 0600 pour les fichiers.
  • Les messages d'erreur listent maintenant les chemins effectivement essayés.
  • L'installateur neuf utilise la même stratégie multi-chemins.
  • Aucune migration SQL nécessaire depuis la V1.9.4.
  • 2. Aucune migration SQL n'est nécessaire.
  • l'ancien chemin et créer le dossier privé.
  • 4. Vérifier que le chemin actif est de type /home/compte/iziiclean-backups et
  • que le statut indique lecture/écriture OK.
CMS V1.9.4

DOSSIER DE SAUVEGARDE AUTOMATIQUE ET PERMISSIONS

  • Création automatique du dossier privé de sauvegarde dès l’installation neuve
  • et dès la première ouverture de l’administration par un administrateur.
  • Emplacement par défaut conservé hors de la racine publique : dossier
  • Permissions de sécurité appliquées automatiquement : 0700 sur le dossier et
  • 0600 sur les archives et fichiers temporaires sensibles.
  • Aucun passage automatique en 0777.
  • Vérification réelle des droits : le CMS crée un fichier de test, le relit puis
  • le supprime avant de considérer le stockage comme opérationnel.
  • Tentative automatique de réparation des permissions avec chmod lorsque cela
  • est autorisé par l’hébergeur.
  • Vérification séparée des droits de lecture et d’écriture.
  • Un chemin personnalisé saisi dans Administration > Sauvegardes est désormais
  • créé et testé AVANT d’être enregistré.
  • Le cache interne du chemin de sauvegarde est réinitialisé lors d’un changement
  • de dossier afin que le nouveau chemin soit utilisé immédiatement.
  • Administration > Sauvegardes affiche les permissions actuelles du dossier et
  • confirme explicitement lorsque le test lecture/écriture est validé.
  • diagnostic.php contrôle également le dossier privé et ses droits effectifs.
  • Lors d’une installation neuve, l’installateur tente de créer et tester le
  • dossier de sauvegarde avant de terminer. Si l’hébergement interdit l’écriture
  • dans le dossier parent, l’installation reste possible et le CMS indique qu’un
  • chemin privé doit être configuré depuis l’administration.
  • Aucune migration SQL nécessaire depuis la V1.9.3.
  • 2. Aucune migration SQL n’est nécessaire.
  • 3. Se connecter à l’administration : le dossier de sauvegarde sera créé ou
  • vérifié automatiquement.
  • « lecture/écriture OK » ainsi que les permissions affichées.
CMS V1.9.3

SAUVEGARDES BDD ET FICHIERS ADMINISTRABLES

  • Ajout de Administration > Sauvegardes, réservé aux administrateurs.
  • Création manuelle de trois types de sauvegarde : base MySQL, fichiers du
  • site, ou sauvegarde complète BDD + fichiers.
  • Archives TAR.GZ créées en PHP avec PharData, sans dépendance à ZipArchive.
  • Stockage exclusivement dans un dossier privé hors de la racine publique.
  • Si le dossier parent n'est pas inscriptible, un chemin privé absolu peut être
  • défini directement depuis Administration > Sauvegardes ou via backup.path
  • dans config/local.php.
  • Téléchargement des archives uniquement après authentification administrateur.
  • Historique avec date, type, version du CMS, taille et statistiques du dump.
  • Suppression des anciennes archives depuis l'administration.
  • Rétention configurable par nombre d'archives et quota maximal en Mo.
  • Exclusions de fichiers configurables depuis l'administration.
  • Restauration des sauvegardes avec confirmation explicite « RESTAURER ».
  • Création automatique d'une sauvegarde de sécurité juste avant toute
  • restauration afin de conserver un point de retour.
  • Les restaurations fichiers fonctionnent en recouvrement : les fichiers de
  • l'archive sont restaurés sans supprimer les fichiers supplémentaires présents.
  • Les actions création, téléchargement, suppression, réglages et restauration
  • sont inscrites dans le journal d'audit du CMS.
  • Aucun changement de schéma MySQL : aucune migration SQL nécessaire.
  • 2. Aucune migration SQL n'est nécessaire.
  • 4. Créer immédiatement une sauvegarde complète et la télécharger pour vérifier
  • le fonctionnement sur l'hébergement.
CMS V1.9.2

CHANGELOG AUTOMATIQUE ET VERSION CLIQUABLE

  • Création de la page publique /changelog.
  • La page lit directement /changelog/MISES-A-JOUR.txt : toute nouvelle entrée
  • ajoutée au journal apparaît automatiquement sans duplication en base.
  • Les versions sont détectées et triées automatiquement de la plus récente à
  • la plus ancienne.
  • La version affichée dans le footer devient un lien vers /changelog.
  • La version du footer est lue automatiquement depuis /VERSION.txt et n'est
  • plus codée en dur (ex. v1.7.10).
  • VERSION.txt devient également la source de version de l'installateur.
  • La page Changelog est en noindex,follow afin de rester accessible aux
  • visiteurs sans créer une page SEO concurrente.
  • Présentation responsive avec version installée, date et liste des évolutions.
  • Aucune migration SQL nécessaire depuis la V1.9.1.
  • 2. Aucune migration SQL n'est nécessaire.
  • 3. Vérifier le lien de version dans le footer puis ouvrir /changelog.
CMS V1.9.1

CORRECTIF MENUS DÉROULANTS HEADER

  • Correction de l'ouverture des menus Prestations et Où nous intervenons au
  • passage de la souris sur ordinateur.
  • Ajout d'un pont de survol invisible entre le bouton et le panneau déroulant
  • afin d'empêcher la fermeture intempestive lors du déplacement de la souris.
  • Ajout d'un délai de fermeture de 140 ms pour absorber les mouvements
  • diagonaux et supprimer les clignotements du menu.
  • Un seul menu déroulant peut rester ouvert à la fois.
  • Synchronisation des attributs aria-expanded pour l'accessibilité.
  • Navigation clavier améliorée : focus dans le sous-menu et touche Échap.
  • Le comportement au clic/tactile du menu hamburger reste inchangé.
  • Correction du conflit de breakpoint : le survol desktop commence maintenant
  • à 901 px, exactement après le breakpoint mobile fixé à 900 px.
  • Mise à jour de la clé de cache CSS pour forcer le chargement du correctif.
  • 2. Aucune migration SQL n'est nécessaire.
  • 3. Faire une actualisation forcée du navigateur si l'ancien menu reste en cache.
CMS V1.9.0

GEO / MOTEURS GÉNÉRATIFS

  • Ajout d'un module GEO (Generative Engine Optimization) complémentaire au SEO.
  • Ajout de champs éditoriaux GEO sur Pages, Prestations, Zones et Articles :
  • résumé « En bref », faits clés, sources/citations et date de dernière revue.
  • Affichage public des blocs « En bref » pour que les informations destinées
  • aux moteurs IA restent également visibles et utiles aux visiteurs humains.
  • Données structurées enrichies avec WebPage, about/knowsAbout, citation,
  • datePublished/dateModified et informations d'entité IziiClean.
  • Ajout dans Administration > GEO & moteurs IA d'un audit de complétude GEO.
  • Contrôle séparé des robots OAI-SearchBot, GPTBot et Google-Extended.
  • OAI-SearchBot autorisable sans imposer GPTBot : recherche/citation et
  • entraînement restent configurables séparément.
  • Ajout d'IndexNow pour notifier rapidement les moteurs compatibles lors de la
  • publication ou modification d'une page, prestation, zone ou article.
  • Génération automatique de la clé IndexNow et endpoint de vérification
  • /{cle-indexnow}.txt.
  • Ajout optionnel d'un /llms.txt expérimental, désactivé par défaut. Il ne
  • constitue pas une exigence SEO Google et n'est pas activé automatiquement.
  • Ajout de réglages d'entité : description de référence et domaines
  • d'expertise/knowsAbout utilisés dans les données structurées.
  • Conservation intégrale du SEO Google V1.8.0 : canonical, sitemap, robots,
  • Search Console, Open Graph, données structurées et audit SEO.
  • Aucun mécanisme ne promet ni ne simule une citation ou un classement dans
  • les réponses génératives : le module vise la crawlabilité, la fraîcheur,
  • l'attribution, la clarté factuelle et la qualité éditoriale.
  • database/migration-1.9.0-geo-generative-engine-optimization.sql
  • 5. Compléter la description d'entité et les domaines d'expertise.
  • 6. Laisser OAI-SearchBot activé si vous souhaitez pouvoir être découvert et
  • cité dans ChatGPT Search ; GPTBot peut rester désactivé séparément.
  • 7. Vérifier la clé et le statut IndexNow, puis compléter progressivement les
  • champs « En bref », faits clés, sources et date de revue de vos contenus.
CMS V1.8.0

SEO GOOGLE SEARCH CENTRAL

  • Mise en conformité technique du CMS avec les bonnes pratiques du Guide de
  • démarrage SEO et des Search Essentials de Google Search Central.
  • Canonical absolue et auto-référente sur toutes les pages indexables.
  • Redirections 301 des variantes historiques : /index.html, /accueil, /devis,
  • /blog et articles .html vers leurs URL canoniques.
  • Liens internes du header et des gabarits basculés vers les URL canoniques.
  • robots.txt enrichi : zones privées/techniques bloquées, sitemap déclaré.
  • sitemap.xml nettoyé : uniquement URL canoniques/indexables, lastmod réel,
  • suppression de changefreq/priority artificiels.
  • Possibilité globale de placer le site en noindex en préproduction sans
  • modifier les directives robots enregistrées page par page.
  • Meta google-site-verification administrable pour Google Search Console.
  • SEO des pages standard étendu : mot-clé éditorial, mots-clés secondaires,
  • Open Graph et ALT d’image.
  • SEO des pages locales étendu : canonical, robots, Open Graph, ALT et
  • mots-clés éditoriaux.
  • Images du blog enrichies avec dimensions intrinsèques lorsque disponibles,
  • lazy-loading hors image principale, decoding async et cache-busting.
  • Données structurées enrichies : Organization/CleaningService, Service,
  • BreadcrumbList, Blog/BlogPosting et FAQ lorsque la FAQ est affichée.
  • Pages catégories Blog vides automatiquement en noindex.
  • Administration et parcours d’authentification explicitement noindex.
  • install.php et diagnostic.php reçoivent X-Robots-Tag noindex,nofollow.
  • Ajout dans Administration > SEO Google d’un audit interne : title,
  • description, H1, canonical, robots, ALT, doublons et liens internes.
  • Ajout de champs SEO complets dans Pages et Zones d’intervention.
  • Aucune balise meta keywords n’est générée.
  • database/migration-1.8.0-seo-google-search-central.sql
  • 5. Renseigner le code Google Search Console si nécessaire.
  • 6. Vérifier /robots.txt et /sitemap.xml puis soumettre le sitemap dans
  • Google Search Console.
CMS V1.7.10

FAVICON ADMINISTRATION IDENTIQUE AU SITE

  • Les pages de l’administration utilisent désormais exactement les mêmes fichiers d’icône que le site public.
  • Ajout de /favicon.svg sur la connexion, le mot de passe oublié, la réinitialisation et l’interface principale du CMS.
  • Ajout du fallback /favicon.ico (32x32).
  • Ajout de /apple-touch-icon.png pour les raccourcis et appareils Apple.
  • Aucune copie distincte n’est créée dans /admin : toute modification future des favicons du site public sera donc répercutée automatiquement dans l’administration.
  • Aucune migration SQL nécessaire depuis la V1.7.9.
CMS V1.7.9

LOGOS HEADER / FOOTER RESPONSIVES

  • Redimensionnement responsive du logo personnalisé de la Header.
  • Redimensionnement responsive du logo personnalisé du Footer.
  • Conservation systématique du ratio d'origine (width/height auto).
  • Limites adaptatives selon largeur d'écran : desktop, tablette, mobile et très petits écrans.
  • Protection contre le débordement horizontal dans le Header et les colonnes du Footer.
  • Taille maximale du Header ajustée avec clamp() et limites spécifiques sous 900 px, 600 px et 380 px.
  • Taille maximale du Footer ajustée avec clamp() et limites spécifiques sous 900 px, 600 px et 380 px.
  • Mise à jour du cache-busting CSS pour forcer le chargement de la nouvelle mise en page.
  • Aucune migration SQL nécessaire depuis la V1.7.8.
CMS V1.7.8

Correctif robuste du logo de la header

  • Le logo personnalisé de la header est désormais servi par /branding-media.php au lieu d'une URL statique /uploads.
  • Résolution tolérante des anciens formats de chemin (uploads/..., /uploads/..., ./uploads/..., URL absolue).
  • Suppression de la dépendance au cache immutable des images du serveur.
  • Le nouvel upload est prioritaire sur la case de suppression.
  • Prévisualisation admin et rendu public utilisent exactement la même source.
  • Renforcement CSS de l'affichage du logo personnalisé.
  • Migration : database/migration-1.7.8-correctif-robuste-logo-header.sql
CMS V1.7.7

CORRECTIF CHANGEMENT DE LOGO DE LA HEADER

  • Correction du renderer public : la header utilisait encore le SVG IziiClean
  • codé en dur et ignorait le logo téléversé depuis l'administration.
  • Nouveau réglage distinct `header_logo`, indépendant de `footer_logo`.
  • Compatibilité automatique : lors de la migration, l'ancien réglage `logo`
  • est recopié dans `header_logo` s'il existe déjà.
  • Le nouveau logo remplace réellement le pictogramme + wordmark dans la header.
  • Ajout d'un cache-busting basé sur la date de modification du fichier afin
  • qu'un remplacement de logo soit visible immédiatement.
  • Vérification du fichier uploadé côté serveur et aperçu avec le chemin actif.
  • Possibilité de supprimer le logo personnalisé pour revenir au logo intégré.
  • Dimensions responsives spécifiques au logo personnalisé de la header.
  • Le logo Schema.org de l'organisation utilise désormais le logo de header.
CMS V1.7.6

CORRECTIF CHANGEMENT DE LOGO DU FOOTER

  • Correction du rendu du logo personnalisé du footer.
  • Le chemin public du fichier uploadé est désormais généré par une fonction
  • dédiée et vérifié côté administration.
  • Ajout automatique d'un paramètre de version au fichier image afin d'éviter
  • qu'un ancien logo reste affiché à cause du cache navigateur/CDN.
  • Lors de l'upload d'un nouveau logo, si aucun bloc actif du footer n'est
  • configuré pour afficher un logo, l'option est automatiquement activée sur
  • le bloc de marque.
  • Le footer de compatibilité utilise lui aussi le réglage footer_logo.
  • Le cache interne des réglages du CMS est invalidé immédiatement après une
  • modification, ce qui garantit que la nouvelle valeur est utilisée dans la
  • même exécution PHP.
  • Le diagnostic MySQL vérifie maintenant le fichier du logo et la présence
  • d'au moins un bloc actif configuré pour l'afficher.
  • 4. Dans Structure > Footer, téléverser le logo puis cliquer sur
  • « Enregistrer les réglages ».
CMS V1.7.5

LOGO DU FOOTER INDÉPENDANT

  • Nouveau réglage « Logo du footer » dans Structure > Footer.
  • Upload PNG, JPG, WebP ou GIF directement depuis les réglages du footer.
  • Le logo du footer est désormais stocké dans le réglage footer_logo et ne
  • dépend plus du réglage logo utilisé ailleurs dans le CMS.
  • Possibilité de retirer le logo personnalisé et de revenir au pictogramme
  • Le nom affiché à côté du logo reste éditable et peut être laissé vide si
  • le fichier contient déjà le wordmark IziiClean.
  • La taille du logo du footer accepte désormais un wordmark horizontal.
  • La migration est non destructive. Lors de la première mise à jour, elle copie
  • la valeur historique du réglage logo vers footer_logo afin de conserver le
  • rendu actuel. Les modifications futures du logo du footer n'affectent plus le
  • logo du header.
CMS V1.7.4

JOURNAL DE MISE À JOUR CONSOLIDÉ

  • Création du dossier /install/.
  • Regroupement de tous les anciens journaux V1.x.x dans un seul fichier :
  • /changelog/MISES-A-JOUR.txt.
  • Suppression des anciens fichiers de notes V1.x.x dispersés à la racine.
  • Aucune modification fonctionnelle du site, du CMS ou de la base MySQL.
CMS V1.7.3

FOOTER ENTIÈREMENT ÉDITABLE

  • Nouvelle rubrique Structure > Footer dans le back-office.
  • Footer activable/désactivable globalement.
  • Nom affiché avec le logo et lien du logo éditables.
  • Blocs/colonnes du footer ajoutables, modifiables, masquables,
  • réordonnables et supprimables.
  • Titre et description de chaque bloc éditables.
  • Affichage du logo et des réseaux sociaux configurable bloc par bloc.
  • Éléments/liens de chaque bloc ajoutables, modifiables, masquables,
  • Liens internes, externes, mailto: et tel: pris en charge ; un élément sans
  • URL est rendu comme texte simple.
  • Copyright éditable.
  • Barre basse activable/désactivable, séparateur personnalisable.
  • Liens de barre basse (Mentions légales, Confidentialité, etc.) entièrement
  • administrables.
  • Les réseaux Instagram, Facebook, LinkedIn et TikTok restent gérés depuis
  • Structure > Réseaux sociaux et peuvent être affichés dans n'importe quel
  • bloc de type marque.
  • Mise en page responsive conservée : première colonne extensible, autres
  • colonnes alignées à droite sur desktop, empilement sur tablette/mobile.
  • La migration ne supprime aucune donnée existante et initialise le nouveau
  • footer à partir du rendu actuel.
CMS V1.7.2

CONNEXION & MOT DE PASSE OUBLIÉ

  • Correction du rendu de /admin/login.php : le sélecteur CSS du logo ciblait
  • tous les <span> imbriqués du wordmark.
  • Suppression des appels Google Fonts sur les pages d’authentification :
  • polices locales déjà fournies par le CMS.
  • Ajout du lien « Mot de passe oublié ? ».
  • Ajout de /admin/forgot-password.php.
  • Ajout de /admin/reset-password.php.
  • Jetons aléatoires 256 bits, seul le hash SHA-256 est stocké.
  • Expiration : 30 minutes.
  • Usage unique et invalidation des anciens jetons.
  • Réponse neutre sur la page de demande pour ne pas révéler si un e-mail
  • administrateur existe.
  • Limitation : 3 demandes maximum par compte sur 15 minutes.
  • Envoi par la fonction mail() PHP, avec l’expéditeur quote_mail_from
  • (ou site@iziiclean.fr par défaut).
  • Migration : database/migration-1.7.2-login-mot-de-passe-oublie.sql
CMS V1.7.1

CORRECTIF PRESTATIONS HARMONISÉES

  • Correctif construit à partir de la V1.6.4 stable.
  • Prestations publiques uniques :
  • Bureaux & espaces de travail
  • Copropriétés
  • Vitrerie
  • Moquettes, canapés & tapis
  • Entretien du linge
  • Locations meublées & Airbnb
  • URL publiques conservées sur les slugs historiques de la base
  • (pas de changement destructif).
  • Header, footer, accueil, pages locales, sitemap et pages prestations
  • utilisent la même source PHP.
  • Les anciennes prestations commerces/remise en état sont seulement
  • désactivées, jamais supprimées.
  • Migration V1.7.1 réexécutable, y compris après une tentative V1.7.0
  • partielle.
  • Nettoyage des redirections V1.7.0 qui pouvaient détourner les URL
  • canoniques.
CMS V1.6.4

PRESTATIONS ACCUEIL / FOOTER

  • La section « Nos prestations » de la page d’accueil utilise désormais
  • exactement la même liste que le bloc « Prestations » du footer.
  • Même ordre, mêmes intitulés et mêmes URL.
  • Les cartes de la page d’accueil sont désormais cliquables vers les pages
  • prestations.
  • Liste commune à cette version :
  • 1. Nettoyage de bureaux
  • 2. Entretien de copropriétés
  • 3. Nettoyage de commerces
  • 4. Vitrerie
  • 5. Moquettes et canapés
  • 6. Remise en état
  • Aucune migration MySQL requise depuis V1.6.3.
CMS V1.6.3

CORRECTIF FOOTER À DROITE

  • Prestations et Contact regroupés dans un conteneur dédié ancré à droite
  • sur desktop.
  • Bloc IziiClean/réseaux sociaux conservé à gauche.
  • Responsive : 2 colonnes pour Prestations/Contact sur tablette, puis
  • empilement sur mobile.
  • Cache-busting CSS mis à jour vers ?v=202608120113 afin d'éviter que le
  • navigateur conserve l'ancienne grille.
  • Aucune migration MySQL nécessaire depuis V1.6.2.
CMS V1.6.2

ALIGNEMENT DU FOOTER À DROITE

  • Les blocs « Prestations » et « Contact » sont regroupés à droite du footer
  • sur ordinateur.
  • Le bloc IziiClean et les réseaux sociaux restent à gauche.
  • Le responsive tablette/mobile reste en colonnes adaptées.
  • Aucune migration MySQL nécessaire depuis V1.6.1.
CMS V1.6.1

FOOTER SANS SECTEURS

  • Suppression complète du bloc « Secteurs » dans le footer public.
  • Les pages locales et le menu « Où nous intervenons » restent inchangés.
  • Aucune migration MySQL nécessaire depuis V1.6.0.
CMS V1.6.0

PAGES PRESTATIONS + FAQ + SEO

  • Nouvelles pages publiques à cette version :
  • Nettoyage de bureaux
  • Entretien de copropriétés
  • Nettoyage de commerces
  • Vitrerie
  • Moquettes et canapés
  • Remise en état
  • Chaque page comprend :
  • H1 et accroche administrables.
  • Contenu éditorial enrichi.
  • 4 questions FAQ par défaut.
  • CTA devis + téléphone.
  • Liens internes vers autres prestations et communes.
  • SEO title / meta description.
  • Mot-clé principal et mots-clés secondaires.
  • Canonical / robots / Open Graph.
  • Données structurées Schema.org Service, FAQPage et BreadcrumbList.
  • Ajout au sitemap.xml.
  • La navigation Prestations et la colonne Prestations du footer pointent vers
  • ces pages. Les anciennes URL internes /prestations/bureaux,
  • /prestations/coproprietes et /prestations/moquettes-canapes-tapis étaient
  • redirigées en 301 vers les URL publiques optimisées de cette version.
  • Migration depuis V1.5.2 : database/migration-1.6.0-pages-prestations.sql
CMS V1.5.2

COPYRIGHT DU FOOTER ÉDITABLE

  • Nouveauté :
  • Le texte de copyright affiché en bas à gauche du footer devient modifiable
  • via Administration > Identité & réglages > Copyright du pied de page.
  • Valeur par défaut :
  • © 2026 IziiClean — SIREN 107 927 220
  • Le réglage est du texte brut : aucun HTML n'est interprété dans le footer.
CMS V1.5.1

PAGES LÉGALES STRICTES

  • Intégration stricte des deux fichiers fournis :
  • mentions-legales.html
  • politique-de-confidentialite.html
  • Éléments conservés dans MySQL :
  • Titre H1 et chapô.
  • Contenu HTML complet.
  • Tableaux et liens.
  • Encarts .todo et balises <mark>.
  • SEO title et meta description.
  • Canonical.
  • Robots.
  • Le header et le footer restent ceux de la V1.5.0 du CMS : les anciennes
  • entrées « Avis » / Instagram présentes dans les fichiers juridiques fournis
  • ne sont pas réintroduites dans l’interface globale.
  • 4. Vérifier Administration > Pages légales.
  • Important : les textes fournis contiennent volontairement des champs entre
  • crochets à compléter. Ils n’ont pas été corrigés ou remplacés automatiquement.
CMS V1.5.0

BLOG SEO & RÉSEAUX SOCIAUX

  • Blog administrable avec articles, brouillons/publication, catégories,
  • tags et mots-clés.
  • SEO article : title, meta description, canonical, robots, Open Graph,
  • Twitter Cards, BlogPosting JSON-LD, BreadcrumbList.
  • Sitemap XML enrichi avec articles et lastmod.
  • Flux RSS /blog/feed.xml.
  • Mots-clés : mot-clé principal et secondaires pour le pilotage éditorial ;
  • pas de balise meta keywords obsolète.
  • Réseaux sociaux dynamiques : Instagram, Facebook, LinkedIn, TikTok ;
  • activation, suppression, URL et libellé personnalisables.
  • sameAs du schema.org mis à jour à partir des réseaux actifs.
  • Mise à jour depuis V1.4.1 : sauvegarder la BDD puis importer
  • database/migration-1.5.0-blog-seo-reseaux.sql.
CMS V1.4.1

HEADER / FOOTER

  • Modifications :
  • Suppression du lien « Avis » dans le header sur toutes les pages.
  • Suppression du lien texte « Instagram » de la colonne Contact du footer
  • (en bas à droite).
  • Le raccourci social @iziiclean du bloc marque à gauche du footer est
  • conservé.
  • retirer l'entrée Avis de la table site_menu_items.
  • Aucune autre donnée n'est modifiée.
CMS V1.4.0

MIROIR STRICT DU SITE SOURCE

  • Référence visuelle et UX :
  • Cette version utilise comme référence absolue le site statique fourni dans
  • recopiés sans modification. La structure publique du header, des menus, du
  • hero, des sections, des pages locales, du formulaire de devis, du footer et
  • des CTA mobiles a été reproduite dans le renderer PHP/MySQL.
  • Le CMS reste dynamique :
  • Les contenus restent stockés en MySQL et administrables : accueil et sections,
  • prestations, communes, textes locaux, FAQ, avis, pages légales, SEO,
  • coordonnées, couleurs, médias et demandes de devis.
  • Référence de régression :
  • Une copie des pages statiques de référence est conservée dans
  • /templates/reference/. Elle n'est pas servie comme site public ; elle sert de
  • référence pour contrôler les évolutions futures.
  • 4. Se connecter au CMS, puis ouvrir Administration > Référence exacte.
  • 5. Cliquer « Synchroniser avec le site source » si vous souhaitez remettre
  • les contenus du site fourni exactement comme dans iziiclean-ajouts.zip.
  • ATTENTION : cette dernière synchronisation remplace les contenus de référence
  • (accueil, prestations, communes, FAQ locales, avis et pages légales). Elle ne
  • supprime pas les comptes CMS, demandes de devis, médias ni pages
  • supplémentaires.
  • Installation neuve :
  • L'installateur utilise directement le schéma et les contenus V1.4.0. Aucune
  • migration supplémentaire n'est nécessaire.
  • Validation V1.4.0 :
  • accueil : DOM public normalisé identique à index.html source
  • page locale Sète : DOM public normalisé identique à la source
  • page devis : DOM public normalisé identique à la source
  • page Merci : DOM public normalisé identique à la source
  • page 404 : DOM public normalisé identique à la source
  • mentions légales : DOM public normalisé identique à la source
  • politique de confidentialité : DOM public normalisé identique à la source
  • assets/izii.css : SHA-256 identique au fichier source
  • 4115a57abd6f99b7ed38918cf4a652a15c8fbdd1d329e593150d42bdc84f9dfe
  • tous les fichiers WOFF2 : SHA-256 identiques aux fichiers source
  • validation syntaxique PHP de l'ensemble du projet : OK
  • Les seules variations possibles en production sont celles provoquées par le
  • contenu modifié dans MySQL, les réglages du CMS, le navigateur, le rendu des
  • polices ou une feuille CSS injectée par l'hébergement/CDN.

Moteur unifié : /changelog/unifie.php. Source CMS/Site/Admin : /changelog/MISES-A-JOUR.txt. Version : /VERSION.txt.

Être rappeléDevis gratuit