wiki: doctrine 140 partners double logo chattr+i silent fail
This commit is contained in:
40
weval-ops/wiki/doctrine-140-partners-double-logo-chattr.md
Normal file
40
weval-ops/wiki/doctrine-140-partners-double-logo-chattr.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Doctrine 140 — Régression récurrente partenaires double logo (23 avril 2026)
|
||||
|
||||
## Symptôme (récurrent, 3+ occurrences historiques)
|
||||
Page d'accueil `/` affiche 2 zones partenaires :
|
||||
- Zone 1 (OK) : slider React avec logos SAP / ARROW / HUAWEI / Vistex / IQVIA
|
||||
- Zone 2 (PARASITE) : barre filtre `PARTENAIRES / SAP Gold Partner / Vistex / IQVIA / Huawei Cloud / Scaleway` + tuiles avec Abbott
|
||||
|
||||
## Cause racine CONFIRMÉE
|
||||
`/var/www/html/weval-audit-reco.js` (43 KB) contient 2 IIFE qui injectent dynamiquement via DOM :
|
||||
- Ligne 341 : `(function(){...})();` pour les tuiles avec SVGs (incluant Abbott)
|
||||
- Ligne 422 : `(function(){...})();` pour la barre filtre
|
||||
|
||||
Ces 2 blocs sélectionnent `.hero` et insèrent du HTML parasite après.
|
||||
|
||||
## Pourquoi ça revenait malgré les fix
|
||||
Le fichier a `chattr +i` (immutable). Tout `cp`, `sed -i`, `awk > file`, `python write` fail silencieusement sans erreur sur www-data et même root. Les fix précédents semblaient réussir mais ne modifiaient rien réellement.
|
||||
|
||||
## Fix definitif (23 avr 2026)
|
||||
1. `sudo chattr -i /var/www/html/weval-audit-reco.js` (retirer immutable)
|
||||
2. Inject `return;/* neutralized */` en début de chaque IIFE + marker `DOCTRINE 140 DISABLED`
|
||||
3. `sudo chattr +i` (réappliquer immutable)
|
||||
4. Sync les 15 copies (reco.js + reco2-15.js)
|
||||
5. CF purge complet
|
||||
|
||||
## Règles pour l'avenir
|
||||
- **TOUJOURS** faire `lsattr` avant toute modification sur `/var/www/html/*.js`
|
||||
- Si `----i----` détecté → `chattr -i` obligatoire AVANT write
|
||||
- Vérifier après write avec `grep -c <marker>` pour confirmer qu'on a vraiment écrit
|
||||
- Protéger le fichier fixé avec `chattr +i` et documenter dans doctrine
|
||||
|
||||
## Fichiers concernés (15 copies identiques)
|
||||
```
|
||||
/var/www/html/weval-audit-reco.js (chargé par index.html + trust-center.html)
|
||||
/var/www/html/weval-audit-reco2.js à reco15.js (duplicates identiques)
|
||||
```
|
||||
|
||||
## Commit + Tag
|
||||
- Commit: `96537efde fix(partners-double-logo): DOCTRINE 140 neutralize`
|
||||
- Tag: `fix-partners-double-logo-doctrine140-20260423-201204`
|
||||
- GOLD: `/var/www/html/weval-audit-reco.js.GOLD-20260423-201014-pre-partners-fix`
|
||||
Reference in New Issue
Block a user