← Roadmap publique

ROADMAP

Tech AWM V1.10.18Snapshot sécurisé de la version effectivement publiée. Les lignes potentiellement sensibles sont masquées automatiquement.
# Tech AWM 1.10.18 — Maintenant : validation Elementor depuis l'accès WordPress complet

- [x] Charger les droits du technicien dès `wp_loaded` aussi pendant `post.php?action=elementor`.
- [x] Autoriser la modification de toutes les pages permises par WordPress, sans confondre le scope admin et l'ancienne session limitée à une page.
- [x] Passage HTTPS apex/WWW à usage unique pour harmoniser l'origine de l'éditeur et de l'aperçu Elementor sans divulguer ni élargir le cookie administrateur.
- [x] Attendre la disponibilité réelle de l'aperçu avant d'afficher l'interface Tech dans Elementor.
- [x] Conserver les journaux, le rôle temporaire limité hors session et les 10 autres modules.
- [ ] Validation sur Couture Électro : depuis Monitoring → WordPress → Modifier avec Elementor, ouvrir l'éditeur, modifier une page TEST, contrôler le journal et la déconnexion.
- [ ] Si le chargement persiste, analyser les codes HTTP d'`admin-ajax.php`/REST, les erreurs PHP/Elementor et les éventuels conflits d'extensions avant de modifier la configuration.
- [ ] Contrôler l'affichage de cette étape sur la roadmap publique après publication; le manifeste local ne prouve pas la publication.

# Tech AWM 1.10.17 — Maintenant : journal des accès techniques, phase 1

- [x] Éliminer l'overlay Tech sur l'administration WordPress tout en préservant Elementor/frontend.
- [x] Ajouter la persistance SQL locale événement par événement pour les actions reconnues; migrer l'ancienne file sans perdre les événements déjà en attente.
- [x] Dédupliquer les relances vers Core AWM et assurer le cloisonnement par session d'intervention.
- [x] Afficher les événements centralisés dans **Tech AWM → Journal** avec recherche et pagination, en distinguant les simples requêtes des modifications détectées.
- [x] Prévoir la rétention locale configurable par code : 365 jours pour les lignes livrées, sans purge des événements non synchronisés.
- [ ] Test réel sur un site pilote : admin WordPress + Elementor + extensions + utilisateurs + retour hors-ligne.
- [ ] Ajouter une réconciliation vérifiable des anciennes sessions expirées lorsque la connexion centrale a été coupée.
- [ ] Envisager un journal indépendant au niveau serveur pour les opérations en dehors des hooks WordPress et les suppressions d'agent.
- [ ] Confirmer la publication du nouveau jalon dans la roadmap publique en ligne.

## Tech AWM 1.10.16 — Corriger le refus wp-admin (2026-10-12)
- [x] Revalider la session avant le chargement des menus WordPress (`wp_loaded`), avec fallback idempotent.
- [x] Conserver le rôle de base lecture seule ; accorder les capacités uniquement pendant une session centrale valide, liée au compte temporaire.
- [x] Isoler les identités frontend/Elementor et administration complète.
- [x] Contrôler les capacités et journaliser les refus sans cookies ni secrets.
- [x] Tests locaux (18 assertions).
- [ ] Tester sur un vrai site WordPress que « WordPress » ouvre la page d'accueil et que les menus Modules, Utilisateurs, Elementor fonctionnent.
- [ ] Vérifier la remontée des actions dans le journal Core/Tech en production.
- [ ] Vérifier l'affichage réel de cet avancement dans la roadmap publique.

## 1.10.15 — Stabilisation du moteur de contenu Elementor
- [x] Bloquer les `replace_text` non ciblés et limiter les modifications au sous-arbre Elementor sélectionné.
- [x] Envoyer au modèle les véritables widgets texte descendants d'une section (pas le conteneur seul).
- [x] Refuser l'écriture si Hub Client 1.14.20+ n'est pas installé sur le site.
- [x] Visualiser les nouvelles valeurs texte avant validation; conserver l'audit existant.
- [ ] Pilote sur un WordPress client réparé et validation de la précision de modification d'une seule section.
- [ ] Examiner les snapshots historiques douteux et restaurer le contenu original depuis les révisions valides.

# Tech 1.10.14 — phase de validation terrain (2026-10-12)

- [x] Administration WordPress temporaire active par défaut quand Tech et le client CRM sont actifs; exception de désactivation manuelle persistante et vérification côté serveur.
- [x] Ouverture du navigateur sans attente infinie : soumission synchrone d'un nouvel onglet, diagnostic visible dans celui-ci, délai de 20 secondes en navigation même onglet.
- [x] Précontrôle agent/permission; aucune mise à jour automatique silencieuse déclenchée par le bouton WordPress.
- [x] Tests de contrats PHP/JS des modes actif, inactif, désactivation volontaire, réactivation et ouverture immédiate.
- [ ] Valider en conditions réelles l'authentification sans mot de passe sur un site Tech >= 1.10.13, ainsi que le journal d'administration WordPress et l'ouverture des onglets sous Chrome.
- [ ] Publier et vérifier la roadmap sur https://alliancewebmarketing.ca/hub/roadmap/ (non confirmé depuis l'environnement de livraison).

# Tech AWM 1.10.13 — avancements 

- [x] Restaurer dans Monitoring les boutons **WordPress** et **Tech sur site**.
- [x] Accès admin WordPress temporaire sans mot de passe client, avec privilèges conditionnels (rôle de base lecture seule) et permission distincte désactivée par défaut.
- [x] Couvrir les principales modifications WordPress et Elementor avec un journal local et central lié au technicien et au site.
- [x] Préserver les tentatives d'audit hors ligne sans réattribution de session.
- [ ] Pilote réel : tester installation/suppression de plugins, Elementor, création/suppression d'un utilisateur et visibilité des logs, avec la permission activée uniquement pour le client pilote.
- [ ] Évaluer une couche d'audit indépendante de WordPress pour une conservation exhaustive en cas de désactivation du plugin.
- [ ] Confirmer la synchronisation visible sur la roadmap publique.

# Tech AWM 1.10.12 — Monitoring unifié et changements DNS confirmés

- [x] Fusionner les deux listes Monitoring existantes en un seul affichage par site.
- [x] Utiliser des cartes adaptatives avec recherche, filtres d'état, pagination et thème clair/sombre AWM.
- [x] Afficher les serveurs NS de la vraie zone DNS ainsi que les destinations A, AAAA et CNAME observées.
- [x] Montrer la zone surveillée, l'historique « avant/après » et la date d'un changement confirmé.
- [x] Envoyer un avertissement aux techniciens Tech après deux observations espacées de 30 minutes, sans notifier les clients finaux.
- [x] Éviter les faux avis au premier import DNS et lors du changement de schéma 1.10.11 → 1.10.12.
- [x] Conserver l'autorisation CRM active + Connector et la lecture seule.
- [ ] Vérifier l'affichage sur l'admin WordPress réel, mode sombre/clair et appareil mobile.
- [ ] Vérifier avec un domaine DNS pilote le courriel réel et les deux relevés depuis Alliance.
- [ ] Ajouter ultérieurement une seconde origine DNS indépendante pour vérifier propagation et incohérences géographiques.
- [ ] Confirmer la publication visible de ces avancements sur /hub/roadmap/ après import de la Suite.

# Avancement des idees Tech AWM (Suite 4.5.387)

**4 chantiers montes de Futur vers Maintenant (phase 1 installee / validation terrain attendue)** :

1. **SSL :** expiration, chaine non fiable, empreinte et seuils 30/14/7 jours — les alertes mailavancees restent a concevoir.
2. **DNS :** A, AAAA, NS, CNAME, MX, SPF, DMARC et difference confirmee — verification DKIM par selecteur et explications des impacts a venir.
3. **WP-Cron :** total, retard et anciennete, aucune argumentation des hooks exportee — detection precise d echec et remediation future.
4. **SQL :** poids des options autoload, metadonnees des tables — mesures de requetes lentes et optimisation manuelle a venir.

**16 autres idees** du paquet 4.5.386 restent en **Futur** sans changement. Les quatre chantiers ne deviennent pas 'termines' tant que les essais WordPress reels ne sont pas valides.

# Tech AWM 1.10.10 — périmètre des sites administrés

- [x] Ne pas confondre client actif et site géré.
- [x] Exiger client opérationnel CRM et Connector Hub Client authentifié, non révoqué.
- [x] Inclure les sites gérés mais hébergés ailleurs.
- [x] Exclure les URL purement commerciales (SEO/Ads/autres), les sites non appairés et les Connectors révoqués.
- [x] Sécuriser affichage, compteurs, Appliquer, Vérifier, règles globales et cron.
- [x] Conserver préférences et historiques lors de la disparition/reconnexion d’un site.
- [ ] Valider le périmètre réel des sites avec Hub Client sur l’installation Alliance.
- [ ] Mettre à jour la roadmap publique du Hub après le test terrain.

