Comprendre le fonctionnement interne de WordPress peut être fascinant. Pour la plupart des utilisateurs, cela semble simple : tapez une URL et une page se charge rapidement. Cependant, beaucoup de choses se passent en arrière-plan.
Lorsque nous avons commencé à travailler avec WordPress il y a plusieurs années, nous avons examiné en profondeur son fonctionnement. Et maintenant, nous sommes là pour partager ces connaissances avec vous en termes simples afin que vous puissiez mieux comprendre WordPress.
Dans ce guide, nous allons vous expliquer le fonctionnement interne de WordPress. Nous avons également créé une infographie facile à suivre pour clarifier les choses.

Qu'est-ce que WordPress ?
WordPress est un constructeur de site web et un système de gestion de contenu. C'est un logiciel open-source que tout le monde peut utiliser pour créer n'importe quel type de site web.
Il a commencé comme une plateforme de blogging en 2003, mais s'est rapidement transformé en un CMS, puis en une plateforme complète de création de sites web. Aujourd'hui, il alimente plus de 43 % de tous les sites web sur Internet.
Pour en savoir plus sur son évolution, son histoire, ses avantages et ses inconvénients, consultez notre guide complet sur ce qu'est WordPress et combien coûte la création d'un site WordPress.
Pourquoi devriez-vous apprendre le fonctionnement de WordPress ?
WordPress est un logiciel open-source, ce qui signifie que tout le monde peut étudier son code et écrire ses propres applications (plugins) et modèles (thèmes) pour celui-ci.
Au fil des ans, nous avons vu d'innombrables débutants devenir rapidement des utilisateurs avancés en apprenant simplement comment WordPress fonctionne en tant que logiciel.
Il vous apprendra également à améliorer les performances de WordPress et à écrire un meilleur code pour vos projets.
Ce guide vous guidera étape par étape tout au long du processus. Nous commencerons lorsqu'un utilisateur demandera une page et nous terminerons lorsque cette page sera entièrement chargée.
Prêt ? Commençons.

Vous pouvez également suivre notre tutoriel écrit ci-dessous pour plus de détails.
1. Charger le fichier wp-config.php
Le fichier wp-config.php est le fichier de configuration de WordPress. Il définit les variables globales pour un site WordPress et contient les informations de votre base de données WordPress. Pour des raisons évidentes, c'est le premier fichier que WordPress charge.
Apprenez-en davantage sur le fichier wp-config.php et comment le modifier.
2. Définir les constantes par défaut
Après avoir chargé le fichier wp-config.php, WordPress passera à la définition des constantes par défaut.
Cela inclut des informations telles que l'emplacement de téléchargement par défaut des médias WordPress, les tailles de fichiers maximales, et d'autres constantes par défaut définies dans le fichier wp-config.php.
3. Charger le fichier advanced-cache.php
Si un fichier advanced-cache.php existe sur votre site, WordPress le chargera ensuite.
Ce fichier agit comme un fichier de remplacement et est utilisé par plusieurs plugins populaires, en particulier les plugins de mise en cache WordPress. Si votre site utilise ce fichier, vous verrez un nouvel élément sur l'écran des plugins appelé « Remplacements ».

4. Charger le fichier wp-content/db.php
WordPress permet aux développeurs de créer leurs propres couches d'abstraction de base de données et de les charger dans un fichier db.php placé dans le dossier wp-content. Les plugins de mise en cache WordPress l'utilisent couramment pour améliorer les performances de la base de données.
Si votre site Web possède ce fichier, WordPress le chargera.
5. Connecter MySQL et sélectionner la base de données
WordPress dispose maintenant de suffisamment d'informations pour continuer. Il se connectera au serveur MySQL et sélectionnera la base de données.
Si WordPress ne parvient pas à se connecter à la base de données, vous verrez l'erreur « Erreur lors de l'établissement de la connexion à la base de données », et WordPress s'arrêtera ici.
Si tout fonctionne correctement, il passera aux étapes suivantes.
6. Charger le fichier object-cache.php ou wp-includes/cache.php
WordPress recherchera maintenant le fichier object-cache.php. S'il n'existe pas, WordPress chargera le fichier wp-includes/cache.php.
7. Charger le fichier wp-content/sunrise.php
S'il s'agit d'un réseau multisite, WordPress recherchera le fichier sunrise.php s'il existe dans le dossier wp-content.
8. Charger la bibliothèque de localisation
WordPress chargera maintenant la bibliothèque l10n.php dans le dossier wp-includes. Ce fichier charge le système de localisation de WordPress, charge les traductions, définit les locales, etc.
Vous pouvez consulter notre guide sur comment utiliser WordPress dans d'autres langues.
9. Charger les plugins multisite
S'il s'agit d'un réseau multisite, WordPress chargera les plugins multisite. Apprenez-en davantage sur le fonctionnement des plugins sur les réseaux WordPress multisite.

