Leçon 2 / 10
Leçon 02 · ~20 min · Partie 1 — Les fondations

Structure des fichiers

Le minimum absolu

WordPress n'a besoin que de deux fichiers pour reconnaître un thème valide :

  • style.css — contient les métadonnées du thème (nom, version, auteur…)
  • index.php — le template de fallback, affiché si aucun autre template ne correspond

Avec seulement ces deux fichiers, WordPress affiche ton thème dans la liste des thèmes disponibles. C'est peu, mais c'est suffisant pour démarrer.

Créer le dossier du thème

Dans LocalWP, navigue vers le dossier de ton site → Go to site folderapp/public/wp-content/themes/.

Crée un dossier montheme. Nom sans espaces, en minuscules. C'est le slug de ton thème — il ne doit jamais changer une fois en production.

💡

Ouvre ce dossier dans VS Code : Fichier → Ouvrir le dossier → sélectionne themes/montheme. Tu travailleras depuis VS Code pour tout le module.

Structure complète d'un thème classique

Voici les fichiers que l'on va créer au fil du module :

montheme/
├── style.css ← obligatoire · métadonnées + CSS
├── index.php ← obligatoire · template de fallback
├── functions.php ← configuration du thème
├── header.php ← entête HTML (nav, <head>)
├── footer.php ← pied de page
├── sidebar.php ← colonne latérale
├── page.php ← template des pages statiques
├── single.php ← template d'un article
├── archive.php ← liste d'articles (catégorie, tag…)
├── 404.php ← page non trouvée
├── screenshot.png ← aperçu dans l'admin (880×660 px)
└── assets/
├── css/main.css ← tes styles (chargés via functions.php)
└── js/main.js ← tes scripts

Les fichiers en vert (requis) sont obligatoires. Les autres sont optionnels mais attendus par WordPress pour des usages précis.

Rôle de chaque fichier

index.php

C'est le template de dernier recours. Si WordPress cherche un template pour une page et ne trouve rien d'autre, il utilise index.php. En pratique, il affiche la liste des articles récents.

functions.php

Chargé automatiquement par WordPress au démarrage. C'est ici qu'on enregistre les styles, les scripts, les menus, les sidebars et les options du thème. Pense à lui comme au main.php de ton thème.

header.php et footer.php

Inclus dans tous les autres templates via get_header() et get_footer(). Ils contiennent respectivement l'en-tête HTML (<head>, navigation) et le pied de page.

page.php vs single.php

page.php affiche les pages statiques (ex. "À propos", "Contact"). single.php affiche les articles de blog. Deux templates distincts car le contenu et la mise en page peuvent différer.

archive.php

Affiché pour les pages de liste : catégorie, tag, auteur, date. Si absent, WordPress utilise index.php.

Créer les fichiers vides

Pour l'instant, crée juste les fichiers — on les remplit dans les leçons suivantes :

Terminal (dans le dossier montheme)
# macOS / Linux
touch style.css index.php functions.php header.php footer.php sidebar.php page.php single.php

# Windows PowerShell
New-Item style.css, index.php, functions.php, header.php, footer.php, sidebar.php, page.php, single.php

Ou crée-les directement dans VS Code avec le menu "Nouveau fichier".

WordPress détecte automatiquement les nouveaux fichiers dans le dossier du thème. Pas besoin de "déclarer" chaque template quelque part — la convention de nommage suffit.

// à retenir
  • Minimum obligatoire : style.css + index.php
  • Le thème est un dossier dans wp-content/themes/ — nom en minuscules sans espaces
  • functions.php = le fichier de config du thème, chargé automatiquement
  • page.php = pages statiques · single.php = articles
  • La convention de nommage suffit — pas besoin de déclarer les templates