Référence interne · goodassur.com
Catalogue des shortcodes
Tous les composants Blade de goodassur.com, avec quand & comment utiliser chacun. Une seule balise <x-...> suffit. Les widgets « assurance » affichent des données mises à jour en temps réel. Avant d'optimiser un article : filtre par intention, ou pars de la table « Je veux… » ci-dessous.
🧭 Je veux… → quel composant
| Je veux… | Composant(s) |
|---|---|
| une liste à puces (points, critères, situations) | x-icon-list |
| une procédure / des étapes ordonnées | x-numbered-list · x-timeline-steps |
| inclus vs exclu, oui vs non, avantages vs limites | x-check-cross-list · x-pros-cons |
| comparer des assureurs nommés (prix + CTA) | x-pricing-table :insurers · x-insurance-comparison-table |
| un tableau pédagogique (barème, sans assureur) | x-pricing-table générique · x-table |
| un classement / top N | x-goodassur-top-ranking · x-podium-top3 · x-price-ranking |
| le top mutuelles santé | x-mutuelle-formulas-table · x-mutuelle-rembours-top3 |
| expliquer / mettre en avant une info | x-info-card · x-alert · x-key-figure |
| citer un chiffre sourcé (étude Selectra) | x-fait |
| un CTA vers le comparateur / un partenaire | x-action-box · x-cta-monetisation |
| un avis / verdict d'expert | x-expert-review · x-verdict-box · x-verdict-card (SDP) |
| des notes / étoiles / score | x-stars · x-selectra-score-gauges |
| mailler en fin de page | x-multiple-link · x-single-link |
| une FAQ (avec JSON-LD) | x-faq-block |
| un outil interactif (simulateur, lettre, diagnostic) | x-insurance-rac-simulator · x-insurance-resignation-letter · x-css-eligibility |
| une donnée régionale (carte cliquable) | x-france-map |
| composer une page assureur (SDP) | x-avis-hero · x-comparator-table · x-insurer-contact-card |
Classement top N x-goodassur-top-ranking
Liste classée des N meilleures offres pour un profil donné (auto, habitation, mutuelle). Trie par prix, par Selectra Score, par avis clients, ou via une recipe. Sélecteur de profil optionnel.
Conformité (cf. convention-compliance.md) :
- CTA par carte : Devis gratuit en ligne →
/selection/{slug}/{vertical}(partenaire affilié web), 📞 numéro Selectra →/selection/fr-ii-cs-gda{slug}(partenaire phone), Comparer en ligne →/selection/comparateur-assurance-{vertical}(sinon) — résolu par le partialpartials.offer-card-{vertical}override goodassur. - Chaque carte affiche en bas « Prix mis à jour le X ; Selectra Score mis à jour en X » — pas besoin de la répéter dans la caption générale.
- Caption auto en pied de tableau : décrit la source du classement et le critère de tri (par prix, par Selectra Score, moyenne des avis ou sélection éditoriale) — exactement la vérité du tri.
- Mention « ☑ partenaire » n'apparaît que si au moins un partenaire figure dans le tableau (§5.2).
Clone du composant département x-insurance-top-ranking spécifique à goodassur — permet d'évoluer sans impacter selectra.info / en.selectra.info.
$profileKey clé URL-friendly du profil (ex: auto-jeune-conducteur) $vertical auto | habitation | mutuelle (alternative à $profileKey) $profile nom du profil (alternative — résolu via france-insurance.profiles) $sortBy price | score (par défaut price) $limit nombre d'offres (par défaut 5) $priceLevel 0 | 1 | 2 | 'all' (0 = pas chères seulement) $onlyPartners n'inclure que les partenaires Selectra (false par défaut) $insurerSlugs array|csv — restreint à une liste d'assureurs $withProfileSelector affiche un <select> profil au-dessus (false) $verdictDate override date affichée dans la caption (default = mois en cours) $methodologyUrl override lien méthodo (default Selectra Score) <x-slot:caption> slot custom pour remplacer entièrement le footer auto
Exemples
<x-goodassur-top-ranking vertical="mutuelle" profile="Famille" :limit="5" />
<x-goodassur-top-ranking
profileKey="auto-jeune-conducteur"
:limit="3"
:only-partners="true"
/>
<x-goodassur-top-ranking vertical="habitation" :with-profile-selector="true" />
<x-goodassur-top-ranking vertical="mutuelle" profile="Senior 65 ans">
<x-slot:caption>
Classement personnalisé senior, basé sur le profil 65 ans (notre relevé en mai 2026).
</x-slot:caption>
</x-goodassur-top-ranking>Exemple vivant ci-dessous :
Famille
Essentiel F1
137,95 € /mois
Essentiel F3
200,22 € /mois
Active F4
318,33 € /mois
| Soins courants | Remboursement |
|---|---|
| Auxiliaires médicaux | 150% BR |
| Analyse et examen de laboratoire | 150% BR |
| Prothèses externes remboursées par la Sécurité sociale (capillaires, mammaires, oculaires) | 200% BR |
| Transport | 100% BR |
| Médecin généraliste NON OPTAM | 200% BR |
| Médecin spécialiste NON OPTAM | 200% BR |
| Médecin généraliste OPTAM | 275% BR |
| Médecin spécialiste OPTAM | 275% BR |
| Imagerie médicale OPTAM | 275% BR |
| Imagerie médicale NON OPTAM | 200% BR |
| Médicaments à SMR faible (prise en charge par la SS à 15%) | 150% BR |
| Médicaments à SMR modéré (prise en charge par la SS à 30%) | 150% BR |
| Médicaments à SMR important (prise en charge par la SS à 65%) | 150% BR |
| Actes techniques 200% si non optam | 275% BR |
| Hospitalisation | Remboursement |
|---|---|
| Frais d'accompagnement par jour | 50 € |
| Honoraires médicaux et chirurgicaux OPTAM | 300% BR |
| Honoraires médicaux et chirurgicaux NON OPTAM | 200% BR |
| Hospitalisation à domicile | 100% BR |
| Frais de séjour en secteur NON OPTAM | 100% BR |
| Frais de séjour OPTAM | 100% BR |
| Chambre particulière OPTAM par jour | 100 € |
| Forfait journalier hospitalier OPTAM | Frais réels |
| Forfait confort hospitalier par jour | 2 € |
| Optique | Remboursement |
|---|---|
| Monture + 1 verre simple + 1 verre complexe ou très complexe | 300 € |
| Plafond monture | 100 € |
| Lentilles acceptées par la Sécurité sociale par an | 100% BR |
| Lentilles refusées par la Sécurité sociale par an | 100% BR |
| Équipement 100% santé optique | Frais réels |
| Monture + verres complexes | 400 € |
| Monture + verres très complexes | 400 € |
| Monture + verres simples | 250 € |
| Dentaire | Remboursement |
|---|---|
| Orthodontie remboursée par la Sécurité sociale (An1) / 225% (An2) / 250% (An3+) | 200% BR |
| Plafond sur le poste dentaire par an et par bénéficiaire (An1) / 1750€ (An2) / 2000€ (An3+) | 1 500 € |
| Soins et prothèses dentaires non remboursés par la Sécurité sociale par an | 50 € |
| Inlays / Onlays | 100% BR |
| Prothèses dentaires remboursées par l'AMO (An1) / 225% (An2) / 250% (An3+) | 200% BR |
| Soins dentaires | 100% BR |
| Equipement 100% santé dentaire | Frais réels |
| Auditif | Remboursement |
|---|---|
| Equipement 100% santé auditif | Frais réels |
| Prothèses auditives classe 2 par an | 100% BR |
| Médecine douce | Remboursement |
|---|---|
| Actes de prévention | 100% BR |
| Médecine douce | 25 € |
| Cure thermale (hébergement et transport) | 300 € |
Notes moyennes des clients
Famille
Initial
145,84 € /mois
Intermédiaire
183,72 € /mois
Intégral
387,54 € /mois
| Soins courants | Remboursement |
|---|---|
| Auxiliaires médicaux | 200% BR |
| Accompagnement psychologique remboursé par le RO | 100% BR |
| Imagerie médicale OPTAM | 240% BR |
| Imagerie médicale NON OPTAM | 200% BR |
| Analyse et examen de laboratoire | 100% BR |
| Médicaments à SMR important (prise en charge par la SS à 65%) | Frais réels |
| Médicaments à SMR modéré (prise en charge par la SS à 30%) | Frais réels |
| Médicaments à SMR faible (prise en charge par la SS à 15%) | Frais réels |
| Médecin généraliste OPTAM | 240% BR |
| Médecin généraliste NON OPTAM | 200% BR |
| Médecin spécialiste NON OPTAM | 200% BR |
| Médecin spécialiste OPTAM | 240% BR |
| Forfait patient urgences | Frais réels |
| Matériel Médical | 200% BR |
| Transport | 100% BR |
| Actes techniques | 240% BR |
| Hospitalisation | Remboursement |
|---|---|
| Frais d'accompagnement par nuit | 20 € |
| Honoraires médicaux et chirurgicaux OPTAM | 300% BR |
| Honoraires médicaux et chirurgicaux NON OPTAM | 200% BR |
| Hospitalisation à domicile | 100% BR |
| Frais de séjour OPTAM | Frais réels |
| Chambre particulière OPTAM par nuit | 80 € |
| Forfait journalier hospitalier OPTAM | Frais réels |
| Chambre particulière en ambulatoire par jour | 20 € |
| Optique | Remboursement |
|---|---|
| Chirurgie réfractive par an (1ère et 2ème année) / 220€ par an (3ème et 4ème année) / 230€ par an (5ème année et suivantes) | 180 € |
| Lentilles acceptées par la Sécurité sociale par an / +20€ si réseau Kalixia | 180 € |
| Lentilles refusées par la Sécurité sociale par an (1ère et 2ème année) / 220€ par an (3ème et 4ème année) / 230€ par an (5ème année et suivantes) | 180 € |
| Équipement 100% santé optique | Frais réels |
| Monture + verres complexes +40€ dès la 3ème année et +50€ dès la 5ème année | 440 € |
| Monture + verres très complexes +40€ dès la 3ème année et +50€ dès la 5ème année | 440 € |
| Adaptation de la correction visuelle | 100% BR |
| Monture + verres simples +40€ dès la 3ème année et +50€ dès la 5ème année | 250 € |
| Monture + 1 verre simple + 1 verre complexe ou très complexe +40€ dès la 3ème année et +50€ dès la 5ème année | 345 € |
| Plafond monture +10€ si réseau Kalixia | 90 € |
| Dentaire | Remboursement |
|---|---|
| Orthodontie remboursée par la Sécurité sociale par semestre | 200% BR |
| Plafond sur le poste dentaire par an et par bénéficiaire (1ère et 2ème année) / 1600€ (3ème et 4ème année) / 1700€ (5ème année et suivantes) | 1 500 € |
| Soins et prothèses dentaires non remboursés par la Sécurité sociale par an / +50€ si réseau Kalixia | 250 € |
| Prothèses dentaires remboursées par l'AMO +50% si réseau Kalixia | 300% BR |
| Soins dentaires | 100% BR |
| Equipement 100% santé dentaire | Frais réels |
| Auditif | Remboursement |
|---|---|
| Prothèses auditives classe 2 par oreille / +20€ et +20% si réseau Kalixia / +100€ dès la 3ème année et +200€ dès la 5ème année | 180% BR |
| Equipement 100% santé auditif | Frais réels |
| Piles et accessoires | 100% BR |
| Médecine douce | Remboursement |
|---|---|
| Actes de prévention | 100% BR |
| Cure thermale (honoraires et traitement) Forfait global honoraires, traitement, hébergement et transport | 200 € |
| Cure thermale (hébergement et transport) Forfait global honoraires, traitement, hébergement et transport | 200 € |
| Médecine douce | 50 € |
Notes moyennes des clients
Famille
Energik EN1
149,19 € /mois
Pulse PU2
190,53 € /mois
Plénitude P6
474,52 € /mois
| Soins courants | Remboursement |
|---|---|
| Auxiliaires médicaux | 100% BR |
| Médicaments prescrits non remboursés par la Sécurité sociale par an | 30 € |
| Imagerie médicale OPTAM | 100% BR |
| Imagerie médicale NON OPTAM | 100% BR |
| Analyse et examen de laboratoire | 100% BR |
| Médecin généraliste OPTAM | 175% BR |
| Médecin généraliste NON OPTAM | 150% BR |
| Médecin spécialiste NON OPTAM | 150% BR |
| Médecin spécialiste OPTAM | 175% BR |
| Prothèses externes remboursées par la Sécurité sociale (capillaires, mammaires, oculaires) | 100% BR |
| Actes techniques | Frais réels |
| Matériel Médical | 100% BR |
| Transport | 100% BR |
| Honoraires médicaux OPTAM | |
| Honoraires médicaux NON OPTAM | |
| Forfait patient urgences | Frais réels |
| Médicaments à SMR faible (prise en charge par la SS à 15%) | 100% BR |
| Médicaments à SMR important (prise en charge par la SS à 65%) | 100% BR |
| Médicaments à SMR modéré (prise en charge par la SS à 30%) | 100% BR |
| Hospitalisation | Remboursement |
|---|---|
| Frais d'accompagnement par jour | 40 € |
| Honoraires médicaux et chirurgicaux OPTAM (1ère année) / 330% (3ème année et suivantes) | 315% BR |
| Honoraires médicaux et chirurgicaux NON OPTAM (1ère année) / 200% (3ème année et suivantes) | 200% BR |
| Frais de séjour en secteur NON OPTAM | 100% BR |
| Frais de séjour OPTAM | Frais réels |
| Chambre particulière OPTAM par jour (1ère année) / 100€ par jour (3ème année et suivantes) | 90 € |
| Forfait journalier hospitalier OPTAM | Frais réels |
| Forfait confort hospitalier par jour | 40 € |
| Optique | Remboursement |
|---|---|
| Chirurgie réfractive par an | 300 € |
| Plafond monture | 100 € |
| Lentilles acceptées par la Sécurité sociale | 100% BR |
| Lentilles refusées par la Sécurité sociale par an | 150 € |
| Équipement 100% santé optique | Frais réels |
| Monture + verres complexes (1ère année) / 450€ (3ème année) / 500€ (4ème année et suivantes) | 400 € |
| Monture + verres simples (1ère année) / 200€ (3ème année) / 300€ (4ème année et suivantes) | 275 € |
| Monture + verres très complexes (1ère année) / 450€ (3ème année) / 500€ (4ème année et suivantes) | 400 € |
| Dentaire | Remboursement |
|---|---|
| Orthodontie remboursée par la Sécurité sociale (1ère année) / 265% (3ème année) / 280% (4ème année et suivantes) | 250% BR |
| Plafond sur le poste dentaire par an et par bénéficiaire (1ère année) / Illimité (2ème année) / Illimité (3ème année) / Illimité (4ème année et suivantes) | 2 000 € |
| Soins et prothèses dentaires non remboursés par la Sécurité sociale par an | 250 € |
| Inlays / Onlays | 250% BR |
| Prothèses dentaires remboursées par l'AMO (1ère année) / 315% (3ème année) / 330% (4ème année et suivantes) | 300% BR |
| Soins dentaires | 250% BR |
| Equipement 100% santé dentaire | Frais réels |
| Auditif | Remboursement |
|---|---|
| Prothèses auditives classe 2 | 200% BR |
| Equipement 100% santé auditif | Frais réels |
| Piles et accessoires | 100% BR |
| Médecine douce | Remboursement |
|---|---|
| Médecine douce 180€ (3ème année)/ 190€ (4ème année et suivantes) Forfait médecines complémentaires : ostéopathe, homéopathe, acupuncteur, naturopathe, étiopathe, diététicien, chiropracteur, micro-kinésithérapeute, pédicure/podologue, réflexologue, sophrologue, luminothérapeute, hypnothérapeute, tabacologue, mésothérapeute, psychomotricien, psychologue, ergothérapeute, sexologue. (par année d’adhésion et par Assuré - limité à 30 € / acte) | 120 € |
| Cure thermale (honoraires et traitement) | 100% BR |
| Cure thermale (hébergement et transport) | 200 € |
| Dépistage et prévention (actes non remboursés par le RO) dans la limite de 2 actes par an | Frais réels |
Notes moyennes des clients
Classement Selectra Score (top N + méthodo) x-selectra-score-ranking
Classement « top N » compact (badge + médailles podium + nom + pill partenaire + CTA 3-mode), trié par Selectra Score, avec sa méthodologie intégrée en collapse et sa légende auto-conforme. Le caller calcule le classement (rows) et le passe via :items — le composant gère le rendu, les pills, les CTA et la méthodo. Remplace les blocs « top 10 » inline qui n'avaient ni pill partenaire ni CTA 3-mode.
Conformité (cf. convention-compliance.md) :
- CTA 3-mode par item (§7−2) : Devis gratuit en ligne (partenaire + affilié web), 📞 numéro (partenaire + phone affi), Comparer en ligne (sinon).
- Pill « Partenaire de Selectra » par item partenaire (§5.2 / §5.9 règle 1) — absence = non-partenaire.
- Selectra Score = cadence mensuelle (§5.7) : légende « mis à jour en {mois} » maillée vers la page méthodo, jamais de date par row.
- Méthodologie Selectra Score (40 % garanties / 40 % prix / 20 % avis) UNIVERSELLE — s'applique quelle que soit la verticale ; seuls les profils types changent (passés via
:profiles). - CTA uniform width (min-width 210px) + alignement homogène (§5.9 Règle 10).
$items (required) rows ordonnées : insurer_slug, insurer_name, partner(bool),
is_online(bool), is_phone(bool), formula_name(string, opt)
$vertical auto | habitation | mutuelle-sante (défaut mutuelle-sante)
$title titre H3 au-dessus de la liste
$limit nombre d'items rendus (défaut 10)
$panel nombre d'assureurs étudiés (méthodologie)
$profiles [['label' => 'Senior 65 ans', 'desc' => '…'], …] profils types (méthodo)
$minProfilesNote phrase de filtre éditorial (HTML léger)
$methodologyHeading titre du collapse méthodologie
<x-slot> contenu additionnel injecté en bas du collapse méthodologieExemple
<x-selectra-score-ranking
:items="$top10"
vertical="mutuelle-sante"
title="Notre top 10 des meilleures mutuelles santé en {{ $annee }}"
:panel="25"
:profiles="$meilleureProfiles" />Exemple vivant (top 5 santé, données live) ci-dessous :
Top 5 des meilleures mutuelles santé (démo)
Classement établi selon le Selectra Score, mis à jour en juin 2026.
📋 Méthodologie de notre classement des meilleures mutuelles santé
Nos experts ont étudié les offres d'un panel de 25 assureurs afin d'établir ce classement des meilleures mutuelles santé.
Ce classement repose sur la moyenne des Selectra Score points obtenus par chaque formule sur 3 profils représentatifs :
- Senior 65 ans : femme retraitée de 65 ans, vivant à Lille.
- Famille : couple marié de 45 ans avec deux enfants, vivant à Caen.
- Étudiant : homme étudiant de 22 ans, vivant à Bordeaux.
Les critères évalués par le Selectra Score (méthodologie identique sur toutes nos verticales d'assurance) :
- Garanties (40 %) : niveau et étendue des couvertures par poste.
- Prix (40 %) : positionnement du tarif par rapport à la moyenne du marché sur le profil.
- Avis clients (20 %) : moyenne pondérée des avis vérifiés (Trustpilot, Avis Vérifiés, Opinion Assurances) par volume.
Comparateur habitation guidé x-habitation-comparator
Mini-comparateur d'assurance habitation en 2 étapes (server-rendered via query params, SEO-friendly, faible mémoire) : statut (4 grandes cartes : locataire / propriétaire résidence principale / résidence secondaire / PNO) → logement (maison ou appartement) → top 3 des assureurs partenaires du profil résolu, triable par Selectra Score ou par prix. Utilisé sur /comparateur-assurance-habitation.
Conformité : les résultats sont délégués à x-goodassur-top-ranking (only-partners → §5.2 « sélection d'assureurs partenaires », CTA 3-mode §7−2, pills, légende Selectra Score mensuelle). Le comparateur ne rend aucun prix/date en propre. En tri par prix il passe price-level=1 (l'API home ne supporte pas sort=lowest_price).
$heading (optional) H2 au-dessus du comparateur statut : locataire | proprietaire-principal | proprietaire-secondaire | pno logement : appartement | maison tri : score | prix (défaut prix)
Exemple
<x-habitation-comparator />
Exemple vivant (étape 1) ci-dessous — les cartes naviguent via query params :
Êtes-vous locataire ou propriétaire ?
Choisissez votre situation pour découvrir notre sélection d'offres adaptées.
Tableau standard x-table
Wrapper standard pour tout tableau HTML inline (données figées, équivalences, glossaires, comparatifs hardcodés). Applique automatiquement le design unifié goodassur : outline bleu Selectra 2px, header bleu tinté + texte bleu uppercase centré, body zebra blanche / grise, cellules centrées horizontalement et verticalement, scroll horizontal mobile.
Quand utiliser quoi :
<x-pricing-table>→ matrice assureur × prix API-driven (live data, pill partenaire, CTA 3-mode, dates par cellule, caption §5.3 auto).<x-table>→ tout tableau de données purs (âge chien, taux SS, équivalences, glossaire, tarifs figés étude tierce, etc.).
Conformité (cf. convention-compliance.md + skill /compliance-component) :
- Caption obligatoire (§5.3) — toute affirmation chiffrée doit avoir une caption directement sous le tableau (`
<p class="tbl-note">` ou prose équivalente) avec : date / période, critère de classement, source vérifiable (Insee, DREES, AVMA, étude PDF, etc.). - PAS de mention « Référencement gratuit » si aucun assureur n'est nommé dans le tableau (memory
referencement-gratuit-only-when-named) — agrégat anonyme ⇒ rien à référencer. - Sources tierces citées explicitement (§6.1) — si les données viennent d'une étude externe (Lelynx, Argus, France Assureurs, AVMA, INSEE, DREES, Code des assurances), le mentionner avec lien
rel="nofollow noopener"quand pertinent. - Données API ⇒ <x-pricing-table> (pas
<x-table>). Si tu vois un chiffre dérivable de l'API hardcodé, créer une étude dansetudes/et utiliser<x-fait>ou<x-pricing-table>(memoryetudes-auto-detection). - Pas de partner pill ☑ — `<x-table>` ne sert PAS aux comparaisons d'assureurs. Si tu en as besoin, migre vers
<x-pricing-table>. - Cohérence légende ↔ contenu (§5.3-bis) — la caption ne doit pas inventer un profil unique qui contredit la diversité du tableau, ni dupliquer une info déjà dans une colonne. Décrire seulement le périmètre commun + la méthodologie.
- Pas de superlatif non sourcé (§6.2.bis) dans les en-têtes ou cellules (« la meilleure », « le moins cher ») hors méthodologie explicite.
$caption (optional) Description accessible du tableau (sr-only) Contenu via slot : + standard HTML. À ajouter à côté du composant (pas dans le slot) :Source : … (date, méthodologie).
Exemple
<x-table caption="Âge chien vs humain selon la taille"> <thead> <tr> <th>Âge du chien</th> <th>Petit chien</th> <th>Chien moyen</th> <th>Grand chien</th> </tr> </thead> <tbody> <tr><td><strong>1 an</strong></td><td>20 ans</td><td>18 ans</td><td>16 ans</td></tr> <tr><td><strong>5 ans</strong></td><td>40 ans</td><td>45 ans</td><td>49 ans</td></tr> </tbody> </x-table>Exemple vivant ci-dessous :
Démo : âge chien vs humain selon la taille Âge du chien Petit chien Chien moyen Grand chien 1 an 20 ans 18 ans 16 ans 5 ans 40 ans 45 ans 49 ans 10 ans 60 ans 75 ans 96 ans 15 ans 80 ans 102 ans — Tableau prix assureur × formules x-pricing-table
Composant générique qui rend un tableau avec le visual goodassur unifié : outline bleu, header bleu tinté centré, zebra striping, cellules centrées. Trois modes : (1) mode générique
:headers + :rowspour toute donnée statique (animaux, emprunteur, matrice pédagogique, etc.) — caller fournit headers et rows, le composant rend le visual unifié ; (2)profile-family=pno(forward vers tabs Appartement / Maison, data live) ; (3)profile-family=locataire(matrice live {Formule basse / intermédiaire / MRH} + sous-section Appartement vs Maison + pill partenaire + CTA 3-mode + date par cellule + caption §5.3). Le mode générique prend la priorité dès que:headers + :rowssont passés.Conformité (cf. convention-compliance.md) :
- CTA 3-mode par row (§7−2) : Devis gratuit en ligne (online affi), 📞 numéro (phone affi), Comparer en ligne (sinon).
- Pill « Partenaire de Selectra » sous le nom de chaque assureur partenaire (§5.2 / §5.9 règle 1) — absence = non-partenaire.
- Date « Mis à jour le DD/MM/YYYY » italique 10px sous CHAQUE prix (§5.6).
- Caption auto en pied de chaque tableau (§5.3, 4 éléments) : panel, critère de classement, profil (persona), référencement gratuit. Mention badge ☑ seulement si au moins un partenaire est listé (§5.2).
- Outline (border-t-2 gray-300) entre chaque ligne pour séparation visuelle marquée.
- Variante locataire : « maison X % plus chère qu'appartement » calculé live depuis les moyennes du panel (pas de % hardcodé — memory
no-unsourced-savings-claims).$profileFamily null | pno | locataire (modes live) $heading (optional) H2 rendu au-dessus du composant $limit (optional int) nombre max de lignes $headers (générique / assureurs) array de strings — colonnes de DATA (HTML autorisé) $rows (mode générique) array d'arrays (chaque cellule = string ou HTML) — matrices PÉDAGOGIQUES uniquement $caption (générique / assureurs) string optionnel (HTML autorisé) $insurers (mode assureurs) array de rows ['slug','name','name_href'?,'cells'=>[...]] — pill partenaire + colonne « Devis » (CTA 3-mode) AUTO $vertical (mode assureurs) auto | habitation | mutuelle-sante | animaux (détecté depuis l'URL si null) $insurerLabel (mode assureurs) header de la colonne assureur (défaut 'Assureur')Exemples
<x-pricing-table profile-family="locataire" /> <x-pricing-table profile-family="pno" /> <x-pricing-table profile-family="locataire" heading="Prix d'une assurance habitation locataire" /> <x-pricing-table :headers="['Formule', 'Prix mensuel', 'Taux remb.', 'Garanties']" :rows="[ ['<strong>Basique</strong>', '2,29 à 12 €', '50 à 70 %', 'Maladie, accidents'], ['<strong>Intermédiaire</strong>', '12 à 30 €', '70 à 90 %', '+ examens'], ['<strong>Premium</strong>', '30 à 100 €', '90 à 100 %', '+ hospitalisation'], ]" caption="Prix moyens des formules d'assurance chien observés sur le marché en 2026." />Exemple vivant — mode générique (rows statiques) :
Échelle indicative des prix observés sur le marché de la mutuelle pour chien en juin 2026. Formule Prix mensuel Taux remb. Garanties typiques Basique À partir de 2,29 € à 12 € 50 à 70 % Maladie, accidents — plafond faible Intermédiaire 12 à 30 € 70 à 90 % + examens complémentaires Premium 30 à 100 € 90 à 100 % + hospitalisation, obsèques, pharmacie Mode assureurs :insurers — pour tout tableau STATIQUE qui nomme des assureurs avec un CTA (prix par formule, comparatif éditorial…). Au lieu de cellules HTML brutes en
:rows, passe des rows structurées avec unslug: le composant auto-rend la pill partenaire (viainsurer-lookup, robuste mono-produit anti-bug Luko §5.9 r9), la colonne « Devis » en CTA 3-mode (§7−2) et la légende §5.3. Les colonnes de data viennent de:headers, la chiffre reste éditoriale. ⚠️ Ne PAS coder un CTA à la main dans les cellules : le linterinsurer_table_generic_modele flagge.Exemple
<x-pricing-table vertical="mutuelle-sante" insurer-label="Mutuelle" :headers="['Formule de base', 'Formule complète']" :insurers="[ ['slug' => 'heyme', 'name' => 'Heyme', 'name_href' => '/heyme', 'cells' => ['9,90 €/mois', '29 €/mois']], ['slug' => 'acheel', 'name' => 'Acheel', 'name_href' => '/acheel', 'cells' => ['14 €/mois', '32 €/mois']], ]" caption="Tarifs indicatifs … Référencement gratuit." />Exemple vivant — mode assureurs (pill + CTA 3-mode auto) :
Exemple de tableau d'assureurs en mode :insurers — pill partenaire et CTA 3-mode auto-dérivés. Référencement gratuit. Mutuelle Formule de base Formule complète Devis Heyme Partenaire de Selectra
9,90 €/mois 29 €/mois Devis gratuit en ligne Acheel Partenaire de Selectra
14 €/mois 32 €/mois Devis gratuit en ligne AXA Partenaire de Selectra
25 €/mois 48 €/mois Devis gratuit en ligne Exemple vivant — mode locataire (data live) :
Tarifs mensuels comparés sur 14 assureurs du panel Selectra Insurance, relevés le 29 avril 2026. Profil : couple marié de 40 ans, locataires d'un appartement de 50 m² (2 pièces) à Niort, capital mobilier 9 000 €, objets de valeur 5 000 €. Classement par prix croissant de la formule basse. Référencement gratuit. # Assureur Formule basse Formule intermédiaire Formule MRH Devis 🥇 Luko Partenaire de Selectra
6,17 €/mois
74,04 €/an Mis à jour le 05/02/2026- 12,81 €/mois
153,72 €/an Mis à jour le 03/03/2026Devis gratuit en ligne 🥈 Lemonade Partenaire de Selectra
7,00 €/mois
84,00 €/an Mis à jour le 05/02/2026- - Devis gratuit en ligne 🥉 Direct Assurance Partenaire de Selectra
7,80 €/mois
93,60 €/an Mis à jour le 05/02/20268,72 €/mois
104,64 €/an Mis à jour le 26/02/202610,80 €/mois
129,60 €/an Mis à jour le 26/02/2026Devis gratuit en ligne 4 Acheel Partenaire de Selectra
7,92 €/mois
95,04 €/an Mis à jour le 05/02/20269,37 €/mois
112,44 €/an Mis à jour le 23/03/2026- Devis gratuit en ligne 5 MACIF 10,56 €/mois
126,72 €/an Mis à jour le 05/02/202611,46 €/mois
137,52 €/an Mis à jour le 18/02/202620,75 €/mois
249,00 €/an Mis à jour le 18/02/2026Comparer en ligne 6 AGPM - 10,58 €/mois
126,96 €/an Mis à jour le 05/02/2026- Comparer en ligne 7 Leocare Partenaire de Selectra
10,67 €/mois
128,04 €/an Mis à jour le 05/02/202615,13 €/mois
181,56 €/an Mis à jour le 23/03/202621,32 €/mois
255,84 €/an Mis à jour le 23/03/2026Devis gratuit en ligne 8 Axa Partenaire de Selectra
- 10,82 €/mois
129,84 €/an Mis à jour le 29/04/2026- Devis gratuit en ligne 9 MAAF 11,29 €/mois
135,48 €/an Mis à jour le 05/02/202615,56 €/mois
186,72 €/an Mis à jour le 18/02/2026- Comparer en ligne 10 Allianz Partenaire de Selectra
11,58 €/mois
138,96 €/an Mis à jour le 23/03/202614,47 €/mois
173,64 €/an Mis à jour le 23/03/202628,90 €/mois
346,80 €/an Mis à jour le 23/03/2026Devis gratuit en ligne 11 AG2R La Mondiale 12,59 €/mois
151,08 €/an Mis à jour le 05/02/2026- - Comparer en ligne 12 MAIF 12,59 €/mois
151,08 €/an Mis à jour le 05/02/202614,79 €/mois
177,48 €/an Mis à jour le 19/02/202622,64 €/mois
271,68 €/an Mis à jour le 19/02/2026Comparer en ligne 13 Crédit Agricole Assurance 12,72 €/mois
152,64 €/an Mis à jour le 23/03/202618,60 €/mois
223,20 €/an Mis à jour le 23/03/202626,96 €/mois
323,52 €/an Mis à jour le 23/03/2026Comparer en ligne 14 April 14,77 €/mois
177,24 €/an Mis à jour le 23/03/2026- - Comparer en ligne Appartement vs maison : en formule basse, une maison coûte en moyenne 77 % de plus qu'un appartement chez les assureurs comparés (surface plus grande, risques cambriolage et intempéries accrus).
Tarifs mensuels de la formule basse comparés sur 12 assureurs du panel Selectra Insurance, relevés le 29 avril 2026. Appartement : couple de 40 ans, 50 m², 2 pièces, capital mobilier 9 000 €. Maison : couple de 40 ans, 90 m², 4 pièces, capital mobilier 16 000 €. Profils situés à Niort (79). Classement par prix croissant de la formule appartement. Référencement gratuit. Assureur Appartement Maison Devis Luko Partenaire de Selectra
6,17 €/mois Mis à jour le 05/02/2026 11,59 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne Lemonade Partenaire de Selectra
7,00 €/mois Mis à jour le 05/02/2026 9,84 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne Direct Assurance Partenaire de Selectra
7,80 €/mois Mis à jour le 05/02/2026 14,10 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne Acheel Partenaire de Selectra
7,92 €/mois Mis à jour le 05/02/2026 12,46 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne MACIF 10,56 €/mois Mis à jour le 05/02/2026 - Comparer en ligne Leocare Partenaire de Selectra
10,67 €/mois Mis à jour le 05/02/2026 22,69 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne MAAF 11,29 €/mois Mis à jour le 05/02/2026 15,63 €/mois Mis à jour le 05/02/2026 Comparer en ligne Allianz Partenaire de Selectra
11,58 €/mois Mis à jour le 23/03/2026 19,26 €/mois Mis à jour le 05/02/2026 Devis gratuit en ligne AG2R La Mondiale 12,59 €/mois Mis à jour le 05/02/2026 20,51 €/mois Mis à jour le 23/03/2026 Comparer en ligne MAIF 12,59 €/mois Mis à jour le 05/02/2026 20,51 €/mois Mis à jour le 19/02/2026 Comparer en ligne Crédit Agricole Assurance 12,72 €/mois Mis à jour le 23/03/2026 18,56 €/mois Mis à jour le 23/03/2026 Comparer en ligne April 14,77 €/mois Mis à jour le 23/03/2026 38,88 €/mois Mis à jour le 23/03/2026 Comparer en ligne Citation chiffrée d'une étude Selectra x-fait
Permet de citer dans la prose un chiffre calculé en direct depuis une étude Selectra (registre dans
sites/goodassur.com/etudes/) et ajoute automatiquement un footer de citation conforme §6.1 (auteur, année, méthodologie). Le composant substitue{value}dans son slot par la valeur live calculée par le callablecomputede l'étude, et accepte d'autres placeholders{fact:autre_clé}pour piocher plusieurs faits de la même étude.Pourquoi : évite les chiffres hardcodés stale dans les articles (un « X fois plus cher » dans la prose, un « Y % d'écart »…), garantit la fraîcheur, mutualise la source entre plusieurs pages d'un même cluster, et respecte le linter §6.1 (chiffre + source dans la même phrase / caption directe). Si l'étude ou le fait n'existe pas, le slot s'affiche tel quel — la page ne casse jamais.
$study slug du fichier d'étude (sans .php) — ex: "surprime-malusses-vs-bonusses" $fact clé du fait principal substitué par {value} $showCitation (optional, default true) — rendre le footer de citationExemple
<x-fait study="surprime-malusses-vs-bonusses" fact="ratio_average"> À couverture équivalente, un conducteur malussé paie en moyenne <strong>{value} fois plus cher</strong> qu'un bonussé. </x-fait>Pour créer une nouvelle étude : ajouter
sites/goodassur.com/etudes/{slug}.phpavec untitle, unemethodology, et uncomputecallable qui retourne un tableau de faits. Cf.sites/goodassur.com/etudes/README.md.Comparatif assureurs animaux x-animal-insurance-comparison
Comparatif multi-assureur pour assurance chien / chat. Cas particulier : la donnée animaux n'est PAS dans l'API Insurance (panel finance/santé humaine uniquement), donc le catalogue est porté en dur dans le composant — prix d'appel + 2-3 formules clés par assureur, date du snapshot éditorial (01/02/2025). À refresh manuellement ≤ 12 mois.
Conformité (cf. convention-compliance.md) :
- Visual identique aux autres tableaux goodassur : outline bleu 2px, header bleu tinté centré, zebra striping, cellules centrées.
- CTA 3-mode par row (§7−2) : online affi → « Devis gratuit en ligne » (`/selection/{slug}/chien-chat`) ; phone affi → « 📞 numéro » ; sinon → « 📞 01 88 24 67 70 » (call-center animaux Goodassur via `/selection/fr-ii-cc-gdaanimal`).
- Pill « Partenaire de Selectra » sous le nom de chaque assureur partenaire (§5.2). Placeholder invisible sur les non-partenaires pour aligner les rows (§5.9 règle 8).
- Date « Mis à jour le 01/02/2025 » italique 10px sous CHAQUE prix (§5.6) — snapshot éditorial figé.
- Caption auto en pied (§5.3, 4 éléments) : panel, critère de classement (prix d'appel croissant), date, référencement gratuit.
- Bouton CTA `btn-cta` orange avec `min-width:210px` — uniforme sur la liste (§5.9 règle 10).
- Pas de mention « commission », pas de claim chiffré sans source.
$species 'chien' | 'chat' | null (défaut null = tous animaux pertinents) $limit int|null : nombre max de lignes (défaut = tous) $heading string|null : H2 rendu au-dessus du composantExemples
<x-animal-insurance-comparison /> <x-animal-insurance-comparison species="chat" /> <x-animal-insurance-comparison species="chien" :limit="5" /> <x-animal-insurance-comparison species="chat" heading="Comparatif assurances chat 2025" />Exemple vivant (catalogue chat, tous assureurs) :
Comparatif de 8 assureurs pour chat, classés par prix d'appel croissant. Prix et formules constatés sur les sites des assureurs au 01/02/2025. Référencement gratuit. Assureur Prix d'appel Formules & garanties Devis ![]()
Partenaire de Selectra
À partir de2,29 €/mois Mis à jour le 01/02/2025
- Maladie Remb. 60–80 % · plafond 1 000 €
- Maladie + Accident Remb. 70–90 % · plafond 1 500 €
Devis gratuit en ligne ![]()
À partir de7,90 €/mois Mis à jour le 01/02/2025
- Bleu Essentiel Remb. 80 % · plafond 1 000 €
- Bleu Tranquille Remb. 80 % · plafond 1 500 €
- Topaze Remb. 80 % · plafond 2 000 €
Comparer en ligne ![]()
À partir de8,00 €/mois Mis à jour le 01/02/2025
- Cuivre Remb. 50 % (accident seul) · plafond 1 000 €
- Argent Remb. 70 % · plafond 1 000 €
- Diamant Remb. 90 % · plafond 1 500–2 000 €
Comparer en ligne ![]()
À partir de8,99 €/mois Mis à jour le 01/02/2025
- Niveau 1 Remb. 60 % · plafond 1 200 €
- Niveau 3 Remb. 80 % · plafond 1 800 €
- Niveau 5 Remb. 100 % · plafond 2 500 €
Comparer en ligne ![]()
À partir de9,00 €/mois Mis à jour le 01/02/2025
- Essentiel Remb. 60 % · plafond 1 000 €
- Équilibre Remb. 70 % · plafond 1 200 €
- Parfait Remb. 80 % · plafond 1 500 €
Comparer en ligne ![]()
À partir de15,70 €/mois Mis à jour le 01/02/2025
- Préventive Remb. 80 % (hors actes courants) · plafond —
- Intégrale Remb. 80 % · plafond 1 300–2 500 €
- Confort Remb. 100 % · plafond 1 300–2 500 €
Comparer en ligne ![]()
À partir de16,00 €/mois Mis à jour le 01/02/2025
- Light Remb. 60 % · plafond 1 100 €
- Confort Remb. 70 % · plafond 1 500 €
- Optimal Remb. 100 % · plafond 2 500 €
Comparer en ligne ![]()
À partir de16,25 €/mois Mis à jour le 01/02/2025
- Access Remb. 100 % (sans chirurgie) · plafond 800 €
- Protect Remb. 70 % · plafond 1 000–2 000 €
- Protect + Remb. 80 % · plafond 1 000–2 000 €
Comparer en ligne Diagramme prix auto par profil × formule x-car-pricing-chart
Barres horizontales du prix moyen mensuel d'assurance auto (€/mois), croisées par profil de conducteur (Bonussé, Petit rouleur, Jeune conducteur, Malussé) et par formule (Au tiers, Tiers+, Tous risques). Alimenté en direct par
InsuranceApi::carPricingByProfile().Conformité : caption auto §5.3 sous le graphique (panel, critère, profils représentatifs, référencement gratuit). Aucun prix codé en dur.
$heading (optional) H2 affiché au-dessus (défaut « Prix moyen par profil et par formule ») $profiles (optional) override the 4 default driver profiles (key/emoji/label) $levels (optional) override the 3 default formula levelsExemple
<x-car-pricing-chart />Exemple vivant ci-dessous :
Prix moyen par profil et par formule
Comparaison des tarifs moyens (€/mois) sur notre panel d'assureurs auto.
Au tiers Tiers + Tous risquesBonusséAu tiers22,63 €Tiers +29,21 €Tous risques40,91 €Jeune conducteurAu tiers65,66 €Tiers +78,05 €Tous risques115,35 €MalusséAu tiers59,58 €Tiers +76,35 €Tous risques100,77 €Prix moyens mensuels par profil de conducteur et par formule, comparés sur 24 assureurs de notre panel, relevés le 8 avril 2026. Profils représentatifs : bonussé 0,50 (homme 50 ans, Nantes, Clio essence), petit rouleur 6 000 km/an (femme 35 ans, Lyon, C3 Aircross essence), jeune conducteur 2 ans (femme 21 ans, Antibes, 206+ essence), malussé 1,09 (homme 40 ans, Tours, 208 essence).
Prix auto par profil de conducteur x-car-pricing-by-profile
Switcher onglets par profil de conducteur. Pour chaque profil : hero prix moyen XL, grille des 3 formules (Au tiers / Tiers+ / Tous risques) avec min-max, narrative persona (collapsible) et CTA simulateur. Pattern hérité du composant PNO compliant.
Conformité (§5.3 / §5.6) : date « Mis à jour le DD/MM/YYYY » sous le prix moyen central de chaque tab ; caption auto en pied de chaque tab (4 éléments : date + critère + profil + référencement gratuit). Aucun prix codé en dur.
$heading (optional) H2 affiché au-dessus $tabs (optional) override the 4 default driver profile tabsExemple
<x-car-pricing-by-profile />Exemple vivant ci-dessous :
💰 Le prix de l'assurance auto par profil de conducteur
Le prix d'une assurance auto varie fortement selon le profil du conducteur. Sélectionnez le vôtre pour voir les tarifs moyens par formule sur notre panel d'assureurs.
Choisissez votre profilPrix moyen pour un profil ✅ bonussé30,92 €par mois · soit environ 371 €/anMis à jour le 08/04/2026Détail par formuleLe moins cherAu tiersCouverture minimale légale : responsabilité civile + défense pénale.22,63 €/moissoit 14 € à 33 € selon l'assureurÉquilibréTiers +Tiers + vol, incendie, bris de glace, catastrophes naturelles.29,21 €/moissoit 13 € à 76 € selon l'assureurCouverture maxTous risquesIndemnisation même en cas de sinistre responsable, dommages tous accidents.40,91 €/moissoit 26 € à 111 € selon l'assureurComment ce prix est calculé — méthodologie & profil de devis
Profil testéHomme de 50 ans, à NantesClio 3 essence (2012), 5 CV. Assuré depuis 35 ans, parking collectif couvert. Bonus 0,50 depuis plus de 20 ans, 0 sinistre. Trajets mixtes, 12 000 km/an.Pourquoi ce niveau de prixUn conducteur bonussé représente le moins de risques pour les assureurs : il a démontré une conduite responsable pendant au moins 13 ans pour atteindre le coefficient 0,50.Comment payer moinsComparez régulièrement les offres — certains assureurs (Axa, Direct Assurance, L'Olivier Assurance) proposent même de bloquer votre bonus à 0,50 à vie.Prix moyens mensuels par formule (au tiers / tiers+ / tous risques) comparés sur 18 assureurs de notre panel qui proposent une formule au profil « Bonussé », relevés le 8 avril 2026. Profil utilisé : Homme de 50 ans, à Nantes — Clio 3 essence (2012), 5 CV. Assuré depuis 35 ans, parking collectif couvert. Bonus 0,50 depuis plus de 20 ans, 0 sinistre. Trajets mixtes, 12 000 km/an. Classement par hauteur de prime (moins cher à gauche).
Tarifs indisponibles pour ce profil sur notre panel actuel. Lancez une simulation personnalisée.Comment ce prix est calculé — méthodologie & profil de devis
Profil testéFemme de 35 ans, à LyonCitroën C3 Aircross PureTech 110 Shine essence (2018), 6 CV. Assurée depuis 17 ans, garage privé couvert. Bonus 0,50 depuis 4 ans, 0 sinistre. Trajets loisirs, 6 000 km/an.Pourquoi ce niveau de prixLes petits rouleurs utilisent moins leur véhicule, ce qui réduit les risques d'accident et d'usure. Les assureurs adaptent la tarification au kilométrage réel.Comment payer moinsÉvaluez précisément votre kilométrage annuel : un dépassement des prévisions entraîne des pénalités. Idéal si vous alternez voiture et transports en commun.Prix moyens mensuels par formule (au tiers / tiers+ / tous risques) comparés sur 0 assureur de notre panel qui proposent une formule au profil « Petit rouleur », relevés le 8 avril 2026. Profil utilisé : Femme de 35 ans, à Lyon — Citroën C3 Aircross PureTech 110 Shine essence (2018), 6 CV. Assurée depuis 17 ans, garage privé couvert. Bonus 0,50 depuis 4 ans, 0 sinistre. Trajets loisirs, 6 000 km/an. Classement par hauteur de prime (moins cher à gauche).
Prix moyen pour un profil 🧑🎓 jeune conducteur86,35 €par mois · soit environ 1 036 €/anMis à jour le 08/04/2026Détail par formuleLe moins cherAu tiersCouverture minimale légale : responsabilité civile + défense pénale.65,66 €/moissoit 45 € à 107 € selon l'assureurÉquilibréTiers +Tiers + vol, incendie, bris de glace, catastrophes naturelles.78,05 €/moissoit 28 € à 159 € selon l'assureurCouverture maxTous risquesIndemnisation même en cas de sinistre responsable, dommages tous accidents.115,35 €/moissoit 102 € à 134 € selon l'assureurComment ce prix est calculé — méthodologie & profil de devis
Profil testéFemme de 21 ans, à AntibesPeugeot 206+ 1.1 Access Lite essence (2011), 4 CV. Assurée depuis 2 ans en conducteur secondaire, permis obtenu le 01/01/2023, jardin privé. Bonus 0,90, 0 sinistre. Trajets mixtes, 12 000 km/an.Pourquoi ce niveau de prixLes statistiques montrent que les jeunes conducteurs sont impliqués dans une majorité des accidents graves. Les assureurs se prémunissent de ce risque par des cotisations élevées.Comment payer moinsLa conduite accompagnée réduit la prime de 20 % en moyenne. Privilégiez une voiture de faible valeur et une formule au tiers durant les 3 années de jeune permis.Prix moyens mensuels par formule (au tiers / tiers+ / tous risques) comparés sur 7 assureurs de notre panel qui proposent une formule au profil « Jeune conducteur », relevés le 8 avril 2026. Profil utilisé : Femme de 21 ans, à Antibes — Peugeot 206+ 1.1 Access Lite essence (2011), 4 CV. Assurée depuis 2 ans en conducteur secondaire, permis obtenu le 01/01/2023, jardin privé. Bonus 0,90, 0 sinistre. Trajets mixtes, 12 000 km/an. Classement par hauteur de prime (moins cher à gauche).
Prix moyen pour un profil ❌ malussé78,90 €par mois · soit environ 947 €/anMis à jour le 08/04/2026Détail par formuleLe moins cherAu tiersCouverture minimale légale : responsabilité civile + défense pénale.59,58 €/moissoit 32 € à 84 € selon l'assureurÉquilibréTiers +Tiers + vol, incendie, bris de glace, catastrophes naturelles.76,35 €/moissoit 32 € à 130 € selon l'assureurCouverture maxTous risquesIndemnisation même en cas de sinistre responsable, dommages tous accidents.100,77 €/moissoit 59 € à 173 € selon l'assureurComment ce prix est calculé — méthodologie & profil de devis
Profil testéHomme de 40 ans, à ToursPeugeot 208 1.6 VTI 120 Allure essence (2015), 6 CV. Assuré depuis 25 ans, garage fermé personnel. Malus 1,09, 2 sinistres responsables depuis 2023. Trajets mixtes, 12 000 km/an.Pourquoi ce niveau de prixLes sinistres responsables indiquent un comportement à risque pour l'assureur. Les conducteurs malussés coûtent plus cher en indemnisations, ce qui justifie la hausse des cotisations.Comment payer moinsOptez pour une voiture moins puissante le temps du malus. Avec 2 ans de conduite responsable, le malus retombe à 1 (règle de descente rapide), ce qui ouvre l'accès à des tarifs plus abordables.Prix moyens mensuels par formule (au tiers / tiers+ / tous risques) comparés sur 7 assureurs de notre panel qui proposent une formule au profil « Malussé », relevés le 8 avril 2026. Profil utilisé : Homme de 40 ans, à Tours — Peugeot 208 1.6 VTI 120 Allure essence (2015), 6 CV. Assuré depuis 25 ans, garage fermé personnel. Malus 1,09, 2 sinistres responsables depuis 2023. Trajets mixtes, 12 000 km/an. Classement par hauteur de prime (moins cher à gauche).
Top N auto avec les 3 formules x-car-top-formulas
Switcher onglets par profil de conducteur. Pour chaque profil : top N cards d'assureurs les moins chers, avec leurs 3 prix par formule sur la même card — pratique pour voir l'écart de couverture chez le même assureur.
Conformité (§5.2 / §5.6 / §7.−2) : pill « Partenaire de Selectra » sous chaque assureur partenaire (§5.2) ; CTA 3-mode par card (§7.−2) : Devis gratuit en ligne (online affi), 📞 numéro (phone affi), Comparer en ligne (sinon) ; date « Mis à jour le DD/MM/YYYY » sous CHAQUE prix (§5.6) ; caption auto par tab.
$heading (optional) H2 affiché au-dessus $limit (default 3) nombre d'offres affichées par profil $profiles (optional) override the 4 default driver profile tabsExemple
<x-car-top-formulas /> <x-car-top-formulas :limit="5" />Exemple vivant ci-dessous :
🏆 Notre top 3 d'assurances auto avec les 3 formules
Pour les 3 offres les moins chères du panel, voici le prix dans chacune des 3 formules — pratique pour voir l'écart de couverture chez le même assureur. Sélectionnez votre profil pour ajuster les tarifs.
Choisissez votre profil AssureurAxaPartenaire de Selectra
Au tiers non proposéTiers +12,77 €/mois Mis à jour le 05/02/2026Tous risques non proposé AssureurDirect AssurancePartenaire de Selectra
Au tiers13,79 €/mois Mis à jour le 26/02/2026Tiers +18,36 €/mois Mis à jour le 05/02/2026Tous risques29,22 €/mois Mis à jour le 05/02/2026 AssureurAssu 2000
Au tiers13,81 €/mois Mis à jour le 05/02/2026Tiers +18,43 €/mois Mis à jour le 05/02/2026Tous risques non proposéTop 3 offres las moins chères de notre panel pour un profil « Bonussé », relevées le 23 mars 2026. Profil utilisé : Homme de 50 ans, à Nantes, Clio 3 essence, bonus 0,50. Classement par prix mensuel croissant de la formule « au tiers » (à défaut, la formule disponible la moins chère). Référencement gratuit.
Pas d'offres disponibles pour ce profil sur notre panel actuel. AssureurAxaPartenaire de Selectra
Au tiers non proposéTiers +28,36 €/mois Mis à jour le 05/02/2026Tous risques non proposé AssureurDirect AssurancePartenaire de Selectra
Au tiers44,55 €/mois Mis à jour le 26/02/2026Tiers +55,58 €/mois Mis à jour le 05/02/2026Tous risques108,56 €/mois Mis à jour le 05/02/2026 AssureurL'olivier AssurancePartenaire de Selectra
Au tiers47,00 €/mois Mis à jour le 05/02/2026Tiers +53,00 €/mois Mis à jour le 05/02/2026Tous risques102,00 €/mois Mis à jour le 05/02/2026Top 3 offres las moins chères de notre panel pour un profil « Jeune conducteur », relevées le 23 mars 2026. Profil utilisé : Femme de 21 ans, à Antibes, 206+ essence, permis 2 ans. Classement par prix mensuel croissant de la formule « au tiers » (à défaut, la formule disponible la moins chère). Référencement gratuit.
AssureurDirect AssurancePartenaire de Selectra
Au tiers31,54 €/mois Mis à jour le 26/02/2026Tiers +40,66 €/mois Mis à jour le 05/02/2026Tous risques67,61 €/mois Mis à jour le 05/02/2026 AssureurAxaPartenaire de Selectra
Au tiers non proposéTiers +31,77 €/mois Mis à jour le 05/02/2026Tous risques non proposé AssureurL'olivier AssurancePartenaire de Selectra
Au tiers36,00 €/mois Mis à jour le 05/02/2026Tiers +47,00 €/mois Mis à jour le 05/02/2026Tous risques59,00 €/mois Mis à jour le 05/02/2026Top 3 offres las moins chères de notre panel pour un profil « Malussé », relevées le 23 mars 2026. Profil utilisé : Homme de 40 ans, à Tours, 208 essence, malus 1,09, 2 sinistres responsables. Classement par prix mensuel croissant de la formule « au tiers » (à défaut, la formule disponible la moins chère). Référencement gratuit.
Tableau comparatif x-insurance-comparison-table
Tableau multi-assureurs avec critères personnalisables (prix, score, garanties, plafonds). Idéal pour les pages comparatives éditoriales.
$product auto | habitation | mutuelle $profile nom du profil (ex: Famille, Senior, Jeune conducteur) $insurers array|csv — slugs d'assureurs (acheel, alan, april, …) $priceLevel 0 | 1 | 2 | 'all' $criteria array|csv — colonnes additionnelles (ex: hospitalisation,dentaire,optique)Exemples
<x-insurance-comparison-table product="mutuelle" profile="Senior" :insurers="['alan','april','harmonie-mutuelle','malakoff-humanis']" :criteria="['hospitalisation','dentaire','optique']" /> <x-insurance-comparison-table product="auto" profile="Famille" />Remboursements santé x-insurance-health-reimbursement
Cartes multi-assureurs montrant les remboursements pour un poste santé donné (hospitalisation, soins courants, dentaire, optique, audition, médecines douces, prévention).
$profile nom du profil (ex: Famille, Senior) $insurerSlugs array|csv — assureurs à afficher $healthPost hospitalisation | soins-courants | dentaire | optique | audition | medecines-douces | prevention $priceLevel 0 | 1 | 2 | 'all' $sortBy null | refund_descExemple
<x-insurance-health-reimbursement profile="Senior 65 ans" :insurer-slugs="['swiss-life','acheel','direct-assurance','gan','malakoff-humanis','april']" health-post="Dentaire" />BIEN-ÊTRE +
Partenaire de Selectra
![]()
132,77 €/mois
Tarif mis à jour le 05/02/2026Garanties mises à jour le 20/04/2026
- Orthodontie remboursée par la Sécurité sociale : 305 %
- Plafond sur le poste dentaire par an et par bénéficiaire : 1600 €
- Soins et prothèses dentaires non remboursés par la Sécurité sociale : 300 € par an
- Prothèses dentaires remboursées par l'AMO : 305 %
- Soins dentaires : 305 %
- Equipement 100% santé dentaire : Frais réels
Intégral
Partenaire de Selectra
![]()
163,39 €/mois
Tarif mis à jour le 05/02/2026Garanties mises à jour le 20/04/2026
- Orthodontie remboursée par la Sécurité sociale : 200 € par semestre
- Plafond sur le poste dentaire par an et par bénéficiaire : 1500 € (1ère et 2ème année) / 1600€ (3ème et 4ème année) / 1700€ (5ème année et suivantes)
- Soins et prothèses dentaires non remboursés par la Sécurité sociale : 250 € par an / +50€ si réseau Kalixia
- Prothèses dentaires remboursées par l'AMO : 300 % +50% si réseau Kalixia
- Soins dentaires : 100 %
- Equipement 100% santé dentaire : Frais réels
Active F4
Partenaire de Selectra
![]()
188,70 €/mois
Tarif mis à jour le 05/02/2026Garanties mises à jour le 06/05/2026
- Orthodontie remboursée par la Sécurité sociale : 200 % (An1) / 225% (An2) / 250% (An3+)
- Plafond sur le poste dentaire par an et par bénéficiaire : 1500 € (An1) / 1750€ (An2) / 2000€ (An3+)
- Soins et prothèses dentaires non remboursés par la Sécurité sociale : 50 € par an
- Inlays / Onlays : 100 %
- Prothèses dentaires remboursées par l'AMO : 200 % (An1) / 225% (An2) / 250% (An3+)
- Soins dentaires : 100 %
- Equipement 100% santé dentaire : Frais réels
Niveau 5
Partenaire de Selectra
![]()
284,43 €/mois
Tarif mis à jour le 05/02/2026![]()
Garanties mises à jour le 20/04/2026
- Orthodontie remboursée par la Sécurité sociale : 400 % 600€ pour les plus de 16 ans
- Prothèses dentaires remboursées par l'AMO : 400 € ou 450€ avec réseau Sévéane
- Soins dentaires : 100 %
- Equipement 100% santé dentaire : Frais réels
- Soins et prothèses dentaires non remboursés par la Sécurité sociale : 600 € 650€ réseau Sévéane
Santé Zen niveau 6
Partenaire de Selectra
![]()
312,06 €/mois
Tarif mis à jour le 05/02/2026![]()
Garanties mises à jour le 06/05/2026
- Orthodontie remboursée par la Sécurité sociale : 250 %
- Plafond sur le poste dentaire par an et par bénéficiaire : 2500 € au-delà 100%
- Inlays / Onlays : 200 %
- Prothèses dentaires remboursées par l'AMO : 400 %
- Soins dentaires : 200 %
- Equipement 100% santé dentaire : Frais réels
Sélection d'assureurs partenaires de Selectra retenus pour leur niveau de remboursement dentaire, classés par prix croissant. Garanties de la formule la plus complète affichées (couverture maximale). Remboursements exprimés sur la base des tarifs conventionnels de la Sécurité sociale (BRSS) en vigueur en juin 2026. Profil utilisé pour les devis : Profil : Femme retraitée de 65 ans, célibataire, sans enfant, vivant à Lille. Affiliée au régime général de la sécurité sociale.. Source du barème : ameli.fr. Référencement gratuit.
Comparatif garantie unique × N assureurs (santé) x-health-coverage-comparison
Tableau qui compare une garantie santé spécifique (médecin spécialiste OPTAM, médecines douces, médecin spécialiste non-OPTAM…) sur l'ensemble des assureurs santé du panel. Une ligne par couple assureur × formule qui inclut (ou propose en option) la garantie, avec son taux/%BR ou son forfait €, son statut (incluse/option), et le prix mensuel par profil. Variante multi-garanties (OPTAM + non-OPTAM côte à côte) via CSV de slugs.
Conformité : caption auto §5.3 (panel, profil, critère de tri, date) ; pill « Partenaire de Selectra » sous chaque assureur partenaire (§5.2) ; CTA 3-mode par row (§7.−2) ; date sous chaque %BR (garantie) ET sous chaque prix (§5.6) ; alimenté en direct par
InsuranceApi::healthCoverageRows(), jamais de valeur en dur.$coverageSlugs slug unique OU CSV ("medecin-specialiste-optam" OU "medecin-specialiste-optam,medecin-specialiste-non-optam") $heading (optional) H2 rendu au-dessus du composant $intro (optional) paragraphe sous le H2 $emptyMessage (optional) message si aucune offre ne matche $product (default 'sante') — vertical pour les URLs partenaires CTA $labelBySlug (optional JSON-encoded array) — libellé court par slug (ex: {"medecin-specialiste-optam":"OPTAM",...})Exemples
<x-health-coverage-comparison coverage-slugs="medecin-specialiste-optam" heading="Mutuelles qui couvrent les dépassements d'honoraires" /> <x-health-coverage-comparison coverage-slugs="medecin-specialiste-optam,medecin-specialiste-non-optam" label-by-slug='{"medecin-specialiste-optam":"OPTAM","medecin-specialiste-non-optam":"Non OPTAM"}' />Comparatif garantie unique × N assureurs (habitation) x-home-coverage-comparison
Twin habitation de
<x-health-coverage-comparison>. Compare une garantie habitation précise (assistance clés perdues, dégât des eaux, équipements de jardin, etc.) sur l'ensemble des assureurs habitation du panel. Une ligne par formule incluant la garantie, avec son plafond, son statut incluse/option, et les prix mensuels du profil sélectionné. Sélecteur de profil et de tri côté client (Alpine, pas de reload).Conformité : pill partenaire §5.2 ; CTA 3-mode §7.−2 par row ; date sous chaque plafond ET sous chaque prix (§5.6) ; caption unique §5.3 (profil resserré, tri, date, équité, référencement) ; alimenté en direct par
InsuranceApi::homeCoverageRows().$coverageSlug slug API de la garantie à comparer (single, pas de CSV ici) $heading (optional) H2 rendu au-dessus du composant $intro (optional) paragraphe sous le H2 $emptyMessage (optional) message si aucune offre ne matche $product (default 'habitation')Exemple
<x-home-coverage-comparison coverage-slug="assistance-cles-perdues-volees-ou-brisees" heading="Assurances habitation qui couvrent les clés perdues" />Annuaire des assureurs x-insurer-directory
Grille filtrable de toutes les marques assureur référencées dans le panel (auto + habitation + santé), avec logo, lien vers la page hub
/{slug}, produits couverts, type (traditionnel / néo-courtier / courtier), année de création et CTA téléphone partenaire si disponible. Filtres Alpine côté client : par produit (auto/habitation/santé), par type (traditionnel/néo/courtier), tri A→Z / récents / partenaires d'abord.Conformité (§3 + §5.6 + §6.1) : exclusion défensive des acteurs bannis (mentions FINASS interdites) ; numéros téléphone jamais inventés — exclusivement depuis
sites/goodassur.com/config/insurers.php, masqué si'TODO'; caption de pied avec mention « sélection non exhaustive » (§5.1) + mois courant (§5.6) ; aucune mention « API » ni « commission » (memoriesno-api-plumbing-leak+no-commission-mention).$heading (optional) H2 rendu au-dessus du composant $intro (optional) paragraphe sous le H2 $emptyMessage (optional) si aucun assureur n'est référencé $hideFicheFor (optional array) — slugs à masquer du lien fiche (ex: redirections)Exemple
<x-insurer-directory heading="Tous les assureurs référencés sur Goodassur" intro="Filtrez par produit, type ou tri pour identifier l'assureur qui colle à votre profil." />Simulateur RAC x-insurance-rac-simulator
Calculatrice « reste à charge » : l'utilisateur saisit le coût d'un soin, le composant calcule le RAC et propose les 3 meilleures mutuelles pour le réduire.
$categorie equipement | dentaire | hospitalisation | imagerie | analyses | paramedical | consultations-generalistes | consultations-specialistes | prevention | cure-thermale (slug catégorie, optionnel) $profile profil par défaut (par défaut « Famille »)Exemple
<x-insurance-rac-simulator categorie="equipement" />Lettre de résiliation x-insurance-resignation-letter
Sélecteur de modèle de lettre de résiliation par situation (loi Hamon, échéance annuelle, déménagement, etc.) avec téléchargement PDF.
$vertical habitation | auto | mutuelle $default slug de la situation pré-sélectionnée (optionnel)Exemple
<x-insurance-resignation-letter vertical="auto" />Lettre de préavis logement x-preavis-letter-builder
Sélecteur de situation (zone tendue, logement meublé, motif personnel réduisant le préavis, cas général) avec questionnaire, aperçu live et téléchargement PDF généré dans le navigateur. Aucune donnée transmise.
$default slug de la situation pré-sélectionnée (zone-tendue | meuble | motif-reduit | standard, optionnel)2. Renseignez vos informations
3. Vérifiez et téléchargez votre lettre
Lettre recommandée avec accusé de réception
Objet :
Madame, Monsieur,
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
Modèle à titre indicatif, vérifié en juin 2026 et conforme à la loi n° 89-462 du 6 juillet 1989 (articles 15 et 25-8). Tous les champs sont modifiables avant téléchargement ; le PDF est généré dans votre navigateur, aucune donnée n'est transmise à Selectra. Adaptez la lettre à votre situation avant envoi.
4. Les justificatifs à joindre
Pour un préavis d'un mois, la loi impose d'indiquer le motif et d'en joindre la preuve. Ajoutez la pièce ci-dessous à votre courrier recommandé.
Selon votre motif :
- Mutation, premier ou nouvel emploi : attestation de l'employeur ou contrat de travail ;
- Perte d'emploi : lettre de licenciement, fin de CDD ou rupture conventionnelle ;
- RSA ou AAH : attestation de la CAF ou de la MSA ;
- État de santé : certificat médical ;
- Logement social : notification d'attribution ;
- Violences : ordonnance de protection, récépissé de plainte ou décision de justice.
Exemple
<x-preavis-letter-builder default="meuble" />Demande d'attestation d'assurance habitation x-insurance-attestation-letter
Générateur interactif de lettre de demande d'attestation d'assurance habitation envoyée par un propriétaire/bailleur à son locataire (article 7 de la loi du 6 juillet 1989). Questionnaire bailleur + locataire + adresse du logement + date du bail. Aperçu live + téléchargement PDF généré côté client via jsPDF (aucune donnée transmise au serveur).
Aucune prop. Le composant gère lui-même son état (Alpine x-data).Exemple
<x-insurance-attestation-letter />1. Renseignez vos informations
Vous (bailleur)
Votre locataire
2. Vérifiez et téléchargez votre lettre
Lettre recommandée avec accusé de réception
Objet :
Madame, Monsieur,
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
Modèle à titre indicatif, vérifié en juin 2026 et conforme à l'article 7 de la loi n° 89-462 du 6 juillet 1989. Tous les champs sont modifiables avant téléchargement ; le PDF est généré dans votre navigateur (aucune donnée transmise à goodassur). Adaptez le contenu à votre situation personnelle avant envoi.
3. Conseils pour l'envoi
- Privilégiez la lettre recommandée avec accusé de réception (LRAR) pour avoir une preuve d'envoi opposable.
- Joignez une copie du bail signé pour rappeler la date de prise d'effet du contrat de location.
- Laissez au locataire un délai raisonnable (15 jours ouvrés) pour vous transmettre son attestation.
- À défaut de réponse, adressez une mise en demeure par huissier : c'est l'étape obligatoire avant toute action en résiliation du bail pour défaut d'assurance.
Cadre légal : article 7 de la loi n° 89-462 du 6 juillet 1989 et loi Alur du 24 mars 2014 (art. 6).
Demande de relevé d'information auto x-insurance-releve-letter
Générateur interactif de lettre de demande de relevé d'information d'assurance auto (aussi appelé relevé de situation ou déclaration d'antécédents), de l'assuré vers son assureur. Questionnaire assuré + assureur + n° de contrat + immatriculation. Aperçu live + téléchargement PDF généré côté client via jsPDF (aucune donnée transmise au serveur). Référence : Code des assurances (délai de 15 jours). Jumeau auto de
<x-insurance-attestation-letter>.Aucune prop. Le composant gère lui-même son état (Alpine x-data).Exemple
<x-insurance-releve-letter />1. Renseignez vos informations
Vous (assuré)
Votre assureur auto
2. Vérifiez et téléchargez votre lettre
Lettre recommandée avec accusé de réception
Objet :
Madame, Monsieur,
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
Modèle à titre indicatif, vérifié en juin 2026. Votre assureur est tenu de vous délivrer votre relevé d'information sous 15 jours (Code des assurances). Tous les champs sont modifiables avant téléchargement ; le PDF est généré dans votre navigateur (aucune donnée transmise à goodassur). Adaptez le contenu à votre situation avant envoi.
3. Conseils pour l'envoi
- Avant d'envoyer un courrier, vérifiez votre espace client en ligne ou l'application de votre assureur : le relevé y est souvent téléchargeable immédiatement.
- Si vous passez par courrier, privilégiez la lettre recommandée avec accusé de réception (LRAR) pour disposer d'une preuve d'envoi.
- Votre assureur dispose d'un délai de 15 jours pour vous transmettre le relevé d'information à compter de la réception de votre demande.
- En cas de refus ou d'erreur sur le document, saisissez d'abord le service réclamation, puis le Médiateur de l'Assurance mentionné dans votre contrat.
Cadre légal : Code des assurances (obligation de délivrance du relevé d'information sous 15 jours).
Carte d'offre unique x-insurance-offer-card
Affiche une seule offre (assureur + profil) avec les détails (prix, garanties principales, CTA). Utilisée sur les pages assureur ou les comparatifs ciblés.
$product auto | habitation | mutuelle $insurer slug de l'assureur $profile nom du profil (par défaut « Famille ») $priceLevel 0 | 1 | 2 | 'all' $offer offre pré-hydratée (alternative à $insurer) $withProfileSelector affiche un sélecteur de profil (false) $defaultProfile profil par défaut quand le sélecteur est actif $allowedProfiles restreint la liste du sélecteurExemple
<x-insurance-offer-card product="auto" insurer="acheel" />CTA téléphone x-phone-cta
Bandeau d'appel avec horaire d'ouverture en direct. Le numéro et l'URL de tracking dépendent de la verticale.
$vertical habitation | auto | mutuelle | animaux | general $title titre (par défaut « Besoin d'aide ? ») $description texte explicatif $hours ligne horaires (par défaut « Appel non surtaxé · du lundi au vendredi… »)Disponible actuellementUn expert Selectra vous aide gratuitement
Nos experts en assurance sont prêts à vous guider pour trouver la meilleure offre adaptée à vos besoins.
Nos experts vous accompagnent gratuitement par téléphone :
01 86 65 20 05Appel non surtaxé · du lundi au vendredi de 9h à 20h, samedi de 9h à 18h
Service gratuit Selectra — mise en relation et conseil indépendants.
Code
<x-phone-cta vertical="auto" /> <x-phone-cta vertical="mutuelle" title="Trouvez la meilleure mutuelle santé" description="Nos conseillers comparent gratuitement les offres." />CTA affiliation x-affiliate-cta
Bloc de redirection vers une landing partenaire (Acheel, April, etc.). Logo, badge, titre, description, liste de bénéfices et bouton.
$title titre principal $description paragraphe sous le titre $badge petit badge en tête (ex: « Devis gratuit et sans engagement ») $href URL de destination (selection/...) $ctaLabel libellé du bouton $logo URL du logo partenaire $logoAlt alt text du logo $features array — bullets de bénéficesExemple
<x-affiliate-cta title="Protégez votre chien dès aujourd'hui" description="Comparez les meilleures assurances chien en 2 minutes." badge="Devis gratuit" href="/selection/acheel/chien-chat" cta-label="Obtenir mon devis" logo="https://images.goodassur.com/fr-insurance/logos/acheel-xs.png" :features="[ 'Couverture vétérinaire jusqu\'à 2 000 €/an', 'Sans questionnaire de santé', 'Souscription 100 % en ligne', ]" />CTA carte grise x-carte-grise-cta
Bloc CTA dédié au service carte grise. Auto-affiche le numéro de téléphone correspondant.
$title titre du bloc $description texte explicatifExemple
<x-carte-grise-cta title="Faites votre carte grise en 5 minutes" description="Service en ligne agréé ANTS — paiement sécurisé." />Service de souscription assureur x-monetisation-service-souscription
Encadré orange in-content positionnant Selectra comme service de souscription d'un assureur partenaire. Badge + titre + bouton phone CTA + légende horaires italiques. Le numéro est résolu en cascade : (1) override
phone/phone-href, (2) CS partenaire via slug danssticky-footer.phones— ex. Acheel, Axa, Luko by Allianz Direct —, (3) fallback poolvertical(général / mutuelle / auto / habitation). Les horaires sont générés automatiquement depuiscms.call-hours.schedule.$insurerName nom affiché (ex. "Acheel") $insurerSlug override slug (par défaut : insurerName lowercased) $vertical fallback pool si pas de CS partenaire (général | mutuelle | auto | habitation…) $phone override numéro affiché $phoneHref override URL de tracking (ex. /selection/fr-ii-cs-gdaacheel) $badge override badge (par défaut « Souscription {insurerName} ») $title override titre (par défaut « Appelez gratuitement le service de souscription {insurerName} »)Souscription AcheelAppelez gratuitement le service de souscription Acheel
du lundi au vendredi de 9h à 20h et le samedi de 9h à 18h
Exemples
<x-monetisation-service-souscription insurer-name="Acheel" /> <x-monetisation-service-souscription insurer-name="Direct Assurance" insurer-slug="direct_assurance" /> <x-monetisation-service-souscription insurer-name="Heyme" vertical="mutuelle" />Grille devis x-devis-grid
Grille à 3 cartes (Mutuelle / Auto / Habitation par défaut) qui dirige vers les comparateurs. À utiliser comme bloc « passage à l'action » en bas d'article.
$items array de cartes — chaque item = ['icon' => '🩺', 'name' => 'Mutuelle', 'href' => '/...', 'cta' => 'Devis gratuit'] $title titre optionnel au-dessus de la grilleExemple
<x-devis-grid title="Comparer en 2 minutes" /> <x-devis-grid :items="[ ['icon' => '🚗', 'name' => 'Auto', 'href' => '/selection/comparateur-assurance-auto', 'cta' => 'Devis auto'], ['icon' => '🏠', 'name' => 'Habitation', 'href' => '/selection/comparateur-assurance-habitation', 'cta' => 'Devis habitation'], ['icon' => '🐕', 'name' => 'Animaux', 'href' => '/selection/acheel/chien-chat', 'cta' => 'Devis animal'], ]" />Podium top 3 x-podium-top3
Cartes or / argent / bronze pour le top 3 d'un classement. Médaille, logo, badge, libellé, CTA. Utilisé en tête des pages classement.
$items array de 3 items — chacun ['name', 'slug', 'cta_href', + optionnels: 'logo', 'cta_label', 'text', 'name_href'] $title titre au-dessus du podium $description paragraphe descriptifExemple
<x-podium-top3 title="Notre top 3 des meilleures mutuelles santé" :items="[ ['name' => 'Alan', 'slug' => 'alan', 'cta_href' => '/selection/comparateur-assurance-sante'], ['name' => 'Heyme', 'slug' => 'heyme', 'cta_href' => '/selection/heyme/mutuelle-sante'], ['name' => 'Harmonie Mutuelle', 'slug' => 'harmonie-mutuelle', 'cta_href' => '/selection/comparateur-assurance-sante'], ]" />Classement prix x-price-ranking
Liste éditoriale ordonnée d'assureurs avec économie %, prix de référence, marqueur ☑ partenaire auto-détecté depuis l'API et CTA 3-mode universel (online affi → phone affi → comparateur de la verticale). Plus dense que le podium — utilisée pour les top 5 / top 10. Phase 1.9 compliance refactor (2026-05-25) : les anciennes clés per-item
cta_hrefetcta_labelsont désormais ignorées, le 3-mode prend la main systématiquement, le marqueur ☑ s'affiche pour chaque partenaire et la mention « ☑ indique un partenaire de Selectra. » est append-ée à la légende ssi ≥1 partenaire dans la liste.$items array — chaque item ['rank', 'name', 'slug', 'name_href', 'price', 'discount', 'medal'?] - rank int (1/2/3 = médaille auto, autre = badge numéroté) - name nom commercial (obligatoire) - slug slug API (obligatoire pour lookup partenaire ; fallback 1er segment non-routing de name_href) - name_href lien sur le nom (SDP) - price string (affichée en colonne « Prix moyen / mois ») - discount string (affichée en colonne « Économie / marché ») $legend ligne explicative sous la liste (gx_decode appliqué pour ) $footerCta CTA en pied de bloc ['href', 'label'?] $vertical 'auto' | 'habitation' | 'mutuelle-sante' | 'animaux' (auto-détectée depuis l'URL si null)Exemple
<x-price-ranking vertical="mutuelle-sante" legend="Étude Selectra 2025, panel de 17 assureurs." :items="[ ['rank' => 1, 'name' => 'Acheel', 'slug' => 'acheel', 'name_href' => '/acheel/mutuelle-sante', 'discount' => '-25,47%', 'price' => '20,52 €'], ['rank' => 2, 'name' => 'Alan', 'slug' => 'alan', 'name_href' => '/alan', 'discount' => '-22,91%', 'price' => '23,22 €'], ]" />Liste de classement x-rank-list
Composant générique de classement : empilement de lignes rang · nom · sous-texte · CTA, médailles 🥇🥈🥉 sur le top 3 et background alterné au-delà. Reproduit le pattern
.ga-rankhistoriquement inliné dans/mutuelle-sante/meilleureet le tableau top 10 senior. Phase 1.10 compliance refactor (2026-05-26) : nouvelle prop:sourcequi auto-rend une légende.tbl-noteen pied (méthodologie + date + panel), avec mention ☑ partenaire conditionnelle si ≥1 item.is_partner=true. Séparateur entre nom et sous-texte changé de em-dash « — » (interdit convention.md L63) à middle dot « · ».$items array — chaque item : - name string (requis) - sub string (optionnel) — sous-texte gris - caption string (optionnel) — caption 10px italique gris (per-item, ex. « Mis à jour le X ») - is_partner bool (optionnel) — affiche le ☑ Selectra-check.svg avant le nom - cta_href string (optionnel) — URL du CTA, sinon pas de bouton - cta_label string (optionnel) — défaut 'Devis gratuit' - cta_rel string (optionnel) — défaut 'sponsored nofollow noopener' - cta_target string (optionnel) — défaut '_blank' - name_href string (optionnel) — si fourni, le nom devient un lien $title string (optionnel) — H3 visuel au-dessus de la liste $source string (optionnel mais RECOMMANDÉE) — méthodologie + date + panel, rendue en `.tbl-note` sous la liste. HTML léger autorisé. Auto-append « ☑ indique un partenaire de Selectra » si ≥1 partner.Notre top 5 des meilleures mutuelles santé
Classement éditorial Selectra sur 17 assureurs, profil Senior 65 ans, mis à jour en juin 2026.
Code
<x-rank-list title="Notre top 5 des meilleures mutuelles santé" source="Classement éditorial Selectra sur 17 assureurs, profil Senior 65 ans, mis à jour en {{ $mois }}." :items="[ ['name' => 'Heyme', 'sub' => 'Formule Ambre', 'is_partner' => true, 'cta_href' => '/selection/heyme/mutuelle-sante', 'name_href' => '/heyme'], ['name' => 'Alan', 'sub' => 'Senior Essentiel', 'cta_href' => '/selection/comparateur-assurance-sante'], ... ]" />Tableau formules mutuelle par profil x-mutuelle-formulas-table
Classement dynamique des meilleures formules de mutuelle santé par profil. Sélecteur GET
?profile=…qui recharge la page (chaque profil = URL crawlable distincte, longue traîne SEO). Tri strict par Selectra Score points DESC + tiebreak alphabétique stable. Composant utilisé sur/mutuelle-sante/meilleure(tous profils health) et/mutuelle-sante/senior/classement-meilleure(4 profils seniors). Paramétrable par n'importe quelle liste de profils.$profiles string[]|null (defaut null = tous profils health découverts via l'API) $defaultProfile string|null (defaut null = 1er profil de la liste) $limit int (defaut 10) $excludeInsurers string[] (defaut []) $queryParam string (defaut 'profile') $selectorLabel string (defaut 'Voir le classement pour :')Notre top 10 des meilleures mutuelles santé pour Senior 65 ans en juin 2026
Classement établi selon le Selectra Score pour le profil Senior 65 ans, mis à jour en juin 2026. Critères : 40 % prix, 40 % garanties, 20 % avis clients.
Code
<x-mutuelle-formulas-table default-profile="Famille" /> <x-mutuelle-formulas-table :profiles="['Senior 65 ans', 'Senior 75 ans', 'Senior 85 ans', 'Senior 92 ans']" default-profile="Senior 65 ans" selector-label="Classement pour les seniors de :" /> <x-mutuelle-formulas-table :profiles="['Famille', 'Chômeur', 'Étudiant']" />Classement mutuelles les moins chères par profil x-mutuelle-cheapest-ranking
Jumeau de
<x-mutuelle-formulas-table>mais trié par prix ASC au lieu de Selectra Score. Affiche le prix par row (à gauche du CTA) avec la date d'update du prix en italique gris dessous quand l'API la fournit (champ canoniqueformulables[].profileables[].updated_at, §5.7). Sélecteur GET?cheapest_profile=…identique. Tri sur le meilleur prix de chaque assureur (formule d'entrée de gamme), un assureur unique par row. Composant utilisé sur/mutuelle-sante/tns(5 profils TNS) et réutilisable sur toutes les pages mutuelle santé.$profiles string[]|null (defaut null = tous profils health découverts via l'API) $defaultProfile string|null (defaut null = 1er profil de la liste) $limit int (defaut 5) $excludeInsurers string[] (defaut []) $queryParam string (defaut 'cheapest_profile') $selectorLabel string (defaut 'Voir les moins chères pour :')Notre top 5 des mutuelles santé les moins chères pour TNS 30 ans
Classement par prix croissant sur 5 assureurs comparés pour le profil TNS 30 ans. Référencement gratuit. Source : devis effectués sur les sites des assureurs.
Code
<x-mutuelle-cheapest-ranking :profiles="['TNS 20 ans', 'TNS 30 ans', 'TNS 40 ans', 'TNS 50 ans', 'TNS 60 ans']" default-profile="TNS 30 ans" :limit="5" selector-label="Voir les moins chères pour le profil TNS :" /> <x-mutuelle-cheapest-ranking :profiles="['Senior 65 ans', 'Senior 75 ans', 'Senior 85 ans']" default-profile="Senior 65 ans" :limit="5" /> <x-mutuelle-cheapest-ranking :limit="10" />Compliance §5.7 — date par row : la date affichée sous chaque prix vient strictement deformulables[].profileables[].updated_atdu couple (formule × profil). Pas de fallback versformulables[].updated_at(= date garanties, différente sémantiquement) ni versoffer.updated_at(bumpé par toute modif marketing). Si l'API ne renseigne pasprofileables[].updated_atpour un row, aucune date n'est affichée pour ce row — convention explicite : « ne rien afficher plutôt que de poser une date imprécise depuis un autre champ ».La moins chère par profil (cartes, multi-verticale) x-cheapest-by-profile
Grille de cartes « l'offre la moins chère pour chaque profil/segment ». Une carte par profil passé en prop ; chaque carte montre l'assureur le moins cher SUR CE PROFIL (logo, formule, prix, CTA). Réutilisable sur les 3 verticales (la prop
verticalpilote le pool d'offres, le chemin CTA affilié et le comparateur). Tout est live depuis l'API, rien de hardcodé. Design : outline orange + bandeau-titre orange par carte. CTA 3-mode + pill partenaire + placeholder d'alignement + date du prix par carte (profileables[].updated_at, §5.7) + légende.tbl-noteconforme (Référencement gratuit + source). Pas de Selectra Score affiché sur les cartes (donc pas mentionné en légende).$vertical 'auto' | 'habitation' | 'mutuelle-sante' (defaut 'mutuelle-sante') $profiles string[] noms de profils API à comparer (defaut 4 tranches senior) $profileLabels array map profil → libellé affiché (defaut []) $noun string nom produit pour la légende (defaut dérivé de la verticale) $priceUnit string unité affichée après le prix (defaut '/mois') $excludeInsurers string[] (defaut [])Sénior 65 ans![]()
Partenaire de Selectra
Formule ESSENTIELLE60,33 €/moisPrix mis à jour le 23/02/2026Devis gratuit en ligneSénior 75 ansSénior 85 ansSénior 92 ansPour chaque profil, l'offre la moins chère en mutuelle santé parmi les assureurs comparés, classée par prix croissant. Référencement gratuit. Source : devis effectués sur les sites des assureurs.
Code
<x-cheapest-by-profile vertical="mutuelle-sante" price-unit="/mois" :profiles="['Senior 65 ans', 'Senior 75 ans', 'Senior 85 ans', 'Senior 92 ans']" :profile-labels="[ 'Senior 65 ans' => 'Sénior 65 ans', 'Senior 75 ans' => 'Sénior 75 ans', 'Senior 85 ans' => 'Sénior 85 ans', 'Senior 92 ans' => 'Sénior 92 ans', ]" /> <x-cheapest-by-profile vertical="auto" :profiles="['Jeune conducteur', 'Bonussé', 'Malussé']" />Compliance : alignement des cartes viaflex flex-col h-full+ CTAmt-auto(§5.9 règle 10) ; pill partenaire conditionnelle + placeholder invisible pour les non-partenaires (règle 8) ; statut partenaire viaOfferDataExtractor::isPartner(anti-bug Luko, règle 9) ; date du prix par carte depuisprofileables[].updated_at(§5.7). Pas de Selectra Score rendu sur les cartes → la légende n'en parle pas.Top 3 mutuelles x-mutuelle-rembours-top3
Trois cartes côte à côte avec deux métriques chacune (ex: forfaits dentaire + optique). Générique mutuelle / auto / habitation — verticale auto-détectée via l'URL ou via la prop
:vertical. Compliance §5.2 / §5.7 / §7−2 — CTA 3-mode dérivé par-item depuis l'API, marqueur ☑ partenaire et caption auto si:legendabsent.$items array — name, name_href (→ slug), logo, metric1/2_{label,value} $legend optionnel — texte éditorial ; mention partenaire append-ée auto $topic optionnel — poste de remboursement, injecté dans la caption auto $vertical optionnel — 'auto' | 'habitation' | 'mutuelle-sante' (défaut: URL-derived)🥇 N°1
ApiviaPartenaire de Selectra
Forfait médecine douce 275 €/anPar séance 55 € × 5📞 01 88 24 67 62🥈 N°2
HeymePartenaire de Selectra
Forfait médecine douce 200 €/anFormule OpaleDevis gratuit en ligneClassement éditorial Selectra sur le remboursement de l'ostéopathie — couvertures relevées en juin 2026.
Code
<x-mutuelle-rembours-top3 topic="le remboursement de l'ostéopathie" :items="[ /* 3 items avec name, name_href, logo, metric1/2 */ ]" />Ranking mutuelles remboursement (table) x-mutuelle-rembours-ranking
Classement éditorial de N mutuelles santé pour le remboursement d'un poste spécifique (médecine douce, lentilles, parodontie, audition…). Format table avec design unifié
<x-pricing-table>(outline bleu, header tinté, zebra) MAIS automatisé : médaille auto sur le top 3 (🥇🥈🥉), nom assureur lié à/{slug}, pill « Partenaire de Selectra » auto-détectée via lookup multi-univers (anti-bug Luko), CTA 3-mode par row (online affi → « Devis gratuit en ligne » ; phone affi → « 📞 {phone} » ; sinon → « Comparer en ligne »), caption auto §5.3 (4 éléments). Twin table de<x-mutuelle-rembours-top3>(qui est 3 cartes côte à côte).$title optionnel — H3 au-dessus de la table $topic optionnel — interpolé dans la caption auto (ex. "médecine douce") $metricLabel label colonne métrique principale (ex. "🦷 Forfait parodontie") $metric2Label optionnel — label colonne métrique secondaire (ex. "👨⚕️ Consultation") $items array — chaque item : slug (required) — slug assureur, lien + lookup partner auto + CTA name (required) — nom commercial formula (required) — nom de la formule metric (required) — valeur métrique principale (ex. "300 €/an") metric2 (optional) — valeur métrique secondaire is_partner (optional) — override le lookup auto is_online (optional) — override flag online affi is_phone (optional) — override flag phone affi $panel int|null — nombre d'assureurs étudiés (caption) $note string|null — note éditoriale en pied (HTML léger autorisé)📊 Classement des meilleures mutuelles ostéopathie (2026)
Classement Goodassur établi en juin 2026 sur le poste « ostéopathie » sur 34 assureurs étudiés. Critère de tri : hauteur du forfait dédié décroissante. Référencement gratuit. Assureur Formule 👨⚕️ Par séance 🌿 Forfait ostéopathie 🥇 Apivia Partenaire de Selectra
Premium 55 € × 5 275 €/an 📞 01 88 24 67 62 🥈 Heyme Partenaire de Selectra
Opale 40 € × 5 200 €/an Devis gratuit en ligne 🥉 AÉSIO Niveau 4 60 € × 3 180 €/an Comparer en ligne Classement Goodassur établi en juin 2026 sur le poste « ostéopathie » sur 34 assureurs étudiés. Critère de tri : hauteur du forfait dédié décroissante. Référencement gratuit.
Sélection établie sur la base des devis effectués sur les sites des assureurs.
Code
<x-mutuelle-rembours-ranking title="📊 Classement des meilleures mutuelles ostéopathie (2026)" topic="ostéopathie" metric-label="🌿 Forfait ostéopathie" metric2-label="👨⚕️ Par séance" :panel="34" :items="[ ['slug' => 'apivia', 'name' => 'Apivia', 'formula' => 'Premium', 'metric' => '275 €/an', 'metric2' => '55 € × 5'], ['slug' => 'heyme', 'name' => 'Heyme', 'formula' => 'Opale', 'metric' => '200 €/an', 'metric2' => '40 € × 5'], ['slug' => 'aesio', 'name' => 'AÉSIO', 'formula' => 'Niveau 4', 'metric' => '180 €/an', 'metric2' => '60 € × 3'], ]" />Carte n°1 mutuelle x-top-mutuelle-remboursement
Carte « meilleure mutuelle de l'année » avec badge, logo, description, bouton devis et bloc téléphone (heures ouvrées partenaires uniquement). Compliance §5.2 / §5.7 / §7−2 / §7.4 — bloc téléphone masqué pour non-partenaires, mention « Service Selectra non-partenaire de X » auto-injectée, caption éditoriale en pied avec mois courant.
$insurer slug de l'assureur (la résolution partenaire/affi vient de l'API) $insurerName nom affiché (fallback: config('cms.insurers.{slug}.name')) $logoUrl URL du logo (défaut: fr-insurance/logos/{slug}-xs.png) $insurerHref lien vers la page assureur (défaut: /{slug}) $topic thème éditorial (ex: « le remboursement des cures thermales ») $description paragraphe descriptif $year année du badge (défaut: année courante) # Anciens props gardés pour rétro-compat, IGNORÉS si pas de surcharge utile : $phoneNumber, $phoneHref → résolus depuis config('cms.insurers.{slug}.phone') $ctaDevisHref, $ctaDevisLabel → résolus via la règle 3-mode universelle🏆 Meilleure mutuelle 2026Alan élue meilleure mutuelle 2026 pour le remboursement des cures thermales
Alan rembourse les cures thermales jusqu'à 700 € par an sur sa formule Diamant — l'un des meilleurs niveaux du marché pour cette dépense atypique.
🔎 Comparer en ligneService gratuit Selectra — non-partenaire de Alan.
Avis Goodassur sur le remboursement des cures thermales mis à jour en juin 2026.
Code
<x-top-mutuelle-remboursement insurer="alan" insurer-href="/alan" topic="le remboursement des cures thermales" description="..." :year="2026" />Jauges Selectra Score x-selectra-score-gauges
Affiche les 5 notes éditoriales du Selectra Score (Tarifs / Garanties / Service / App mobile / Gestion sinistres) pour un assureur, sous forme de mini-jauges colorées + valeur numérique. Source :
sites/goodassur.com/data/assureurs/{slug}.json→score_breakdown.⚠️ Source éditoriale (évaluation experts goodassur), distincte de la lettre Selectra Score servie par l'API insurance-api. Les deux peuvent diverger car elles couvrent des dimensions différentes (cf. convention-compliance.md §5.7). Quand l'API exposera le breakdown par critère natif, le composant basculera automatiquement.
$slug (string, optional) slug assureur — charge le JSON automatiquement $breakdown (array, optional) breakdown direct (court-circuite le slug) $showLabels (bool, default true) afficher les libellés critères $compact (bool, default false) version compacte (sans les valeurs numériques)Exemples
<x-selectra-score-gauges slug="luko" /> <x-selectra-score-gauges slug="acheel" :show-labels="false" /> <x-selectra-score-gauges slug="lemonade" :compact="true" />Exemple vivant (luko, acheel, lemonade) :
Luko by Allianz Direct
Props : - slug (string, optional) : slug assureur ; charge le JSON - breakdown (array, optional) : breakdown direct (court-circuite le slug) - showLabels (bool, default true) : afficher les libellés critères - compact (bool, default false): version compacte (jauges seulement, pas de valeurs numériques) --}}Tarifs4,0 Garanties4,4 Service3,2 App4,8 Sinistres4,1Acheel
Props : - slug (string, optional) : slug assureur ; charge le JSON - breakdown (array, optional) : breakdown direct (court-circuite le slug) - showLabels (bool, default true) : afficher les libellés critères - compact (bool, default false): version compacte (jauges seulement, pas de valeurs numériques) --}}Tarifs4,7 Garanties3,2 Service2,5 App2,0 Sinistres2,4Lemonade
Props : - slug (string, optional) : slug assureur ; charge le JSON - breakdown (array, optional) : breakdown direct (court-circuite le slug) - showLabels (bool, default true) : afficher les libellés critères - compact (bool, default false): version compacte (jauges seulement, pas de valeurs numériques) --}}Tarifs4,6 Garanties3,5 Service2,0 App4,5 Sinistres2,8Avis d'expert x-expert-review
Bloc d'avis éditorial avec logo, description, deux colonnes pros / cons et CTA. Sur les pages assureur (Luko by Allianz Direct, Acheel, Alan, …). Compliance §1 / §5.2 / §5.7 / §6.4 / §7−2 / §7.4 : badge « Partenaire Selectra » auto si applicable, CTA 3-mode dérivé API, caption « Avis Goodassur vérifié en {mois année} » alimentée par
data/expert-reviews/{slug}.json::last_reviewed_at.$name nom de l'assureur $slug slug (logo + lookup partenaire/affi via API) $logo URL du logo (override; défaut: CDN xs.png) $description paragraphe d'introduction $pros array de bullets « points forts » $cons array de bullets « points faibles » $vertical optionnel — 'auto' | 'habitation' | 'mutuelle-sante' (défaut: URL-derived) $lastReviewedAt optionnel — 'YYYY-MM' override (défaut: JSON puis now()) # Compat — explicites encore acceptés mais NON recommandés (la 3-mode est la source de vérité) : $ctaHref, $ctaLabel
✅Avis de nos experts sur Alan
Alan a révolutionné le marché de la mutuelle en supprimant les questionnaires de santé et en offrant une interface 100 % digitale. Remboursements ultra-rapides (sous 24 h) et tarifs parmi les plus compétitifs du marché.
Comparer en ligne✅ Avantages
- Aucun délai de carence sur les garanties.
- Garanties modulables sur 3 niveaux.
- Remboursements sous 24 h via l'application.
⚠️ Points de vigilance
- Souscription impossible après 75 ans.
- Tout est dématérialisé : pas d'agence physique.
Exemple
<x-expert-review name="Alan" slug="alan" description="Alan a révolutionné le marché de la mutuelle…" :pros="[ /* … */ ]" :cons="[ /* … */ ]" />Carte d'identité assureur x-insurer-identity
Carte compacte affichant le score Selectra, la moyenne d'avis, les produits proposés et les plateformes. Branchée sur l'API + le fichier paraphrase.
$slug slug de l'assureur $insurerName nom affiché $insurerData données API (auto-injectées par PROVIDER-PAGE-REFERENCE) $paraphrase bloc paraphrase JSON $hasAuto bool — produit auto disponible $hasHome bool — produit habitation $hasHealth bool — produit santéExemple
<x-insurer-identity slug="luko" insurer-name="Luko by Allianz Direct" :insurer-data="$insurerData" :paraphrase="$paraphrase" :has-home="true" />Alert x-alert
Encart coloré pour mettre en valeur une information clé : info, warning, danger, success. Icône emoji par défaut, ou personnalisable.
$type info | success | warning | danger | error | primary | secondary $icon emoji ou texte court (override) $title titre en gras (optionnel)Bon à savoir
Vous pouvez résilier votre assurance auto à tout moment après un an grâce à la loi Hamon. Aucun motif n'est requis.Attention
En cas de fausse déclaration, l'assureur peut refuser de vous indemniser ou résilier le contrat unilatéralement.Code
<x-alert type="info" title="Bon à savoir"> Texte de l'alerte avec <strong>mots-clés</strong>. </x-alert> <x-alert type="warning" title="Attention">…</x-alert> <x-alert type="danger" icon="🚨">Sans titre, juste un message.</x-alert> <x-alert type="success">Confirmation positive.</x-alert>Info card x-info-card
Carte informative avec dégradé bleu clair. Icône emoji, titre (avec lien optionnel), contenu libre.
$icon emoji ou caractère $title titre en gras $titleHref si fourni, le titre devient un lienRespectez le parcours de soins
Passez par votre médecin traitant avant de consulter un spécialiste pour bénéficier du meilleur taux de remboursement.Pare-brise, optiques, vitres latérales : la garantie bris de glace est incluse en tous risques.Code
<x-info-card icon="🩺" title="Respectez le parcours de soins"> Passez par votre <strong>médecin traitant</strong>… </x-info-card> <x-info-card icon="🪟" title="Bris de glace" title-href="/assurance-auto/bris-de-glace"> Pare-brise, optiques, vitres… </x-info-card>Verdict box x-verdict-box
Encart « notre verdict » avec icône colorée, label, titre et contenu. À placer en fin d'article ou de section éditoriale. Compliance §5.9 règle 2 : prop
:dateoptionnelle, à utiliser uniquement sur composants éditoriaux multi-assureurs ou guides généraux. Sur fiche mono-assureur SDP, ne PAS renseigner:date(la pill partenaire suffit).$tone info | success | warning | danger $label libellé en haut (par défaut « Notre verdict ») $title titre principal $date YYYY-MM optionnel — rendu en pied "Verdict mis à jour en {mois année}"Notre verdictUne mutuelle solide pour les familles
Avec un rapport qualité/prix au-dessus de la moyenne et une interface 100 % digitale, Alan est la meilleure option pour les familles connectées qui consultent régulièrement.Notre top 3 cadresAllianz, AXA et Apivia se détachent sur le profil cadre
Sur les profils cadres familles, ces trois assureurs dominent grâce à des plafonds hospitalisation élevés et un dentaire généreux. Selon notre panel goodassur en 2026.Verdict mis à jour en mai 2026.
Code
<x-verdict-box tone="success" label="Notre verdict" title="Une mutuelle solide pour les familles"> Avec un rapport qualité/prix au-dessus de la moyenne… </x-verdict-box> <x-verdict-box tone="info" title="Notre top 3 cadres" date="2026-05"> Sur les profils cadres familles… </x-verdict-box>Timeline étapes x-timeline-steps
Frise horizontale numérotée (4 étapes recommandées). Idéal pour les processus de souscription ou de sinistre.
$steps array — chaque étape ['titre', 'detail'] $tone success | danger
1Comparez
Renseignez votre profil en 2 minutes.
2Choisissez
Sélectionnez l'offre la mieux adaptée.
3Souscrivez
En ligne ou par téléphone, en 5 minutes.
4 ✓Assuré
Effet immédiat ou différé selon vos besoins.
Code
<x-timeline-steps :steps="[ ['titre' => 'Comparez', 'detail' => 'Renseignez votre profil en 2 minutes.'], ['titre' => 'Choisissez', 'detail' => 'Sélectionnez l\'offre la mieux adaptée.'], ['titre' => 'Souscrivez', 'detail' => 'En ligne ou par téléphone, en 5 minutes.'], ['titre' => 'Assuré', 'detail' => 'Effet immédiat ou différé.'], ]" />Pros / cons x-pros-cons
Grille à deux colonnes « avantages » / « inconvénients ». Composant partagé du framework — utiliser via le slot ou les props.
$pros array de bullets « avantages » $cons array de bullets « inconvénients »Avantages
- Souscription 100 % en ligne en 5 minutes
- Tarifs compétitifs pour les jeunes conducteurs
- Application mobile complète
Inconvénients
- Pas de service client par téléphone
- Couverture limitée hors UE
Code
<x-pros-cons :pros="[ 'Souscription 100 % en ligne en 5 minutes', 'Tarifs compétitifs pour les jeunes conducteurs', ]" :cons="[ 'Pas de service client par téléphone', ]" />Key figure x-key-figure
Chiffre clé : grand nombre, label, description courte. Utilisé en groupe (3 ou 4) pour les blocs de chiffres marquants.
$value chiffre principal (ex: « 450 € », « 73 % ») $label libellé court $description ligne explicative450 €
d'économies
par an en moyenne sur la mutuelle santé
5 min
pour comparer
toutes les offres du marché
0 €
sans engagement
comparateur 100 % gratuit
Code
<x-key-figure value="450 €" label="d'économies" description="par an en moyenne sur la mutuelle santé" />Étoiles x-stars
Note sur 5 étoiles avec demi-étoile. Utilisée à côté des notes Trustpilot ou Selectra.
$note note de 0 à 5 (peut être décimale) $size taille en px (par défaut 14) $color couleur des étoiles (par défaut #F97316)4,5/53,8/55/5Code
<x-stars :note="4.5" /> <x-stars :note="3.8" :size="20" /> <x-stars :note="5" :size="16" color="#015aa3" />Badge partenaire x-partner-pill
Pill « Partenaire de Selectra » à utiliser sur chaque composant qui rend un assureur partenaire de Selectra. Centralise le marqueur ☑ + libellé en une badge explicite et lisible. Remplace l'ancien petit ☑ icon-seul + la légende de pied « ☑ indique un partenaire de Selectra » sur tous les composants Phase 1.1 → 1.10 (expert-review, podium-top3, rank-list, price-ranking, comparison-table, mutuelle-rembours-top3, top-mutuelle-remboursement, mutuelle-formulas-table, offer-card-auto/habitation/sante). Compliance §5.2 + §5.9 règle 1.
$variant 'default' | 'compact' - default : pill complète 0.75rem, padding .2/.55rem, pour cards (expert-review, verdict-card, top-mutuelle-remboursement, SDP hero) où l'espace est disponible - compact : pill réduite 0.65rem, padding minimal, pour listes denses (rank-list, price-ranking, comparison-table rows, mutuelle-rembours-top3) où chaque row doit rester compactPas de logique conditionnelle interne : le caller décide quand l'afficher (typiquement après lookup API
isPartner). Exemple :Code
@if($isPartner) <x-partner-pill /> ← variant default <x-partner-pill variant="compact" /> ← pour listes @endifVariant default (cards) :
Partenaire de Selectra
Variant compact (listes denses) :
Partenaire de Selectra
Carte de France des régions x-france-map
SVG vectoriel (issu du GeoJSON officiel IGN/INSEE) des 13 régions métropolitaines + Corse. Chaque
<path>portedata-region="<nom>"permettant un styling/Alpine indépendant par région. Couplage idéal avec unx-dataAlpine pour tooltip+panneau de détails (cf. exemple/assurance-habitation/prixet/assurance-auto/carte-grise). Le composant colore automatiquement chaque région via la prop:values(map nom-région → valeur numérique) et uncolor-scaleoptionnel.$values map nom-de-région → valeur numérique (auto-quantile si pas de color-scale) $colorScale closure ($value) → couleur CSS (optionnel) $defaultFill couleur des régions sans valeur (défaut #e5e7eb) $hoverClass classes ajoutées au hover (défaut opacity-90) $class classes SVG (défaut w-full h-auto)Exemple minimal
$values = [ 'Île-de-France' => 68.95, 'Auvergne-Rhône-Alpes' => 43.00, // ... une entrée par région ]; $colorScale = fn ($p) => $p > 60 ? '#ef4444' : '#86efac'; <x-france-map :values="$values" :color-scale="$colorScale" />Démo « prix du cheval fiscal 2026 par région » (vert ≤ 45 €, jaune ≤ 55 €, orange ≤ 60 €, rouge > 60 € pour l'Île-de-France).
Erreur de carburant x-carburant-diagnostic
Diagnostic en deux questions : « Avez-vous démarré le moteur ? » + « Combien de litres ? ». Affiche le risque, le coût estimé et le rappel d'assurance.
Aucun prop.⛽ Je me suis trompé de carburant — est-ce grave ?
2 questions · Réponse instantanée1. Quel est le type de carburant de votre véhicule ?
2. Quel carburant avez-vous mis ?
Marche à suivre :
Coût estimé de la réparationDiagnostic à titre indicatif, méthodologie vérifiée en juin 2026 avec les retours d'expérience des centres de dépannage agréés et la documentation technique constructeur (manuels d'entretien Renault, Peugeot, Volkswagen, Stellantis). Les fourchettes de coûts citées sont basées sur les tarifs moyens 2025 des dépanneurs et garages indépendants : votre garage ou votre assureur peut appliquer des tarifs différents. En cas de doute, contactez un professionnel avant de démarrer le moteur.
Code
<x-carburant-diagnostic />Bris / perte de lunettes x-lunettes-diagnostic
Diagnostic « qui rembourse ? » : casse vs perte, dans le délai 100 % santé ou non. Pas de prop.
👓 Qui rembourse vos lunettes ?
2 questions · Réponse instantanée1. Que s'est-il passé ?
2. Âge du porteur des lunettes ?
Diagnostic à titre indicatif, méthodologie vérifiée en juin 2026. La prise en charge réelle dépend de votre contrat (responsabilité civile, garantie objets personnels, multirisque habitation) et des plafonds spécifiques de votre assureur. Vérifiez vos conditions générales avant de déposer une déclaration et contactez votre assureur en cas de doute. Le modèle de lettre généré est conforme à l'article L113-2 du Code des assurances (obligation de déclaration sous 5 jours ouvrés).
Code
<x-lunettes-diagnostic />Éligibilité CSS x-css-eligibility
Calculatrice d'éligibilité à la Complémentaire santé solidaire en fonction du foyer et des revenus. Affiche le résultat (gratuite / participative / non éligible).
$compareHref URL du comparateur de mutuelles (par défaut /selection/comparateur-assurance-sante) $phone numéro à afficher $phoneHref tel:+33...Code
<x-css-eligibility />Convertisseur kW / DIN / CV fiscal x-puissance-converter
Convertit la puissance d'un véhicule entre kW, chevaux DIN et chevaux fiscaux (CV fiscal). Pas de prop.
Code
<x-puissance-converter />Calculateur prix carte grise x-carte-grise-calculator
Calculateur interactif du coût d'une carte grise. Props :
:regions(map région → prix CV, requis),:taxe-gestion,:redevance-achemin,:taxe-formation,:year.Code
@php $cg = require base_path('sites/goodassur.com/data/carte-grise-tarifs.php'); @endphp <x-carte-grise-calculator :regions="$cg['cv_fiscal']" :taxe-gestion="$cg['taxe_gestion']" :redevance-achemin="$cg['redevance_achemin']" :taxe-formation="$cg['taxe_formation_utilitaire']" :year="$cg['year']" />Rendu vivant : voir la page prix de la carte grise (outil interactif lourd, non rendu ici comme pour les autres simulateurs du catalogue).
Simulateur retraite x-retraite-simulator
Estimation de la pension de retraite en 5 étapes (base + Agirc-Arrco) avec projection nette.
Code
<x-retraite-simulator />Simulateur rachat de trimestres x-rachat-trimestre-simulator
Calcule le coût du rachat de trimestres Cnav (« taux seul » vs « taux + durée »). Pas de prop.
Code
<x-rachat-trimestre-simulator />Comparateurs auto / habitation / santé x-tools.comparators.*
Applications interactives complètes (formulaire multi-étapes + résultats). À placer en pleine largeur, en haut de page comparateur. Ne pas inclure dans un article éditorial — utiliser
x-affiliate-ctaoux-devis-gridà la place.⚠️ Ces comparateurs occupent la pleine largeur du contenu. Une page comparateur n'a en général qu'un seul comparateur visible.Code
<x-tools.comparators.sim-comparateur-auto /> <x-tools.comparators.sim-comparateur-habitation /> <x-tools.comparators.sim-comparateur-sante />Accordéon article x-accordion
Bloc dépliable pour cas / scénarios / variantes dans le corps éditorial. Style canonique
.collapse-box / .collapse / .collapse__content, bordure gauche bleue, chevron ▼. À distinguer dex-faq-blockqui est réservé au bloc FAQ en fin de page (avec JSON-LD).items array ['title' => '...', 'content' => '...
', 'open' => true?] title string (single-item mode, contenu via slot) schema bool injecte JSON-LD FAQPage (false par défaut) heading 'h3'|'h4' tag du titre (h3 par défaut)👶 Jeune conducteur
Si vous avez moins de 3 ans de permis ou avez fait une formation conduite accompagnée, vous êtes considéré comme jeune conducteur.
🚗 Petit rouleur
Moins de 7 000 km/an : optez pour une formule au kilomètre avec un tarif modulé selon votre usage réel.
🚙 Voiture ancienne
Pour un véhicule de plus de 10 ans, une formule au tiers ou tiers étendu est généralement plus pertinente que le tous risques.
Code
<x-accordion :items="[ ['title' => '👶 Jeune conducteur', 'content' => '<p>…</p>'], ['title' => '🚗 Petit rouleur', 'content' => '<p>…</p>', 'open' => true], ]" /> <x-accordion title="Quand être assuré au tiers ?"> <p>Contenu HTML libre…</p> </x-accordion> <x-accordion> <x-accordion.item title="Item 1">…</x-accordion.item> <x-accordion.item title="Item 2" open>…</x-accordion.item> </x-accordion>FAQ avec JSON-LD x-faq-block
Bloc FAQ formel en fin de page, avec injection automatique du JSON-LD
FAQPagepour les rich snippets Google. Wrappé dans une<section>dédiée avec son propre H2. À utiliser une fois par page article, après les 6 H2 du body et avant le maillage final.items array [['q' => 'Question ?', 'a' => 'Réponse
', 'emoji' => '💰']] title string défaut "FAQ" id string ancre H2 (défaut "faq") bg 'gray'|null fond gris pour section dédiée (recommandé)💬 FAQ sur la mutuelle santé
💰 Quel est le prix moyen d'une mutuelle ?
Le prix moyen d'une mutuelle santé en 2026 est de 35 €/mois pour un actif, 75 €/mois pour un senior.
⏱️ Peut-on résilier à tout moment ?
Oui, depuis la loi du 1er décembre 2020, vous pouvez résilier votre mutuelle après un an de contrat, à tout moment et sans frais.
⚖️ La mutuelle est-elle obligatoire ?
Obligatoire pour les salariés du privé depuis 2016. Non obligatoire mais fortement recommandée pour les indépendants, étudiants et retraités.
Code
<x-faq-block bg="gray" title="FAQ sur la mutuelle santé" :items="[ ['q' => 'Quel est le prix moyen ?', 'emoji' => '💰', 'a' => '<p>…</p>'], ['q' => 'Peut-on résilier à tout moment ?', 'emoji' => '⏱️', 'a' => '<p>…</p>'], ]" />Le JSON-LDFAQPageest auto-injecté dans<head>. Ne pas ajouter de balisage Schema manuel.Check / Cross list x-check-cross-list
Deux colonnes vert/rouge avec puces ✅/❌. Items en HTML inline (
<strong>,<a>autorisés). Idéal pour comparer ce qui est inclus vs exclu, critères à respecter vs erreurs à éviter.positiveTitle string défaut "Inclus" negativeTitle string défaut "Non inclus" positiveIcon string défaut "✅" negativeIcon string défaut "❌" positive[] array strings HTML negative[] array strings HTMLCe que contient la carte Vitale
- Identité et numéro de Sécurité sociale
- Caisse de rattachement (CPAM)
- Droits ouverts à l'Assurance maladie
Ce qu'elle ne contient pas
- Aucune donnée médicale
- Pas un moyen de paiement
- Pas de remboursement mutuelle automatique
Code
<x-check-cross-list positiveTitle="Critères à respecter" negativeTitle="Erreurs à éviter" :positive="['Envoyer en LRAR', '<strong>Respecter le préavis</strong>']" :negative="['Oublier les justificatifs', 'Résilier avant l\'échéance']" />Liste à marqueur x-icon-list
Remplace les
<ul class="list-disc">bruts. Marqueur au choix par item : ✓ check (vert), ✗ cross (rouge), › arrow (gris, défaut d'une liste normale), ou un emoji custom. Texte en HTML inline (<strong>,<a>).items[] array strings OU ['text'=>, 'marker'=>'check|cross|arrow', 'emoji'=>'🔑'] marker string marqueur par défaut des items sans marqueur propre (défaut "arrow")Code
<x-icon-list :items="[ ['text' => 'Inclus', 'marker' => 'check'], ['text' => 'Exclu', 'marker' => 'cross'], ['text' => 'Avec emoji', 'emoji' => '💳'], ]" /> <x-icon-list :items="['Point A', 'Point B']" />Grille d'astuces x-tips-grid
Grille de cartes à badge. Le badge accepte un chiffre (1, 2, 3…) ou un emoji. Corps en HTML inline (liens,
<strong>). CTA optionnel et cartewide(pleine largeur) par carte.items[] array [['badge'=>'1'|'💡', 'title'=>, 'body'=>(HTML), 'cta'=>['label'=>,'href'=>], 'wide'=>bool]] columns int 2 | 3 (défaut 2)Comparer les devis
Utilisez un comparateur pour faire jouer la concurrence.Astuce bonus
Pensez à la Complémentaire santé solidaire.Code
<x-tips-grid :columns="2" :items="[ ['badge' => '1', 'title' => 'Comparer les devis', 'body' => 'Utilisez un comparateur.'], ['badge' => '💡', 'title' => 'Astuce bonus', 'body' => 'Pensez à la <strong>CSS</strong>.'], ['badge' => '3', 'title' => 'Accompagnement', 'body' => '…', 'wide' => true, 'cta' => ['label' => '📞 Être rappelé', 'href' => '/selection/...']], ]" />CTA monétisation x-cta-monetisation
Bannière compacte de monétisation après un verdict d'expert. Résout automatiquement le mode (affiliation en ligne ou numéro partenaire) selon les flags du JSON assureur. Si
ctaModeest null, ne rend rien.ctaMode 'online'|'phone'|null (null = pas de rendu) insurerName string insurerLogoUrl string (auto-dérivé de $slug si absent) slug string (pour construire logoUrl) affiliateHref string mode online : URL /selection/... partnerPhoneUrl string mode phone : tel:+33... partnerPhoneText string mode phone : libellé boutonComposant invisible sictaMode = null— la résolution se fait dans la route SDP viaInsuranceMonetisation. Ne JAMAIS écrire un<a class="btn-cta" href="/selection/...">à la main, toujours passer par ce composant.Code
<x-cta-monetisation :cta-mode="$ctaMode" :insurer-name="$insurerName" :slug="$slug" :affiliate-href="$affiliateHref" :partner-phone-url="$partnerPhoneUrl" :partner-phone-text="$partnerPhoneText" />Action box x-action-box
Callout coloré avec icône + titre + CTA (téléphone et/ou bouton). Trois tons :
primary(bleu),success(vert),accent(orange).icon string emoji (défaut "💬") title string description string HTML autorisé phone string "01 86 65 20 06" phoneHref string "/selection/fr-ii-cc-gdamutuelle" ctaLabel string libellé bouton secondaire ctaHref string href bouton secondaire tone 'primary'|'success'|'accent' (défaut primary)Besoin d'un conseil ?
Nos conseillers répondent à toutes vos questions sur la mutuelle santé.
Code
<x-action-box icon="📞" title="Besoin d'un conseil ?" description="Nos conseillers répondent…" phone="01 86 65 20 05" phoneHref="/selection/fr-ii-cc-gdageneral" ctaLabel="Je compare" ctaHref="/mutuelle-sante/comparateur" tone="primary" />Smart CTA x-smart-cta
Card flottante de monétisation (desktop bas-droite, mobile bottom-sheet) qui s'affiche après 30s ou 35 % de scroll. Mini-formulaire 2 étapes (profil → code postal) puis podium top-3 réel pré-fetché depuis l'API. Pré-fetch côté serveur (cache 15 min) — pas d'appel réseau côté client.
vertical 'home'|'car'|'health' (défaut 'home')Ne pas mettre dans la prévisualisation : ce composant est en position fixed et obstrue le rendu. Disponible sur les pages produit en homepage et catégorie.Code
<x-smart-cta vertical="home" /> <x-smart-cta vertical="car" /> <x-smart-cta vertical="health" />Hero avis x-avis-hero
Hero de la page
/{insurer}/avis: note globale pondérée + distribution étoiles cliquable + notes externes par plateforme (Trustpilot, OA, Google, App Store…). Connecté à 2 stores Alpine globaux ($store.avisFilter,$store.reviewModal) — synchronisé avecx-temoignages-list.selectraNote float note pondérée (= average_weighted_reviews) totalReviewsCount int total des avis reviewsDistribution array [['star' => 5, 'pct' => 62], ...] externalReviews array [['platform' => 'trustpilot', 'rating' => 4.2, 'rating_count' => 1066], ...] insurerName stringCf. règle dansdata/conventions/convention-sdp.md:selectraNoteDOIT êtreaverage_weighted_reviews, jamais une valeur arbitraire (source unique de vérité).Code
<x-avis-hero :selectra-note="$selectraNote" :total-reviews-count="$totalReviewsCount" :reviews-distribution="$reviewsDistribution" :external-reviews="$externalReviews" :insurer-name="$insurerName" />Liste avis filtrable x-temoignages-list
Liste avis clients avec toolbar de recherche + filtres par étoile + tri (récents / mieux notés / utiles) + chips topics. Synchronisée avec
x-avis-herovia le store Alpine$store.avisFilter.temoignagesCurated array entries {auteur, initiale, verifie, anciennete|profil, type, note, date, date_iso, utile, titre, texte, topics[]} reviewsTopics array ['Service client', 'Sinistres', ...] totalReviewsCount int insurerName stringÀ placer sousx-avis-herosur la page/{insurer}/avis. Les filtres communiquent entre les 2 composants automatiquement.Code
<x-temoignages-list :temoignages-curated="$temoignagesCurated" :reviews-topics="$reviewsTopics" :total-reviews-count="$totalReviewsCount" :insurer-name="$insurerName" />« X face aux autres » x-comparator-table
Tableau « {Insurer} face aux autres assureurs » sur la page hub. Assureur courant en première ligne avec badge « EN AVIS », concurrents cliquables vers leur page. Layout dual : cards mobile / tableau desktop.
comparaison array { note: float (= average_weighted_reviews de l'assureur courant), atout: string ('emoji + atout court'), concurrents: [ {slug, name, note (= awr du concurrent), atout}, ... ] } insurerName string slug string (utilisé pour résoudre le logo)Cf. règleconvention-sdp.md:comparaison.noteetconcurrents[].noteDOIVENT êtreaverage_weighted_reviewsde l'assureur correspondant, jamais une valeur arbitraire.Code
<x-comparator-table :comparaison="$paraphrase['comparaison_concurrents']" :insurer-name="$insurerName" :slug="$slug" />Verdict card x-verdict-card
Bloc « Notre verdict » sur la page assureur : grade Selectra A-F + verdict court mis en avant + verdict long dépliable (séparateur
[|||]pour split preview/expand) + auteur. À utiliser une fois par page SDP. Compliance §5.9 règle 2 : prop:dateoptionnelle, à utiliser uniquement sur classement ou guide multi-assureurs. Sur SDP mono-assureur, ne PAS renseigner:date(le score + auteur signalent déjà le contexte).verdictShort string HTML (header, toujours visible) verdictLong string HTML (body, supporte [|||] pour split) score string A|B|C|D|E|F (grade Selectra) badgeLabel string défaut "Notre verdict sur les formules" authorName string défaut "Marc Malpel" authorRole string défaut "Spécialiste Assurance" authorAvatar string URL R2 par défaut date YYYY-MM optionnel — pied "Verdict mis à jour en {mois année}"Code
<x-verdict-card :verdict-short="$verdicts['formules'] ?? null" :verdict-long="$paraphrase['avis_expert_long'] ?? null" :score="$score" /> $verdictLong = "Texte court visible…[|||]Suite cachée derrière un bouton.";Carte contact assureur x-insurer-contact-card
Fiche d'identité assureur en hero de la page
/{insurer}/contact. Logo + nom + tagline produits + dl/dt/dd des coordonnées principales (téléphone, e-mail, adresse, espace client). Les lignes absentes ne sont pas rendues.insurerName string insurerLogoUrl string productsTagline string ex. "Auto · Habitation · Santé" primaryPhone string primaryHours string ex. "Lun-Ven 8h-20h" email string address string HTML autorisé espaceClientUrl stringCode
<x-insurer-contact-card :insurer-name="$insurerName" :insurer-logo-url="$insurerLogoUrl" :products-tagline="$productsTagline" :primary-phone="$autodata[$slug]['phone']" :primary-hours="$autodata[$slug]['hours']" :email="$autodata[$slug]['email']" :address="$autodata[$slug]['address']" :espace-client-url="$autodata[$slug]['espace_client_url']" />Numéros par produit x-contact-phones-table
Tableau filtrable des numéros de téléphone d'un assureur, avec dropdown de filtre par catégorie (auto, habitation, santé, sinistre, réclamation). Layout dual : cards mobile / tableau desktop.
phones[] array entries {service, phone, hours?, cost?, cat[]?} insurerName string cat possible: auto | habitation | sante | sinistre | reclamationSi aucune entrée n'a decat, le filtre dropdown est masqué automatiquement.Code
<x-contact-phones-table :phones="[ ['service' => 'Service client', 'phone' => '01 70 82 28 05', 'hours' => 'Lun-Ven 8h30-20h', 'cost' => 'Non surtaxé', 'cat' => ['auto', 'habitation']], ['service' => 'Sinistre auto', 'phone' => '0 800 11 22 33', 'cat' => ['sinistre', 'auto']], ]" :insurer-name="$insurerName" />Modèle de courrier x-postal-letter
Mockup visuel d'un courrier postal (font Georgia, layout sender/recipient/object/salutation/body/closing/signature). Idéal pour les modèles de lettre de résiliation, déclaration sinistre, demande CPAM. À combiner avec un bouton de téléchargement jsPDF.
sender array ['name' => '[Prénom NOM]', 'address' => '...', 'extra' => '...'] recipient array ['name' => '...', 'address' => '...'] mention string ex. "Lettre recommandée avec accusé de réception" object string "Objet : ..." salutation string défaut "Madame, Monsieur," closing string défaut formule de politesse standard signature string défaut "(Signature)" slot string HTML corps de la lettre (paragraphes)Modèle de courrier 📮[Prénom NOM][Adresse, CP, ville][Numéro de Sécurité sociale][CPAM][Adresse CPAM]Lettre recommandée avec accusé de réception
Objet : Demande de remboursement de soins
Madame, Monsieur,
Madame, Monsieur,
Je sollicite par la présente le remboursement des soins reçus le [date] auprès du Dr [nom]. Vous trouverez ci-joint la facture acquittée et la copie de l'ordonnance.
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
(Signature)
Modèle à titre indicatif, vérifié en juin 2026. À adapter selon votre situation personnelle avant envoi.
Code
<x-postal-letter :sender="['name' => '[Prénom NOM]', 'address' => '[Adresse]', 'extra' => '[N° Sécu]']" :recipient="['name' => '[CPAM]', 'address' => '[Adresse CPAM]']" mention="Lettre recommandée avec accusé de réception" object="Demande de remboursement"> <p>Madame, Monsieur,</p> <p>Je sollicite par la présente…</p> </x-postal-letter>Single link x-single-link
Mini bloc de maillage avec UN seul lien mis en avant. Variante condensée de
<x-multiple-link>quand on a un seul angle à proposer. Pattern HTML canonique avec classes.single-link / .single-link__label / .single-link__url. À utiliser typiquement sous un tableau ou un encart pour pousser vers une page complémentaire.$label label devant le lien (defaut 'À lire aussi :') $url href du lien (requis) $text texte cliquable (requis) $icon emoji devant le texte (recommandé) $monetisation bool — si true, teinte orange pour signaler un lien monétiséCode
<x-single-link label="À lire aussi" url="/mutuelle-sante/meilleure" text="Top 10 des meilleures mutuelles santé toutes catégories" icon="🏆" />Multiple link x-multiple-link
Grille « À lire aussi » 2-3-4 colonnes responsive. Item optionnel :
icon+color(blue / orange / green / purple / red). Wrapper canonique pour le maillage final d'un article — à placer dans<div data-toc-ignore>pour ne PAS apparaître dans le sommaire.label string défaut "À lire aussi :" links[] array [['url' => '/path', 'title' => 'Titre', 'icon' => '🏆', 'color' => 'orange']]Code
<section data-toc-ignore> <x-multiple-link label="Pour aller plus loin :" :links="[ ['url' => '/...', 'title' => 'Top 10 des mutuelles', 'icon' => '🏆', 'color' => 'orange'], ['url' => '/...', 'title' => 'Comparateur senior', 'icon' => '👴', 'color' => 'blue'], ]" /> </section>Liste numérotée x-numbered-list
Liste ordonnée avec pastilles numérotées colorées et ligne de connexion verticale. Items en strings simples OU avec
title+detail. Trois tons.steps[] array strings OR [{title, detail}] tone 'primary'|'success'|'warning' (défaut primary) start int premier numéro (défaut 1)
- 1
Connectez-vous à votre espace assuréAvec votre numéro de Sécurité sociale et mot de passe.- 2
Téléchargez le formulaire S3704Disponible dans la rubrique « Mes démarches ».- 3
Renvoyez le formulaire complétéPar voie électronique ou par courrier à votre CPAM.Code
<x-numbered-list :steps="[ ['title' => 'Étape 1', 'detail' => 'Détail optionnel…'], ['title' => 'Étape 2', 'detail' => '…'], 'Étape 3 (string simple sans détail)', ]" tone="primary" />Liste FAQ mutuelle x-mutuelle-faq-list
Liste pré-câblée de toutes les pages FAQ mutuelle santé (sous
/mutuelle-sante/faq/). Rendue viamultiple-link. Utilisée en bas des pages FAQ pour cross-link.exclude string slug de la page courante (la masque)⚠️ Composant spécifique mutuelle santé. La liste est hardcodée, à mettre à jour quand une nouvelle FAQ mutuelle est créée.Code
<x-mutuelle-faq-list exclude="cas-dispense-mutuelle" />Modale de rappel x-callback-modal
Composant à déclenchement modal pour formulaire de rappel (lead capture). Le bouton trigger ouvre une modale demandant le téléphone du visiteur, le formulaire push vers le back-office lead. Le contexte (swiss-life / after-hours / non-partner / general) pilote le wording et le segment de lead. Doit être placé une seule fois par page (le composant est rendu globalement).
context string clé context (général|swiss-life|after-hours|non-partner) trigger bool rendre le bouton trigger (défaut true) triggerLabel string override label bouton (défaut cta_label du context) triggerClass string override classes Tailwind du bouton segment string override segment lead (auto|habitation|mutuelle...) leadSource string override lead_source (page/section emitting the lead)Exemple
<x-callback-modal context="general" segment="habitation" leadSource="resiliation-page-cta" /> <x-callback-modal :trigger="false" context="non-partner" />⚠️ Mention Bloctel obligatoire dans le formulaire (RGPD §11 convention-compliance). Préparer la case opt-in pour juillet 2026 (cf. compliance-roadmap §1.15).Reco senior par âge x-senior-age-recommendation
Recommandation par profil senior : pour chaque tranche d'âge (65, 75, 85, 92 ans), affiche la formule la mieux notée selon le Selectra Score sur ce profil spécifique. Composant purement éditorial, sans CTA monétisation : le visiteur clique sur le nom de l'assureur pour accéder à sa page dédiée. Le tri se fait par
selectra_score_points DESCsur le profil cible, consommé live depuisInsuranceApi.Aucune prop. Le composant consomme directement le helper goodassur_senior_health_top1_by_profile() qui calcule en interne.
Mutuelle santé recommandée par tranche d'âge senior, selon le Selectra Score. Âge Mutuelle recommandée Formule Besoins typiques 🟢 65 ans Heyme Partenaire de Selectra
Ambre Jeune retraité, en bonne santé. Besoins prioritaires : optique et dentaire. 🟡 75 ans Heyme Partenaire de Selectra
Ambre Senior actif. Besoins prioritaires : dentaire, audition et hospitalisation. 🟠 85 ans Heyme Partenaire de Selectra
Ambre Senior avancé. Besoins prioritaires : hospitalisation et dépassements d'honoraires. 🔴 92 ans Heyme Partenaire de Selectra
Ambre Grand âge. Besoins prioritaires : hospitalisation, médecine douce et assistance. Recommandation établie selon le Selectra Score le plus élevé sur chacun des 4 profils seniors (65, 75, 85 et 92 ans), mis à jour en juin 2026. Référencement gratuit.
Exemple
<x-senior-age-recommendation />Source de vérité :sites/goodassur.com/helpers/senior-mutuelle-ranker.php. Tri Selectra Score, cadence éditoriale mensuelle (cf. convention-compliance §5.7).Signaler une erreur sur cette page
Merci pour votre signalement !
Votre message a bien été transmis. Notre équipe le traitera dans les plus brefs délais.