Skip to content

Tout pour WordPress, le développement web — et plus encore

Dans quel langage de programmation WordPress est-il écrit

Dans quel langage de programmation WordPress est-il écrit

Lorsque les gens demandent dans quel langage WordPress est écrit, il y a presque toujours une autre question derrière: «Par où dois-je commencer si je veux le comprendre?» C'est la bonne approche.

Le développement WordPress n'est ni de la magie ni un club réservé aux initiés. C'est un empilement de cinq technologies, dont quatre sont familières à tout développeur front-end. La cinquième, PHP, fait tourner le cœur du système, les thèmes, les extensions et toute la logique côté serveur. Mais vous n'allez pas apprendre «un seul langage». Vous devez comprendre comment elles fonctionnent ensemble et dans quel ordre les apprendre.

💡 Aperçu rapide:

  • Le cœur de WordPress est écrit en PHP. Les données résident dans MySQL. C'est la partie serveur, cachée à l'utilisateur.
  • Dans le navigateur, la page est construite à partir de HTML (structure), CSS (mise en forme) et JavaScript (interactivité): trois technologies front-end.
  • Apprenez la pile dans cet ordre: HTML, puis CSS, puis PHP, puis JavaScript, puis SQL. Du plus simple au plus complexe.

PHP, le moteur de WordPress

Le cœur de WordPress se compose de dizaines de milliers de lignes de code PHP. Lorsqu'un navigateur demande une page, le serveur exécute les scripts PHP, récupère les données de la base, les passe à travers les templates du thème et renvoie du HTML prêt à l'emploi. L'utilisateur ne voit jamais le code PHP; il reçoit la page déjà assemblée.

Exemple de code PHP avec variables et logique conditionnelle

PHP dans WordPress fonctionne comme un chef d'orchestre: il «orchestre» le HTML, appelle les fonctions de base de données, insère les paramètres de l'administration et assemble la page finale. Tout template de thème est un fichier PHP avec du HTML intégré. Toute extension est un fichier PHP qui se connecte au cœur via add_action et add_filter.

Sans PHP, WordPress ne fonctionne tout simplement pas. La réponse à la question du titre est donc claire: WordPress est écrit en PHP. Mais ce n'est pas le seul langage dont un développeur a besoin.

HTML, le squelette de chaque page

HTML n'est pas un langage de programmation; c'est un langage de balisage. Il ne «calcule» pas; il décrit la structure: où se trouve le titre, où se trouve le paragraphe, où se trouve l'image, où se trouve le bouton. Le navigateur lit le balisage HTML et le transforme en une page visible.

Dans WordPress, le HTML n'est pas stocké sous forme de fichiers séparés. Les templates de thème sont écrits en PHP, mais ils produisent du HTML. Lorsque vous modifiez une page dans Gutenberg, l'éditeur enregistre le contenu dans la base de données, mais les visiteurs reçoivent toujours du HTML.

1<html>
2 <head>
3 <meta charset="UTF-8" />
4 <title>Page title in search</title>
5 </head>
6 <body>
7 <h1>Page heading</h1>
8 <p class="intro">Introduction paragraph text</p>
9 </body>
10</html>

La caractéristique clé du HTML, ce sont les balises. Chaque balise a son rôle. <h1> est un titre de premier niveau. <p> est un paragraphe. <a> est un lien. Une balise fermante avec une barre oblique (</h1>) indique où l'élément se termine. Certaines balises, comme <meta> ou <img>, sont auto-fermantes: elles n'ont pas besoin de paire.

Les balises HTML peuvent avoir des classes: class="intro" dans l'exemple ci-dessus. Une classe est un «point d'ancrage» pour le CSS. Le navigateur trouve tous les éléments avec cette classe et applique les styles du fichier CSS.

En bref: le HTML définit ce que l'utilisateur voit sur la page. Mais l'apparence est déterminée par le CSS.

CSS, l'habillage d'un site web

CSS signifie Cascading Style Sheets (feuilles de style en cascade). Si le HTML donne la structure à la page, le CSS lui donne les couleurs, les polices, les espacements, le positionnement des blocs et l'adaptation mobile.

Code CSS avec règles pour classes HTML

