import os
f = os.path.expanduser("~/etic/wp-content/STATE.md")
s = open(f).read()

def rep(a, b):
    global s
    assert s.count(a) == 1, a[:70]
    s = s.replace(a, b)

rep("· MAJ 2026-09-30", "· MAJ 2026-10-01")

rep("""## Sources (hors dépôt)""",
"""## Bêta envoyée au client (2026-10-01)

Mail à Charles (Etic) le **2026-10-01**, signé Mike : présentation de la bêta, ce qui est en
place, ce qui manque. Accès par lien Proton **à usage unique** : compte `.htpasswd` **`visiteur`**
(32 caractères, généré sur le serveur, copie en clair supprimée ; empreinte seule dans
`~/.htpasswd_etic`, à côté d `etic`). Perdu = en régénérer un.
⚠️ Seules 2 questions y figurent (avantages par gamme, texte/image des pages gamme) : les autres
de « Questions client en attente » **n ont pas été posées**.

## Sources (hors dépôt)""")

rep("""  - [ ] 🔴 **Page « Politique de confidentialité » inexistante** : la case RGPD y renvoie
        dans son texte sans lien possible. Bloquant avant mise en ligne.""",
"""  - [ ] 🔴 **Page « Politique de confidentialité » inexistante** : la case RGPD y renvoie
        dans son texte sans lien possible. Bloquant avant mise en ligne. Base de départ : la page
        FRANÇAISE de l ancien site (voir « Questions client »), pas le PDF anglais de 2018.""")

rep("""  - [ ] Bouton « Découvrir notre démarche cybersécurité » → **`#` provisoire** : la cible
        naturelle est la page *Support › Cybersécurité* (planche existante, page à créer).""",
"""  - [ ] Bouton « Découvrir notre démarche cybersécurité » → **provisoirement
        `/documentation-legale/?type=qualite`** (2026-10-01) ; cible finale : la page
        *Support › Cybersécurité* (planche existante, page à créer).""")

rep("""      ⬜ **Question Etic** : la politique de confidentialité est en anglais et date de 2018 ; la page
      « Politique de confidentialité » du site reste à faire (voir plus bas).""",
"""      ⬜ Le PDF « Privacy policy » importé est en anglais et date de 2018 : le garder ? (question non
      posée). ⚠️ Ne pas en conclure que la politique n existe qu en anglais : l ancien site a une page
      FRANÇAISE (erreur commise le 2026-10-01 dans le brouillon du mail, corrigée avant envoi).""")

rep("""## Questions client en attente
""",
"""## Questions client en attente

Posées le 2026-10-01 : **avantages par gamme** et **texte/image des pages gamme** (ci-dessous et
section Pages gamme). Toutes les autres restent à poser.
""")

rep("""- [ ] **SSH activé sur leur hébergement OVH ?**""",
"""- [ ] **Mentions légales et politique de confidentialité** (non posée) : les deux pages existent EN
      FRANÇAIS sur l ancien site (`etictelecom.com/fr/mentions-legales/`, `/fr/politique-de-confidentialite/`),
      à reprendre. Mentions : responsable de la publication **Charles Chaussonnier** ; 2 adresses
      (éditeur Montbonnot, publication 13 chemin du Vieux Chêne, Meylan) ; fax ; Google Analytics cité
      (absent du nouveau site) ; **ni RCS/SIREN, ni capital, ni TVA** (obligatoires). Politique : générique
      (cookies de connexion WordPress), ne cite pas le formulaire de contact, droits incomplets
      (effacement, opposition, réclamation CNIL). À demander : RCS/SIREN, capital, TVA, adresse à retenir,
      fax ; proposer une politique mise à jour à valider.
- [ ] **IPL-C-220** (non posée) : voir la section produits.
- [ ] **SSH activé sur leur hébergement OVH ?**""")

open(f, "w").write(s)
print("ok")

s = open(f).read()
a = "- [ ] Mot de passe `.htpasswd` à rotationner à la livraison"
assert s.count(a) == 1
s = s.replace(a, """- [ ] **Liens provisoires posés le 2026-10-01, à rebrancher quand les pages existeront** (tour complet :
      plus aucun `#` ni bouton sans lien sur les pages publiées, liens internes tous en 200).
      Inventaire refaisable : `_scratch/etic/liens-inventaire.php` (⚠️ ne voit pas les boutons SANS
      réglage de lien : contrôler aussi le HTML rendu, `<a class="elementor-button">` sans `href`).
      - 6 « En savoir plus » des cartes Solutions (accueil `c7622c7`, Entreprise `67f90df`, HTML codé main)
        → `#formulaire-contact` ; seule Prise en main a sa page.
      - Menu : Produits `/#gammes`, Solutions `/#solutions`, Support `/documentation-produits/`,
        Actualités `/#actualites` (ancres `solutions` / `actualites` posées sur l accueil) ; « Solution 1 »
        renommé « Prise en main à distance de machines ». Pied de page : mêmes cibles, Contact `/#formulaire-contact`.
      - En-tête « Contact » `/#formulaire-contact` ; « Espace client » → `customer.etictelecom.com/index_fr.htm`
        (cible de l ancien site, nouvel onglet).
      - Prise en main « Télécharger la brochure » → page Documentation réduite au doc 2056 (doc. commerciale RAS).
      - ⬜ **« Voir toutes les actualités »** (accueil `46c239b`) : SANS lien, pas de page Actualités.
      - Non touchés, affichés nulle part : modèles « HERO SECTION » (1962) et « Entreprise » (1248).
      Sauvegardes : `etic-avant-liens-2026-10-01-1020.sql` + `p<ID>-elementor-data-avant-{liens,boutons}-*.json`.
- [ ] **Liens « document » des fiches = page Documentation réduite au document** (`?doc=<ID>&gamme=…&type=…`,
      demande client 2026-10-01, `d42d688`). Une nouvelle gamme demande sa case dans `ETIC_DOC_RUBRIQUES`
      (`inc/page-documentation.php`), sinon lien fonctionnel mais case gamme non cochée.
""" + a)
open(f, "w").write(s)
print("ok2")
