← Roadmap publique

Contexte développement

Tech AWM V1.7.37Snapshot sécurisé de la version effectivement publiée. Les lignes potentiellement sensibles sont masquées automatiquement.
# Contexte développement — Tech AWM 1.7.37


---

## CHANGELOG.md

# Tech AWM 1.7.37 - Suite 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

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.

Retention: version courante + cinq precedentes; sauvegardes completes: cinq. Pas de comptes generiques Tech 1/Responsable. Aucune migration destructive de donnees metier.

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.

## Historique

## 1.7.35 — Recovery AWM integre au poste Tech — 2026-09-14

- Bouton Recovery compact dans l en-tete Tech et nouveau sous-menu Recovery.
- Inventaire des portes Recovery du Hub central et des sites Hub Client a partir du dernier `fleet_state` valide.
- Bouton Recovery dans les cartes/fiches de site et la liste Sites lorsque l URL de secours a ete annoncee.
- Aucun mot de passe Recovery ni secret serveur n est stocke dans Tech; l authentification reste celle de la porte externe.
- UX niveau 1 documentee : dernier stable cible uniquement; points plus anciens et BD reserves au responsable.

## 1.7.34 — Morning Brief Health transversal — 2026-09-12

- 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.

## 1.7.33 — Pulse opérationnel transversal — 2026-09-12

- 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.

# Tech AWM 1.7.32 — préflight intervention, tournée Tech et capacité

- **Livré** : la fiche Tech affiche un préflight avant intervention à partir des preuves runtime disponibles : Connector, permissions d écriture WordPress et comportement OPcache.
- **Livré** : un état inconnu reste explicitement **À vérifier**; Tech ne déduit jamais qu un site est prêt lorsqu une preuve manque.
- **Livré** : la fenêtre Incidents regroupe les incidents par **client + site** dans une tournée Tech suggérée, triée par score maximal puis incidents nouveaux, afin de réduire les changements de contexte.
- **Livré** : une vue **Capacité Tech** montre ouverts, nouveaux, sites concernés, plus ancien incident, SLA dépassés/à risque et score maximal par responsable, avec un bloc Non assigné distinct.
- **Sécurité** : aucune réaffectation ni action sensible n est automatique; le préflight n expose aucun chemin serveur, secret Connector ou clé API.
- **Gouvernance** : ROADMAP, CHANGELOG, notes et validation/logs sont synchronisés avec Suite AWM 4.5.229.

# Tech AWM 1.7.31 — priorisation opérationnelle et historique étendu

- **Livré** : chaque incident reçoit un score opérationnel transparent `impact × urgence × confiance`, normalisé sur 100, sans masquer la criticité brute.
- **Livré** : la fenêtre Incidents affiche le score, ses trois composantes et une file d actions recommandées contextuelles (prise en charge, fiche Tech, Sécurité, note, résolution après vérification).
- **Livré** : les incidents ouverts sont ordonnés par score opérationnel, puis criticité et récence afin que le Tech traite d abord les situations les plus importantes.
- **Livré** : la fiche Tech possède maintenant un historique basculable **24 h / 7 j** pour les sondes, incidents, actions, formulaires et mises à jour déjà journalisés, sans dupliquer le moteur Stats.
- **Gouvernance** : roadmap, changelog, notes et validation/logs restent obligatoires et synchronisés avec Suite AWM 4.5.228.

# Tech AWM 1.7.30 — 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 — Économiseur Chromecast + actions AJAX

- Ajoute **Économiseur** dans la barre du Mode moniteur pour démarrer l écran de veille immédiatement.
- Corrige l activation automatique pendant un cast Chromecast : les petits événements `pointermove` parasites ne réinitialisent plus continuellement l inactivité.
- **Réveil sur critique** réagit maintenant à une nouvelle transition critique; un incident déjà critique n empêche plus l économiseur de démarrer.
- `Vérifier maintenant`, le diagnostic `À vérifier`, les mises à jour d extensions et l enregistrement du Mode moniteur utilisent AJAX lorsqu un contexte précis de site est disponible.
- Ajoute **Mettre à jour les X** pour exécuter séquentiellement les mises à jour WordPress tierces disponibles puis revérifier le site une seule fois.
- Les actions gardent leur fallback serveur classique quand un contexte AJAX sûr n est pas disponible.

- Le CSS premium du bloc Mode moniteur / économiseur est appliqué à tous les formulaires de la page Réglages Tech.
- Cartes, champs, listes déroulantes, aides et barres d action utilisent désormais le même contraste, la même densité et les mêmes hauteurs.
- Les boutons Enregistrer des autres sections reprennent la barre d action du Moniteur sans devenir sticky, afin d éviter des superpositions pendant le défilement.
- Responsive : les grilles de réglages passent proprement sur une colonne sous 900 px.

# Tech AWM 1.7.20 — statuts de fiche actionnables et actions alignées

- Dans les fiches techniques multi-sites, **À connecter** devient cliquable et mène directement au Connector exact du `site_id` dans la fiche CRM.
- **À vérifier** devient une action réelle : si le site est connecté, le clic relance immédiatement l inventaire et le diagnostic d indexation; sinon il mène au Connector requis.
- Après **Vérifier maintenant**, le retour se fait sur la fiche du site concerné plutôt qu en haut de la page.
- **Vérifier maintenant** et **Ouvrir le site** utilisent maintenant exactement la même hauteur, le même alignement vertical et une icône centrée.
- Aucun changement au moteur de sondes, aux données SEO, aux mises à jour tierces ou au canal signé Core.

# Tech AWM 1.7.19 — fiches multi-sites, vérification immédiate et Moniteur fiabilisé

- Chaque site CRM, principal ou secondaire, possède sa propre fiche technique avec URL complète exacte, `site_id`, état, indexation et inventaire WordPress.
- **Vérifier maintenant** force un contrôle WordPress frais : état, indexation et disponibilités de mises à jour.
- Une mise à jour tierce détectée peut être lancée immédiatement depuis la fiche avec le chemin sécurisé existant, sauvegarde et rollback; les modules AWM restent sur le canal Core.
- Le bouton **Enregistrer le Mode moniteur** utilise désormais une action admin dédiée, confirme la sauvegarde et revient directement au panneau Moniteur.
- Les listes/réglages Moniteur et les inventaires plugins gagnent contraste, espacements et typographie pour rester lisibles en Dark.

## 1.7.18 — 2026-09-12
- Mode moniteur épuré : masque le shell Tech, le titre Vue globale et les badges de contexte/surveillance pour maximiser les données utiles au cast.
- Typographie agrandie en Mode moniteur pour KPI, priorités, carte et Top sites afin de rester lisible à distance.
- Bouton Light/Dark déplacé dans la barre de la carte en Mode moniteur.
- Ajoute un économiseur d écran navigateur configurable (1/5/10/30 min, minimal/opérationnel/rotation, luminosité, plage nuit).
- L économiseur affiche heure/date et état opérationnel, dérive lentement pour limiter le marquage et réveille le dashboard automatiquement sur incident critique si configuré.

## 1.7.17 — 2026-09-11

- En-tête de carte compact : compteur visites, périodes et Mode moniteur sont regroupés sur une seule barre.
- Suppression de la légende explicative et des tuiles de sites au-dessus de la carte; Top sites aujourd’hui devient la légende visuelle opérationnelle.
- Mode moniteur déplacé dans la barre de carte pour un accès direct au plein écran/cast.
- Carte agrandie verticalement afin d’utiliser l’espace récupéré, avec repli responsive à 1500 / 1100 / 782 px.
- Aucun changement au moteur GeoIP, aux teintes client/site, aux popups, au graphique intégré ni au polling.

## 1.7.16 — 2026-09-11
- Refonte la fiche Tech en console opérationnelle avec hiérarchie visuelle claire et densité accrue.
- Ajoute un en-tête compact avec rôle Principal/Secondaire, URL cliquable, score, disponibilité, indexation et actions principales.
- Ajoute une barre Santé du site sur une ligne : disponibilité, HTTP, indexation, vulnérabilités, mises à jour, versions Hub/Tech et dernier contact.
- Ajoute une zone **À faire** qui remonte seulement les anomalies/action recommandées; si aucun signal n exige d action, la fiche affiche un état calme.
- Ajoute les onglets **Vue d’ensemble / SEO / WordPress / Sécurité / Historique** afin d éviter une longue fiche technique verticale.
- La Vue d’ensemble présente trois cartes compactes : Santé technique, SEO essentiel et WordPress & maintenance.
- L onglet WordPress conserve l inventaire complet et ajoute les filtres Tous / À mettre à jour / Auto / Manuel / Inactifs.
- L onglet Sécurité résume alertes, vulnérabilités, criticité, transport et dernier contact; l Historique devient compact lorsqu il est vide.
- Renomme l action d accès complet en **Détails techniques** et évite de dupliquer un second footer d action dans le popup.
- Aucun changement de sonde, incident, Connector, données SEO, politique de mise à jour ou historique.

## 1.7.15 — 2026-09-11
- Renomme le Mode TV en **Mode moniteur** et l ouvre dans une fenêtre dédiée réutilisable, sans navigation WordPress, pour affichage plein écran/cast.
- Synchronise la couleur des rangs Top sites : numéro, nom et barre reprennent exactement la teinte du site sur la carte.
- Rend l URL complète cliquable dans le popup cartographique et dans la fiche Tech, avec ouverture dans un nouvel onglet.
- Enrichit la fiche Tech avec Index/No-index, source, HTTP final, URL finale, canonical, robots.txt, sitemap XML, directives robots et follow/nofollow.
- Ajoute la liste complète des extensions WordPress dans la fiche Tech avec version, état, mise à jour et politique Auto/Manuel/Canal AWM.

## 1.7.14 — 2026-09-11