10. Exécuter l'action 'muplugins_loaded'
L'action muplugins_loaded est maintenant exécutée par WordPress. Cette action n'est disponible que pour les plugins activés au niveau du réseau sur un WordPress multisite.
11. Charger les plugins actifs
WordPress chargera maintenant tous les plugins actifs sur le site. Il le fait en consultant l'entrée active_plugins dans la table des options de votre base de données WordPress. Cela permet à WordPress d'ignorer les plugins installés sur votre site mais non activés.
12. Charger le fichier pluggable.php
Le fichier pluggable.php contient des fonctions qui peuvent être redéfinies par les plugins WordPress.
WordPress va maintenant vérifier si un autre plugin a déjà défini les fonctions de ce fichier. Sinon, il les définira lui-même.
13. Exécuter l'action ‘plugins_loaded’
WordPress va maintenant exécuter l'action ‘plugins_loaded’.
Elle permet aux développeurs d'accrocher leurs fonctions pour qu'elles s'exécutent après le chargement de tous les plugins actifs.
14. Charger les règles de réécriture
WordPress va maintenant charger les règles de réécriture. Ces règles de réécriture aident WordPress à utiliser des URL conviviales pour le référencement.
15. Instancier $wp_query, $wp_rewrite, $wp
À ce stade, WordPress charge les objets suivants :
$wp_query : L'instance globale qui contient la classe WP_Query. Elle indique à WordPress quel contenu est demandé dans un format de requête WordPress typique.
$wp_rewrite : L'instance globale qui contient votre classe WP_Rewrite. Elle contient vos règles et fonctions de réécriture, qui indiquent à WordPress quelle URL utiliser pour afficher le contenu demandé.
$wp : L'instance globale de la classe WP contient les fonctions qui analyseront votre requête et effectueront la requête principale.
16. Exécuter l'action ‘setup_theme’
WordPress va maintenant passer à l'exécution de l'action ‘setup_theme’. Cette action s'exécute avant le chargement de votre thème WordPress.
17. Charger le fichier functions.php du thème enfant
Le fichier functions.php agit comme un plugin et est utilisé dans les thèmes WordPress pour ajouter des fonctionnalités spécifiques au thème à votre site Web. Si vous utilisez un thème enfant, WordPress chargera alors le fichier functions.php de votre thème enfant.
Sinon, il chargera le fichier functions.php de votre thème actif actuel.
18. Charger le fichier functions.php du thème parent
Si vous utilisez un thème enfant, WordPress chargera maintenant le fichier functions.php de votre thème parent.
19. Exécuter l'action 'after_setup_theme'
Cette action s'exécute après que WordPress a configuré le thème et chargé les fonctions du thème. C'est la première action disponible pour les thèmes.
20. Configurer l'objet utilisateur actuel
À ce stade, WordPress charge l'objet utilisateur actuel. Il permet à WordPress de gérer la requête conformément au rôle et aux capacités de l'utilisateur.
21. Exécuter l'action 'init'
WordPress a jusqu'à présent chargé toutes les informations cruciales dont il a besoin. Maintenant, il déclenche l'action 'init'. Cette action enregistre également les blocs disponibles dans le cœur ou fournis par les plugins installés sur ce site web.
Cette action permet aux développeurs d'ajouter du code qui doit être exécuté après que WordPress a chargé toutes les informations mentionnées précédemment.
22. Exécuter l'action 'widget_init'
L'action widget_init permet aux développeurs de enregistrer des widgets et d'exécuter le code dont ils ont besoin à ce moment-là.
23. Exécuter wp()
WordPress appelle maintenant la fonction wp(), qui se trouve dans le fichier wp-includes/functions.php. Elle configure les variables globales de requête WordPress $wp, $wp_query, $wp_the_query, puis appelle $wp->main.
24. Analyser la requête
Maintenant, WordPress a toutes les informations dont il a besoin pour analyser la requête de l'utilisateur. Il commence par vérifier les règles de réécriture pour faire correspondre la requête de l'utilisateur.
Il exécute ensuite les filtres de variables de requête, demande un hook d'action et envoie une requête d'en-tête.
25. Exécuter la requête
Si aucun contenu ne correspond à la requête, WordPress définira la variable is_404.
Sinon, WordPress continuera à charger les variables de requête.
Il exécutera ensuite WP_Query->get_posts().
Ensuite, il déclenche l'action DO_ACTION_REF_ARRAY « pre_get_posts » avec l'objet WP_Query.
WordPress va maintenant exécuter apply_filters pour nettoyer la requête et effectuer quelques vérifications finales.
Maintenant, il récupère les articles de la base de données et applique les filtres posts_results et the_posts.
La partie requête se termine par le retour des articles par WordPress.
26. Do Action « template_redirect »
WordPress va maintenant exécuter l'action template_redirect. Ce hook s'exécute juste avant que WordPress ne détermine quelle page de modèle charger.
27. Charger le modèle de flux
Si le contenu demandé est un flux RSS, alors WordPress charge le modèle de flux.
28. Charger le modèle
WordPress va maintenant rechercher le fichier de modèle en fonction de la hiérarchie des modèles de WordPress. Il charge ensuite le modèle, qui contient généralement une boucle WordPress.
29. Exécuter l'action « shutdown »
Juste avant de terminer toute exécution PHP, WordPress déclenche la dernière action appelée shutdown.
WordPress cesse de fonctionner ici. Il a exécuté le code et généré la page web demandée par l'utilisateur.
Maintenant, votre serveur d'hébergement web répond à la demande d'un utilisateur en lui envoyant la page web générée par WordPress.
Cette page contient du code HTML, CSS et Javascript, qui indique au navigateur de l'utilisateur comment l'afficher à l'écran.
Incroyable, n'est-ce pas ? Toutes ces choses se produisent en quelques millisecondes. Si vous utilisez l'un de ces meilleurs services d'hébergement WordPress, votre page se chargera idéalement en quelques secondes.
Nous espérons que cet article vous a aidé à comprendre comment WordPress fonctionne en coulisses. Vous voudrez peut-être aussi consulter nos conseils pour protéger la zone d'administration de WordPress ou jeter un œil à ce guide avec des astuces, des tours et des hacks WordPress pratiques.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Olaf
Je n'avais jamais réfléchi au fonctionnement de l'ensemble du processus, et c'est le premier article que je rencontre qui explique ces détails. C'est un peu plus technique, et tout le monde pourrait ne pas l'apprécier, mais j'apprécie que vous ayez créé cette infographie car je n'avais jamais rien vu de tel auparavant. Il était très intéressant pour moi de voir tout le processus étape par étape.
Dennis Muthomi
Cette analyse est incroyablement éclairante !
L'explication étape par étape du processus de chargement a été particulièrement précieuse et la section sur la manière dont WordPress charge et exécute divers fichiers (comme wp-config.php, advanced-cache.php et object-cache.php) m'a vraiment aidé à comprendre pourquoi certaines optimisations fonctionnent comme elles le font.
Moinuddin Waheed
C'est vraiment très intéressant de voir comment les pages se sont chargées en coulisses et ce qui se passe lorsqu'un utilisateur fait une requête.
Vous avez très bien expliqué à l'aide d'infographies.
Cela nous fait nous demander que tant de choses se produisent en un clin d'œil.
C'est si puissant et si stimulant de voir où la technologie nous a menés.
J'apprécie vraiment cet article pour avoir magnifiquement décrit l'aspect des coulisses d'un site Web.
Support WPBeginner
Glad our guide was helpful
Admin
Jiří Vaněk
C'est la première fois que je vois un résumé aussi complet de tout ce qui se passe en arrière-plan avant qu'une page ne soit générée. Je dois admettre que je n'ai trouvé d'informations aussi détaillées nulle part ailleurs. Quand je considère le nombre de processus qui doivent se produire avant qu'une page ne se charge et que WordPress et le serveur gèrent tout en une seconde, c'est fantastique ce que les serveurs et les systèmes d'aujourd'hui peuvent faire.
Dayo Olobayo
Je ne pourrais pas être plus d'accord. Cette infographie est une ressource fantastique pour quiconque souhaite comprendre la magie derrière WordPress. Elle met vraiment en évidence la machinerie complexe qui transforme le code et les données en pages Web dynamiques que nous voyons tous les jours.
MJB
hm – il me manque un peu l'étape 0
donc est-ce une supposition correcte ?
une URL arrive sur mon serveur web hébergé
qui demande disons ma page d'accueil
alors le serveur web démarre l'étape (1) ?
qui s'exécute ensuite jusqu'à l'étape (24)
où WP analyse l'URL entrante pour déterminer les prochaines étapes ?
Support WPBeginner
L'étape 0 peut certainement être un lien URL vers le site, vers l'étape 15 où la page spécifique serait considérée.
Admin
Mike Ross
Qu'en est-il de index.php à la racine ?
Je ne comprends pas... Il existe des guides qui présentent une séquence d'initialisation de WordPress totalement différente.
Support WPBeginner
Index.php serait pour les fichiers du thème, nous couvrons la hiérarchie des thèmes dans notre guide ci-dessous :
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Admin
Mike Ross
Non, je ne parle pas du modèle de page d'accueil du thème. Je parle de index.php à la racine, qui fait partie du cœur de WordPress. Il déclenche wp-blog-header.php, qui charge ensuite wp-load.php qui configure tout l'environnement WordPress.
Support WPBeginner
The index.php in the root folder tells WordPress to load your theme
Admin
Terry Woods
C'est exact
Jason
Pourquoi commencer par wp-config.php ? Je pensais que c'était à partir de index.php
Support WPBeginner
Ce serait pour les thèmes et pas pour WordPress lui-même, pour index.php vous voudriez jeter un œil à la hiérarchie des modèles dans notre guide ci-dessous :
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Admin
Petru Ciucur
C'est L'ARTICLE. Merci !
Support WPBeginner
Glad our guide was helpful
Admin
Juan Johnson
Salut wpbeginner.
J'ai remarqué que dans votre séquence, vous avez mentionné que wp fait ceci puis cela. Physiquement, où se trouve l'instance de wp() ? Sur le serveur ? Cela se produit-il entre une requête initiale de chargement de page post lorsque j'utilise le navigateur Google et le chargement final du tableau de bord wp après la connexion ?
Support WPBeginner
Vous voudrez peut-être jeter un autre coup d'œil à l'infographie pour comprendre le chargement et son fonctionnement.
Admin
Juan Johnson
Je suis programmeur. Je m'intéresse de plus en plus à la conception de pages web, cependant, je ne peux pas me résoudre à ne pas vouloir savoir ce qui se passe en coulisses. Votre article m'a donné une base pour commencer à construire des pages web en toute confiance.
Support WPBeginner
Glad our guide was helpful
Admin
Paul McDevitt
C'est génial. J'ai rencontré plusieurs problèmes avec des plugins anciens et expirés, la mise à jour de PHP, etc., et un virus (probablement à cause des éléments précédents). Donc tout est verrouillé et nettoyé maintenant, mais je voulais mieux comprendre la séquence des événements car regarder un seul fichier PHP, c'est comme essayer de lire un bol de spaghettis, car je ne comprenais pas la séquence des activités. Donc absolument incroyable. J'adore ça.
Merci
Support WPBeginner
Glad our article was helpful
Admin
Naresh
article très clair.
Support WPBeginner
Thank you
Admin
Chinenye
Je veux vraiment savoir ce que fait WordPress, comment puis-je créer et partager des articles via WordPress ? Qu'est-ce que cela m'apporte en dehors de la création d'un site ?
Support WPBeginner
WordPress vous permet de créer un site sans avoir besoin de connaître le HTML et le CSS. Pour partager vos articles, vous voudrez normalement jeter un œil aux plugins de médias sociaux : https://www.wpbeginner.com/plugins/best-social-media-plugins-for-wordpress/
Admin
ganesh
très intéressant
Adrian
Intéressant mais pas vraiment une définition du fonctionnement de Wordpress. Ceci décrit ce qu'il fait, pas comment il le fait. Il serait utile de savoir aussi comment il fait les choses ainsi que ce qu'il fait. Par exemple, comment sait-il quel thème charger ? Sans le comment, tout ce qui précède est très général.
amir saleem
17. Charger le fichier functions.php du thème enfant
Le fichier functions.php agit comme un plugin et est utilisé dans les thèmes WordPress pour ajouter des fonctionnalités spécifiques au thème à votre site Web. Si vous utilisez un thème enfant, WordPress chargera maintenant le fichier functions.php de votre thème enfant.
Sinon, il chargera le fichier functions.php de votre thème actif actuel.
18. Charger le fichier functions.php du thème parent
[ Si vous utilisez un thème enfant ], alors WordPress chargera maintenant le fichier functions.php de votre thème parent.
vérifiez le texte entre crochets et faites correspondre toute la formulation ici sera remplacée [ si vous utilisez un thème parent ].
Merci.
Caleb
Amir, je pense que ce que l'OP essaie de dire, c'est que s'il y a un thème enfant, alors évidemment il y aurait un functions.php parent et enfant, et WordPress charge d'abord le functions.php du thème enfant avant de charger celui du parent. Sinon, il charge directement le functions.php du parent.
Altab Hossen
Merci pour cette belle explication et les infographies sont super cool !!
Kristian
Et les gens s'étonnent que les sites WordPress soient lents. Il fait tout cela à l'exécution pour chaque vue de page !
Johnpaul Onwueme
Merci pour les infographies
deborah
cela me semble toujours compliqué, mais toute la technologie l'est
Jason
Seriez-vous prêt à proposer ceci sous forme d'affiche imprimée ? Je ne sais pas si cela susciterait beaucoup d'intérêt ou vous rapporterait de l'argent, mais comme c'est un si beau graphisme, cela pourrait faire un bel accrochage mural de bureau.
anis
Merci pour cet article. Je voulais connaître depuis longtemps
les différentes étapes pour le chargement.
Qu'est-ce qu'une couche d'abstraction de base de données et comment la configurer ?