# Tech AWM 1.10.9 — Politique CRM : clients actifs seulement
- [x] Ne lister que les clients opérationnels du CRM dans Protection formulaires (exclure inactif/archivé/supprimé).
- [x] Aligner les compteurs de sites et de blocages sur ce seul périmètre actif.
- [x] Ne cibler aucun client inactif dans les actions manuelles ou programmées; vérifier à nouveau avant la requête distante.
- [x] Conserver les réglages historiques, y compris les synchronisations en attente, sans boucle cron sur des clients inactifs.
- [x] Réadmettre automatiquement les sites à la réactivation du client dans CRM; préserver les modes spécifiques.
- [x] Vérifier les 17 scénarios de contrat dans un harnais PHP local.
- [ ] Confirmer sur le Hub WordPress réel qu'un client inactif disparaît et revient à l'activation.
- [ ] Vérifier la propagation sur un site test actif avant déploiement généralisé.
- [ ] Publier la roadmap source sur /hub/roadmap/ lors de l'installation; non publiée à distance par ce build.

# Tech AWM 1.10.8 — UX harmonisée Protection formulaires
- [x] Utiliser les variables visuelles du shell partagé AWM (clair/sombre) pour les cartes, contrôles et états.
- [x] Corriger les libellés invisibles, sélecteurs trop foncés, et états à contraste insuffisant.
- [x] Remplacer les grandes cartes par une liste compacte responsive et pagination client-side.
- [x] Rechercher et filtrer les 80+ sites sans surcharge de requêtes au serveur.
- [x] Conserver les nonces, permissions et formulaires des actions par site; tests simulés.
- [x] Conserver Tech client 1.10.7 comme seuil compatible d’interventions; pas de redéploiement forcé pour une modification UI.
- [x] Préserver filtres et page après Vérifier/Appliquer depuis un même onglet.
- [x] Contrôles Chromium desktop / tablette / mobile, clair / sombre, sans débordement.
- [ ] Vérifier le rendu sur l'admin WordPress réel avec le thème AWM actif.
- [ ] Étudier une vue statistique agrégée 7/30 jours et un historique de blocage par formulaire.
- [ ] Publier la roadmap publique /hub/roadmap/ après mise en production; cette archive actualise les sources locales sans déployer directement sur le serveur.

# Tech AWM 1.10.7 — Monitoring HTTP / fiabilité des alertes
- [x] Supprimer les doubles probes immédiates comptées comme confirmation indépendante.
- [x] Espacer les preuves en passages WP-Cron; confirmation HTTP et transport distincte.
- [x] Traiter HTTP 403/429 comme ambiguïtés WAF/rate-limit, pas comme panne totale.
- [x] Prévoir une file prioritaire d'anomalies et préserver le roulement du parc.
- [x] Courriels de diagnostic complets, historique conservé 30 jours, anti-bruit 30 min.
- [x] Afficher la cause et l'heure du contrôle sur la fiche du site.
- [ ] Tester le déclenchement et la résolution d'incidents sur un WordPress réel (site pilote).
- [ ] Validation de l'impact des paramètres anti-bot/CDN et proxy sur les en-têtes de la sonde.
- [ ] Ajouter une seconde région indépendante pour confirmer une panne mondiale.
- [ ] Ajouter un bouton sécurisé « Tester la disponibilité maintenant » avec comparaison réseau.
- [ ] Mesurer la latence de traitement WP-Cron sur une flotte de 80+ sites.
- [ ] Publier le résumé sur /hub/roadmap/ (publication non confirmée depuis ce build).

# Tech AWM 1.10.6 — Anti-spam Elementor centralisé
- [x] Vue stagiaire en deux étapes : règle générale, puis sites / état / dérogations.
- [x] Contrôle local des formulaires avant Email/Email2, webhook et LeadTracker par Hub Client 1.14.19.
- [x] Déploiements site-scoped authentifiés par Core et confirmation de la version du mode appliqué.
- [x] Propagation asynchrone par lots, tentatives limitées, statut hors-ligne non trompeur.
- [x] Découverte quotidienne pour nouveaux sites et reprise des sites en échec.
- [x] Journal des commandes via AWM Core Security Log.
- [ ] Tester l'ensemble du flux en production sur un site pilote (Email, Email2, webhooks, LeadTracker, cache/CDN).
- [ ] Ajouter statistiques anti-spam sur plusieurs périodes et gestion d'exceptions par formulaire individuel.
- [ ] Couverture future Gravity Forms / Contact Form 7 via validation native avant notification.

# Tech AWM 1.10.5 — composant systeme par defaut
- [x] Actif par defaut pour tout client valide.
- [x] Désactivation uniquement par action humaine explicite en fiche CRM.
- [x] Aucun faux desactive si la resolution CRM est temporairement indisponible.
- [x] Core 4.5.262 installe/active/met a niveau Tech avant Recovery.
- [ ] Validation terrain sur Climat NordSud, Plomberie Soltech principal et Demenagement Hull.

# Tech AWM 1.10.3 — secours du canal Hub Client
- [x] Route REST minimale indépendante de Hub Client.
- [x] Authentification avec le secret de scan existant.
- [x] Réactivation limitée au plugin Hub Client canonique.
- [x] Aucune action générique d activation/installation exposée.
- [x] Compatible avec la reprise Core AWM 4.5.240.
- [ ] Déployer sur toute la flotte afin que les futures coupures Hub Client deviennent auto-réparables.

# Tech AWM 1.10.2 — automatisation de maintenance observable

## Livré
- Réveil immédiat quand une extension passe en Automatique.
- Inventaire frais avant décision de mise à jour.
- État du worker visible dans Avancé > Politique automatique des extensions.
- Compteur distinct `Bloquées Recovery` et conservation du fleet_state par site.
- Tech 1.10.1 / passage WordPress temporaire Elementor préservé.

## Maintenant
- Valider un site avec une mise à jour tierce et Recovery prêt.
- Valider un site non prêt : aucune écriture, mais une raison `Bloqué Recovery` claire.

## Ensuite
- Ajouter une action guidée `Préparer Recovery` depuis Tech quand une preuve manque, sans assouplir la garde automatique.

# Tech AWM 1.10.1 — authentification temporaire d intervention

## Livré — 2026-09-24
- [x] Passage **Elementor avancé** sans écran `wp-login.php` lorsque le technicien Alliance n est pas déjà connecté au WordPress client.
- [x] Handoff à usage unique, expirant, relié à la session Tech validée et à la page exacte.
- [x] Utilisateur WordPress temporaire à capacités d édition limitées; aucun mot de passe transmis ou affiché.
- [x] Cookie WordPress limité à la durée restante de la session Tech et suppression automatique du compte temporaire.
- [x] Même authentification temporaire pour une intervention frontend nécessitant `current_user_can(edit_post)`.
- [x] Conservation des gardes site/client/instance/domaine et du moteur de snapshot/rollback.
- [ ] Maintenant : valider Canevas Rive-Sud puis un deuxième site pilote; Elementor doit s ouvrir directement et les actions Tech doivent conserver le nonce REST WordPress.
- [ ] Ensuite : afficher dans la chronologie Tech l ouverture/expiration de la session WordPress temporaire et le nettoyage du compte.

# Tech AWM 1.10.0 — UX guidée des mises à jour

## Livré
- Parcours en trois niveaux : **À faire maintenant / Installer / Avancé**.
- Regroupement des mises à jour par site avec une action principale claire.
- Détails des extensions repliés par défaut.
- Sites à jour regroupés dans une section secondaire.
- Sélecteur unique du site de destination pour les installations.
- Séparation visuelle des modules AWM et du catalogue WordPress approuvé.
- Zone avancée pour les politiques globales, l'inventaire complet et les versions de la Suite.
- Responsive spécifique au centre de mises à jour.

## Maintenant
- Valider le parcours avec un stagiaire : ouvrir Mises à jour, identifier un site, lancer **Mettre à jour ce site**, puis vérifier le résultat.
- Tester l'installation d'un module AWM avec le nouveau sélecteur unique de destination.
- Vérifier desktop, tablette et mobile sans perte d'action importante.

## Ensuite
- Ajouter une recherche rapide par client/site dans **À faire maintenant** si la flotte dépasse environ 30 sites.
- Ajouter un historique simplifié par site : dernière mise à jour, résultat, rollback éventuel.
- Ajouter un badge de niveau de protection par extension (Recovery complet / secours borné / manuel requis).