- Transforme `Tech AWM → Mises à jour` en inventaire complet des extensions WordPress de tous les sites Hub Client connectés.
- Ajoute un choix `Manuel / Automatique` propre à chaque `client_id + site_id + plugin_file` et un bouton `Mettre à jour maintenant` pour les extensions tierces avec mise à jour disponible.
- L automatisation traite un nombre limité d extensions par passage horaire et ignore les clients CRM inactifs.
- Les modules AWM sont identifiés comme `Canal AWM` et ne peuvent jamais être mis à jour par le moteur générique WordPress.
- Ajoute dans la fiche Tech et la liste Sites un diagnostic `Indexable / No-index / À vérifier` fondé sur `blog_public`, `X-Robots-Tag`, la meta robots de l accueil et `robots.txt`, avec motif visible.
- La carte du Centre d opérations utilise une famille de couleur déterministe par client et une teinte différente pour chaque site du même client.
- La légende, les infobulles et popups indiquent `Principal / Secondaire` et l URL complète exacte du site, incluant sous-domaine et sous-dossier lorsqu ils existent.
- Les points de plusieurs sites partageant la même localité GeoIP sont légèrement séparés afin que leurs teintes restent visibles.

## 1.7.13 — 2026-09-11
- Compacte le Brief AWM du Centre d’opérations sur une seule ligne de résumé à largeur bureau : état, incidents, MTTD, prise en charge, MTTR, conformité, fenêtres 7/30/90 et accès aux priorités.
- Réduit fortement la hauteur des trois cartes de priorité : padding, badges, typographie et espacement sont resserrés sans supprimer le client, le site, la criticité ni le nombre de signaux.
- Supprime la grande zone vide au-dessus des cartes de priorité et remonte la carte GeoIP / activité temps réel dans le premier écran.
- Conserve un repli responsive : la ligne SLA peut passer sous le titre à largeur intermédiaire et les priorités reviennent en une colonne sur mobile.
- Aucun changement de données, sondes, incidents, SLA, GeoIP, Connector ou historique.

## 1.7.12 — 2026-09-11
- Corrige la régression du Centre d’opérations qui empêchait l’initialisation de la carte Leaflet et de la courbe après l’ajout des fenêtres SLA 7/30/90.
- Cause corrigée : le helper numérique `num()` était appelé pendant l’initialisation SLA avant la création de la constante JavaScript correspondante, déclenchant une erreur de temporal dead zone et arrêtant `ops-dashboard.js`.
- `num()` devient une déclaration de fonction hoistée afin que l’ordre d’initialisation soit sûr sans modifier les calculs SLA existants.
- Aucun changement de données, GeoIP, sondes, incidents, SLA, Connector ou historique.
- Ajoute au protocole de validation un smoke test d’exécution du script du cockpit, en plus du simple contrôle de syntaxe JavaScript.

## 1.7.11 — 2026-09-11
- Ajoute les objectifs SLA globaux MTTD / prise en charge / MTTR dans Réglages Tech; `0` signifie explicitement qu aucune cible n est définie.
- Ajoute des surcharges SLA par client puis par `site_id` depuis la fiche CRM → Tech, avec héritage déterministe `site → client → global`.
- Ajoute les fenêtres SLA 7 / 30 / 90 jours dans le Brief AWM, conservées côté navigateur pendant la session.
- Calcule la conformité uniquement sur les incidents possédant une cible explicitement configurée; aucune cible contractuelle n est inventée.
- Ajoute un état SLA par site : `Respecté`, `À risque`, `Dépassé`, `Échantillons insuffisants` ou `Objectif non défini`.
- `À risque` correspond à une moyenne entre 80 % et 100 % de la cible; `Dépassé` signifie une moyenne au-delà de la cible.
- Prépare le raccord futur CRM service/contrat avec le filtre `awm_thech_sla_targets`, sans migration DB ni modification destructive.
- Ajoute une escalade courriel optionnelle pour les incidents `error/critical` qui restent `Nouveau` et non pris en charge après un délai configurable de 5 à 1 440 minutes.
- L escalade est désactivée par défaut, possède ses propres destinataires, ne s envoie qu une fois par incident et journalise `email_escalated` uniquement après un `wp_mail()` réussi.
- Les clients CRM inactifs, incidents résolus ou incidents déjà pris en charge sont exclus automatiquement de l escalade.

## 1.7.10 — 2026-09-11
- Tech AWM consomme le statut canonique CRM : un client inactif disparaît du Centre d'opérations, des sites, du monitoring, de la carte, des priorités et des nouvelles alertes.
- Les sondes cessent pour les clients inactifs; les incidents encore ouverts sont fermés proprement avec un événement système `client_deactivated`, sans suppression d'historique.
- La réactivation CRM reprend automatiquement la surveillance avec les mêmes sites et le même Connector.
- Re-sondage prioritaire immédiat lors d'un premier signal `warning/error` afin de confirmer rapidement l'anomalie.
- Instrumentation MTTD réelle via `first_signal_at`; aucune valeur n'est fabriquée si le premier signal fiable manque.
- SLA 30 jours calculés globalement et par site (MTTD, prise en charge, MTTR).
- Notifications courriel configurables aux techniciens lors de la création d'un incident `error/critical`.

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

- Ajoute des filtres rapides dans le popup **Incidents** : état `Nouveau / Pris en charge`, responsabilité `À moi / Non assigné` et criticité `Critique / Erreur / Surveillance`.
- Ajoute des filtres rapides dans le popup **Priorités** : criticité et type de signal `Incident / 404 / Mise à jour / Surveillance`.
- Les filtres restent entièrement côté cockpit : aucune donnée brute n est supprimée et le polling silencieux continue d actualiser la source complète.
- Ajoute un résumé **SLA Alliance · 30 jours** directement dans le Brief AWM, sans créer un nouveau gros bloc vertical.
- Expose le délai moyen de prise en charge, le MTTR moyen, le taux de prise en charge et le nombre d incidents observés sur 30 jours.
- N invente pas de MTTD : tant que l horodatage fiable du premier signal avant confirmation n est pas instrumenté, l indicateur reste explicitement non disponible.
- Aucune migration DB : Tech conserve la DB 1.2.0 et calcule ces mesures à partir des incidents existants.

## 1.7.8 — prise en charge opérationnelle des incidents

- Ajoute le workflow humain `Nouveau → Pris en charge → Résolu` sans casser le statut technique ouvert/résolu utilisé par le moteur automatique.
- Ajoute un responsable Alliance, la date de prise en charge, la durée depuis détection, le temps avant prise en charge et la durée totale de résolution.
- Ajoute des notes internes et un historique append-only par incident avec acteur, horodatage et type d action.
- Le bouton `Prendre en charge` assigne automatiquement l incident à l utilisateur Alliance courant; un incident déjà assigné peut être repris explicitement.
- La résolution manuelle accepte une note et conserve l auteur; si le signal technique reste actif au prochain contrôle, Tech ouvre de nouveau un incident plutôt que de masquer artificiellement une panne réelle.
- Les résolutions automatiques du moteur sont aussi journalisées afin de distinguer clairement intervention humaine et retour à la normale détecté automatiquement.
- La Timeline universelle v1 affiche désormais les prises en charge et notes d incident en plus des ouvertures/résolutions.
- DB Tech passe de 1.1.0 à 1.2.0 avec champs de workflow et table `incident_events`; aucune donnée d incident historique n est supprimée.

## 1.7.7 — en-tête compact fusionné au shell AWM

- Supprime le deuxième bandeau `Centre technique Alliance / Tech AWM / Session réservée`.
- Remonte ces informations directement dans l en-tête principal Tech AWM via le slot sécurisé du shell Core 4.5.179.
- Libère de la hauteur avant les priorités et la carte sans retirer l information de sécurité ni la version.

## 1.7.6 — cockpit compact et densité opérationnelle

- Réduit fortement la hauteur utilisée par l’en-tête, l’état global, la surveillance et le mode TV.
- Conserve les six cartes Priorités / Incidents / 404 / Mises à jour / Formulaires / À surveiller sur une seule ligne lorsque l’écran le permet.
- Retire le microtexte répétitif des cartes sans retirer leur comportement cliquable ni leurs popups.
- Transforme le Brief AWM en bande compacte et conserve les trois situations principales.
- Réduit les espacements d’en-têtes de cartes et des contrôles de période afin de faire remonter la carte et les listes live.
- Conserve l’adaptation responsive : 6 → 3 → 2 → 1 colonne selon la largeur.
- Aucun changement de données, incident, GeoIP, sécurité, Connector ou base de données.

# Changelog Tech AWM

## 1.7.5 — Timeline universelle v1
- Ajoute la timeline opérationnelle des dernières 24 h au Centre d’opérations.
- Aligne incidents ouverts/résolus, sondes anormales, actions Tech, formulaires Stats et mises à jour détectées.
- Ajoute les filtres Tout / Incidents / Tech / Stats / Sondes / Mises à jour.
- Ajoute la chronologie récente à chaque popup de site.
- Conserve `client_id + site_id` et n’invente aucune causalité entre événements.
- Réutilise les tables Tech/Stats existantes; aucune migration DB.
- Conserve le polling silencieux et la carte Leaflet sans flicker.

# 1.7.4 — Brief AWM et corrélation d’incidents v1

- Regroupe les signaux actifs d’un même `client_id + site_id` dans une seule situation prioritaire afin d’éviter les doublons entre incident, 404, mise à jour importante et état à surveiller.
- Conserve toutes les vues brutes séparées : Incidents, 404, Mises à jour et Sites à surveiller restent consultables individuellement.
- Le regroupement ne déduit aucune cause : le popup indique explicitement que plusieurs signaux sont présents sur le même site sans conclure automatiquement à une causalité.
- Trie les situations par sévérité, nombre de signaux puis activité du site afin de faire remonter les cas les plus importants.
- Ajoute un **Brief AWM** sous les cartes d’attention avec état global, résumé du parc et trois situations prioritaires cliquables.
- Le Brief AWM se met à jour avec le polling silencieux existant sans reconstruire la carte ni provoquer de flicker.
- Ajoute au Futur officiel : timeline universelle du site, centre de mises à jour intelligentes, réparation semi-automatique avec snapshot/rollback, SLA/MTTD/MTTR, écran TV client intelligent, Health prescriptif, attribution jusqu’au revenu et couches cartographiques Visiteurs/Clients/Incidents/Formulaires/Revenus/Opportunités.

