CI : Node vient du dépôt, plus de l'hôte
L'hôte du runner porte Node v18.19.1. Ce dépôt en exige 22, Docusaurus au moins 20. Le pipeline échouait donc à la construction du site. Pourquoi ni l'une ni l'autre des issues évidentes Mettre l'hôte à jour demande les droits d'administration — que je n'ai pas — et surtout déplace la vérité hors du dépôt : plus rien n'y dirait quelle version le projet attend, et la prochaine machine reposerait la question. Abaisser l'exigence à Node 18 reviendrait à construire une documentation de crise avec une version qui ne reçoit plus de correctifs de sécurité. Alors Node est installé dans le répertoire du projet, comme pnpm, sans rien toucher sur la machine. La version est écrite dans outils/node-ci.sh, versionnée avec le reste, et le cache l'évite au passage suivant. L'archive est contrôlée avant d'être exécutée Une archive téléchargée puis exécutée sans contrôle serait une porte d'entrée dans la chaîne de construction — c'est par là que passent les compromissions d'écosystème. L'empreinte SHA-256 est inscrite dans le dépôt, relevée sur nodejs.org. Un écart fait échouer le travail, sans reprise. Éprouvé, et pas seulement le chemin qui réussit L'empreinte inscrite a été confrontée à l'archive Linux x64 réelle : elles concordent. Le refus a été exercé avec une empreinte volontairement fausse : sortie non nulle, rien d'installé, rien laissé sur disque. Les deux travaux ont ensuite été rejoués sous ce Node 22 exact, jusqu'au « mv site/build public » — plus aucun avertissement de moteur, 26 pages dans les deux langues. Et le second passage se contente du cache. Ce que la répétition locale ne prouve pas : sur macOS l'empreinte inscrite ne correspond pas à l'archive téléchargée, le contrôle est donc annoncé comme impossible et sauté. Sous Linux — le seul cas de l'intégration — il a lieu. Signed-off-by:Kourser <contact@kourser.bzh> Co-Authored-By:
Claude Opus 5 <noreply@anthropic.com>