# Tech AWM 1.9.4 — mises à jour tierces / premium protégées
## Livré
- Canal direct Tech → Core → Hub Client pour les mises à jour tierces.
- Support des paquets premium fournis par le site, dont Elementor Pro.
- Statuts de rollback/review_required traités comme échecs réels.
## Maintenant
- Pilote Allo Déménagement : Elementor Pro → Mettre à jour protégé → inventaire frais → Elementor fonctionnel.
- Tester ensuite `Mettre à jour les X` sur un site pilote avec deux extensions tierces.
## Ensuite
- Badge de niveau de protection par extension.
- Approbation Recovery des cibles automatiques depuis Tech sans édition manuelle de config privée.

# Tech AWM 1.9.3 — session active et réécriture fiable

## Livré
- Session glissante 20 min d inactivité, plafond 4 h par intervention.
- Réécriture déterministe des champs texte sélectionnés : SEO, reformulation, longueur, ton et correction.
- Les actions restent set_setting, permissionnées, SHA-256 contrôlées, snapshotées et rollbackables.

## Maintenant
- Allo Déménagement : laisser la session ouverte >20 min avec activité, puis confirmer qu elle reste active.
- Tester heading : texte SEO, reformuler, plus long, plus court → Appliquer → Rollback.
- Reprendre ensuite container/colonne/image de Tech 1.9.0.

# Tech AWM 1.9.2 - transport REST meme site

## Livre
- Resolution du REST sur l origine navigateur pour les alias `www` / apex canoniquement equivalents.
- `credentials: include` + `X-WP-Nonce` sur tous les clients REST Tech, incluant le panneau sante.
- Conservation stricte de `edit_post`, site_id, instance_uuid et session Alliance.

## Maintenant
- Allo Demenagement : ouvrir l admin sur `allodemenagement.ca`, lancer Elementor alors que la cible canonique est `www.allodemenagement.ca`, puis verifier **Session connectee**.
- Tester texte, container et retour frontend, avec Appliquer puis Rollback.

# Tech AWM 1.9.1 - continuité de session frontend / Elementor

## Livré
- Nonce REST WordPress injecté dans la configuration de session Tech.
- `X-WP-Nonce` envoyé sur tous les appels REST Tech.
- Passage frontend → Elementor → frontend sans perte du `current_user`.
- Aucune réduction des contrôles `edit_post`, site_id, instance_uuid ou session Alliance.

## Maintenant
- Valider Allo Déménagement : intervention frontend → Modifier avec Elementor → action container/texte → retour frontend.
- Confirmer qu un utilisateur WordPress non autorisé reste refusé.

# Tech AWM 1.9.0 - moteur Elementor généralisé

## Livré
- Sélection et modification des containers, sections et colonnes.
- Réglages layout sûrs : largeur/min-height, flex, alignement, gap, overflow, espacements, fond, bordures, z-index et visibilité responsive.
- Widgets natifs enrichis : texte, image, icône, divider, spacer, image/icon box, testimonial, counter, progress et Google Maps.
- Fallback IA ciblé universel sur l élément sélectionné.
- Photos : remplacement du widget image ou de l image de fond par action réversible.

## Maintenant
- Pilote Allo Déménagement : texte plus long/reformulé, container padding/fond/flex, colonne largeur, image et background image.
- Appliquer puis Rollback chaque famille avant flotte.

# Tech AWM 1.8.6 - intervention texte selectionne

## Livre
- Reecriture fiable d un widget texte selectionne avec fallback specialise si le premier passage ne retourne aucune action.
- Action toujours reversible et soumise aux permissions Elementor + SHA de page.
- Icone Reglages visible dans la fenetre Frontend.

## Maintenant
- Valider Allo Demenagement: meilleure description -> proposition -> Appliquer -> Rollback.
- Verifier heading, text-editor et button sur un second site.

## Ensuite
- Etendre le meme moteur cible aux images, CTA et styles avec actions explicites.
- Afficher les metriques de latence/tokens et les causes de rejet d action dans la fiche intervention centrale.

# Tech AWM 1.8.5 — conversation distante fail-closed

## Livré maintenant
- Restauration de `remote_status()` et `has_permission()` dans le runtime d intervention.
- Vérification explicite de la classe/méthode distante avant appel et capture `Throwable`.
- Refus propre en `WP_Error` si Alliance ne retourne pas un état structuré ou si Tech est désactivé.
- Garde de permissions commune pour chat, fichiers, écriture Elementor et actions techniques.

## Maintenant
- Rejouer Allo Déménagement : sélectionner le même widget → demander une meilleure description → vérifier proposition → Appliquer → Rollback.
- Confirmer qu aucune exception `remote_status` / `has_permission` n apparaît dans Diagnostic.

## Ensuite
- Ajouter un test de régression automatique sur les appels `self::...()` sans méthode correspondante avant chaque ZIP Tech.
- Continuer la validation canari de l autopilote séparément du chat Tech.

# Tech AWM 1.8.4 - chat Elementor cible et diagnostic exploitable

## Livre maintenant
- Lecture directe du widget Elementor selectionne dans `_elementor_data` pour eviter de charger toute l arborescence lors d une demande simple.
- Contexte IA reduit au widget, champs editables et hash de document.
- Pipeline chat trace par etapes et erreur PHP exacte visible dans la fenetre privee.
- Diagnostic affiche la derniere erreur Tech avec code, etape et message.

## Maintenant
- Rejouer Allo Demenagement : selectionner le meme bloc puis demander une meilleure description.
- Si une erreur subsiste, relever directement l etape et le message affiches; aucune nouvelle supposition ne sera necessaire.
- Verifier proposition, Appliquer maintenant et Rollback.

## Ensuite
- Journaliser latence/taille de contexte de chaque demande Tech.
- Conserver les actions et erreurs dans la fiche intervention centrale.

# Tech AWM 1.8.3 - intervention frontend stabilisee

## Livre maintenant
- X ferme reellement la grande fenetre et conserve un lanceur Tech AWM compact.
- Une seule instance du panneau peut etre attachee a une surface.
- Chat sur element selectionne : contexte minimal du widget + champs editables, sans inventaire logiciel complet.
- Messages d erreur exploitables + journal Tech pour les erreurs IA/Connector/chat.

## Maintenant
- Rejouer sur Allo Demenagement : selectionner un texte, demander une meilleure description, verifier la proposition puis Appliquer et Rollback.
- Verifier fermeture X, reouverture par le lanceur et navigation sur plusieurs pages.

## Ensuite
- Ajouter un indicateur de taille/contexte et de latence de chaque demande Tech.
- Rendre les conversations et actions visibles dans la fiche intervention centrale avec leur code d erreur exact.

# Tech AWM 1.8.2 — navigation d intervention connectée

## Livré
- Fenêtre Tech persistante sur le frontend pendant la navigation du même site.
- Session toujours protégée par connexion WordPress + droits d édition + session Alliance valide.
- Page courante automatiquement utilisée comme contexte/cible quand elle est éditable.
- Fermeture/réouverture de la fenêtre sans couper la session.
- Conservation du fil de conversation pendant la navigation de la session navigateur.

## Maintenant
- Valider Allo Déménagement : Elementor avancé → frontend → naviguer sur 3 pages → sélectionner un élément → revenir dans Elementor.
- Confirmer qu un navigateur non connecté ne voit jamais la fenêtre Tech.
- Confirmer principal et site secondaire séparément.

## Prochaines étapes
- Ajouter un bouton explicite **Terminer la session** distinct du simple bouton Fermer.
- Journaliser les changements de page dans AWM Live Intervention (`page_changed`) avec durée par page.
- Conserver éventuellement l historique visuel du chat lors des navigations, en plus du `thread_id`.

# Tech AWM 1.8.1 — handoff Elementor / intervention canonique

## Livré
- Normalisation sûre `www` / apex pour le même site jumelé.
- Respect strict du `site_id`, de l `instance_uuid`, du port HTTPS et du sous-répertoire WordPress.
- Refus des chemins ambigus/traversal avant ouverture d une session d intervention.

## Maintenant
- Rejouer **Elementor avancé** sur Allo Déménagement principal puis sur un secondaire.
- Confirmer que l URL d éditeur retournée reste dans le même site et le même répertoire.
- Conserver le rollback et l audit de session avant d élargir les actions d intervention.

# Tech AWM 1.8.0 — gestionnaire central de modules AWM