# 1.7.3 — priorités cliquables et activité live par site

- Remplace les KPI généraux du haut par six cartes opérationnelles cliquables : Priorités, Incidents ouverts, Erreurs 404, Mises à jour importantes, Formulaires aujourd’hui et Sites à surveiller.
- Chaque carte ouvre un popup alimenté par le dernier snapshot du Centre d’opérations; le contenu reste synchronisé pendant le polling silencieux.
- Les erreurs 404 correspondent uniquement aux points réellement sondés par Tech qui retournent HTTP 404; aucune 404 n’est inventée à partir du trafic Stats.
- Les mises à jour importantes regroupent les sites qui remontent des mises à jour WordPress/plugins/thèmes, avec priorité renforcée lorsqu’une mise à jour du core WordPress est disponible.
- Remplace le panneau Incidents à droite de la carte par une vue Temps réel avec Top sites aujourd’hui et liste des sites visités maintenant.
- Le Top sites est classé par pages vues du jour; la liste live est classée par visiteurs actifs puis pages vues.
- Chaque site de la liste live ou du Top ouvre la fiche Tech existante; aucune identité visiteur n’est exposée.
- Incidents résolus, tableau complet du parc, carte GeoIP et courbe transparente restent disponibles sous la vue principale.

# 1.7.2 — carte globale temporelle et graphique fondu

- La carte du Centre d'opérations reprend les périodes : À l'instant, 1 minute, 1 heure, 1 journée, 1 mois, 3 mois et 1 an.
- Tech consomme le nouveau contrat global read-only de Stats AWM 1.8.6; aucune logique GeoIP n'est dupliquée.
- La courbe des visites est maintenant dessinée directement par-dessus la carte avec fond transparent, comme la maquette validée.
- Un changement de période recharge uniquement les données nécessaires; le zoom est recalculé au changement manuel mais reste stable pendant le polling silencieux.
- À l'instant se rafraîchit plus rapidement sans reconstruire Leaflet; les autres périodes conservent un polling silencieux.

# 1.7.1 — clients identifiables sur la carte globale

- Reprend la logique visuelle de carte validée dans Stats AWM : noyau lumineux + halo GeoIP.
- Conserve `client_id + site_id` dans les points de présence Stats afin que le Centre d’opérations sache quel client/site génère chaque activité.
- Regroupe les points qui partagent la même localité et affiche tous les clients/sites concernés dans un popup détaillé.
- Le popup indique client, site, visiteurs actifs et état HTTP sans exposer de données d’un autre contexte hors de la vue Alliance.
- Ajoute le nombre de clients visibles sur la carte et une légende explicite.
- Le premier cadrage automatique n’est effectué qu’une fois; les mises à jour silencieuses ne déplacent plus la carte.
- Aucune nouvelle collecte GeoIP : Stats AWM 1.8.5 reste l’unique source des coordonnées/localités.

# 1.7.0 — Centre d’opérations AWM et incidents de parc
- Remplace le tableau d’ensemble principal par **Vue globale des sites**, un cockpit Alliance qui compile tous les clients et sites connus du registre CRM/Connector.
- Ajoute une sonde HTTP rotative côté Alliance : **12 sites par passage toutes les 2 minutes**, délai maximum de 4 secondes, redirections limitées et validation SSL active.
- Ajoute la base Tech **DB 1.1.0** avec historique des sondes et registre d’incidents; les sondes sont conservées 30 jours et les incidents résolus restent historisés.
- Ouvre un incident HTTP seulement après **deux échecs consécutifs** et un incident de lenteur après deux contrôles consécutifs à **2,5 s ou plus**, afin de réduire les faux positifs.
- Ajoute les incidents `http_unavailable`, `http_slow`, `connector_stale` et `security_alert`, avec résolution automatique lorsque le signal redevient sain.
- Agrège les données réelles Stats AWM disponibles : visiteurs actifs, pages vues du jour, formulaires, trafic horaire, métriques par site et points GeoIP réels sur la carte globale.
- Ajoute une carte Leaflet persistante, une courbe transparente, le classement automatique des sites en anomalie et une actualisation AJAX silencieuse toutes les 30 secondes sans reconstruction complète du dashboard.
- Ajoute un **état opérationnel AWM** (`Normal`, `À surveiller`, `Incident`, `Critique`) calculé à partir des incidents ouverts et un **mode TV** plein écran pour la supervision au bureau.
- Les lignes du parc remontent automatiquement selon la priorité lorsque leur état change; les incidents résolus se mettent aussi à jour sans rechargement complet.
- N’invente aucune donnée : les sites sans première sonde restent `En attente`, et la carte globale n’affiche que les localités GeoIP réellement présentes dans Stats.
- Ajoute **AWM Live Intervention** au futur officiel : le client pourra voir son propre site, le curseur du technicien et les changements appliqués sans voir Tech AWM, wp-admin, Elementor, les logs, prompts ou secrets.

# 1.6.9 — documentation de review publique et continuité roadmap
- Ajoute `ROADMAP.md` au paquet Tech afin que la roadmap publique puisse exposer un contexte de développement complet pour la version effective.
- Aligne README et CHANGELOG sur la version 1.6.9 pour faciliter la review avant tout développement parallèle.
- Aucun changement au runtime, aux Connectors, au `site_id`, à `instance_uuid`, aux secrets, au monitoring ou aux interventions.

# 1.6.8 — heure Alliance explicite et indépendante du fuseau WordPress
- Conserve les événements techniques en UTC mais affiche l administration centrale dans `America/Toronto`, avec changement automatique HNE/HAE.
- Ne dépend plus du fuseau global WordPress pour `Dernier contact` et les horodatages Tech centraux; une installation Alliance restée sur UTC n affiche donc plus quatre heures d avance.
- Réutilise l horloge Core centralisée lorsqu elle est disponible et garde un repli `America/Toronto` autonome dans Tech.
- Aucun changement aux Connectors, secrets, `site_id`, télémétries ou interventions multi-sites.

# 1.6.7 — monitoring Tech réellement par site_id
- Stocke chaque profil Tech dans le registre Connector du site exact (`tech_profile` + `tech_profile_synced_at`) au lieu d écraser les métadonnées globales du client.
- Isole versions WordPress/PHP/Elementor, inventaire, mises à jour, alertes, vulnérabilités et dernier contact pour le site principal, les sous-domaines et les installations en répertoire.
- Les actualisations manuelles et le monitoring de vulnérabilités utilisent désormais `client_id + site_id`; les empreintes critiques ne se mélangent plus entre plusieurs sites du même client.
- Les sessions d intervention sont liées à `client_id + site_id + instance_uuid` et refusent une page située hors du domaine/répertoire canonique du site.
- Le déploiement automatique d un runtime manquant reste limité au site principal tant que le déploiement distant site-scoped n est pas livré, afin d éviter tout déploiement sur le mauvais WordPress.
- La fiche Tech du client et le dashboard distinguent chaque site avec un popup et des actions uniques par `site_id`.

# 1.6.6 — parc client multi-sites
- Consomme `CallLink_CRM::canonical_client_sites()`.
- Liste Site principal et Sites secondaires séparément dans Tech.
- Affiche le rôle, le libellé, l’environnement et la source officielle du design.
- Marque explicitement les secondaires non associés au Connector comme `À connecter`.
- Empêche une intervention distante sur un secondaire non connecté au runtime Tech.
- Prépare l’association future de chaque runtime à un `site_id` précis sans créer de répertoire client parallèle.

# 1.6.5 — monitoring central automatique + inventaire à la demande
- Ajoute un scan central horaire côté Alliance qui réévalue les correspondances de vulnérabilités à partir des inventaires déjà reçus, sans installer de service payant.
- Journalise uniquement les nouvelles correspondances critiques afin de faire ressortir les changements importants sans bruit inutile.
- Ajoute « Actualiser les inventaires » dans le dashboard et la vue Mises à jour : Alliance peut interroger immédiatement les sites via le canal privé Hub Client au lieu d attendre leur prochain contact.
- Affiche la date du dernier scan automatique dans le dashboard et la section Sécurité.
- Conserve Wordfence Intelligence V3 comme source gratuite optionnelle et n ajoute aucune API de vulnérabilités payante.

# 1.6.4 — inventaire versions + journal gratuit des vulnérabilités
- Ajoute un inventaire détaillé WordPress, plugins et thèmes remonté par chaque runtime Tech : version installée, état actif et version de mise à jour proposée.
- Ajoute au dashboard Alliance la comparaison des versions de la Suite AWM avec la publication active.
- Ajoute le journal de vulnérabilités WordPress basé uniquement sur Wordfence Intelligence V3, documenté comme gratuit pour usage personnel et commercial.
- La clé Wordfence gratuite reste chiffrée côté Alliance; elle n est jamais envoyée aux sites clients.
- Compare les versions réellement installées aux plages affectées avant de signaler une vulnérabilité; les niveaux Critique/Élevé influencent le Health Score.
- Met en cache le flux central afin d éviter les appels répétés et n utilise aucune API de vulnérabilités payante.

# 1.6.3 — opacités séparées et choix de police
- Remplace l ancienne opacité totale par deux contrôles indépendants : opacité des fonds (0–100 %) et opacité du texte + bordures (25–100 %).
- Ajoute un choix de police appliqué en direct à toute la fenêtre Tech : Terminal moderne, Consolas, Courier New, Système premium, Arial ou Georgia.
- Conserve couleur terminale, presets Matrix / Bleu premium et réinitialisation; les préférences restent locales au navigateur Alliance.
- Migre automatiquement l ancienne préférence d opacité vers le nouveau réglage de fonds sans rendre le texte illisible.
- N altère ni la session Tech, ni les actions frontend, ni le chargement Elementor.

