# Mutualiser un gabarit de simulation d’assurance entre plusieurs agences

> Tutoriel pour enregistrer un template de simulation depuis une extension mutualisée entre plusieurs agences d'assurance, plutôt que de le dupliquer dans le code de chaque thème.

- Auteur : Clément Hadrot
- Publié le : 2026-04-06
- Mis à jour le : 2026-04-06
- Catégorie : FSE
- URL : https://wpmoderne.dev.wordpress-developpement.fr/fse/mutualiser-gabarit-simulation-assurance-agences/

## L’essentiel

- Un template enregistré par une extension
- Chaque agence garde son thème propre
- Une seule mise à jour pour toutes les agences

Neuf agences d'assurance indépendantes, chacune avec son propre thème bloc et sa propre identité visuelle, avaient pourtant toutes besoin du même gabarit de simulation de contrat, avec la même structure de formulaire et la même logique d'affichage du résultat. Dupliquer ce template dans le code de chaque thème condamnait la moindre évolution à devoir être répétée neuf fois, avec un risque de divergence à chaque intervention.

Ce tutoriel construit, étape par étape, une extension mutualisée qui enregistre ce gabarit de simulation une seule fois, réutilisable par n'importe lequel des neuf thèmes sans jamais copier son code source.

## Étape 1 : créer l'extension mutualisée

L'extension, nommée `simulation-partagee`, contient un dossier `templates/` avec un unique fichier `simulation-contrat.html`, écrit une seule fois avec la structure de blocs attendue pour le formulaire de simulation.

```
simulation-partagee/
├── simulation-partagee.php
└── templates/
    └── simulation-contrat.html
```

## Étape 2 : enregistrer le template depuis l'extension

La fonction `register_block_template()`, disponible depuis WordPress 6.7, permet précisément d'enregistrer un template depuis le code d'une extension, indépendamment du thème actif, ce qui correspond exactement au besoin ici.

> L'essentiel à retenir : Un template enregistré par une extension ; Chaque agence garde son thème propre ; Une seule mise à jour pour toutes les agences

```
add_action( 'init', function() {
    if ( ! function_exists( 'register_block_template' ) ) {
        return;
    }

    register_block_template( 'simulation-partagee//simulation-contrat', array(
        'title'       => 'Simulation de contrat',
        'description' => 'Gabarit mutualisé de simulation entre agences',
        'content'     => file_get_contents(
            plugin_dir_path( __FILE__ ) . 'templates/simulation-contrat.html'
        ),
    ) );
} );
```

## Étape 3 : associer le template à une page dans chaque agence

Depuis l'écran d'édition d'une page, chaque agence sélectionne le template « Simulation de contrat » dans la liste des modèles disponibles, exactement comme s'il provenait de son propre thème. Aucune modification du thème local n'est nécessaire pour que ce template apparaisse dans la liste des choix.

1. Installer l'extension `simulation-partagee` sur le site de l'agence concernée.
2. Créer ou éditer la page de simulation depuis l'administration habituelle.
3. Sélectionner le template mutualisé dans le panneau des réglages de page, section modèle.
4. Vérifier que les couleurs et polices de l'agence s'appliquent correctement, puisque le template hérite des styles globaux du thème actif, pas de ceux de l'extension.

## Ce que cette approche change concrètement

- Une correction du formulaire de simulation, publiée dans une nouvelle version de l'extension, se propage aux neuf agences après une simple mise à jour.
- Chaque agence conserve son thème propre, sa propre identité visuelle et sa propre gestion de contenu éditorial, sans dépendance excessive envers l'extension mutualisée.
- Le code du formulaire de simulation vit à un seul endroit, versionné indépendamment du cycle de vie de chaque thème d'agence.

## Le point de vigilance à ne pas négliger

Le template mutualisé doit rester suffisamment générique pour s'adapter à des thèmes différents, sans supposer la présence de couleurs ou de blocs spécifiques à un seul thème d'agence. Toute personnalisation trop poussée dans le template lui-même réintroduirait la divergence que cette mutualisation cherche justement à éviter.

> Mutualiser un gabarit ne veut pas dire l'uniformiser jusqu'à l'identité visuelle : cela veut dire séparer clairement ce qui est structurel de ce qui appartient à chaque agence.

## Ce qui reste distinct

Les template parts propres à chaque agence, comme l'en-tête ou le pied de page avec ses coordonnées locales, ne relèvent pas de cette mutualisation : ils restent gérés individuellement par chaque thème, sujet traité séparément de ce tutoriel centré sur le seul gabarit de simulation.

## En résumé

Enregistrer un template de simulation depuis une extension mutualisée, plutôt que de le dupliquer dans neuf thèmes distincts, concentre la maintenance en un seul endroit tout en laissant chaque agence libre de son identité visuelle propre. La fonction `register_block_template()` rend cette mutualisation possible sans complexité excessive côté développement.