## Livré
- Nouvelle bibliothèque **Modules AWM** séparée de la bibliothèque WordPress.org.
- Sélection d une cible exacte `client_id + site_id` et déploiement via l autorité Core.
- Version/paquet/hash impossibles à substituer depuis Tech.
- Vérification d inventaire après installation et message spécifique si la cible est déjà à jour.
- Badge Hub Client **MU protégé / MU à vérifier** dans la vue Sites.

## Maintenant
- Après publication Suite 4.5.253, migrer un seul Hub Client pilote vers 1.12.0 MU.
- Depuis Tech, confirmer le catalogue renvoyé par Core puis tester une installation/réparation sur le même pilote.
- Vérifier Accès au site et Elementor après chaque opération avant d étendre la flotte.

## Futur — bibliothèque de modules
- Ajouter de nouveaux modules clients par politique explicite Core sans devoir modifier le moteur Hub Client pour chaque slug.
- Afficher dépendances, compatibilité PHP/WordPress et préflight par module avant installation.
- Installation groupée multi-sites avec bilan indépendant et rollback par site.

## Futur — Recovery MU
- Faire surveiller loader, config et runtime Hub Client par Recovery hors WordPress pour couvrir aussi la suppression physique du MU-loader.

# Tech AWM 1.7.40 — activation sûre en processus propre

## Livré
- Sandbox d activation ultra-léger sous `WP_SANDBOX_SCRAPING`.
- Aucun runtime Tech/Elementor pendant l activation WordPress.
- Activation distante orchestrée dans une requête distincte par Hub Client 1.11.51.

## Maintenant
- Allo Déménagement : confirmer Tech 1.7.40 actif, puis Accès au site et Elementor.
- Valider ensuite un deuxième site pilote avant toute flotte.

# Tech AWM 1.7.39 — stabilisation du bootstrap client

## Livré
- Bootstrap client différé pour ne plus faire tomber `update/status` après remplacement à chaud de Tech.
- Garde anti-doublon sur les classes Tech client/central.
- Capture locale du dernier bootstrap fatal/Throwable sans exposer de chemin absolu à Alliance.

## Maintenant
- Rejouer le pilote Allo Déménagement : Tech 1.7.34 → 1.7.39 après Hub Client 1.11.50.
- Après succès, ouvrir **Accès au site** puis une session Elementor pour confirmer le runtime fonctionnel, pas seulement la version installée.
- Si `awm_tech_boot_error` est alimenté, remonter son message nettoyé dans Voir avant toute flotte.

## Futur
- Ajouter une sonde de bootstrap Tech dédiée dans Hub Client et un rollback local automatique si la sonde fonctionnelle échoue après activation.

# Tech AWM 1.7.38 - Suite 4.5.243

## 1.7.38 — Accès au site manuel compatible Recovery suspendu — 2026-09-22
- Le clic administrateur **Accès au site** est maintenant traité comme une intervention manuelle explicite.
- Si Hub Client ou Tech doit être préparé avant l ouverture de la session, Tech appelle Core avec `manual=true` et le `site_id` exact.
- Le chemin manuel conserve canal signé, SHA-256, sauvegarde/rollback fichiers et vérification de version.
- L autopilote reste suspendu et aucun déploiement implicite ne contourne Recovery.
- Correction pertinente après migration d hébergement : une preuve RESTORE_TEST peut être invalide sur la nouvelle topologie, sans empêcher une intervention manuelle protégée.

# Tech AWM 1.7.37 - Suite 4.5.235

## Livré dans 4.5.235
### 1.7.37 — Etat Recovery exploitable par le Tech — 2026-09-15
- Les cartes Recovery du parc distinguent route de secours, périmètre de sauvegarde et vrai test de restauration.
- `Recovery prêt` ne signifie plus que l'URL répond : l'interface montre explicitement si l'automatisation reste interdite.
- Aucun changement de privilège : un Tech AWM reste administrateur par défaut, avec restrictions explicites possibles.

Date : 2026-09-15

## Livre dans le code candidat

Boutons Recovery relies aux identites nominatives via Core, acces aux portes clientes deja verifiees meme si WordPress est maintenant indisponible. Moteur de mise a jour protege sur version cible exacte et suivi de resultats. Bibliotheque centrale accessible depuis Core.

## Validation terrain requise

Candidate de stabilisation. Aucun deploiement effectue. Recette reelle WordPress + MySQL/MariaDB + PHP-FPM/OPcache + HTTPS et watchdog systeme obligatoire avant activation. Autopilote Suite AWM toujours suspendu. Les paquets des nouvelles mises a jour tierces proviennent encore du fournisseur WordPress de chaque site; leur telechargement unique depuis Alliance reste au roadmap.

## Prochaines etapes

Telechargement central des mises a jour fournisseurs avec droits/licences par site; restauration depuis une archive Alliance absente localement; ordonnanceur et politique editables dans UI; purge physique des objets orphelins apres verification des references; tests visuels/metier et MFA de secours. Les signatures de fournisseurs ne sont pas remplacees par les seules empreintes SHA.

## Roadmap anterieure conservee

# Tech AWM 1.7.35 — Recovery du parc

## Livre
- Bouton Recovery dans le shell Tech et sous-menu de supervision.
- Lien direct vers Recovery central et vers chaque Hub Client qui annonce sa porte de secours.
- Statut Recovery/agent CLI visible par site sans exposer les chemins prives.
- Le catalogue WordPress deja remonte par Hub Client reste la source de vue globale; Recovery conserve ses propres cinq archives par extension.

## Validation terrain
- Tester un site joignable, puis couper volontairement WordPress et confirmer que l URL Recovery conservee dans Tech reste utilisable.
- Valider le parcours Tech niveau 1 : logs -> module probable -> timeline -> dernier stable -> verification.
- Confirmer qu une URL Recovery hors domaine attendu est rejetee par Core.

## Futur apres validation
- Resume de sante Recovery dans le Morning Brief sans executer de restauration automatiquement.
- Alertes de retention/quota et preuve de derniere restauration testee par site.

# Tech Awm 1.7.34 — Morning Brief Health transversal

## Livré
- Le Brief AWM affiche le score Health Suite /100 et ses raisons de vigilance tout en conservant incidents, SLA et priorités comme autorités opérationnelles.
- Le score Health est rafraîchi avec le snapshot du cockpit et reste strictement informatif.

## Prochain lot accéléré
- Corrélations Health par client/site entre incidents, Stats, tickets et CRM.
- Tournée Tech enrichie par fraîcheur et capacité, sans réaffectation automatique.

# Tech AWM 1.7.33 — Pulse opérationnel transversal

## Livré
- Expose au Core un pulse incidents ouverts / critiques afin d alimenter la santé système transversale.
- Le pulse est en lecture seule et ne remplace pas les préflights, actions recommandées ou preuves Tech.

## Prochain lot accéléré
- Morning Brief transversal basé sur les pulses Core, avec corrélations par client/site.
- Croiser incidents, fraîcheur Stats, tickets et état CRM avant de suggérer une tournée ou une action.

# Tech AWM 1.7.32 — feuille de route

## Tech AWM 1.7.32 — livré maintenant
- [x] Préflight Connector / permissions / OPcache visible dans chaque fiche Tech avant intervention.
- [x] Tournée Tech suggérée regroupée par client + site dans Incidents.
- [x] Vue de capacité par responsable avec non assigné, ancienneté, SLA et score maximal.
- [x] Aucun chemin serveur, secret ou réaffectation automatique ajouté au payload.

## Maintenant — validation terrain
- [ ] Comparer un site avec Connector sain, un site avec permissions d écriture limitées et un hébergement OPcache sans validation des timestamps.
- [ ] Vérifier qu une tournée regroupant plusieurs incidents du même site ouvre toujours la bonne fiche `client_id + site_id`.
- [ ] Comparer la charge de deux comptes Tech et confirmer que Non assigné, SLA à risque/dépassé et ancienneté restent cohérents.

## Prochain lot accéléré
- [ ] Préflight rafraîchissable à la demande avant intervention sans recharger tout le cockpit.
- [ ] Préparer les actions semi-automatiques uniquement lorsqu un snapshot/rollback fiable est prouvé pour le type d action.
- [ ] Ajouter des fenêtres de maintenance et une tournée assignable sans réaffectation automatique.
- [ ] Historiser la capacité Tech pour tendances 24 h / 7 j sans dupliquer Health.


## Livré
- Score impact × urgence × confiance sur les incidents, visible et explicable.
- File d actions recommandées par incident avec accès aux surfaces Tech pertinentes.
- Historique fiche Tech 24 h / 7 j, basé sur les événements existants sans recopier Stats.