# 1.6.2 — couleurs fiables, réécriture de contenu et images IA
- Corrige le changement de couleur d un titre : les noms courants comme bleu, vert, or ou rouge sont normalisés vers des valeurs CSS sûres.
- Ajoute un repli CSS frontend limité à la page et réversible lorsque l élément sélectionné n expose pas d ID Elementor utilisable.
- Tech peut maintenant rallonger, condenser, corriger ou rendre plus formel/professionnel le texte sélectionné et proposer le texte complet comme action à appliquer.
- Ajoute une action de génération d image côté Alliance; l image est importée dans la médiathèque WordPress du site client et peut remplacer le widget image Elementor sélectionné.
- Les secrets IA restent chez Alliance; permissions, journalisation, snapshot/hash et rollback restent obligatoires pour les écritures.

# 1.6.1 — moteur d actions frontend
- Tech AWM privilégie maintenant l exécution plutôt que les instructions manuelles : une demande compatible doit produire une action réversible à appliquer.
- Ajoute les réglages design sécurisés pour couleur, taille de police responsive, alignement, marges, padding et fonds Elementor.
- Enrichit la sélection frontend avec les styles calculés de l élément ciblé afin de donner un contexte visuel concret à l IA.
- Affiche le plan d actions exact dans la fenêtre Tech avant « Appliquer maintenant ».
- Conserve snapshot, contrôle de hash Elementor, permissions Alliance, journalisation et rollback avant toute écriture.

# 1.6.0 — Dashboard Tech opérationnel + intervention frontend directe

- Fait du frontend du site client la surface d intervention principale; Elementor reste un mode avance distinct.
- Ajoute une session frontend Alliance temporaire qui conserve la fenêtre Tech pendant la navigation du site, sans exposer Tech aux visiteurs ordinaires.
- Ajoute la sélection visuelle directe des éléments Elementor depuis le frontend et conserve snapshot / appliquer / rollback côté serveur.
- Refonte le tableau de bord principal avec KPI réels, score de santé dérivé, priorités, sites surveillés et activité récente.
- Chaque carte, priorité et ligne du dashboard est cliquable et ouvre sa source dans une popup contextuelle; la navigation principale reste dans le menu WordPress à gauche.
- Ajoute les entrées WordPress : Tableau de bord, Sites, Monitoring, Alertes, Mises à jour, Sauvegardes, Sécurité, Rapports, Journal et Réglages.
- N invente aucune donnée de monitoring : les métriques absentes (sauvegardes, uptime historique, temps de réponse) restent explicitement marquées comme sondes à brancher.

# 1.5.18 — fenêtre persistante WordPress + Elementor et personnalisation

- Maintient la boîte Tech active pendant la navigation dans l administration WordPress tant que la session Alliance temporaire reste valide.
- Conserve la même session et la même page cible lors des passages WordPress ↔ Elementor; la sélection visuelle demeure réservée à Elementor.
- Ajoute un panneau Apparence dans la boîte : couleur terminale, code hexadécimal, opacité totale 25–100 %, presets Matrix / Bleu premium et réinitialisation.
- Les préférences sont appliquées en direct et conservées localement dans le navigateur du technicien, sans donnée client supplémentaire.
- Tech reste absent du Hub Client et du front-end public.

# 1.5.17 — isolation du preview Elementor et suppression de la boucle Safe Mode

- Corrige la cause du blocage **Loading / Enable Safe Mode** observé pendant une intervention Tech : le cookie de session Alliance était aussi lu dans l iframe `elementor-preview`.
- L iframe de prévisualisation Elementor est maintenant explicitement exclue du bootstrap front-end Tech avant toute validation, redirection ou création de handoff.
- Une session Tech conservée en cookie ne peut plus rediriger une page publique ordinaire vers `wp-admin`; seule une URL de lancement Tech explicite peut déclencher le parcours legacy.
- Le mode `editor_only` ne provoque plus de redirection à lui seul sur les requêtes front-end.
- Conserve la boîte terminal Matrix, le handoff serveur direct et les routes REST privées sans toucher au fonctionnement normal de la prévisualisation Elementor.

# 1.5.16 — Elementor Safe Boot + terminal Matrix

- Retarde complètement l initialisation JavaScript de la boîte Tech jusqu à ce qu Elementor ait réellement créé son interface et sa prévisualisation.
- Retire le MutationObserver global pendant le bootstrap Elementor et utilise un polling borné beaucoup plus léger.
- Empêche le double enqueue/localize lorsque les hooks WordPress et Elementor se déclenchent dans la même requête.
- N injecte plus le HTML de la boîte dans le footer avant que l éditeur soit prêt; la boîte est créée côté navigateur seulement après l initialisation Elementor.
- Nettoie le CSS terminal Matrix et applique une vraie police console, texte vert, fond noir/vert et accents lumineux à la boîte Tech.
- Si Elementor ne devient pas prêt dans les 30 secondes, Tech reste passif au lieu d ajouter de la charge au démarrage.

# 1.5.15 — Lancement Elementor fiable et visible

- Corrige le cas où un clic sur **Elementor** semblait ne rien faire pendant la préparation distante.
- Le clic affiche immédiatement un écran compact de progression avant l'appel serveur.
- Le POST vers `admin-post.php` est déclenché explicitement après le premier rendu visuel afin d'éviter qu'un script tiers neutralise le bouton.
- La préparation reste côté serveur, avec validation Hub Client / Tech, session Alliance signée et redirection uniquement vers le domaine jumelé.
- Aucun changement n'est apporté au chargement non intrusif de la boîte Tech dans Elementor introduit en 1.5.14.

# 1.5.14 — Terminal Matrix et chargement Elementor non intrusif

- Retire l injection directe des assets Tech dans `admin_head`, trop précoce pour certaines versions d Elementor et susceptible de perturber son démarrage.
- Les assets de la boîte Tech passent désormais uniquement par les files d enqueue et hooks de l éditeur Elementor, avec rendu de la boîte en fin d interface.
- Conserve une seule boîte de dialogue et aucun composant Tech sur le front public.
- Applique une esthétique terminale monospace vert Matrix à la saisie, aux messages et au diagnostic.
- Conserve le handoff Hub Client sécurisé et la session Alliance temporaire.

# 1.5.13 — handoff Hub Client et préflight live

- Tech central relit `update/status` juste avant une intervention afin de ne plus redéployer à cause d une télémétrie CRM périmée.
- Le préflight exige Hub Client 1.11.29+, Tech 1.5.13+ et la route privée de préparation réellement disponible.
- Dans Elementor, Tech accepte le handoff autonome créé par Hub Client et revalide silencieusement la session auprès d Alliance dans la nouvelle requête.
- Si la revalidation réseau échoue momentanément, la session déjà validée par Hub Client reste utilisable jusqu à son expiration.

# 1.5.12 — boot client resilient et contrat Hub Client

- Tech client se relance de facon idempotente sur `plugins_loaded`, `init` et `rest_api_init` afin de survivre aux remplacements a chaud du plugin.
- Le mode client depend maintenant de la presence de Hub Client, sans exiger qu une classe auxiliaire soit deja visible au moment exact du premier test.
- La route privee de preparation Elementor est desormais possedee par Hub Client 1.11.26; Tech conserve la logique de validation, resolution de page et creation du handoff.
- Le preflight Alliance exige Hub Client 1.11.26 ou plus recent.

# 1.5.11 — ouverture Elementor par handoff serveur direct

- Remplace le passage fragile front-end → `wp-admin` par une préparation serveur-à-serveur entre Core Alliance et l agent Hub Client du site.
- Le site résout la page cible, valide la session Alliance et retourne une URL Elementor contenant uniquement un handoff local à usage unique.
- Le handoff est consommé dans `admin_init`, puis supprimé; la boîte Tech est injectée dans `admin_head` avant le démarrage de l éditeur.
- Ajoute une route privée `awm-client-hub/v1/tech/intervention/prepare`, protégée par le secret de scan du site et la validation Connector de la session.
- Exige Hub Client 1.11.25 pour invalider OPcache après les mises à jour distantes et confirmer la version Tech réellement chargée, pas seulement la version du fichier.
- Si le runtime Tech ou le handoff ne sont pas réellement actifs, l ouverture Elementor s arrête avec une erreur explicite au lieu d ouvrir silencieusement sans boîte.

# 1.5.10 — continuité de session Elementor renforcée

- Corrige le transfert de session Tech entre le front du site et `wp-admin` lorsque le domaine bascule entre `www` et le domaine nu.
- Ajoute un handoff serveur temporaire et un cookie de domaine sécurisé pour restaurer la session dans Elementor même si les paramètres d URL sont retirés.
- Injecte les assets de la boîte Tech directement dans `admin_head` pendant une session valide, sans dépendre du footer Elementor ou de la file d enqueue WordPress.
- Affiche un diagnostic Tech explicite dans Elementor si une intervention a été demandée mais que la session ne peut pas être récupérée.
- Corrige les appels Connector d intervention pour transmettre le timeout avec la bonne signature.
- La boîte reste unique et réservée à Alliance; aucune surface Tech n est exposée au client.

# 1.5.9 — boîte Elementor injectée par les hooks natifs
- Corrige l absence de boîte Tech dans certaines versions récentes d Elementor : le runtime utilise maintenant les hooks officiels `elementor/editor/after_enqueue_scripts`, `elementor/editor/after_enqueue_styles` et `elementor/editor/footer`.
- Conserve `admin_enqueue_scripts` et `admin_footer` uniquement comme repli de compatibilité.
- Ajoute une deuxième sécurité côté JavaScript : si Elementor ne rend pas le HTML du footer attendu, la boîte unique est reconstruite depuis le markup de session localisé.
- Empêche les doublons lorsque le hook Elementor et le hook WordPress sont tous les deux exécutés.
- Tech reste invisible hors d une session Alliance valide et aucune palette n est ajoutée au front-end public.

# 1.5.8 — préparation Elementor automatique

