Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment WordPress fonctionne en coulisses (Infographie)

Note éditoriale : Nous percevons une commission sur les liens des partenaires sur WPBeginner. Les commissions n'affectent pas les opinions ou les évaluations de nos rédacteurs. En savoir plus sur Processus éditorial.

Vous êtes-vous déjà demandé comment WordPress fonctionne en coulisses ?

Pour un utilisateur/utilisatrice typique, cela semble simple car vous tapez une URL et une page se charge en quelques secondes, mais il se passe beaucoup de choses en coulisses.

Dans ce guide, nous allons vous expliquer comment WordPress fonctionne en coulisses, et nous avons également créé une infographie facile à suivre.

How WordPress Works Behind the Scenes

Qu’est-ce que WordPress ?

WordPress est un constructeur de sites web et un système de gestion de contenu. Il s’agit d’un logiciel libre que tout le monde peut utiliser pour créer tous les types de sites imaginables.

Version 2003 d’une plateforme de blogs, il s’est rapidement transformé en CMS, puis ultérieurement en une plateforme de création de sites web à part entière. Aujourd’hui, il alimente plus de 43 % de tous les sites sur l’internet.

Pour en savoir plus sur son évolution, son histoire et ses avantages et inconvénients, vous pouvez consulter notre guide complet sur ce qu’est WordPress, et combien coûte la création d’un site WordPress.

Pourquoi apprendre le fonctionnement de WordPress ?

WordPress est un logiciel libre, ce qui signifie que tout le monde peut étudier son code et écrire ses propres applications (extensions) et modèles (thèmes).

Apprendre le fonctionnement de WordPress et ce qui se passe en coulisses peut vous aider à comprendre ce que vous pouvez faire avec.

Vous pouvez apprendre à améliorer les performances de WordPress et à écrire un meilleur code pour vos projets.

Ce guide vous guidera tout au long du processus, étape par étape. Nous commencerons lorsqu’un utilisateur/utilisatrice demande une page et nous terminerons lorsque cette page sera entièrement chargée.

Vous êtes prêts ? Premiers pas.

Click to View the Behind the Scenes WordPress Infographic

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. C’est le premier fichier que WordPress charge pour des raisons évidentes.

En savoir plus sur le fichier wp-config.php et comment le modifier.

2. Configurer les constantes par défaut

Après avoir chargé le fichier wp-config.php, WordPress va définir les constantes par défaut.

Il s’agit d’informations telles que l’emplacement par défaut du téléversement WordPress, la taille maximale des fichiers 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 dépôt et est utilisé par plusieurs extensions populaires, en particulier les extensions de mise en cache de WordPress. Si votre site utilise ce fichier, vous verrez un nouvel article sur l’écran des extensions appelé Avancées.

advanced-cache.php file appearing as drop-in

4. Charger le fichier wp-content/db.php

WordPress permet aux développeurs/développeuses 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 extensions de mise en cache de WordPress l’utilisent couramment pour améliorer les performances de la base de données.

Si ce fichier est présent sur votre site, WordPress le chargera.

5. Connecter MySQL et sélectionner la base de données

WordPress dispose maintenant de suffisamment d’informations pour continuer. Il va se connecter au serveur MySQL et sélectionner la base de données.

Si WordPress ne peut pas se connecter à la base de données, vous consulterez cette erreur « Error establishing database connection » (erreur dans l’établissement de la connexion à la base de données), et WordPress s’arrêtera ici.

Si tout se passe bien, il passera aux étapes suivantes.

6. Charger le fichier object-cache.PHP ou wp-includes/cache.php

WordPress va maintenant rechercher 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 va maintenant charger 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 l’utilisation de WordPress dans d’autres langues.

9. Charger les extensions multisites

S’il s’agit d’un réseau multisite, alors WordPress chargera les extensions multisite. En savoir plus sur le fonctionnement des extensions sur le réseau multisite de WordPress.

Network activated plugins

10. Faire l’action « muplugins_loaded