## Maintenant
- Valider sur incidents HTTP, sécurité, lenteur et Connector.
- Vérifier que les historiques 7 j restent rapides sur un parc réel.

## Prochain lot accéléré
- Préflights Connector / permissions / OPcache avant intervention distante.
- Regroupement multi-incidents par client et suggestion d ordre de tournée Tech.
- Actions semi-automatiques seulement lorsqu un snapshot/rollback sûr existe.

# Tech AWM 1.7.31 — accélération opérations et observabilité

- **Livré** : filtres Client et Site dans les fenêtres Priorités du parc et Incidents, en plus des filtres criticité/signal/workflow; les choix restent mémorisés pendant la session.
- **Livré** : les sites avec incident ouvert passent en priorité dans chaque lot de sondes, sans dépasser la limite globale de 12 sondes par cycle; le round-robin normal continue pour le reste du parc.
- **Livré** : Wordfence Intelligence conserve les 12 dernières tentatives de synchronisation sans secret, mémorise le dernier succès et classe la fraîcheur en Données fraîches / Cache acceptable / Données périmées / Jamais synchronisé.
- **Livré** : la page Sécurité affiche dernier succès, dernière tentative et historique de synchronisation avec statut HTTP utile.
- **Gouvernance** : roadmap, changelog, notes de livraison et validation sont synchronisés avec Suite AWM 4.5.227.

## Tech AWM 1.7.29 — diagnostic Wordfence V3 clair et non bloquant

- Le refus Wordfence Intelligence n ouvre plus une fenêtre globale bloquante : l état apparaît directement dans le panneau Sécurité et le reste de la page demeure utilisable.
- Un HTTP 401 est identifié explicitement comme **clé Wordfence Intelligence V3 refusée** et explique que la clé doit provenir de **Wordfence > Account > Integrations**, pas de la licence du plugin Wordfence installée sur un site.
- Le panneau propose **Retester maintenant**, **Configurer la clé** et **Wordfence Integrations** sans exposer le secret et sans distribuer la clé aux sites clients.
- Le KPI Journal gratuit distingue désormais **Actif**, **Clé refusée**, **À vérifier** et **À configurer** au lieu d afficher Actif dès qu un secret existe.
- Les erreurs 429, réseau ou réponse invalide restent non bloquantes et conservent le dernier diagnostic utile; aucun faux résultat de vulnérabilité n est inventé.
- Le bloc de diagnostic suit la typographie personnelle Tech et reste responsive.
- ROADMAP, CHANGELOG, notes de livraison et rapport de validation sont synchronisés avec la version.

## Tech AWM 1.7.28 — alertes actionnables, overlays lisibles et Moniteur personnalisable

- Toutes les annotations de **Priorités du parc** liées à un site sont maintenant entièrement cliquables, pas seulement les situations corrélées : cliquer n importe où sur une ligne ouvre la fiche Tech complète du site.
- La fiche ouverte depuis une alerte fournit le résumé technique existant et ses actions contextuelles : ouverture du site, détails techniques, contrôles, Connector, mises à jour ou autres actions déjà autorisées selon l état réel du site.
- Les lignes cliquables affichent un indice visuel et une indication **Cliquer pour le résumé complet et les actions**; les actions sensibles conservent leurs confirmations et permissions existantes.
- La **Typographie dashboard** personnelle s applique désormais aussi aux fenêtres Tech, notamment **Priorités du parc**, filtres, annotations, résumés, historiques, boutons d intervention et fiches site ouvertes en overlay.
- Le **Mode moniteur** utilise maintenant le même moteur de personnalisation de blocs que le dashboard : visibilité, ordre, drag & drop, grille 12 colonnes et largeurs 1/4, 1/3, 1/2, 2/3, 3/4 ou pleine largeur.
- La disposition du Moniteur est indépendante de celle du dashboard et reste enregistrée par `user_id`; un Tech peut donc construire un écran mural différent de son poste de travail.
- La **Typographie Moniteur** conserve la priorité en Mode moniteur, y compris lorsque les blocs sont redimensionnés ou déplacés.
- ROADMAP, CHANGELOG, notes et rapports de validation sont synchronisés avec cette livraison.

## Tech AWM 1.7.27 — édition de grille sans panneau superposé

- Quand le Tech choisit le préréglage **Personnalisée**, le panneau de personnalisation se ferme automatiquement afin de rendre tout le dashboard disponible pour le drag & drop.
- Un bouton **Déplacer les blocs** permet aussi d entrer directement dans ce mode lorsque la disposition enregistrée est déjà personnalisée.
- Pendant le déplacement, une barre compacte reste en bas de l écran avec **Annuler** et **Enregistrer mon tableau**; le panneau flottant ne masque plus la carte ni les autres blocs.
- Ouvrir de nouveau l icône Personnaliser met le déplacement en pause sans perdre la disposition de travail; fermer le panneau sans sauvegarder restaure les préférences enregistrées.
- Les raccourcis, blocs visibles, typographie, profils 1080p/4K, grille 12 colonnes et responsive interne restent sauvegardés par `user_id`.

## Tech AWM 1.7.26 — dropdown de liens, blocs container-responsive et typo des fiches

- `Liens personnalisés` devient un dropdown compact directement dans la zone d actions de l en-tete Tech, avant Personnaliser et Light/Dark; les raccourcis ne consomment plus de largeur en permanence.
- `Fermer` du panneau Personnaliser devient un vrai bouton compact avec icone, cohérent avec le reste du shell.
- La Carte utilise maintenant la largeur réelle de son bloc : les périodes se réorganisent en 4 puis 2 colonnes au lieu de déborder sur le bloc voisin.
- `État des sites` abandonne le défilement horizontal lorsque la colonne devient insuffisante : chaque ligne se transforme automatiquement en carte avec libellés, puis en pile verticale sur les petites zones.
- Les blocs étroits utilisent des container queries : la décision de passer en mode compact dépend de la largeur du bloc 1/4, 1/3, 1/2, etc., pas seulement de la largeur globale du navigateur.
- La **Typographie dashboard** personnelle suit maintenant aussi la fiche Tech, ses onglets, métriques, SEO, WordPress, sécurité, historique, boutons et cartes de sites; l échelle reste propre à chaque `user_id`.
- Les préférences par `user_id`, la grille 12 colonnes, les ratios, le drag & drop, les profils 1080p/4K et les données de monitoring restent inchangés.

## Tech AWM 1.7.25 — en-tete compact et dropdown Dark

- Les raccourcis personnels quittent la grande barre sous le shell et sont maintenant injectes directement dans l en-tete Tech, a cote du contexte du module.
- Le bouton Personnaliser devient une icone compacte placee immediatement a gauche du bouton Light/Dark; la rangee supplementaire du dashboard est supprimee.
- Les raccourcis restent propres a chaque `user_id`, defilent horizontalement si l espace devient trop etroit et ne forcent plus une carte pleine largeur en hauteur.
- Le dropdown Prereglage et tous les selects du panneau Personnaliser utilisent maintenant un schema de couleur natif coherent en Dark et Light; les options ne peuvent plus apparaitre blanc sur blanc.
- Aucun changement au moteur grille 12 colonnes, aux ratios, au drag & drop, aux donnees de monitoring ni aux Connectors.

## Tech AWM 1.7.24 — grille responsive personnalisable

- Le dashboard utilise maintenant une grille 12 colonnes avec ancrage automatique et largeurs 1/4, 1/3, 1/2, 2/3, 3/4 ou pleine largeur.
- Chaque Tech peut déplacer les blocs directement en mode Personnaliser; le drag & drop réordonne la grille sans positionnement libre au pixel près.
- Chaque bloc conserve sa largeur et son ordre par `user_id`; un Tech peut donc afficher Visites verticalement en 1/3 tandis qu un autre l affiche horizontalement en 3/4.
- Les blocs changent leur présentation interne selon leur largeur : Top sites peut s étaler sur deux colonnes, KPI se recompone, Timeline et Carte deviennent compactes lorsque leur zone est étroite.
- Pour les paires Carte/Visites et Timeline/Incidents, une largeur 3/4 ajuste automatiquement le compagnon à 1/4 (et 2/3 à 1/3) lorsque les deux blocs sont voisins, afin de remplir proprement la rangée.
- Le responsive protège la mise en page : ratios personnels conservés sur bureau/1080p/4K puis empilement automatique lorsque l écran devient trop étroit.
- La taille de typographie personnelle est appliquée aussi aux textes secondaires du dashboard afin d éviter les éléments qui restent minuscules.
- Un bouton Réinitialiser la grille restaure la disposition AWM standard 2/3 + 1/3.