Sans CSS, tout site web ressemble à une feuille blanche avec du texte noir et des liens bleus. Les styles de titres, les grilles de colonnes, les animations, les ombres, les coins arrondis: tout cela, c'est du CSS.

Dans WordPress, le CSS réside dans les fichiers du thème (généralement style.css). Chaque thème doit avoir ce fichier; sans lui, WordPress ne reconnaît pas le thème. Les extensions peuvent aussi charger leurs propres fichiers CSS via le mécanisme wp_enqueue_style().

1.intro {
2 color: #325050;
3 background: #fff;
4 font-family: 'Libre Baskerville', serif;
5 font-size: 0.85rem;
6 line-height: 1.6;
7}

Le point devant .intro signifie: «applique ces styles à TOUS les éléments avec la classe intro». C'est la cascade: une classe, de nombreux éléments sur différentes pages. Modifiez la règle à un seul endroit, et tout le site se met à jour.

Pour le développement WordPress moderne, vous devez connaître non seulement le CSS de base mais aussi les mises en page responsives utilisant les media queries. Les thèmes sans adaptation mobile ne survivent pas aujourd'hui; Google classe les sites en adoptant une approche mobile-first.

JavaScript, le comportement de la page

JavaScript est le seul des cinq dont WordPress peut techniquement se passer. Un thème peut fonctionner pleinement sans une seule ligne de JS. Mais en pratique, aucun site moderne ne s'en passe.

JavaScript gère ce qui se passe après le chargement de la page: menus déroulants, fenêtres modales, chargement différé des images, validation de formulaire avant envoi, changement de thème sans rechargement. Tout ce qui répond aux actions de l'utilisateur (clic, défilement, saisie de texte) repose sur JS.

1(function($) {
2 var navMenu = '.primary-navigation';
3 var pageContent = '.main-content';
4 var gap = parseInt($('html').css('font-size'), 10) * 2;
5
6 function setPageMin() {
7 var height = $(navMenu).height();
8 $(pageContent).css('min-height', height + gap);
9 }
10
11 $(window).on('load', function() {
12 setPageMin();
13 $(window).on('resize', function() {
14 setTimeout(setPageMin, 120);
15 });
16 });
17})(jQuery);

Cet exemple jQuery montre une tâche typique: calculer la hauteur de la navigation et définir une hauteur minimale pour la zone de contenu afin que la page ne «saute» pas. Le code s'exécute au chargement et à chaque redimensionnement de la fenêtre.

Mais l'impact le plus important de JavaScript sur WordPress est venu avec Gutenberg, l'éditeur de blocs écrit en React. Toute l'interface d'édition des articles, tous les blocs (paragraphe, titre, galerie, colonnes), est une application JavaScript qui s'exécute dans l'administration WordPress.

C'est pourquoi aujourd'hui, un développeur WordPress qui ignore totalement JavaScript est assez limité. Vous pouvez construire un thème, mais vous ne pouvez pas écrire de blocs Gutenberg personnalisés sans JS.

SQL et MySQL, là où résident les données

Articles, pages, réglages, utilisateurs, commentaires, champs meta: tout le contenu WordPress est stocké dans une base de données MySQL (ou MariaDB). PHP communique avec la base via des requêtes SQL, mais les développeurs ont rarement besoin d'écrire du SQL «brut».

WordPress fournit sa propre couche d'abstraction, la classe wpdb. Les appels comme get_posts(), update_post_meta() et WP_Query contiennent déjà des requêtes SQL prêtes à l'emploi en interne. Cela protège contre les erreurs courantes et l'injection SQL, tant que vous utilisez les méthodes natives plutôt que d'écrire des requêtes manuelles.

Néanmoins, comprendre SQL est utile: lorsqu'un projet atteint des dizaines de milliers d'articles et que les requêtes commencent à ralentir, la capacité de lire un EXPLAIN et de trouver un index manquant est inestimable.

Comment un thème WordPress est structuré

Un thème WordPress n'est pas un monolithe. C'est un ensemble de fichiers PHP, chacun responsable d'un type de page différent. index.php gère la page d'accueil et tout le reste par défaut. single.php gère les articles individuels. page.php gère les pages statiques. archive.php gère les archives de catégories. WordPress sélectionne automatiquement le bon template selon une hiérarchie appelée Template Hierarchy.

