Un contrat d’assurance ressemble-t-il vraiment à un produit e-commerce classique ? Sur le plan de la personnalisation, oui, assez pour qu’une mutuelle choisisse de construire sa souscription en ligne avec l’extension officielle WooCommerce Product Add-ons plutôt qu’avec un développement sur mesure. Le contrat de base, avec ses garanties minimales, devient un produit WooCommerce simple ; les options de garantie complémentaires, elles, deviennent des champs additionnels configurés sur ce même produit.
Structurer le contrat de base comme un produit simple, pas variable
La tentation initiale consiste souvent à modéliser chaque combinaison de garanties comme une variation de produit, ce qui devient vite ingérable dès que le nombre d’options dépasse deux ou trois, la combinatoire explosant rapidement. WooCommerce Product Add-ons évite ce piège : le contrat reste un produit simple unique, et chaque option de garantie s’ajoute comme un champ complémentaire, avec son propre ajustement de prix, sans jamais multiplier les références produit en arrière-plan.
Configurer les quatre options de garantie disponibles
Sur la fiche du contrat de base, l’onglet Product Add-ons permet d’ajouter un groupe de champs de type case à cocher, chacun associé à un supplément de cotisation mensuelle exprimé en euros. Les quatre options retenues pour cette mutuelle couvrent des besoins clairement distincts, ce qui simplifie la présentation à l’adhérent au moment de la souscription :
- Garantie optique renforcée : supplément fixe mensuel, case à cocher indépendante.
- Garantie dentaire renforcée : supplément fixe mensuel, également indépendante.
- Garantie médecine douce : supplément calculé selon le nombre de séances annuelles choisies, champ de type liste déroulante avec un supplément différent par palier.
- Garantie hospitalisation confort : supplément fixe, mais réservé aux adhérents ayant déjà coché la garantie dentaire renforcée, une contrainte gérée par un champ conditionnel.

Gérer la dépendance entre options avec un champ conditionnel
La quatrième option illustre une contrainte fréquente en assurance : certaines garanties ne sont proposées qu’en complément d’une autre, jamais isolément. WooCommerce Product Add-ons ne propose pas nativement de logique conditionnelle entre champs distincts, ce qui impose un ajustement JavaScript léger côté navigateur, masquant ou affichant l’option hospitalisation confort selon l’état de la case dentaire renforcée :
document.addEventListener( 'change', function( evenement ) {
if ( evenement.target.name === 'addon-garantie-dentaire-renforcee' ) {
var optionHospi = document.querySelector( '[data-addon-name="garantie-hospitalisation-confort"]' );
optionHospi.style.display = evenement.target.checked ? 'block' : 'none';
}
} );
Ce script agit uniquement sur l’affichage : la validation réelle de la cohérence entre les deux garanties doit être doublée côté serveur, sur le hook woocommerce_add_to_cart_validation, pour empêcher toute souscription incohérente même si le client contourne l’interface visuelle.
Le prix affiché doit rester lisible malgré l’empilement d’options
Product Add-ons recalcule automatiquement le prix total affiché à chaque coche ou sélection, ce qui fonctionne bien nativement. Le vrai travail de conception porte sur la lisibilité : un adhérent qui coche quatre options doit voir clairement le détail de chaque supplément, pas seulement un total agrégé difficile à décomposer a posteriori. Un récapitulatif détaillé, ligne par ligne, affiché juste avant le bouton d’ajout au panier, réduit nettement les questions du service client après souscription.
Ce que cette configuration ne remplace pas
Ce montage gère la présentation commerciale des options et leur tarification affichée, mais ne remplace en rien le calcul actuariel qui détermine ces montants en amont, réalisé par les équipes techniques de la mutuelle selon leurs propres modèles de risque. WooCommerce Product Add-ons reste un outil de présentation et de collecte de choix, pas un moteur de tarification actuarielle.
En résumé
Vendre des garanties à la carte sur un contrat de base fonctionne bien avec WooCommerce Product Add-ons, à condition de garder le produit principal simple et de traiter chaque option comme un champ complémentaire plutôt que comme une variation. Le seul point qui sort du cadre natif de l’extension concerne les dépendances entre options, qui nécessitent un ajustement JavaScript côté affichage et une validation serveur pour rester réellement fiables.