## Tech AWM 1.7.23 — flotte, bibliothèque et dashboard personnel

- Gestion globale Automatique/Manuel des extensions tierces actives et bouton Tout mettre à jour avec confirmation succès/échecs.
- Boutons de mise à jour harmonisés au CSS des autres actions Tech.
- Bibliothèque AWM initiale d extensions WordPress.org approuvées, installables à distance sur un site Hub Client connecté.
- Dashboard personnalisable par utilisateur Tech : blocs visibles, raccourcis personnels, disposition Standard/Carte en premier/Sites en premier, taille de typo réglable finement, profil Moniteur Auto/1080p/4K et taille Moniteur.
- Préférences enregistrées par utilisateur via AJAX, sans rechargement de page.
- La roadmap publique reste obligatoire et synchronisée avec la publication Suite active.

# Tech AWM 1.7.22 — Moniteur cast + UX sans rechargement

- [x] Ajouter un bouton **Économiseur** pour un démarrage immédiat en Mode moniteur.
- [x] Fiabiliser l inactivité avec Chromecast et ignorer les micro-mouvements pointeur parasites.
- [x] Ne plus bloquer l économiseur quand une critique existe déjà; réveiller seulement sur nouvelle critique.
- [x] Rafraîchir une fiche site par AJAX sans retour en haut de page.
- [x] Mettre à jour une extension WordPress par AJAX puis rafraîchir la fiche.
- [x] Ajouter **Mettre à jour les X** avec progression séquentielle et inventaire final unique.
- [x] Enregistrer les réglages Mode moniteur sans rechargement complet.

## Livré
- [x] Appliquer à tous les formulaires Réglages le CSS lisible du Mode moniteur.
- [x] Uniformiser cartes, champs, selects, textes d aide et boutons Enregistrer.
- [x] Conserver le sticky uniquement pour l action Moniteur.
- [x] Maintenir une grille responsive à une colonne sur petits écrans.

# Tech AWM 1.7.20 — fiche multi-sites actionnable

- [x] Rendre À connecter cliquable vers le Connector exact du site_id.
- [x] Rendre À vérifier cliquable et relancer le diagnostic lorsque le runtime est disponible.
- [x] Conserver le retour sur la fiche du site après une vérification manuelle.
- [x] Aligner Vérifier maintenant et Ouvrir le site sur une hauteur commune.


## Livré
- Fiches techniques séparées pour principal et secondaires avec URL complète.
- Vérification WordPress/SEO immédiate à la demande.
- Mise à jour manuelle d une extension tierce directement depuis la fiche.
- Sauvegarde Mode moniteur fiabilisée et CSS de listes/réglages rendu lisible.

## Maintenant
- Valider sur un client multi-sites et sur une extension tierce avec mise à jour disponible.
- Confirmer l activation réelle de l économiseur après sauvegarde.

# Tech AWM 1.7.18 — Mode moniteur + économiseur

**Livré :** Mode moniteur débarrassé du shell et des blocs de contexte, typographie plus grande, thème repositionné dans la barre carte et économiseur intégré au navigateur avec réveil sur Critique.

**Maintenant :** caster la fenêtre Moniteur plusieurs heures et valider lisibilité, activation/sortie de l économiseur et réveil critique sur un site de test.

**Prochaines étapes :** profils Moniteur enregistrables par écran et rotation optionnelle entre plusieurs tableaux métier sans dupliquer les données.

# Tech AWM 1.7.17 — carte Centre opérations compacte

**Livré :** suppression des deux rangées de légende au-dessus de la carte; périodes, compteur et Moniteur sont regroupés dans l’en-tête. La carte gagne en hauteur et Top sites aujourd’hui porte la correspondance couleur opérationnelle.

**Maintenant :** valider à 1366 / 1440 / 1920 px et en fenêtre Moniteur que la barre reste sur une ligne lorsque l’espace le permet et que la carte utilise bien la hauteur récupérée.

**Prochaines étapes :** filtres Client / Site du Centre opérations sans réintroduire de rangée permanente au-dessus de la carte.

# Tech AWM 1.7.16 — fiche Tech console opérationnelle

## Livré
- [x] En-tête de fiche compact et actionnable avec rôle, URL, score, disponibilité et indexation.
- [x] Barre Santé du site avec seulement les métriques utiles à la décision.
- [x] Zone À faire qui priorise erreurs, no-index, vulnérabilités, alertes, mises à jour et Connector stale.
- [x] Onglets Vue d’ensemble / SEO / WordPress / Sécurité / Historique.
- [x] Vue d’ensemble en trois blocs compacts : Santé technique, SEO essentiel, WordPress & maintenance.
- [x] Filtres d inventaire WordPress : Tous / À mettre à jour / Auto / Manuel / Inactifs.
- [x] Historique compact lorsqu aucun événement n est présent.
- [x] Conserver toutes les données détaillées sans donner le même poids visuel aux états normaux et aux anomalies.

## Maintenant
- [ ] Valider la fiche sur 1366 / 1440 / 1920 px avec un site sain, un site No-index et un site avec plusieurs mises à jour.
- [ ] Confirmer que les onglets restent rapides avec un WordPress comportant 40+ extensions.

## Prochaines étapes
- [ ] Ajouter une action de rafraîchissement ciblé du diagnostic depuis la fiche sans recharger le Centre d opérations.
- [ ] Ajouter une vue avant/après lorsqu une intervention Tech modifie SEO, plugin ou contenu.

# Tech AWM 1.7.15 — fiche opérationnelle complète et Mode moniteur

## Livré
- [x] Mode moniteur en fenêtre dédiée pour affichage/cast.
- [x] Numéro, nom et barre Top sites dans la teinte exacte du site.
- [x] URL cartographique cliquable vers le site réel.
- [x] Diagnostic Index/No-index avec canonical, robots.txt, sitemap, HTTP final, URL finale et directives.
- [x] Inventaire complet des extensions WordPress dans la fiche Tech avec état et politique de mise à jour.

## Maintenant
- [ ] Valider sur un principal, un sous-domaine et un sous-dossier que URL/canonical/robots/sitemap correspondent bien à chaque installation.
- [ ] Caster la fenêtre Mode moniteur sur un écran externe et confirmer plusieurs cycles de polling.

## 1.7.14 — flotte WordPress, indexation et identité multi-sites
- [x] Afficher toutes les extensions WordPress par site, avec version, état actif et mise à jour disponible.
- [x] Choix `Manuel / Automatique` par site et extension, sans politique globale implicite.
- [x] Action `Mettre à jour maintenant` pour une extension tierce précise via Hub Client.
- [x] Garder les modules AWM exclusivement sur le canal signé Core.
- [x] Afficher `Indexable / No-index / À vérifier` dans la fiche et la liste des sites, avec cause du diagnostic.
- [x] Une famille de couleur par client sur la carte; teintes distinctes pour principal et secondaires.
- [x] Afficher l URL complète exacte et `Principal / Secondaire` dans légende, tooltip et popup.
- [ ] Maintenant : valider un client avec domaine principal + sous-domaine + sous-dossier et confirmer visuellement les teintes et URL complètes.
- [ ] Maintenant : activer l automatique sur une extension de site pilote et confirmer sauvegarde, mise à jour, inventaire rafraîchi et journal.
- [ ] Prochaines étapes : vue de conformité flotte (à jour / en retard / filesystem bloqué / dernière erreur) et fenêtres de maintenance.

## 1.7.13 — densité opérationnelle du Brief AWM
- [x] Résumé Brief + SLA regroupé sur une ligne en haut du bloc à largeur bureau.
- [x] Cartes de priorités amincies sans retirer les informations opérationnelles.
- [x] Suppression de l espace vertical inutile avant les priorités afin de remonter carte et activité temps réel.
- [x] Responsive conservé pour écrans intermédiaires et mobiles.
- [ ] Maintenant : valider visuellement à 1366 / 1440 / 1920 px et confirmer que la carte remonte suffisamment dans le premier écran.
- [ ] Prochaines étapes : ajouter les filtres Client / Site directement au Centre d opérations pour les gros portefeuilles.

## 1.7.12 — stabilité du Centre d’opérations
- [x] Corriger l’arrêt JavaScript du cockpit causé par l’initialisation SLA avant le helper `num()`.
- [x] Restaurer la carte Leaflet et la courbe de visites sans modifier les données GeoIP ni le polling.
- [x] Ajouter un smoke test runtime du dashboard à la validation de release pour détecter les erreurs d’initialisation que `node --check` ne voit pas.

# Tech AWM 1.7.11 — objectifs SLA configurables

