wiki: doctrine 140 partners double logo chattr+i silent fail

This commit is contained in:
Yanis Mahboub
2026-04-23 20:12:41 +02:00
parent d04f89c884
commit 4c37176c19

View 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`