- Le bouton d intervention ne bloque plus lorsque le site client possède une version Tech plus ancienne.
- Tech AWM utilise la publication active de Core pour installer ou mettre à jour automatiquement le runtime Tech requis avant d ouvrir Elementor.
- La version distante est relue et confirmée avant de créer la session d intervention.
- La liste Sites affiche `Préparer + Elementor` lorsqu une mise à jour Tech est requise, puis ouvre directement Elementor après préparation.
- Les erreurs de préparation remontent avec un message explicite au lieu du blocage générique `Tech X requis`.
- Tech reste invisible pour le client; seule la boîte de dialogue privée Alliance existe dans Elementor.

# 1.5.7 — Heure de dernier contact corrigée
- Corrige l heure affichée dans **Tech AWM → Sites** : le contact Tech est stocké en UTC mais est maintenant converti dans le fuseau horaire WordPress d Alliance avant affichage.
- Évite le décalage de quatre heures observé lorsque l administration Alliance utilise `America/Toronto` pendant l heure avancée.
- Conserve la valeur brute UTC en stockage afin de garder une télémétrie cohérente entre les sites.
- Ajoute le fuseau horaire Alliance en infobulle sur la colonne **Dernier contact**.
- Applique la même conversion au dernier succès Connector reçu par la télémétrie Tech lorsqu il est stocké au format UTC.

# 1.5.6 — Stabilisation de l intervention Elementor
- Ajoute un préflight côté Alliance : le bouton Elementor n est disponible que si Tech AWM 1.5.6 et Elementor sont confirmés sur le site client.
- Affiche dans l unique boîte Tech l état de connexion et le temps restant de la session privée Alliance.
- Attend automatiquement le chargement de l iframe Elementor avant le mode Sélectionner au lieu d obliger le technicien à réessayer manuellement.
- Réinitialise proprement une sélection devenue obsolète lorsque l aperçu Elementor est rechargé.
- Après Appliquer ou Rollback, recharge l aperçu Elementor sans recharger toute l interface WordPress lorsque l API Elementor le permet.
- Durcit le JavaScript de la boîte Tech pour qu un contrôle absent ne bloque plus toute l intervention.
- Conserve une seule boîte de dialogue Tech et aucune surface sur le front-end public.

# 1.5.5 — Intervention Elementor directe avec une seule boîte de dialogue
- Le bouton d intervention Alliance ouvre désormais directement la page cible dans l éditeur Elementor.
- Supprime la palette Tech du front-end public : aucune surface d intervention n y est rendue.
- Dans Elementor, affiche une seule boîte de dialogue Tech AWM, compacte, déplaçable et réductible.
- La boîte regroupe conversation, sélection d élément, pièces jointes, application, diagnostic et rollback sans ajouter de deuxième palette.
- La session reste temporaire, liée au client, au domaine et à la page, et Tech demeure invisible au client.

# 1.5.4 — Liste des sites visible directement dans Vue d’ensemble
- Affiche la liste d’intervention des sites Hub Client directement sous le tableau de bord Tech AWM, sans devoir cliquer sur un simple lien.
- Conserve l’onglet **Sites** dédié pour la vue complète.
- La liste reste alimentée par CRM canonique + inventaire Core, avec actions **Intervenir**, **Fiche Tech** et **Voir**.
- Corrige le doublon du champ de recherche dans la vue Sites.

# 1.5.3 — Palette Tech dans l’éditeur Elementor
- Corrige la session d’intervention Tech lorsqu’une page est ouverte avec `action=elementor` dans wp-admin.
- La palette privée Alliance est maintenant injectée directement dans l’interface de l’éditeur Elementor et s’ouvre automatiquement pendant une session Tech valide.
- La session reste liée au client, au domaine, à la page et au navigateur via le jeton temporaire; aucune palette n’apparaît sans intervention Alliance active.
- Le mode **Inspecter** cible maintenant le document de prévisualisation Elementor dans son iframe et permet de sélectionner un élément directement depuis l’éditeur.
- Empêche l’affichage d’une deuxième palette dans l’iframe `elementor-preview` afin de garder une seule boîte de dialogue visible.
- Conserve Tech totalement invisible dans le Hub Client et pour les visiteurs.

# 1.5.2 — Section Sites visible et accès direct
- Corrige la navigation Alliance : la section **Sites** est maintenant exposée directement dans le shell Tech AWM.
- Le menu Tech AWM ouvre désormais la liste des sites Hub Client par défaut pour accélérer les interventions.
- La vue d’ensemble reste disponible comme onglet séparé.
- La liste continue d’utiliser uniquement les fiches CRM canoniques et les sites où Hub Client est confirmé installé.
- Tech demeure totalement invisible dans Hub Client et réservé à Alliance Web Marketing.

# 1.5.1 — Liste des sites Hub Client et intervention directe
- Ajoute dans Tech AWM une liste centrale de tous les sites où Hub Client est confirmé installé.
- Réutilise le client_id CRM canonique, le Connector et l’inventaire Core sans créer de répertoire client parallèle.
- Affiche version Hub Client, état/version Tech, mises à jour, alertes, transport Connector et dernier contact.
- Permet de lancer une intervention Tech directement depuis la ligne du site lorsque l’agent est installé et autorisé.
- Conserve un accès à la fiche Tech complète pour activation, permissions, URL cible précise et diagnostic.
- Les sites sans Hub Client confirmé ne sont jamais proposés comme cibles d’intervention.

# 1.5.0 — Centre Tech privé et intervention front-end Alliance

- Tech AWM n est plus un service client : son interface est exclusivement réservée à Alliance Web Marketing.
- Ajoute des sessions d intervention front-end temporaires (20 min), liées au client, au domaine et à la page ciblée.
- La palette Tech est injectée uniquement lorsqu une session Alliance valide est ouverte; elle est invisible aux visiteurs et au Hub Client.
- Ajoute inspection Elementor, diagnostic, design, réparations ciblées, application contrôlée et rollback dans la session privée.
- Ajoute un scan horaire de santé/sécurité : mises à jour disponibles, changements sensibles de baseline, échecs de connexion inhabituels et événements de mise à jour.
- Toutes les interventions sont auditées côté Alliance sans journaliser le jeton de session.

## 1.4.3 — 2026-09-05
- Ajoute un centre de santé Tech AWM dans Hub Client : versions, dernier contact, transport Connector et journal technique récent.
- Ajoute les actions Diagnostic complet, Tester la liaison, Réparer la connexion, Resynchroniser Alliance et Vider les caches AWM.
- Teste séparément REST avec en-têtes, REST avec secret dans le corps HTTPS, admin-ajax et pont frontal, sans journaliser le secret Connector.
- Les actions de réparation exigent un administrateur WordPress et respectent la permission centrale `wordpress_safe_actions`.
- Transmet à Alliance le dernier transport, le dernier succès Connector et le dernier événement Tech via le profil sécurisé existant.

## 1.4.2 — 2026-09-04
- Le runtime Tech utilise le transport Connector résilient de Hub Client pour statut, chat et résultats d'actions.
- Aucun secret supplémentaire ni base client parallèle.

## 1.4.1 — 2026-09-04

- Corrige la vérification d'autorisation Tech entre Hub Client et Alliance sur les hébergements qui filtrent les en-têtes HTTP personnalisés.
- Les appels Tech utilisent le transport Connector HTTPS compatible par corps chiffré en transit, sans exposer le secret dans le navigateur.
- Le statut Tech retourne le `client_id` CRM canonique afin que Hub Client puisse confirmer/réparer son rattachement local.

## 1.4.0 — 2026-09-04
- Corrige le menu principal Thech AWM : il ouvre maintenant son propre tableau de bord au lieu de rediriger automatiquement vers CRM.
- Ajoute une vue d ensemble Tech autonome; seul l onglet Clients ouvre explicitement la recherche CRM canonique.
- Ajoute la fenêtre Tech AWM flottante directement sur le front-end des pages WordPress/Elementor autorisées.
- La fenêtre connaît automatiquement la page courante, son post_id et son contexte Elementor.
- Le mode Inspecter permet de cibler un élément Elementor directement dans la page.
- Corrige les conversations multi-tours OpenAI : les anciens messages assistant sont transmis en output_text et les messages utilisateur en input_text.
- Depuis Hub Client, une URL interne est résolue vers la page WordPress réelle et devient la cible des actions Appliquer / rollback.
- Affiche la page cible dans la conversation pour éviter toute modification ambiguë.

## 1.3.0 — 2026-09-04
- Thech/Tech AWM utilise exclusivement le `client_id` canonique de CRM AWM.
- Le moteur de recherche Clients de Thech ouvre la liste et la fiche client CRM.
- L onglet Tech est injecté dans la fiche client CRM unifiée.
- Activation, permissions, mémoire, diagnostics, consommation et journal restent des données Tech liées au même `client_id`, sans copie de la fiche client.

## 1.2.0 — 2026-09-04
- Remplace la grande table Sites et autorisations par le parcours client canonique du Hub.
- L onglet principal Clients de Thech AWM ouvre désormais le moteur de recherche habituel des fiches clients.
- Ajoute un onglet Tech directement dans chaque fiche client Hub AWM.
- Déplace activation, permissions Chat / Diagnostics / Elementor / WordPress / Fichiers et état du runtime dans cet onglet Tech.
- Conserve l activation exclusivement côté Alliance et journalise les changements de permissions.
- Préserve le contexte Thech AWM dans le shell Premium lorsque la fiche est ouverte depuis Tech.

# Changelog Tech AWM

## 1.1.0 — 2026-09-04
- Devient un paquet physique autonome dans la Suite AWM.
- Regroupe le module central Thech AWM et le runtime client Tech AWM.
- Conserve l'activation exclusivement contrôlée depuis Alliance.
- Réutilise Hub Client et son moteur Elementor sécurisé sans dupliquer les données métier.
- Préserve le shell Premium, la mémoire centralisée, le suivi des tokens, les pièces jointes et le rollback.


---

## README.md

# Tech AWM 1.7.37 - Suite 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

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.

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.

Voir le guide Recovery embarque et les notes de livraison.

## Documentation anterieure conservee

## 1.7.35 — bouton Recovery et portes de secours du parc — 2026-09-14