## Livré
- Suspension/reprise automatique de surveillance selon le statut CRM.
- Fermeture traçable des incidents à la désactivation, sans perte d'historique.
- Re-sondage prioritaire des anomalies et MTTD réel via `first_signal_at`.
- Objectifs SLA globaux MTTD / prise en charge / MTTR sans valeur contractuelle inventée.
- Surcharges SLA par client et par `site_id`, avec héritage `site → client → global`.
- Fenêtres SLA 7 / 30 / 90 jours dans le Centre d opérations.
- Conformité calculée uniquement sur les échantillons qui possèdent une cible explicite.
- État SLA par site `Respecté / À risque / Dépassé / Échantillons insuffisants / Objectif non défini`.
- Courriels urgents aux techniciens configurés pour les incidents erreur/critique.
- Escalade courriel optionnelle et unique lorsqu un incident erreur/critique reste sans prise en charge au-delà du délai configuré.

## Maintenant
- Valider les objectifs SLA sur des incidents réels et comparer 7 / 30 / 90 jours.
- Valider l escalade sur un incident test non pris en charge, puis confirmer qu une prise en charge avant le délai annule bien l envoi.
- Déterminer quels services/contrats CRM doivent porter une cible SLA explicite avant d activer cet héritage.

## Prochaines améliorations
- Calendriers d astreinte et règles de routage des escalades selon horaire/équipe; l escalade simple par délai est maintenant livrée.
- Raccord optionnel des objectifs SLA aux services/contrats CRM, sans ambiguïté quand plusieurs services coexistent.
- Tendances mensuelles et historique des périodes de suspension opérationnelle pour Health.

## 1.7.9 — filtres opérationnels et SLA Alliance v1

- [x] Filtres Incidents : `Tous / Nouveau / Pris en charge`.
- [x] Filtres responsabilité : `Tous / À moi / Non assigné`.
- [x] Filtres criticité : `Toutes / Critique / Erreur / Surveillance`.
- [x] Filtres Priorités par criticité et type de signal `Incident / 404 / Mise à jour / Surveillance`.
- [x] SLA compact 30 jours intégré au Brief AWM : incidents observés, prise en charge moyenne, MTTR et taux de prise en charge.
- [x] Aucun MTTD fictif : l interface indique que cet indicateur nécessite l horodatage du premier signal avant confirmation.
- [x] Aucune migration DB; calcul à partir de la DB Tech 1.2.0 existante.
- [ ] Maintenant : valider les filtres avec plusieurs techniciens Alliance et vérifier que `À moi` suit correctement l utilisateur WordPress connecté.
- [ ] Maintenant : valider les mesures SLA sur des incidents réels fermés et pris en charge.
- [ ] Prochaines étapes : instrumenter `first_signal_at` pour produire un MTTD observé fiable, puis consolider SLA par site/client.
- [ ] Prochaines étapes : ajouter les filtres client/site sur les gros portefeuilles sans alourdir le cockpit.
- [ ] Prochaines étapes : re-sondage prioritaire après un premier échec afin de réduire le délai de confirmation.

## 1.7.8 — workflow des incidents

- [x] États humains `Nouveau / Pris en charge / Résolu` dans le Centre d opérations.
- [x] Responsable Alliance et horodatage de prise en charge.
- [x] Notes internes par incident.
- [x] Historique append-only des actions humaines et résolutions automatiques.
- [x] Durée ouverte, temps avant prise en charge et durée totale de résolution.
- [x] La résolution manuelle ne neutralise pas un signal encore actif : le moteur recrée un incident si l anomalie persiste.
- [x] Timeline universelle enrichie avec prise en charge et notes.
- [ ] Maintenant : valider le workflow sur plusieurs incidents réels avec deux utilisateurs Alliance différents.
- [ ] Prochaines étapes : filtres `Nouveau / Pris en charge / Responsable / Criticité` directement dans la vue Priorités.
- [ ] Prochaines étapes : SLA Alliance consolidé (MTTD, délai de prise en charge, MTTR) par client/site et global.

## 1.7.7 — shell Tech compact

- [x] Supprimer le second bandeau de contexte Tech.
- [x] Afficher `Centre technique Alliance · Tech AWM v1.7.7` directement dans l en-tête principal.
- [x] Afficher `Session et actions réservées à Alliance` dans le même en-tête.
- [ ] Maintenant : valider la densité sur 1366 / 1440 / 1920 px et confirmer que les priorités remontent encore dans le premier écran.

## 1.7.6 — densité du Centre d’opérations

- [x] En-tête et contrôles de supervision compactés.
- [x] Six cartes opérationnelles concentrées sur une ligne lorsque la largeur le permet.
- [x] Brief AWM compact avec Top 3 situations conservé.
- [x] Carte et activité temps réel remontées dans le premier écran sans supprimer d’information.
- [x] Responsive 6 / 3 / 2 / 1 colonnes.
- [ ] Maintenant : valider sur écran bureau 1366/1440/1920 px que le cockpit reste lisible à distance et que les six cartes tiennent sans troncature gênante.
- [ ] Prochaines étapes : mode densité automatique selon hauteur disponible et mode TV encore plus compact.
- [ ] Futur : préférences de densité par rôle/utilisateur (Compact / Normal / Présentation).

## 1.7.5 — Timeline universelle v1

- [x] Timeline globale des 24 dernières heures dans le Centre d’opérations.
- [x] Sources réelles v1 : incidents, sondes anormales, actions Tech, formulaires Stats AWM et mises à jour inventoriées.
- [x] Filtres rapides par source et rafraîchissement silencieux.
- [x] Chronologie récente par site dans le popup Tech.
- [x] Conservation stricte de `client_id + site_id`; aucun mélange inter-client.
- [x] Aucun diagnostic causal inventé : la timeline ordonne les faits seulement.
- [ ] Maintenant : valider la lisibilité et le volume d’événements sur le parc réel Alliance pendant une journée complète.
- [x] Livré en 1.7.8 : prise en charge des incidents avec responsable et états `Nouveau / Pris en charge / Résolu`.
- [ ] Prochaines étapes : enrichir la timeline avec Studio, CRM, CallTracker, SERP/Screpy, sauvegardes et déploiements Core.
- [ ] Futur : exploiter cette chronologie dans Health pour proposer une cause probable avec niveau de confiance, sans confondre corrélation et causalité.

## 1.7.4 — Brief AWM et corrélation opérationnelle

- [x] **Corrélation d’incidents v1** : un site remonte comme une seule situation prioritaire même si plusieurs signaux actifs coexistent.
- [x] Les signaux bruts restent visibles dans leurs vues dédiées; le regroupement n’invente pas de cause.
- [x] Tri des situations par sévérité, nombre de signaux et activité réelle du site.
- [x] **Brief AWM** : résumé opérationnel du moment et Top 3 des situations à traiter, cliquables vers la fiche Tech.
- [x] Rafraîchissement silencieux du brief avec le même polling que le cockpit.
- [ ] Maintenant : valider sur le parc réel que les regroupements correspondent bien aux situations réellement vécues par les techniciens.
- [x] Timeline universelle v1 livrée en 1.7.5; l’enrichissement cross-module reste en prochaine étape.
- [x] Livré en 1.7.8 : accusé de prise en charge, responsable et statuts `Nouveau / Pris en charge / Résolu`.

## Futur — vision Centre d’opérations AWM

- [ ] **Score Impact × Urgence × Confiance** pour classer les priorités sans masquer les signaux bruts.
- [ ] **Timeline universelle cross-module** : enrichir la v1 avec Studio, CRM, CallTracker, SEO/SERP, sauvegardes, déploiements Core et campagnes sur une seule ligne du temps.
- [ ] **Centre de mises à jour intelligentes** : classer `Critique / Sécurité / Important / Normal`, snapshot avant mise à jour et vérification automatique après déploiement.
- [ ] **Réparation semi-automatique** pour les cas sûrs : purge cache, relance cron, rollback de mise à jour, restauration ciblée ou désactivation temporaire d’un composant fautif, toujours journalisée et réversible.
- [ ] **SLA Alliance** : MTTD, temps de prise en charge, MTTR, incidents récurrents, sites les plus problématiques et pourcentage réglé avant signalement client.
- [ ] **AWM Live Intervention** : vue client temporaire du site, curseur du tech, changements appliqués et avant/après, sans exposer Tech AWM, Elementor, wp-admin ou les secrets.
- [ ] **Écran TV client intelligent** : santé, activité, leads, appels, SEO, objectifs et indication discrète lorsqu’Alliance intervient.
- [ ] **Health prescriptif** : transformer les constats Stats/Tech en priorités explicables reliées directement aux modules d’action.
- [ ] **Attribution complète jusqu’au revenu** : mot-clé/canal → visite → formulaire/appel → lead CRM → soumission → vente → revenu.
- [ ] **Carte portefeuille à couches** : Visiteurs, Clients, Incidents, Formulaires, Revenus et Opportunités avec filtres et comparaison de périodes.
- [ ] **Morning Brief avancé** : résumé quotidien Direction/Technique avec changements nocturnes, incidents, risques, opportunités et prochaines actions.