À l'intérieur de chaque template: des fonctions PHP standard du cœur de WordPress. the_title() affiche le titre. the_content() affiche le corps de l'article. wp_nav_menu() affiche le menu. La liste complète est disponible dans la documentation WordPress. HTML et PHP sont mélangés dans les thèmes: ouvrez <?php, appelez une fonction, fermez ?>, continuez avec du HTML. Ce n'est pas une architecture idéale selon les standards modernes, mais elle fait tourner plus de 40% des sites web dans le monde.

Pour créer un thème, vous devez connaître PHP, HTML et CSS au minimum. JavaScript est optionnel mais utile pour les éléments interactifs (menu mobile, onglets, accordéons).

Comment une extension WordPress est structurée

Une extension est un fichier PHP (au moins un) avec un en-tête de commentaire spécial au début. Dans ce commentaire, WordPress lit le nom, la version et l'auteur: tout ce que vous voyez dans l'administration sur la page des extensions.

Une extension interagit avec le cœur via des hooks. Il en existe deux types:

  • Actions (add_action) exécutent du code à des moments précis: au chargement d'une page, à la sauvegarde d'un article, à l'activation d'une extension.
  • Filtres (add_filter) interceptent et modifient des données: changer un texte, ajouter une classe CSS, remplacer une URL.

L'extension la plus simple tient littéralement en quelques lignes:

1<?php
2/**
3 * Plugin Name: Greeting Plugin
4 * Description: Adds a greeting at the end of every post.
5 * Version: 1.0
6 */
7
8function my_greeting($content) {
9 if (is_single()) {
10 $content .= '<p>Thank you for reading our blog!</p>';
11 }
12 return $content;
13}
14add_filter('the_content', 'my_greeting');

Vous voyez add_filter? C'est exactement ainsi que les extensions WordPress étendent les fonctionnalités: non pas en modifiant le cœur (ce qui est strictement interdit) mais en interceptant les données via des hooks. C'est pourquoi les mises à jour de WordPress ne cassent pas le code personnalisé, tant que le développeur a utilisé l'API officielle au lieu de modifier les fichiers du cœur.

WordPress et Node.js: aucun remplacement en vue

Les rumeurs selon lesquelles WordPress «passe à Node.js» circulent depuis 2015, lorsque Calypso est apparu. Calypso est une interface d'administration de bureau pour WordPress.com, écrite en Node.js et React. Puis est arrivé Gutenberg, également en React. JavaScript est devenu plus visible, et certains en ont conclu que PHP était en sursis.

Ce n'est pas vrai. La position officielle de WordPress est inchangée: le cœur reste en PHP. Personne ne prévoit de réécrire une base de code vieille de 20 ans en Node.js; cela n'aurait aucun sens et casserait la rétrocompatibilité avec des milliers de thèmes et d'extensions.

Ce qui s'est réellement passé: WordPress est devenu une plateforme hybride. Backend: PHP et MySQL. Front-end d'administration: JavaScript (React). Site public: HTML, CSS et un peu de JS. L'API REST, intégrée au cœur depuis la version 4.7, permet aux applications JavaScript de communiquer avec WordPress sans rechargement de page. Cela a ouvert la porte aux solutions headless, où WordPress fonctionne comme un backend CMS headless tandis que le front-end est construit avec Next.js ou Gatsby.

En résumé: apprendre Node.js et React pour le travail avec WordPress est utile, mais pas à la place de PHP. Apprenez-les en parallèle de PHP.

Par où commencer pour apprendre WordPress

Le parcours d'apprentissage va du simple au complexe, de ce que l'utilisateur voit dans le navigateur à ce qui se passe sur le serveur.

Étape 1: HTML. Sans comprendre les balises, les attributs et la structure du document, il est inutile d'aller plus loin. HTML est l'alphabet du web. Heureusement, les bases peuvent s'apprendre en une semaine.

Étape 2: CSS. Une fois que la page a une structure, elle a besoin de style. Apprenez le modèle de boîte, le positionnement, flexbox, grid et les media queries. Sans mises en page responsives, vous ne pouvez pas construire un thème WordPress.

