7.1 Les fichiers du cœur impliqués dans le système de mise à jour

Ces chemins sont relatifs à la racine de l’installation WordPress. La colonne Rôle résume les responsabilités.

Fonctionnement

La logique de mise à jour s’étend sur wp-includes et wp-admin/includes. La gestion du cron et des transients vit dans wp-includes/update.php. Les assistants réservés à l’administration et les fonctions de sommes de contrôle vivent sous wp-admin/includes. Les écrans d’interface vivent sous wp-admin.

Les mises à niveau interactives du cœur sont pilotées depuis wp-admin/update-core.php (l’écran et do_core_upgrade()), tandis que les routines de copie et de renommage de bas niveau vivent dans wp-admin/includes/update-core.php (requis pendant une mise à niveau du cœur, après la décompression du nouveau paquet).

Déroulement

  1. L’ordre de chargement dépend du contexte : front-end, administration, AJAX ou ligne de commande.
  2. Les inclusions d’administration se chargent avant l’exécution des moteurs de mise à niveau.
  3. Les installations, mises à jour et suppressions d’extensions et de thèmes passent souvent par des gestionnaires AJAX dans ajax-actions.php.
  4. La mise à niveau interactive du cœur et la réinstallation utilisent l’écran update-core.php et son fichier d’inclusions, et non les points d’entrée AJAX.

Référence

Chemin relatifRôle
wp-includes/update.phpVérifications de version et de paquets, wp_maybe_auto_update(), crochets de cron, wp_get_update_data()
wp-admin/includes/update.phpget_core_updates(), find_core_auto_update(), assistants de rejet, update_nag(), get_core_checksums()
wp-admin/includes/upgrade.phpwp_upgrade(), dbDelta(), upgrade_all(), migration du schéma
wp-admin/includes/admin-filters.phpRattache update_nag() aux notifications d’administration
wp-admin/includes/class-wp-upgrader-skin.phpAPI de base des habillages
wp-admin/includes/class-automatic-upgrader-skin.phpCapture des messages pour l’arrière-plan et AJAX
wp-admin/includes/class-wp-ajax-upgrader-skin.phpErreurs et messages AJAX
wp-admin/includes/class-bulk-upgrader-skin.phpInterface de progression groupée
wp-admin/includes/class-wp-upgrader.phpMoteur de base, upgrader_process_complete
wp-admin/includes/class-wp-automatic-updater.phpDécisions et exécution des mises à jour en arrière-plan
wp-admin/includes/class-plugin-upgrader.phpMise à niveau et installation d’extensions
wp-admin/includes/class-theme-upgrader.phpMise à niveau et installation de thèmes
wp-admin/includes/class-core-upgrader.phpMise à niveau du cœur ; Core_Upgrader::check_files() compare les fichiers installés à get_core_checksums()
wp-admin/includes/update-core.phpRoutines de mise à niveau du cœur (notamment update_core()) ; requis après décompression (distinct de l’écran d’administration update-core.php)
wp-admin/includes/class-language-pack-upgrader.phpPaquets de traduction
wp-admin/includes/file.phpWP_Filesystem, request_filesystem_credentials(), verify_file_signature(), wp_trusted_keys(), intégration de FS_METHOD
wp-admin/update-core.phpInterface d’administration des mises à jour du cœur ; do_core_upgrade(), réinstallation
wp-admin/includes/ajax-actions.phpGestionnaires AJAX pour l’installation, la mise à jour et la suppression d’extensions, de thèmes et du cœur (comme wp_ajax_update_plugin) ; ce n’est pas le chemin de mise à niveau interactive du cœur
wp-includes/load.phpwp_is_file_mod_allowed()
wp-includes/class-wp-plugin-dependencies.phpWP_Plugin_Dependencies (graphe de dépendances pour la liste des extensions, l’activation et les appels AJAX associés)
wp-admin/includes/class-wp-site-health.phpDiagnostics de WP_Site_Health
wp-includes/class-wp-recovery-mode.phpWP_Recovery_Mode

Ressources pour les développeurs


7.2 Les classes clés

Les classes répartissent le téléchargement, l’installation, les décisions automatiques, les habillages et la récupération entre des responsabilités distinctes.

Fonctionnement

Les sous-classes de WP_Upgrader spécialisent le comportement par type de paquet. WP_Automatic_Updater encapsule l’application planifiée. Les habillages héritent de WP_Upgrader_Skin. WP_Recovery_Mode gère la récupération après erreur fatale, séparément des mises à jour.

Déroulement

  1. Le point d’entrée choisit une classe par instanciation.
  2. Les méthodes appellent les crochets parents.
  3. Les résultats remontent vers les habillages ou les couches d’e-mail.

Référence

ClasseFichierHérite deRôle
WP_Upgraderclass-wp-upgrader.phpTéléchargement et installation de base
Core_Upgraderclass-core-upgrader.phpWP_UpgraderRemplacement des fichiers du cœur
Plugin_Upgraderclass-plugin-upgrader.phpWP_UpgraderMises à jour et installations d’extensions
Theme_Upgraderclass-theme-upgrader.phpWP_UpgraderMises à jour et installations de thèmes
Language_Pack_Upgraderclass-language-pack-upgrader.phpWP_UpgraderPaquets de traduction
WP_Automatic_Updaterclass-wp-automatic-updater.phpDécisions et exécution des mises à jour en arrière-plan
WP_Recovery_Modeclass-wp-recovery-mode.phpRécupération après erreur fatale

Ressources pour les développeurs

Auteur

Photo de Quentin Le Duff

Quentin Le Duff

Quentin Le Duff est développeur WordPress depuis dix ans, certifié Opquast® Expert & ISTQB. Il travaille avec WordPress au quotidien : développement d’extensions open source et de thèmes, hébergement et maintenance des sites de ses clients, et rédaction sur l’écosystème WP.