## 1.7.3 — cockpit orienté action

- [x] Priorités et incidents remontés en haut du Centre d’opérations.
- [x] Cartes cliquables avec popup : priorités, incidents, erreurs 404, mises à jour importantes, formulaires et sites à surveiller.
- [x] Liste des sites visités en temps réel à côté de la carte.
- [x] Top des sites les plus visités aujourd’hui, classé par pages vues.
- [x] Accès à la fiche Tech depuis les lignes de Top/activité sans exposer d’identité visiteur.
- [ ] Prochaines étapes : télémétrie 404 par URL/page côté site pour distinguer une homepage 404 d’un ensemble de liens cassés.
- [ ] Prochaines étapes : filtres de priorité par criticité, client, type d’incident et responsable.
- [ ] Futur : score Impact × Urgence × Confiance pour classer automatiquement les priorités.

## 1.7.2 — cartographie temporelle du parc

- [x] À l'instant / 1 minute / 1 heure / 1 journée / 1 mois / 3 mois / 1 an.
- [x] Courbe de visites transparente fondue dans la carte globale.
- [x] Conservation du zoom/cadrage pendant les refresh silencieux.
- [ ] Futur : cliquer une portion de courbe pour filtrer les points de la carte sur le même intervalle.
- [ ] Futur : heatmap globale et comparaison période courante/précédente.

# Tech AWM 1.7.1 — roadmap Centre d’opérations, incidents et interventions


## Livré — 1.7.1
- [x] **Clients/sites identifiables sur la carte globale** à partir des points GeoIP actifs de Stats AWM.
- [x] Même rendu visuel que Stats AWM : point lumineux, halo et popup sombre détaillé.
- [x] Conservation de `client_id + site_id` par point de présence afin d’afficher le bon client et le bon site.
- [x] Regroupement multi-clients/multi-sites lorsqu’une même localité est partagée, sans masquer les marqueurs superposés.
- [x] Statut HTTP et nombre de visiteurs actifs visibles dans le popup de carte.
- [x] Carte persistante : aucun recentrage automatique à chaque polling de 30 secondes.
- [x] Aucune duplication du moteur GeoIP; Stats demeure la source de vérité.

## Livré — 1.7.0
- [x] **Centre d’opérations AWM** comme vue principale Tech : tous les clients et sites du registre canonique dans un seul cockpit.
- [x] KPI globaux : sites surveillés, en ligne, erreurs, lents, visiteurs actifs, pages vues, formulaires et temps de réponse moyen.
- [x] Sonde HTTP rotative sécurisée : 12 sites / 2 minutes, timeout 4 s, SSL vérifié, historique 30 jours.
- [x] Registre d’incidents persistant avec ouverture après confirmation, sévérité, première/dernière détection et résolution automatique.
- [x] Incidents v1 : indisponibilité/HTTP, lenteur confirmée, Connector sans contact depuis plus de 2 h et alertes de sécurité Tech.
- [x] Carte globale temps réel alimentée uniquement par les coordonnées GeoIP disponibles dans Stats AWM.
- [x] Trafic horaire global, visiteurs actifs et formulaires réels issus de Stats AWM sans duplication du moteur de collecte.
- [x] État opérationnel global `Normal / À surveiller / Incident / Critique`.
- [x] Tri dynamique des sites en anomalie, incidents ouverts et derniers incidents résolus.
- [x] Actualisation silencieuse 30 s sans flicker et carte Leaflet persistante.
- [x] Mode TV de supervision, recherche globale et accès aux détails Tech existants.
- [x] Isolation `client_id + site_id`; aucune donnée d’un autre client n’est exposée dans une action site-scoped.

## Maintenant
- [ ] Valider sur le parc réel Alliance le coût du lot de 12 sondes, les temps de réponse et les éventuels faux positifs HTTP.
- [ ] Confirmer que le mode TV reste stable plusieurs heures avec les rafraîchissements silencieux et une carte active.
- [ ] Vérifier la cohérence des visiteurs actifs entre Stats AWM et la vue globale sur plusieurs sites simultanément.
- [ ] Mesurer le délai réel de détection sur un site pilote, puis ajuster la cadence selon la charge du serveur central.

## Prochaines étapes
- [ ] **File de re-sondage prioritaire** : lorsqu’un premier échec est détecté, recontrôler rapidement ce site sans attendre un tour complet du parc.
- [ ] Déploiement distant réellement `site_id`-scoped pour installer ou mettre à jour le runtime sur un site secondaire précis sans réutiliser le site principal.
- [ ] Conversation Tech contextualisée par page/site : diagnostic, propositions d’actions sûres, application explicite et rollback.
- [ ] Sonde SSL dédiée : expiration, chaîne, nom de domaine et nombre de jours restants.
- [x] Livré en 1.7.8 : accusé de prise en charge d’un incident, responsable, notes et statut `Nouveau / Pris en charge / Résolu`.
- [ ] Chronologie d’incident : sondes, changement détecté, actions Tech, rollback et retour à la normale.
- [ ] Détection d’anomalies Stats : chute inhabituelle du trafic, des formulaires ou des conversions par rapport à l’historique propre du site.
- [ ] Santé des Connectors : dernière présence, version, transport, erreurs de synchronisation et dérive de runtime.
- [ ] Notifications configurables pour les incidents critiques sans créer de bruit sur les variations brèves.
- [ ] Vue historique 24 h / 7 j du temps de réponse et de la disponibilité par site.
- [ ] Mesures opérationnelles Alliance : MTTD, temps de prise en charge et MTTR.

## Futur — AWM Live Intervention
- [ ] **AWM Live Intervention — vue client d’intervention en direct** : depuis Hub Client, le client voit uniquement son propre site pendant une intervention Alliance active.
- [ ] Afficher le curseur du technicien avec son libellé AWM, le scroll et l’élément sélectionné, sans partager l’écran complet du technicien.
- [ ] Afficher les modifications lorsqu’elles sont appliquées, avec une petite chronologie `titre modifié / image remplacée / espacement ajusté / rollback`.
- [ ] Conserver Tech AWM totalement invisible : aucun wp-admin, panneau Elementor, fenêtre Tech, log, prompt IA, secret ou donnée d’un autre client.
- [ ] Session temporaire liée à `client_id + site_id + instance_uuid`, expiration automatique et fermeture immédiate quand le technicien termine.
- [ ] Mode **Observation** par défaut; futur mode **Collaboration** où le client peut pointer un élément et envoyer un commentaire contextualisé.
- [ ] Comparateur Avant / Après pour les changements importants, en continuité avec le contrat existant Aperçu → Appliquer → Rollback.
- [ ] Lier une session Live Intervention à l’incident d’origine : `incident → prise en charge → intervention visible → résolution → mesure Stats/Health`.

## Futur — Centre d’opérations avancé
- [ ] Worker de sondes externe/asynchrone pour réduire le temps de balayage de grands parcs sans surcharger WP-Cron.
- [ ] Surveillance erreurs PHP/WordPress, WP-Cron bloqué, espace disque, sauvegardes et changements critiques de configuration.
- [ ] Corrélation avec Studio : mise à jour, publication ou modification importante juste avant un incident.
- [ ] Corrélation avec CallTracker, CRM et formulaires afin de détecter une rupture de génération de leads même si le site répond HTTP 200.
- [ ] Health AWM calcule une cause probable et une priorité selon impact, urgence, effort et confiance.
- [ ] Actions rapides depuis l’incident : analyser avec Assistant, ouvrir Soutien, lancer Tech, voir Stats, voir logs et marquer résolu.
- [ ] Vue portefeuille `Urgent / À surveiller / Opportunité / Stable` pour le Morning Brief Alliance.
- [ ] Historique de fiabilité par hébergeur, technologie et site, sans mélanger les données client.

## Règle d’architecture
**Stats mesure → Tech surveille → Health diagnostique → Hub priorise → Studio / Soutien / CRM / CallTracker / Assistant agissent → Stats / Health mesure le résultat.**

Tech AWM reste un agent Alliance invisible dans Hub Client hors d’une surface temporaire Live Intervention explicitement ouverte pour le client. Cette surface ne révèle jamais l’interface Tech elle-même.