- Ajoute **Recovery** dans le shell Tech, a cote des controles du dashboard, et un sous-menu Recovery.
- La page Recovery liste le Hub central et chaque Hub Client ayant annonce une porte de secours HTTPS.
- Les fiches/sites Tech affichent directement le bouton Recovery lorsqu il est disponible.
- La porte ouvre la meme interface Recovery locale hors WordPress; Tech ne duplique pas le moteur de restauration.
- Le niveau 1 reste limite au dernier point stable recommande par le moteur; les restaurations BD ne sont pas exposees dans Tech.

## 1.7.34 — Morning Brief Health transversal — 2026-09-12

- 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.

## 1.7.33 — Pulse opérationnel transversal — 2026-09-12

- 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.

# Tech AWM 1.7.32 — préflight intervention, tournée Tech et capacité

- **Livré** : la fiche Tech affiche un préflight avant intervention à partir des preuves runtime disponibles : Connector, permissions d écriture WordPress et comportement OPcache.
- **Livré** : un état inconnu reste explicitement **À vérifier**; Tech ne déduit jamais qu un site est prêt lorsqu une preuve manque.
- **Livré** : la fenêtre Incidents regroupe les incidents par **client + site** dans une tournée Tech suggérée, triée par score maximal puis incidents nouveaux, afin de réduire les changements de contexte.
- **Livré** : une vue **Capacité Tech** montre ouverts, nouveaux, sites concernés, plus ancien incident, SLA dépassés/à risque et score maximal par responsable, avec un bloc Non assigné distinct.
- **Sécurité** : aucune réaffectation ni action sensible n est automatique; le préflight n expose aucun chemin serveur, secret Connector ou clé API.
- **Gouvernance** : ROADMAP, CHANGELOG, notes et validation/logs sont synchronisés avec Suite AWM 4.5.229.

# Tech AWM 1.7.31 — priorité opérationnelle et historique 24 h / 7 j

- **Livré** : score impact × urgence × confiance visible sur chaque incident, avec les trois composantes affichées.
- **Livré** : file d actions recommandées contextuelles dans la gestion des incidents.
- **Livré** : fiche Tech avec historique 24 h / 7 j basé sur les événements existants.
- **Sécurité** : aucune action sensible n est exécutée automatiquement; les permissions et confirmations existantes restent obligatoires.
- **Gouvernance** : ROADMAP, CHANGELOG, notes et validation/logs sont synchronisés avec Suite AWM 4.5.228.

## 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

Cette version fiabilise le Mode moniteur lorsqu il est casté avec Chromecast et réduit les rechargements complets de page pour les actions techniques courantes.

Points clés : bouton Économiseur immédiat, minuterie robuste, réveil uniquement sur nouvelle critique, vérification de site sans rechargement, mises à jour individuelles ou groupées sans perdre la position de travail.

Cette version uniformise toute la page Réglages avec le langage visuel validé pour le Mode moniteur : cartes plus lisibles, champs plus grands, contraste Dark renforcé et barres d action cohérentes.

# Tech AWM 1.7.20

Les statuts de la fiche multi-sites sont maintenant actionnables : À connecter ouvre le Connector exact, À vérifier relance le contrôle du site lorsqu il est connecté, et les actions principales partagent une hauteur uniforme.


La fiche client Tech devient réellement multi-sites : le principal et chaque secondaire ont une fiche distincte avec URL complète. Le technicien peut forcer une vérification immédiate des états/mises à jour puis lancer une mise à jour tierce trouvée (par exemple SEOPress) sans attendre le cycle automatique. Les réglages Mode moniteur sont enregistrés par une route dédiée et leur CSS est renforcé.

# Tech AWM 1.7.18

Tech transforme le **Mode moniteur** en affichage dédié au centre d opérations : shell WordPress/AWM masqué, typographie agrandie, thème accessible directement dans la barre carte et économiseur d écran natif au navigateur. L économiseur peut démarrer après 1, 5, 10 ou 30 minutes, utiliser un mode Minimal, Opérationnel ou Rotation, réduire la luminosité, s activer rapidement la nuit et réveiller automatiquement le dashboard si l état devient Critique.

La fiche Tech devient une **console opérationnelle** pensée pour la décision rapide : en-tête compact et actionnable, barre Santé du site, zone À faire, puis onglets Vue d’ensemble / SEO / WordPress / Sécurité / Historique. Les valeurs normales deviennent discrètes et les anomalies restent prioritaires visuellement.

La vue d’ensemble résume disponibilité, HTTP, indexation, vulnérabilités, mises à jour, versions Hub/Tech et dernier contact. Le détail SEO et l’inventaire WordPress complet restent accessibles dans leurs onglets; WordPress ajoute des filtres Tous / À mettre à jour / Auto / Manuel / Inactifs.


La fiche Tech devient le résumé opérationnel complet du site : diagnostic SEO/indexation détaillé, inventaire des extensions WordPress et accès aux mises à jour. Le Centre d opérations utilise maintenant un **Mode moniteur** ouvert dans une fenêtre dédiée pour plein écran/cast. Les rangs Top sites reprennent la même teinte que les points de carte.

Tech AWM 1.7.14 — maintenance WordPress pilotable, diagnostic d indexation et carte multi-sites lisible.

`Mises à jour` affiche maintenant **toutes les extensions WordPress** remontées par chaque installation Hub Client. Le technicien choisit `Manuel` ou `Automatique` pour une extension précise sur un site précis, ou lance `Mettre à jour maintenant`. Les modules AWM restent séparés et continuent seulement par le canal Suite signé Core.

Chaque site expose aussi un diagnostic **Indexable / No-index / À vérifier** avec sa cause. Le contrôle croise le réglage WordPress, les en-têtes HTTP robots, la meta robots de l accueil et `robots.txt`.

Sur la carte du Centre d opérations, un client garde une même famille de couleur et chacun de ses sites reçoit une teinte distincte. La légende et les popups montrent **Principal / Secondaire** ainsi que l **URL complète exacte** configurée, y compris sous-domaines et sous-dossiers.

Tech AWM 1.7.13 — densité du Brief AWM : résumé SLA sur une ligne et cartes de priorités plus minces.

Le bloc **Action immédiate requise** n utilise plus une grande colonne verticale pour ses métriques. À largeur bureau, le titre, les mesures SLA, les fenêtres 7/30/90 jours et le bouton Priorités partagent maintenant une seule barre compacte. Les trois situations prioritaires restent juste dessous dans des cartes plus minces. Aucune information opérationnelle ni logique de polling n est retirée.

Tech AWM 1.7.12 — correctif de stabilité du Centre d’opérations (carte Leaflet + graphique après initialisation SLA).

# Tech AWM 1.7.11 — objectifs SLA configurables

Tech AWM transforme maintenant les mesures MTTD, prise en charge et MTTR en SLA réellement configurables sans inventer de cible. Les réglages globaux acceptent une valeur de `0` pour signifier **objectif non défini**; dans ce cas Tech continue de mesurer les délais mais n affiche aucune conformité contractuelle fictive.

Les objectifs peuvent être surchargés par client puis par site depuis la fiche CRM → Tech. L héritage est strict : **site → client → global**. Le Centre d opérations offre des fenêtres SLA **7 / 30 / 90 jours**, affiche la conformité uniquement sur les échantillons associés à une cible explicite et indique par site `Respecté / À risque / Dépassé / Échantillons insuffisants / Objectif non défini`. Le statut `À risque` correspond à une moyenne située entre 80 % et 100 % de la cible configurée.

Cette version ne modifie pas la DB Tech 1.2.0 et ne change ni les Connectors, ni les incidents, ni les données historiques. Elle prépare le raccord futur aux objectifs de service/contrat CRM via le filtre `awm_thech_sla_targets`, sans créer de second système de facturation ou de contrat.

Les notifications ajoutent aussi une **escalade optionnelle sans prise en charge**. Elle est désactivée par défaut : après activation, un incident `error/critical` encore `Nouveau`, non reconnu et ouvert depuis le délai configuré reçoit une seule escalade courriel. La prise en charge, la résolution ou l inactivation CRM empêchent l escalade. L événement `email_escalated` est ajouté à l historique append-only uniquement après un envoi réussi.

## Tech AWM 1.7.9 — filtres de prise en charge et SLA compact

Le Centre d opérations permet maintenant de filtrer immédiatement les incidents par état humain, responsabilité et criticité. Un technicien peut isoler ses incidents, les nouveaux incidents non assignés ou uniquement les cas critiques sans quitter le popup. La vue Priorités ajoute aussi des filtres par criticité et par type de signal afin de réduire le bruit sans masquer les données brutes.

Le Brief AWM affiche un **SLA Alliance sur 30 jours** sous forme compacte : incidents observés, délai moyen de prise en charge, MTTR et taux de prise en charge. Tech ne présente pas un faux MTTD : le vrai délai de détection restera non disponible jusqu à ce qu un timestamp de premier signal/anomalie soit instrumenté distinctement de l ouverture confirmée de l incident.

## Tech AWM 1.7.8 — gestion opérationnelle des incidents

Tech AWM transforme maintenant le registre d incidents en file de travail Alliance. Chaque incident confirmé conserve son état technique, mais ajoute un workflow humain `Nouveau / Pris en charge / Résolu`, un responsable, des notes et un historique horodaté. Le Centre d opérations permet de prendre en charge, documenter et résoudre un incident sans quitter le popup.

La résolution manuelle ne peut pas cacher durablement une panne : si les sondes ou le Connector confirment encore le même signal au prochain cycle, un nouvel incident est créé. Les résolutions automatiques et manuelles restent distinguées dans l historique.

## Tech AWM 1.7.7 — contexte directement dans l en-tête

Le Centre technique Alliance, la version Tech et l indication de session réservée sont maintenant intégrés au shell principal. Le second bloc de contexte est supprimé afin de concentrer davantage le cockpit.

## Tech AWM 1.7.6 — cockpit compact