Étape 3: PHP. Maintenant, la partie la plus importante. Apprenez PHP dans le contexte WordPress: comment fonctionnent les fonctions du cœur, ce qu'est la boucle WP_Query, comment la hiérarchie des templates est structurée. Une base de «PHP en général» est nécessaire comme fondation, mais concentrez-vous sur ce que vous rencontrerez réellement dans les thèmes et les extensions.

Étape 4: JavaScript. Commencez simplement: jQuery pour la manipulation du DOM et la gestion des événements. Ensuite, JavaScript moderne (ES6+), puis React pour les blocs Gutenberg personnalisés.

Étape 5: SQL. N'écrivez pas de requêtes manuellement sauf en cas d'absolue nécessité, mais soyez capable de lire et de comprendre ce qui se passe sous le capot de WP_Query. Sur les grands projets, cela vous fera gagner des heures de débogage.

L'ordre est important. Si vous commencez par JavaScript en ignorant PHP, vous pourrez écrire des blocs Gutenberg mais pas construire un thème. Si vous commencez par PHP sans HTML/CSS, vous aurez du code côté serveur mais rien à montrer à l'utilisateur. Suivez le parcours, et en quelques mois vous serez capable de construire un thème complet de A à Z.

⁉️🤔 Questions fréquentes

Dois-je connaître les cinq langages pour créer un thème WordPress?

Pour construire un thème simple, PHP, HTML et CSS suffisent. JavaScript est nécessaire pour les éléments interactifs: menu mobile, slider, chargement différé. SQL n'est pas indispensable au début puisque les fonctions natives du cœur masquent les requêtes de base de données. Mais pour les projets complexes et l'optimisation, vous ne pouvez pas vous passer de JS et SQL.

Puis-je devenir développeur WordPress en ne connaissant que JavaScript?

Non. Le cœur, les thèmes et les extensions fonctionnent en PHP. JavaScript est utile pour les blocs Gutenberg et l'interactivité front-end, mais sans PHP vous ne pouvez pas créer même la plus simple des extensions. JavaScript et PHP dans WordPress sont des partenaires, pas des concurrents.

Est-il vrai que WordPress va bientôt passer entièrement à JavaScript?

Non. La position officielle de l'équipe WordPress: le cœur reste en PHP. JavaScript étend les capacités (Gutenberg, API REST) mais ne remplace pas PHP côté serveur. Des inquiétudes sont apparues en raison de la présence croissante de React dans l'administration, mais c'est une évolution, pas un remplacement de la plateforme.

Combien de temps faut-il pour apprendre le développement WordPress à partir de zéro?

Avec une approche séquentielle (HTML → CSS → PHP → JS → SQL) et une pratique quotidienne, comptez 4 à 8 mois pour atteindre le niveau où vous pouvez construire avec confiance un thème personnalisé et une extension simple. Les deux premières semaines sont consacrées uniquement à HTML et CSS. Ensuite, PHP occupera la majeure partie de votre temps car tout en dépend.

Dois-je apprendre jQuery, ou puis-je passer directement à React?

jQuery est encore utilisé dans la plupart des thèmes WordPress et est intégré au cœur; le connaître aide lors de la maintenance de projets existants. Mais pour les nouveaux développements (en particulier les blocs Gutenberg), apprenez React. Commencez par JavaScript moderne (ES6+), puis React: c'est la voie la plus pérenne.

Est-ce que cela vaut la peine d'apprendre WordPress en 2026

Réponse courte: oui. WordPress fait tourner plus de 43% de tous les sites web dans le monde, et ce chiffre est resté stable dans la fourchette de 43 à 44% ces dernières années. La demande pour des développeurs qui comprennent plus que «cliquer sur le bouton installer un thème» et peuvent écrire des fonctionnalités personnalisées en PHP reste constamment élevée.

La clé est le bon ordre. HTML et CSS vous donnent une fondation en quelques semaines. PHP ouvre l'accès au cœur, aux hooks et aux extensions. JavaScript ajoute l'interactivité et le potentiel de croissance (Gutenberg, headless, React). SQL complète le tableau au niveau de la base de données.

Commencez par la première étape, et dans six mois vous verrez WordPress non pas comme un «constructeur de sites» mais comme une plateforme puissante que vous contrôlez à tous les niveaux, de la balise HTML à l'index SQL.