La Fondation Nestlé France avait un site WordPress construit par une agence qui ne le suivait plus. Deux problèmes se présentaient en même temps : l'équipe éditoriale ne pouvait plus mettre à jour ses médias, et le service de sécurité du groupe venait de remonter une faille sur le cœur de WordPress. La mission m'a été apportée par l'agence Skilld, avec qui je travaillais régulièrement, et je l'ai menée en direct.
Le projet en détail
Le blocage éditorial venait d'une extension, Magic Fields 2, que l'agence d'origine avait utilisée pour personnaliser les types d'articles. Sa mise à jour a résolu le dysfonctionnement, mais le diagnostic ne s'arrêtait pas là : cette extension avait été retirée du dépôt officiel de WordPress, ce qui rendait ses correctifs beaucoup moins accessibles. Un site dont une pièce centrale n'est plus distribuée par son fournisseur est un site dont la prochaine panne n'aura pas de correctif.
Côté sécurité, le scan a identifié quatorze vulnérabilités sur le cœur, et quatorze autres réparties sur quatre extensions qui n'avaient pas été mises à jour depuis des années, certaines avec plusieurs versions majeures de retard. La montée du cœur vers la dernière version stable a refermé la faille signalée par le service de sécurité du groupe et la majorité des autres. Les extensions ont été traitées une par une.
Je suis aussi intervenu dans le thème, pour remplacer des fonctions PHP devenues obsolètes. C'est le genre de correction qu'il faut faire et qu'il faut en même temps signaler comme un symptôme : remplacer une fonction par une plus récente dépanne à court terme, mais répété pendant des années cela produit un code que personne ne peut plus reprendre.
La mission s'est terminée par un rapport écrit plutôt que par un simple message de clôture. Il listait ce qui avait été corrigé, et surtout deux préconisations argumentées : remplacer Magic Fields 2 par Advanced Custom Fields, une extension au même usage mais maintenue par une société qui en a fait son produit principal, et envisager une refonte technique du thème. Une refonte technique ne change ni les visuels ni les fonctions offertes aux visiteurs, mais elle permet de retirer plusieurs extensions vétustes et de faire baisser durablement le temps de maintenance et la surface d'attaque.
C'est la trame de toutes mes reprises d'existant : réparer ce qui bloque, refermer ce qui est ouvert, puis dire par écrit ce qui reste à décider, avec les raisons.