Le Centre d’opérations concentre davantage l’information au-dessus de la carte sans retirer les détails disponibles dans les popups. L’en-tête, l’état opérationnel, la surveillance, les six priorités cliquables et le Brief AWM utilisent désormais une densité compacte afin que la carte, l’activité temps réel et les incidents soient visibles plus haut sur un écran standard.

Les six cartes actionnables restent présentes et cliquables; seul le texte répétitif « Cliquer pour voir le détail » est retiré visuellement. Le Brief AWM conserve ses trois situations corrélées mais sous forme de bande compacte. Les vues tablette/mobile repassent automatiquement à 3, 2 puis 1 colonne selon l’espace disponible.

## Tech AWM 1.7.5 — Timeline universelle v1

Le Centre d’opérations aligne maintenant les événements réels des dernières 24 heures dans une **timeline universelle du parc** : incidents ouverts/résolus, sondes HTTP anormales, actions Tech, formulaires Stats AWM et mises à jour détectées. Chaque événement conserve `client_id + site_id` lorsqu’ils sont connus et ouvre la fiche Tech du site sans mélanger les données d’un autre client.

La timeline possède des filtres rapides Tout / Incidents / Tech / Stats / Sondes / Mises à jour et se rafraîchit avec le polling silencieux existant. Les popups de site incluent aussi leur chronologie récente. Cette v1 ne prétend pas encore corréler une cause entre les événements; elle fournit la matière temporelle nécessaire aux futures analyses avant/après et au moteur de cause probable Health.

## Tech AWM 1.7.4 — Brief AWM et corrélation des priorités

Le Centre d’opérations regroupe maintenant les signaux actifs par site afin qu’un même problème potentiel n’apparaisse plus plusieurs fois dans la carte Priorités. Le regroupement reste déterministe et transparent : il indique le nombre de signaux reliés au même site, mais ne prétend pas connaître automatiquement la cause.

Un nouveau **Brief AWM** résume l’état du parc sous les cartes principales et remonte les trois situations les plus importantes avec accès direct à la fiche Tech du site. Le brief se met à jour avec le polling silencieux sans recharger la page.

## Tech AWM 1.7.3 — cockpit priorités + trafic live

La vue globale place maintenant les signaux qui demandent une action en premier : priorités, incidents, 404 sondées, mises à jour importantes, formulaires et sites à surveiller. Toutes ces cartes sont cliquables et ouvrent un détail sans quitter le cockpit. À droite de la carte, Tech affiche le Top des sites du jour et les sites réellement visités maintenant, à partir des données Stats AWM déjà collectées. Aucune identité de visiteur n’est exposée.

## Tech AWM 1.7.2 — carte globale alignée sur Stats

Le Centre d'opérations offre sept fenêtres temporelles (instant, 1 min, 1 h, 1 jour, 1 mois, 3 mois, 1 an) et affiche la courbe de visites directement sur la carte, sans fond de graphique opaque. Stats AWM reste la source de mesure et de GeoIP.

# Tech AWM 1.7.1 — Centre d’opérations Alliance


## Carte globale clients / sites

- Les points utilisent directement les localités GeoIP de présence de Stats AWM; Tech ne duplique pas le résolveur GeoIP et n’invente aucune coordonnée.
- Le payload conserve désormais `client_user_id + site_id` pour chaque point actif.
- Lorsque plusieurs clients/sites partagent une même localité, ils sont regroupés sous un seul point lumineux avec halo, puis listés séparément dans le popup.
- Le popup affiche le nom du client, le site, le nombre de visiteurs actifs et l’état HTTP courant du site.
- La carte conserve son zoom et son cadrage pendant les rafraîchissements silencieux de 30 secondes afin d’éviter tout flicker ou recentrage intempestif.

Tech AWM 1.7.1 poursuit le **Centre d’opérations AWM** avec une carte globale alignée sur la logique GeoIP déjà validée dans Stats AWM. La vue globale compile le parc canonique CRM/Connector et combine deux sources sans les confondre : Tech mesure disponibilité/temps de réponse/incidents, tandis que Stats AWM fournit trafic, visiteurs actifs, formulaires et localités GeoIP déjà collectées.

La sonde HTTP v1 travaille par lots de **12 sites toutes les 2 minutes** avec timeout de 4 secondes. Un premier échec ne déclenche pas immédiatement une panne : l’incident `http_unavailable` nécessite deux échecs consécutifs; la lenteur nécessite deux réponses successives à 2,5 s ou plus. Les sondes sont historisées 30 jours et les incidents restent conservés après résolution.

Le dashboard se rafraîchit silencieusement toutes les 30 secondes, conserve la carte Leaflet au lieu de la reconstruire et remonte automatiquement les lignes en anomalie. Le mode TV permet de garder la supervision ouverte sur un écran externe au bureau. Aucune valeur fictive n’est utilisée : un site jamais sondé reste `En attente` et un visiteur sans coordonnées GeoIP ne crée aucun point sur la carte.

**AWM Live Intervention n’est pas livré dans le runtime 1.7.1.** Il est inscrit au roadmap officiel comme prochaine évolution : le client pourra voir les changements sur son propre site et le curseur du technicien sans jamais voir Tech AWM, wp-admin, Elementor, les logs ou les secrets Alliance.

# Tech AWM 1.6.9 — contexte de développement complet

Tech AWM 1.6.9 conserve exactement le runtime multi-sites et l horloge Alliance de 1.6.8, mais complète le paquet avec une roadmap versionnée afin que les autres conversations puissent revoir la dernière publication avant de modifier Tech.

Aucun Connector, secret, `site_id`, `instance_uuid`, permission, télémétrie ou mécanisme d intervention n est modifié dans cette version.

# Tech AWM 1.6.7 — monitoring multi-sites par site_id

Tech AWM 1.6.7 rattache désormais la télémétrie et les interventions au Connector exact de chaque site. Un client peut conserver simultanément un principal, des sous-domaines et des WordPress en sous-répertoire sans que le dernier site ayant communiqué écrase le profil technique des autres installations.

Le monitoring par site couvre le profil WordPress/PHP/Elementor, les versions Hub Client et Tech, l inventaire logiciel, les mises à jour, les alertes, les vulnérabilités, le dernier contact et l identité `instance_uuid`. Les sessions d intervention vérifient également le `site_id` et le chemin canonique.

# Tech AWM 1.6.6 — parc client multi-sites

Tech AWM consomme maintenant la structure canonique CRM **Client → Site principal → Sites secondaires**. Le dashboard liste chaque URL comme un site distinct, conserve le rôle principal/secondaire, l’environnement et la source de design. Les sites non encore associés à un runtime Hub Client sont visibles comme **À connecter** au lieu d’être confondus avec le site principal.

# Tech AWM 1.6.5

## Monitoring central proactif — 1.6.5
Tech AWM 1.6.5 ajoute un cycle de surveillance central horaire sur Alliance et un rafraîchissement manuel des inventaires. Le scan automatique réévalue les vulnérabilités qui correspondent réellement aux versions présentes et journalise seulement les nouvelles correspondances critiques. Le bouton **Actualiser les inventaires** interroge directement les sites via le canal privé Hub Client afin de mettre à jour WordPress, plugins, thèmes, mises à jour disponibles et télémétrie Tech sans attendre une visite utilisateur.

Aucun fournisseur payant n est introduit : la source de vulnérabilités demeure Wordfence Intelligence V3 lorsqu une clé gratuite est configurée.


## Monitoring versions et vulnérabilités — 1.6.4
Tech AWM 1.6.4 fait progresser le centre d opérations Alliance : chaque runtime client remonte maintenant un inventaire borné de WordPress, des extensions et des thèmes avec les versions installées et les mises à jour proposées par WordPress. Le dashboard compare aussi les modules Suite AWM installés sur Alliance avec la publication active.

La section **Sécurité** ajoute un journal de vulnérabilités basé exclusivement sur **Wordfence Intelligence V3**, une source annoncée gratuite pour usage personnel et commercial. Depuis 2026, Wordfence exige une clé gratuite; elle est stockée dans le coffre Core côté Alliance et n est jamais distribuée aux sites clients. Tech télécharge le flux de façon centralisée, le met en cache et ne conserve que les avis qui correspondent aux logiciels présents dans le parc. Aucune API de vulnérabilités payante n est utilisée.

Tech ne signale pas simplement qu un plugin a déjà eu une CVE : il vérifie la **version réellement installée** contre les plages `affected_versions`, affiche le correctif connu lorsqu il existe et conserve l attribution de la source dans la vue sécurité.


## Apparence de la fenêtre — 1.6.3
Le panneau ⚙ sépare maintenant la transparence visuelle en deux réglages : **Fonds** (0–100 %) et **Texte + bordures** (25–100 %). La couleur d accent reste libre et un sélecteur de police permet de basculer entre Terminal moderne, Consolas, Courier New, Système premium, Arial et Georgia. Les changements sont instantanés et enregistrés uniquement dans le navigateur du technicien Alliance.

Tech AWM 1.6.3 conserve et renforce le mode **action-first** sur le frontend. Un titre sélectionné peut recevoir une nouvelle couleur même lorsque Tech ne peut pas résoudre son ID Elementor, grâce à une règle CSS de page strictement limitée et réversible. Le texte sélectionné peut aussi être rallongé, condensé, corrigé ou reformulé dans un ton plus formel/professionnel avant application.

Tech peut désormais demander une **génération d image côté Alliance**, importer le média généré dans WordPress et, lorsqu un widget image Elementor est explicitement sélectionné, proposer son remplacement. Le secret IA n est jamais envoyé au site client; la génération passe par le Connector privé et les écritures restent soumises aux permissions Alliance et au rollback.

# Tech AWM 1.6.1

Tech AWM 1.6.1 introduit le premier moteur d actions frontend réellement exécutable. Après sélection d un élément, l assistant doit préparer une action sûre au lieu d expliquer à l employé comment la faire dans Elementor. Les écritures restent explicites, réversibles et soumises à « Appliquer maintenant ».

Actions design prises en charge dans cette étape : texte/titres/boutons, couleurs, fonds, alignement, tailles de police ordinateur/tablette/mobile, marges et padding sur widgets/containers Elementor compatibles.

