« Une mise à jour mineure consiste à remplacer les fichiers et rafraîchir la page. »
Même une mise à jour limitée modifie un système avec base, configuration, plugins et dépendances. Elle exige une preuve de retour arrière.
01Prépare les prérequis
- release notes et exigences techniques
- sauvegarde vérifiée
- restore drill récent
- inventaire des plugins
- compatibilité de chaque extension
- fenêtre et approbation
- critères d'arrêt
- rollback
02Utilise un répertoire cible vide
sources applicatives répertoire de release
configuration hors webroot selon architecture
fichiers variables chemin persistant
logs chemin dédié
Extraire une nouvelle version par-dessus d’anciens fichiers peut conserver du code obsolète.
03Migre explicitement la base
php bin/console db:update
La commande doit être exécutée dans la version cible, avec logs conservés. Une base partiellement migrée n’est pas une cible de restauration fiable.
04Suspends puis sélectionne les plugins
FORMCREATOR compatible, propriétaire, revue récente → KEEP
FIELDS compatible, propriétaire, backup confirmé → KEEP
LEGACYREPORT incompatible, sans propriétaire → DISABLE_BEFORE_UPDATE
Un plugin actif n’est pas automatiquement indispensable. Chaque plugin doit avoir un usage, un propriétaire, une source, une version compatible et une procédure de retrait.
05Valide le changement
column -s, -t "$lab/output/update-evaluation.csv"
column -s, -t "$lab/output/plugin-governance.csv"
Le changement doit être PASS. LEGACYREPORT doit rester bloqué avant migration.
06Contrôle après mise à jour
- version et intégrité
- authentification
- droits et entités
- création et suivi de ticket
- actions automatiques
- collecteur et notification
- inventaire agent
- logs et files
- plugins compatibles seulement
Présente un changement de version
Fournis matrice de compatibilité, fenêtre, commandes, critères d’arrêt, smoke tests, décision plugin par plugin et rollback vers une base vide restaurée.
✓À retenir
Une mise à jour fiable sépare préparation, migration, validation et rollback. Les plugins sont gouvernés comme des dépendances applicatives, pas comme des options décoratives.