L’action muplugins_loaded est désormais exécutée par WordPress. Cette action est uniquement disponible pour les extensions activées par le réseau sur un multisite WordPress.

11. Charger les extensions activées

WordPress va maintenant charger toutes les extensions activées sur le site. Pour ce faire, il consulte l’entrée active_plugins dans la table des options de votre base de données WordPress. Cela permet à WordPress d’ignorer les extensions installées sur votre site mais non activées.

12. Charger le fichier pluggable.php

Le fichier pluggable.php contient des fonctions qui peuvent être redéfinies par les extensions WordPress.

WordPress va maintenant voir si une autre extension définit déjà les fonctions à l’intérieur de ce fichier. Dans le cas contraire, il définira lui-même ces fonctions.

13. Faire l’action « plugins_loaded

WordPress va maintenant exécuter l’action ‘plugins_loaded’.

Elle permet aux développeurs/développeuses de crocheter leurs fonctions pour qu’elles s’exécutent après le chargement de toutes les extensions actives.

14. Règles de réécriture des charges

WordPress va maintenant charger les règles de réécriture. Ces règles de réécriture aident WordPress à utiliser des URL favorables au référencement.

15. Instanciation de $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 une requête typique de WordPress.

$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 des fonctions qui analyseront votre demande et exécuteront la requête principale.

16. Faire l’action « setup_theme

WordPress va maintenant exécuter l’action « setup_theme ». Cette action s’exécute avant que votre thème WordPress ne soit chargé.

17. Charger le fichier functions.php du thème enfant

Le fichier functions.php agit comme une extension et est utilisé dans les thèmes WordPress pour ajouter des fonctionnalités spécifiques au thème à votre site. Si vous utilisez un thème enfant, WordPress va maintenant charger le fichier functions.php de votre thème enfant.

Sinon, il chargera le fichier functions.php de votre thème actif.

18. Charger le fichier functions.php du thème parent

Si vous utilisez un thème enfant, WordPress va maintenant charger le fichier functions.php de votre thème parent.

19. Faire l’action « after_setup_theme » (après l’installation du thème)

Cette action s’exécute une fois 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. Configuration de l’objet utilisateur/utilisatrices actuel(le)

À ce stade, WordPress charge l’objet utilisateur/utilisatrices actuel. Celui-ci permet à WordPress de gérer la demande en fonction du rôle et des permissions de l’utilisateur.

21. Faire l’action « init

WordPress a jusqu’à présent chargé toutes les informations cruciales dont il a besoin. Il lance maintenant l’action « init ». Cette action inscrit également les blocs disponibles dans le cœur ou fournis par les extensions installées sur le site.

Cette action permet aux développeurs/développeuses d’ajouter du code qui doit être exécuté après que WordPress a chargé toutes les informations mentionnées précédemment.

22. Faire l’action « widget_init

L’action widget_init permet aux développeurs/développeuses d’inscrire les 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 est Emplacée dans le fichier wp-includes/functions.php. Elle configure les globaux de requête de WordPress $wp, $wp_query, $wp_the_query, et appelle ensuite $wp->main.

24. Demande d’analyse

WordPress dispose maintenant de toutes les informations nécessaires pour analyser la demande de l’utilisateur. Il commence par vérifier que les règles de réécriture correspondent à la demande de l’utilisateur.

Puis il exécute des filtres de variables de requête, demande un crochet d’action et envoie une demande d’en-tête.

25. Exécuter une requête

Si aucun contenu ne correspond à la requête, WordPress définit la variable is_404.

Dans le cas contraire, WordPress chargera les variables de la requête.

Il exécutera alors WP_Query->get_posts().

Ensuite, il lance 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.

Il récupère maintenant les publications dans la base de données et applique les filtres posts_results et the_posts.

La partie requête se termine par le renvoi des publications par WordPress.

26. Faire l’action « template_redirect