# Tech AWM 1.6.0

Tech AWM devient un centre d opérations Alliance orienté **frontend**. Le technicien lance **Intervenir sur le site**, navigue sur le vrai site client avec la fenêtre privée Tech persistante, sélectionne un élément et utilise le même moteur sécurisé d analyse, application et rollback. Elementor demeure disponible comme mode avancé.

Le dashboard principal est désormais source-first : navigation principale dans le menu WordPress à gauche, cartes/KPI cliquables, popups contextuelles et accès direct à la source exacte. Les indicateurs utilisent uniquement la télémétrie réellement disponible; aucune valeur d uptime, performance ou sauvegarde n est simulée.

# Tech AWM 1.5.13

Cette livraison stabilise le passage Alliance → Elementor. Le profil CRM n est plus utilisé comme seule preuve de version : Tech demande d abord un état live au site. Hub Client 1.11.29 peut générer le handoff sécurisé même lorsqu une ancienne classe Tech reste chargée dans la requête de mise à jour; Elementor charge ensuite la version Tech réellement présente sur disque dans une nouvelle requête PHP.

Cette version durcit le demarrage du runtime client et separe clairement les responsabilites : Hub Client expose le canal prive stable, Tech execute l intervention Elementor. Le runtime Tech peut etre reinitialise apres une mise a jour sans faire disparaitre l endpoint utilise par Core.

# Tech AWM 1.5.11

Cette version remplace le pont navigateur historique par un **handoff serveur direct vers Elementor**. Depuis Alliance, Core appelle le site Hub Client par son canal privé, Tech valide la session, résout le `post_id`, crée un handoff local à usage unique et retourne l URL `wp-admin/post.php?action=elementor`. La boîte Tech est donc préparée avant même que le navigateur entre dans Elementor.

Hub Client 1.11.25 complète ce parcours en invalidant OPcache après une mise à jour distante et en remontant la version Tech réellement chargée en mémoire. Core refuse de considérer Tech à jour si seul le fichier a changé mais que l ancien runtime PHP reste actif.


# Tech AWM 1.5.9


## Injection native Elementor — 1.5.9

La boîte d intervention Alliance est maintenant branchée directement sur les hooks officiels de l éditeur Elementor. Les hooks admin WordPress restent seulement en repli. Si un shell Elementor ne rend pas le footer WordPress attendu, le JavaScript Tech reconstruit l unique boîte à partir du markup de session déjà validé côté serveur. Aucun composant Tech n est rendu sans session Alliance valide.

## Préparation Elementor automatique — 1.5.8

Depuis 1.5.8, une intervention Elementor prépare automatiquement le runtime Tech du site client avec le paquet Tech de la publication active Core lorsqu une version plus récente est requise. La version distante est confirmée avant la création de session, puis Elementor s ouvre avec une seule boîte Tech privée.

## Horodatage Alliance — 1.6.8
Les événements Tech restent stockés en UTC. Dans l administration centrale Alliance, **Dernier contact** et les horodatages Tech concernés sont maintenant affichés avec le fuseau canonique `America/Toronto`, indépendamment du fuseau général WordPress. L heure normale et l heure avancée sont appliquées automatiquement. Lorsque Core AWM est chargé, Tech réutilise l horloge `AWM_Core_Time` afin que toutes les interfaces Alliance présentent la même heure.

## Intervention Elementor stabilisée
Tech AWM 1.5.6 garde une seule boîte privée dans Elementor et ajoute un préflight de disponibilité avant l ouverture. La boîte affiche la session active, attend automatiquement la prévisualisation Elementor, supporte les rechargements d iframe et rafraîchit l aperçu après une application ou un rollback sans multiplier les interfaces.

## Politique produit
Tech AWM reste un agent Alliance invisible dans Hub Client. Toute intervention, maintenance, santé, sécurité et réparation est pilotée depuis l administration Alliance.

## Architecture 1.5.1

Tech AWM est un agent privé Alliance installé silencieusement sur les sites clients. Aucune interface Tech n est exposée dans Hub Client. Les sessions d intervention front-end sont créées depuis Alliance, limitées au domaine/page, expirent automatiquement et utilisent le Connector existant pour validation serveur-à-serveur.
## Centre de santé et réparation Connector
Les diagnostics Connector, la santé WordPress/Elementor, la télémétrie et les actions de réparation sont réservés à Alliance. Tech AWM peut tester les quatre transports sécurisés, réparer la liaison, resynchroniser et purger les caches AWM ciblés sans exposer de secret ni d interface Tech dans Hub Client.

# Tech AWM 1.4.2 — Connector résilient

Le runtime client délègue désormais ses échanges Alliance au transport résilient de Hub Client.

# Tech AWM 1.4.1 — autorisation CRM/Connector renforcée

Tech AWM confirme maintenant son autorisation avec le même client_id CRM canonique que la fiche Alliance. Le transport Tech possède un mode compatible HTTPS pour les hébergements qui filtrent les en-têtes personnalisés, et Hub Client peut réparer automatiquement un ancien identifiant local à partir du Connector sécurisé.

# Tech AWM 1.4.0 — historique front-end contextuel

Cette version historique utilisait une fenêtre flottante sur une page WordPress/Elementor. Depuis Tech 1.5.x, l intervention est réservée à Elementor et aucune palette Tech n est rendue sur le front-end public. La page courante est transmise automatiquement; depuis Hub Client, une URL interne est résolue vers le `post_id` réel et devient la cible des actions et du rollback. Les conversations multi-tours utilisent le format OpenAI correct pour les réponses assistant.

# Tech AWM 1.3.0 — client_id CRM canonique

Tech ne possède aucune base clients. Toutes ses données sont rattachées au même `client_id` CRM, et l onglet Tech vit dans la fiche client CRM unifiée.

# Tech AWM 1.2.0

Tech AWM est le dixième paquet physique autonome de la Suite AWM.

Côté Alliance, Tech AWM utilise la fiche client canonique du Hub : l onglet **Clients** ouvre le moteur de recherche habituel, puis chaque fiche expose un nouvel onglet **Tech**. L activation centralisée, les permissions Chat / Diagnostics / Elementor / WordPress / Fichiers, les versions du runtime et le dernier contact sont gérés directement dans cette fiche.

Côté client, le paquet fournit uniquement le runtime silencieux nécessaire aux interventions Alliance. Aucun service, onglet, diagnostic ou palette Tech n est exposé dans Hub Client ni sur le front-end public.

- Le canal sécurisé existant de Hub Client reste utilisé.
- Installation et mises à jour exclusivement via Core AWM et le ZIP complet de la Suite.

## Liste centrale des sites Hub Client
Dans **Tech AWM → Sites**, Alliance voit automatiquement tous les sites dont Hub Client est confirmé par l’inventaire Core. La liste réutilise la fiche CRM canonique et permet de lancer une intervention directe sur le site lorsque Tech AWM est installé et autorisé. Les états Hub, Tech, santé, mises à jour, alertes, transport Connector et dernier contact sont visibles sans ouvrir chaque fiche.
## Navigation Alliance 1.5.2
Dans l’administration Alliance, **Tech AWM → Sites** est un onglet visible du shell commun. Ouvrir Tech AWM affiche directement cette liste afin que les techniciens puissent intervenir sans passer par CRM. La vue d’ensemble demeure accessible séparément.


## Éditeur Elementor — 1.5.3
Lorsqu’une intervention Alliance valide est active et que la page ciblée est ouverte avec Elementor, Tech AWM restaure la session dans `wp-admin`, affiche automatiquement la palette privée au-dessus de l’éditeur et relie le mode Inspecter à l’iframe de prévisualisation Elementor. Sans session Alliance temporaire valide, aucun composant Tech n’est injecté dans l’éditeur.


## 1.5.4
La Vue d’ensemble affiche maintenant directement la liste des sites Hub Client sur lesquels Alliance peut intervenir. L’onglet Sites demeure disponible pour la vue dédiée.


## 1.5.14 — Éditeur Elementor
La boîte Tech adopte une console monospace verte et n injecte plus de scripts dans `admin_head`; son chargement est retardé afin de ne pas interférer avec le bootstrap Elementor ni provoquer son écran de dépannage/Safe Mode.

## 1.5.15 — Lancement Elementor
Le bouton **Elementor** fournit maintenant un feedback immédiat et force proprement la soumission de la demande d'intervention après affichage du loader. Le technicien voit les étapes de préparation pendant que Core valide le site, Hub Client, Tech et la session privée Alliance.
## 1.5.16 — Safe Boot Elementor
La boîte Tech est désormais injectée seulement après l initialisation réelle d Elementor. Le runtime Tech reste passif pendant le bootstrap de l éditeur afin de ne pas contribuer au déclenchement du Safe Mode. L interface utilise le thème terminal Matrix premium validé par Alliance.


## 1.5.17 — preview Elementor isolé

L iframe `elementor-preview` est maintenant totalement exclue du bootstrap front-end Tech. Le cookie de session Alliance reste disponible pour la session privée, mais ne peut plus provoquer de redirection de la prévisualisation vers l éditeur. Cette séparation corrige la boucle de chargement qui déclenchait le panneau **Can t Edit? / Enable Safe Mode** pendant les interventions Tech.


## 1.5.18 — session persistante dans wp-admin
Une intervention lancée par Alliance reste visible lorsque le technicien navigue entre les écrans WordPress et l éditeur Elementor. La boîte utilise la même session temporaire, liée au client et à la page cible. Le réglage visuel permet de choisir la couleur terminale et l opacité totale de la fenêtre; ces préférences restent locales au navigateur Alliance.


## Carte compacte 1.7.17
La carte du Centre opérations n affiche plus de tuiles de sites ni de légende longue au-dessus du fond cartographique. Le compteur, les périodes et le bouton Moniteur sont regroupés dans l en-tête; les couleurs restent lisibles dans Top sites aujourd hui et dans les points/popups de la carte.


---

## ROADMAP.md

# 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.