Quarante agences, quarante identités visuelles légèrement différentes, mais un seul moteur de rendu à maintenir : c’est le problème d’architecture posé par un réseau national d’agences immobilières, où chaque agence dispose de son propre site tout en partageant la même structure de pages, les mêmes types de contenu pour les biens, et les mêmes gabarits d’affichage.
La solution retenue s’appuie sur un thème parent qui concentre l’intégralité de la logique, et des thèmes enfants réduits au strict minimum : une palette de couleurs, un logo, et parfois une variation mineure de mise en page. Voici comment cette architecture a été pensée pour rester maintenable à cette échelle.
Tout le métier dans le thème parent
Le thème parent porte l’intégralité du code : déclaration du type de contenu bien_immobilier, gabarits d’archive et de fiche détaillée, formulaire de contact, gestion des favoris côté visiteur, intégration avec l’outil de diffusion des annonces utilisé par le réseau. Aucune de ces briques ne varie d’une agence à l’autre.
theme-parent-reseau/
├── functions.php
├── inc/
│ ├── class-cpt-bien.php
│ ├── class-recherche-biens.php
│ └── class-integration-diffuseur.php
├── template-parts/
│ ├── fiche-bien.php
│ └── carte-agence.php
├── style.css
└── index.php

Des thèmes enfants réduits à leur plus simple expression
Chaque agence dispose d’un thème enfant qui ne contient, dans la majorité des cas, qu’un fichier style.css avec l’en-tête Template pointant vers le thème parent, et quelques variables CSS personnalisées pour sa couleur de marque.
/*
Theme Name: Agence Immobilière Centre-Ville
Template: theme-parent-reseau
*/
:root {
--couleur-primaire: #1c4d3e;
--couleur-accent: #c9a35e;
}
Sur les quarante agences du réseau, une trentaine se contentent de ce fichier unique. Une dizaine seulement possède un functions.php propre, pour des besoins ponctuels comme l’affichage d’un bandeau saisonnier spécifique à leur secteur géographique.
Le mécanisme technique : Template plutôt que Template Files
L’en-tête Template dans le style.css du thème enfant est ce qui permet à WordPress de charger les fichiers PHP du thème parent tout en appliquant les styles propres à l’enfant. Sans cette ligne, WordPress traiterait chaque thème d’agence comme un thème indépendant, sans lien avec le parent.
function get_stylesheet_directory_uri_verifiee() {
return get_stylesheet_directory_uri(); // pointe vers l'enfant
// get_template_directory_uri() pointerait vers le parent
}
Cette distinction entre get_stylesheet_directory() (l’enfant) et get_template_directory() (le parent) est systématiquement documentée dans le fichier de démarrage remis à chaque nouvelle agence qui rejoint le réseau, car c’est la confusion la plus fréquente lors des premières personnalisations.
Mettre à jour quarante sites en une seule opération
L’intérêt majeur de cette architecture se révèle lors des mises à jour : un correctif ou une nouvelle fonctionnalité ajoutée au thème parent profite instantanément aux quarante agences, sans qu’aucun thème enfant n’ait besoin d’être modifié. Le déploiement se fait via un dépôt Git central pour le thème parent, synchronisé sur chaque installation par un script de déploiement commun.
- Un seul thème parent versionné, testé une fois avant chaque déploiement réseau.
- Des thèmes enfants qui ne nécessitent quasiment aucune maintenance dans le temps.
- Un risque de régression concentré sur un seul point de test, ce qui impose une rigueur accrue sur les tests avant diffusion.
La limite assumée de cette architecture
Cette organisation suppose que toutes les agences acceptent la même structure de pages et le même comportement fonctionnel. Une agence qui souhaiterait une fonctionnalité radicalement différente (par exemple un configurateur de visite virtuelle propre) sortirait du cadre du thème enfant minimal et nécessiterait un développement spécifique, isolé pour ne pas complexifier le thème parent partagé par les trente-neuf autres agences.
Un thème parent commun ne doit jamais intégrer une fonctionnalité demandée par une seule agence : cela alourdit le socle partagé pour un bénéfice qui ne profite qu’à un site sur quarante. Ces besoins spécifiques vivent dans le thème enfant concerné, jamais dans le parent.
En résumé
Pour un réseau d’agences qui partage l’essentiel de sa logique métier, l’architecture thème parent et thèmes enfants minimaux permet de concentrer l’effort de maintenance sur un seul socle de code, tout en laissant à chaque agence la liberté de personnaliser son identité visuelle sans risque de casser le fonctionnement partagé.