WordPress va maintenant exécuter l’action template_redirect. Ce crochet s’exécute juste avant que WordPress ne détermine la page du Modèle à charger.

27. Charger le modèle de flux

Si le contenu demandé est un flux RSS, WordPress charge le modèle de flux.

28. Modèle de chargement

WordPress recherche alors le fichier de modèle en se basant sur la hiérarchie des modèles de WordPress. Il charge ensuite le Modèle, qui contient généralement une boucle WordPress.

29. Faire l’action « shutdown » (fermeture)

Juste avant de mettre fin à l’exécution de PHP, WordPress lance la dernière action appelée shutdown.

WordPress s’arrête ici. Il a exécuté le code et généré la page web demandée par le compte.

Le serveur de votre hébergeur répond à la demande de l’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é à découvrir les coulisses de WordPress. Vous pouvez également consulter notre guide étape par étape sur la façon de booster la vitesse et les performances de WordPress et nos choix d’experts pour les meilleures extensions WordPress pour développer votre site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

32 commentairesLaisser une réponse

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. MJB says

    hm – I am kind of missing step 0

    so is this a correct assumption`?

    a URL comes in at my hosted webserver
    requesting let’S say my home page

    then the webserver fires up step (1) ?
    which then runs until step (24)
    where WP parses the incoming URL to figure out next steps?

    • WPBeginner Support says

      Step 0 can certainly be a URL linking to the site, around step 15 is where the specific page would be considered.

      Administrateur

  3. Mike Ross says

    What about index.php in the root?

    I don’t get it…There are guides out there that lay out a totally different sequence of WordPress initialization.

  4. Juan Johnson says

    HI wpbeginner.
    I noticed that in your sequence, you mentioned that wp does this and then that. Physical, where is the instance of wp()? On the server? Does this happens in between an initial load page post request when I use google browser and the final loading of the wp dashboard after login?

    • WPBeginner Support says

      You may want to take another look at the infographic for understanding the loading and how it works.

      Administrateur

  5. Juan Johnson says

    I am a programmer. I am getting more into the web page design, however, I cannot let go of wanting to know what is going on behind the scenes. You article has given me a foundation to start confidently constructing web pages.

  6. Paul McDevitt says

    This is brilliant. Ran into several issues with old, expired plugins, updating PHP, etc, and a virus (probably because of the prior items.) So all locked down and scrubbed up now, but wanted to understand better the sequence of events as looking into any one PHP file is like trying to read a bowl of spaghetti, as I did not understand the sequencing of the activities. So absolutely amazing. Love this.

    Thanks

  7. Chinenye says

    I want to really know what wordpress does, how can I make and share posts through word press? What does it do for me apart from creating a site?

  8. Adrian says

    Interesting but not really a definition of how WordPress works. This describes what it does, not how it does it. Would be useful to also know how it does things as well as what it does. For example how does it know which theme to load? Without the how all the above is very high level.

  9. amir saleem says

    17. Load Child Theme’s functions.php File

    The functions.php file acts as plugin and is used in WordPress themes to add theme specific features to your website. If you are using a child theme, then WordPress will now load your child theme’s functions.php file.

    Otherwise, it will go on and load your current active theme’s functions.php file.

    18. Load Parent Theme’s functions.php File

    [ If you are using a child theme ], then WordPress will now load your parent theme’s functions.php file.

    check the text in brackets and match all the wording here will be replace [ if you are using a parent theme ].

    Thanks.

    • Caleb says

      Amir, I think what the OP is trying to say is that if there is a child theme, then obviously there would be a parent and child functions.php and wordpress first loads the child themes functions.php before loading the parent’s. Otherwise, it just loads the parent’s functions.php straightaway.

  10. Jason says

    Would you be willing to offer this as a printed poster? I don’t know if it would generate much interest or make you any money, but since it is such a nice graphic it might make a nice office wall hanging.

  11. anis says

    Thank you for this article . I wanted to know since long time
    the different steps for loading .

    What is a database abstraction layer and how to configure it ?

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.