Aller au contenu principal
Usage interne · Fournisseurs-Gaz

Design System

Tous les formats éditoriaux disponibles pour construire les pages du site. Chaque composant montre le rendu, sa classe CSS, et le code HTML à copier.

Couleurs

Palette de marque Fournisseurs-Gaz. Utilisez les tokens CSS pour garantir la cohérence, jamais de valeurs hex hardcodées.

Primary--brand-orange
Primary dark--brand-orange-700
Primary light--brand-orange-50
Accent--brand-blue
Accent light--brand-blue-50
Success--success
Warning--warning
Error--error
Ink 900--ink-900
Ink 600--ink-600
Ink 200--ink-200
Ink 50--ink-50

Typographie

Hiérarchie de titres et styles de texte disponibles dans .art-body. Règle : un seul H1 par page, au moins 2 sous-titres sous chaque parent (jamais de sous-titre isolé).

Titre H2 — Titre de section

Titre H3 — Sous-section

Titre H4 — Paragraphe

Paragraphe courant avec du texte en gras et un lien vers une autre page. Le corps de l'article utilise Inter en 16px avec une hauteur de ligne de 1.7 pour un confort de lecture maximal.

Paragraphe avec drop cap — la première lettre est agrandie. À utiliser une seule fois, au tout début de l'article, après le lead.

Code HTML
<h2>Titre H2</h2>
<h3>Titre H3</h3>
<h4>Titre H4</h4>
<p>Paragraphe courant avec <strong>gras</strong> et <a href="#">lien</a>.</p>
<p class="has-dropcap">Paragraphe avec drop cap...</p>

Icônes R2 / background-image

Les icônes proviennent du sprite Selectra Design. Les SVG pré-colorés sont hébergés sur le R2 Fournisseurs-Gaz (images.fournisseurs-gaz.com/fournisseurs-gaz.com/icons/colored/) et affichés en background-image. Pour une nouvelle variante de couleur, uploader un SVG supplémentaire avec le fill voulu.

info-blueCallout info
tips-orangeConseil
warning-amberAlerte
fire-orangeGaz / chauffage
lightbulb-orangeIdée / éco-geste
check-greenValidation
clipboard-greenÉtape / démarche
euro-bluePrix / budget
shield-blueGarantie
calendar-inkDate / échéance
chronometer-inkDurée
gas-meter-inkCompteur
document-inkFacture / contrat
phone-horn-inkCTA téléphone
Code HTML & CSS
<!-- HTML : simple <span> — l'icône vient du CSS de la variante parent -->
<span class="al-ic" aria-hidden="true"></span>

/* CSS : SVG pré-colorés sur R2, chargés en background-image (cross-origin OK, pas besoin de CORS) */
.al-ic {
    width: 28px; height: 28px;
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.alert.info .al-ic {
    background-image: url('https://images.fournisseurs-gaz.com/fournisseurs-gaz.com/icons/colored/info-blue.svg');
}

Boutons .btn + variants

5 variantes (primary, outline, ghost, dark, danger) × 3 tailles (sm, md, lg). Le primary = action principale de la vue, un seul par page-fold. Le modificateur .btn-block force 100% de largeur.

Variantes

Tailles

Avec icône & pleine largeur

Code HTML
<!-- Variantes -->
<button class="btn btn-primary">Comparer les offres</button>
<button class="btn btn-outline">En savoir plus</button>
<button class="btn btn-ghost">Annuler</button>
<button class="btn btn-dark">Je m'abonne</button>
<button class="btn btn-danger">Supprimer</button>

<!-- Tailles : .btn-sm  ·  (défaut)  ·  .btn-lg -->
<button class="btn btn-primary btn-sm">Small</button>
<button class="btn btn-primary btn-lg">Large</button>

<!-- Modificateur pleine largeur -->
<button class="btn btn-primary btn-block">Pleine largeur</button>

<!-- Avec icône (SVG 16×16 en premier enfant) -->
<button class="btn btn-primary">
    <svg viewBox="0 0 24 24" ...>...</svg>
    Avec icône
</button>

Barre de progression .progress-bar

Fine barre orange fixée en haut de la fenêtre, indique la progression de lecture d'un article (proportionnelle au scroll). Ajoutée automatiquement dans le layout article via article-design.js. Hauteur 3px, accompagnée d'un léger glow orange.

↑ Barre de progression (42% lu)
Code HTML
<div class="progress-bar"></div>

<!-- Un seul élément vide suffit. article-design.js met à jour width
     selon la position du scroll dans l'élément .art-body. -->

Callouts .alert

Blocs éditoriaux pour mettre en avant une information contextuelle. Une seule classe suffit : alert + la variante. Structure HTML identique pour toutes : icône + titre H4 + paragraphe.

Variantes sémantiques

Utilisent le code couleur universel (bleu=info, orange=tip, ambré=warning, vert=success, rouge=error).

Callout d'information

Précision factuelle ou complément d'explication. Fond bleu clair, neutre et pédagogique.

Callout conseil

Conseil pratique, astuce, insight éditorial. Fond orange clair, couleur de marque.

Callout d'avertissement

Point d'attention, risque financier, piège à éviter. Fond ambré.

Callout de succès

Valider une action, confirmer un choix, signaler un avantage clair. Fond vert clair.

Callout d'erreur

Information critique, danger. À utiliser avec parcimonie. Fond rouge clair.

Variantes thématiques

Chaque variante thématique embarque son fond + son icône spécialisée. Utile pour signaler immédiatement la nature de l'info (prix, durée, garantie, compteur, etc.).

Callout prix / budget

Pour chiffrer un coût, signaler une évolution de tarif, ou détailler une grille tarifaire. Fond bleu, icône euro.

Callout garantie

Pour rassurer sur un engagement légal, une certification, une garantie d'origine. Fond bleu, icône bouclier.

Callout gaz / chauffage

Spécifique aux contextes gaz naturel, chauffage, combustion. Fond orange, icône flamme.

Callout éco-geste

Pour une astuce d'économie d'énergie, un geste écologique, une bonne pratique. Fond orange, icône ampoule.

Callout démarche validée

Pour rappeler les pièces à rassembler, détailler une étape administrative. Fond vert, icône presse-papier.

Callout confirmation

Checklist courte, critères à vérifier, validation positive. Fond vert, icône coche.

Callout date / échéance

Pour signaler une date butoir, un calendrier de paiement, une échéance réglementaire. Fond neutre, icône calendrier.

Callout durée

Temps de lecture d'une démarche, délai de bascule fournisseur, durée d'un engagement. Fond neutre, icône chronomètre.

Callout compteur

Relevé de consommation, numéro PCE, conversion m³ → kWh. Fond neutre, icône compteur gaz.

Callout contrat / facture

Mentions légales, clauses contractuelles, où trouver une info sur la facture. Fond neutre, icône document.

Code HTML
<div class="alert info">
    <span class="al-ic" aria-hidden="true"></span>
    <div class="al-body">
        <div class="al-title">Titre du callout</div>
        <p>Contenu avec <strong>du gras</strong> et des liens possibles.</p>
    </div>
</div>

<!-- Sémantiques : info · tip · warning · success · error -->
<!-- Thématiques : pricing · guarantee · gas · eco · step · check ·
                    deadline · duration · meter · contract -->
<!-- Une seule classe de variante par callout. Fond + icône inclus. -->

TL;DR .tldr-card

Encadré récapitulatif en début d'article. À passer via le slot tldr de <x-layouts.article>. Liste de 5 à 8 puces essentielles.

En 90 secondesL'essentiel
  • Le Prix Repère Gaz de la CRE sert de référence depuis la fin du TRVG en juillet 2023 ;
  • L'offre la moins chère est Spéciale Gaz de TotalEnergies à 0,0996 €/kWh ;
  • Le prix du gaz varie selon la zone tarifaire GRDF (1 à 6) ;
  • Comparer les offres peut faire économiser plus de 100 €/an sur la facture.
Code HTML
<x-slot:tldr>
    <li>Premier point clé ;</li>
    <li>Deuxième point clé ;</li>
    <li>Troisième point clé.</li>
</x-slot:tldr>

Chiffres clés .keyfigs

Grille de 2 à 4 chiffres clés pour mettre en avant des données importantes (prix, volumes, moyennes). Source en libellé discret en bas.

0,1042€/kWh
Prix Repère Gaz avril 2026, zone 1, chauffage
Source CRE
343,92€/an
Abonnement annuel B1, zone 1
Source CRE
30,81€/MWh
Prix du gaz sur le marché de gros
Source PEG
Code HTML
<div class="keyfigs">
    <div>
        <div class="val">0,1042<span class="sup">€/kWh</span></div>
        <div class="lab">Libellé du chiffre</div>
        <div class="src">Source de la donnée</div>
    </div>
</div>

Avis d'expert .expert

Verdict éditorial d'un rédacteur Selectra sur une offre ou un fournisseur. Format : photo de l'auteur (round 120 px) + citation + note optionnelle (sur 5 ou /10). Mettre la photo réelle de l'auteur depuis config/authors.php via une balise <img> dans .ex-photo. Les initiales (texte brut dans .ex-photo) restent un fallback acceptable si la photo n'est pas disponible.

Matias Perea, Expert marché de l'énergie chez Selectra
Avis Selectra
« L'offre Spéciale Gaz de TotalEnergies tient bien son rang pour un foyer chauffé au gaz à Lyon. Son kWh reste compétitif malgré une hausse récente de l'abonnement. »
Matias Perea · Expert marché de l'énergie
8,5/10
Code HTML — avec photo (recommandé)
<div class="expert">
    <div class="ex-photo">
        <img src="https://images.fournisseurs-gaz.com/fournisseurs-gaz.com/authors/matias-perea.webp"
             alt="Matias Perea, Expert marché de l'énergie chez Selectra"
             loading="lazy" decoding="async" width="120" height="120">
    </div>
    <div>
        <div class="ex-label">Avis Selectra</div>
        <div class="ex-text">« Citation du verdict éditorial. »</div>
        <div class="ex-by"><strong>Nom Rédacteur</strong> · Titre</div>
    </div>
    <div class="ex-score">8,5<small>/10</small></div>
</div>
Code HTML — fallback initiales
<div class="expert">
    <div class="ex-photo">MP</div>
    <div>
        <div class="ex-label">Avis Selectra</div>
        <div class="ex-text">« Citation du verdict éditorial. »</div>
        <div class="ex-by"><strong>Nom Rédacteur</strong> · Titre</div>
    </div>
</div>

Exemple concret .example

Encadré pour illustrer un calcul, une mini-histoire ou un cas concret chiffré. Fond bleu clair, rail orange à gauche, label « Exemple concret » et icône ampoule générés automatiquement par le CSS. L'éditeur écrit juste .example + un .b-title — ce dernier est rendu comme un titre de bloc (même style que .alert .al-title : font display 20 px, bold, ink-900).

Sophie, 32 ans, déménage à Lyon

Sophie quitte un T2 à Paris pour un T3 chauffé au gaz à Lyon. Elle souscrit chez un nouveau fournisseur le 10 du mois pour une prise d'effet le 26. GRDF intervient en standard (5 jours ouvrés) pour 22,34 €. Total des frais : 22,34 €. En choisissant une offre 9 % moins chère que l'ancienne, elle économise 156 € sur l'année.

Code HTML
<div class="example">
    <div class="b-title">Sujet de l'exemple (personnage nommé ou titre du calcul)</div>
    <p>Contenu chiffré de l'exemple.</p>
</div>

<!-- Le label "Exemple concret" + l'icône ampoule sont générés par
     .example::before — ne pas le saisir manuellement. -->

Définition .def

Encadré pour définir un terme technique ou un sigle. À utiliser pour expliquer un jargon métier (CTA, TRVG, PEG, etc.).

PRG — Prix Repère Gaz
Indicateur mensuel publié par la CRE depuis juillet 2023, qui sert de référence pour comparer les offres de gaz entre elles. Il reflète le coût moyen du gaz pour un consommateur type : approvisionnement, acheminement, taxes et marge commerciale.
Code HTML
<dl class="def">
    <dt>Terme à définir</dt>
    <dd>Définition complète du terme.</dd>
</dl>

<!-- Le badge § orange et le label « Définition » sont générés
     automatiquement par le CSS. L'éditeur écrit juste <dl> + <dt> + <dd>. -->

Citation éditoriale .quote-ed

Citation mise en valeur (officielle, rapport, porte-parole). Format sobre avec guillemets typographiques.

« Le Prix Repère Gaz permet aux consommateurs de disposer d'une référence fiable pour comparer les offres de marché, dans un contexte où le Tarif Réglementé n'existe plus. »

Commission de régulation de l'énergie (CRE)
Code HTML
<blockquote class="quote-ed">
    <p>« Texte de la citation. »</p>
    <cite>Source ou auteur</cite>
</blockquote>

Carte auteur .author-footer

Bloc de signature placé en fin d'article. Avatar rond, eyebrow "Rédigé par", nom + titre, bio courte, lien "Profil complet" et icônes sociales (LinkedIn, X, e-mail). Fond crème #fbf7f0 avec bordure #ede5d3 — mêmes valeurs que .phone-cta-2. Rendu via le composant <x-author-footer>, injecté automatiquement par <x-layouts.article> quand author="..." est passé en prop.

Code Blade (via x-layouts.article)

<x-layouts.article
    author="matias-perea"
    datePublished="2026-01-01"
    :readingTime="6"
    ...>
    
</x-layouts.article>


<x-author-footer
    :author="$author"
    :publish-date="$publishDate"
    :modified-date="$modifiedDate"
    :reading-time="$readingTime"
    :show-pubmeta="false" />

Points forts / Points faibles .proscons

Bloc à deux colonnes pour synthétiser les avantages et inconvénients d'une offre ou d'un fournisseur. Carte verte pour les points forts (#f5fbf6 / #cde7d2), carte saumon pour les points faibles (#fdf5f0 / #ebcfbd). Eyebrow en majuscules préfixé d'un tiret cadratin, puces sous forme de pastilles colorées pleines. Règles globales dans article-design.css.

— Les points forts
  • Prix du kWh compétitif à 0,0996 € sous le Prix Repère Gaz CRE.
  • 15 % de gaz vert injecté dans le réseau via Garanties d'Origine.
  • Souscription 100 % en ligne, sans engagement et sans frais.
— Les points faibles
  • Abonnement annuel élevé (489,12 € en B1, +6 % vs concurrence).
  • Aucune option à prix fixe sur 2 ou 3 ans, exposition à la volatilité.
  • Service client noté 3,1/5, en deçà de la moyenne du secteur.
Code HTML
<div class="proscons">
    <div class="pros">
        <div class="b-title">— Les points forts</div>
        <ul>
            <li>Avantage 1</li>
            <li>Avantage 2</li>
        </ul>
    </div>
    <div class="cons">
        <div class="b-title">— Les points faibles</div>
        <ul>
            <li>Inconvénient 1</li>
            <li>Inconvénient 2</li>
        </ul>
    </div>
</div>

Classement d'offres .ds-offer-row

Classement riche inspiré du comparateur-gaz : rang + logo fournisseur + nom d'offre + liste d'avantages + prix + économies + CTA téléphone. Chaque ligne est auto-suffisante, cliquable, et responsive sur mobile (passage en 1 colonne).

  • 01
    TotalEnergies

    Offre

    Spéciale Gaz
    Prix fixe 1 an
    • Prix du kWh fixé 1 an
    • Sans engagement
    • Souscription 100 % en ligne
    1 211 €/an TTC · 0,0996 €/kWh
    Économies de 148 €
  • 02
    Plenitude

    Offre

    Astucio Gaz
    Prix indexé mensuel
    • Indexé sur le Prix Repère
    • 10 % de biométhane français
    • Conseillers du lundi au samedi
    1 247 €/an TTC · 0,1024 €/kWh
    Économies de 112 €
  • 03
    Vattenfall

    Offre

    Éco Gaz
    Prix indexé
    • Énergie verte certifiée
    • Sans frais de résiliation
    • Gestion via l'espace client
    1 281 €/an TTC · 0,1051 €/kWh
    Économies de 78 €
Code HTML
<ul class="ds-offer-list">
    <li class="ds-offer-row">
        <span class="rank">01</span>
        <div class="supplier">
            <div class="lg"><img src="logo-url" alt="Fournisseur"></div>
            <div>
                <p class="offer-kicker">Offre</p>
                <div class="b-title">Nom de l'offre</div>
                <span class="ofn">Type de tarif</span>
            </div>
        </div>
        <ul class="checklist">
            <li>Avantage 1</li>
            <li>Avantage 2</li>
            <li>Avantage 3</li>
        </ul>
        <div class="price-cell">
            <div class="pr">1&nbsp;211&nbsp;€<small>/an TTC · 0,0996&nbsp;€/kWh</small></div>
            <span class="eco">Économies de 148&nbsp;€</span>
        </div>
        <div class="cta">
            <a class="row-phone" href="tel:...">09&nbsp;75&nbsp;18&nbsp;41&nbsp;65</a>
            <a href="..." class="row-online">Découvrir l'offre →</a>
        </div>
    </li>
</ul>

Timeline .timeline

Chronologie d'événements verticale. Axe gris fin à gauche, jalons en pastille creuse (cerclé gris). Le jalon courant utilise .is-current sur le <li> : pastille orange pleine avec halo. Chaque jalon contient une date mono-space en exergue (.tl-date), un titre display (.tl-title) et une description courte.

  1. Juillet 2023
    Fin du tarif réglementé du gaz

    Disparition des anciens tarifs bleus Engie. Les clients basculent automatiquement sur une offre de marché.

  2. Janvier 2024
    Introduction du PRG

    La CRE publie chaque mois un prix repère de vente du gaz, destiné à servir de référence au marché.

  3. Mai 2026
    Baisse de 3,2 % sur le PRG

    Recul du prix spot européen qui se répercute sur l'indice référence. Premier recul de l'année — jalon courant.

Code HTML
<ol class="timeline">
    <li>
        <div class="tl-date">Juillet 2023</div>
        <div class="tl-title">Titre de l'événement</div>
        <p>Description courte.</p>
    </li>
    <li class="is-current">
        <div class="tl-date">Mai 2026</div>
        <div class="tl-title">Jalon courant</div>
        <p>Pastille orange pleine avec halo.</p>
    </li>
</ol>

Étapes ol.steps

Liste ordonnée pour un how-to (changer de fournisseur, résilier un contrat, lire son compteur). Numéros Newsreader dans une pastille orange pâle à gauche, titre + description en regard. Sélecteur ol.steps pour éviter tout conflit avec div.steps utilisé sur la home pour un autre layout (grille 3-col « comment ça marche »).

  1. Munissez-vous de votre dernière facture

    Vous aurez besoin du PCE (14 chiffres), de votre consommation annuelle, et du nom de votre fournisseur actuel.

  2. Comparez les offres sur notre simulateur

    Entrez votre consommation. Notre outil classe les offres disponibles dans votre commune par économie annuelle.

  3. Souscrivez en ligne ou par téléphone

    Le nouveau fournisseur résilie automatiquement votre ancien contrat. Pas de coupure, pas de frais, pas d'intervention technique.

Code HTML
<ol class="steps">
    <li>
        <div>
            <div class="b-title">Titre de l'étape</div>
            <p>Description détaillée.</p>
        </div>
    </li>
</ol>

<!-- Le <div> wrapper est obligatoire : .steps > li est un grid à 2 colonnes
     (pastille numérotée + contenu). Sans wrapper, le <p> passerait sous
     la pastille. Compteur CSS automatique, pas d'attribut value à gérer. -->

Podium top-3 .ds-t3-*

Trois cartes d'offres gagnantes, inspirées du podium prix-elec et du pattern Cards--new-design de Selectra Design. Chaque carte a un drapeau coloré en haut (vert = moins cher, orange-foncé = sélection Selectra, jaune = meilleure note). La carte centrale featured est légèrement plus grande et ombrée. Sous chaque carte : logo + offre + étoiles, puis le prix / l'économie en gros, la liste d'arguments, et le CTA téléphone.

Nos 3 meilleures offres de gaz pour réduire votre facture

Comparatif Selectra — mis à jour en avril 2026

Offre la moins chère
TotalEnergies
Spéciale Gaz
★★★★★ 4,3/5
Prix fixe
Selectra Score A
Économies
−148 €
/an vs le Prix Repère Gaz
Prix du kWh TTC : 0,0996 €/kWh
Prix du kWh fixé 1 an
Sans engagement
Souscription 100 % en ligne
Meilleure note client
Vattenfall
Éco Gaz
★★★★★ 4,7/5
100 % vert
Selectra Score B
Économies
−78 €
/an vs le Prix Repère Gaz
Prix du kWh TTC : 0,1051 €/kWh
Énergie verte certifiée
Sans frais de résiliation
Note Trustpilot 4,7 / 5

Simulation réalisée pour un foyer consommant 11 000 kWh/an, chauffage gaz, zone tarifaire 2. Les économies sont calculées par rapport au Prix Repère de Vente du Gaz (PRVG). Prix susceptibles d'évoluer.

Code HTML (structure globale)
<div class="ds-t3-grid">
    <article class="ds-t3-card">  
        <div class="ds-t3-flag ds-t3-flag--green">Offre la moins chère</div>
        <div class="ds-t3-header">
            <div class="ds-t3-logo"><img src="..." alt="..."></div>
            <div class="ds-t3-meta">
                <div class="ds-t3-provider">TotalEnergies</div>
                <div class="ds-t3-offer">Spéciale Gaz</div>
                <div class="ds-t3-rating">★★★★★ <strong>4,3</strong></div>
                <div class="ds-t3-tags"><span class="ds-t3-tag ds-t3-tag--blue">Prix fixe</span></div>
            </div>
            <div class="ds-t3-score">
                <img class="sscore-badge" src="/scores/A-score.svg" alt="Selectra Score A" width="23" height="36">
            </div>
        </div>
        <div class="ds-t3-divider"></div>
        <div class="ds-t3-savings">
            <div class="ds-t3-savings-label">Économies</div>
            <div class="ds-t3-savings-value">−148 €</div>
            <div class="ds-t3-savings-note">/an vs le Prix Repère Gaz</div>
        </div>
        <div class="ds-t3-divider"></div>
        <div class="ds-t3-args">...liste des arguments avec coches...</div>
        <div class="ds-t3-cta">
            <a href="tel:..." class="btn btn-primary btn-lg">09 69 32 14 60</a>
            <div class="ds-t3-footer">
                <a class="ds-t3-footer-link">Voir les tarifs détaillés</a>
                <div class="ds-t3-partner">Partenaire Selectra</div>
            </div>
        </div>
    </article>
</div>

<!-- Variantes de flag : .ds-t3-flag--green · .ds-t3-flag--featured · .ds-t3-flag--yellow
     La carte featured utilise .ds-t3-card--featured pour être scalée / centrée. -->

Catalogue fournisseur .ds-offer-row

Même format que le classement d'offres, appliqué cette fois au catalogue complet d'un seul fournisseur. Pour les pages /fournisseurs/{provider} qui listent toutes les offres gaz d'un provider (ici TotalEnergies). Le rang sert à ordonner par prix croissant ; le logo reste visible sur chaque ligne pour renforcer l'identité fournisseur.

  • 01
    TotalEnergies

    Offre

    Spéciale Gaz
    Prix fixe 1 an
    • Prix du kWh fixé 1 an
    • Remise de 4 % sur le prix repère
    • Sans engagement
    1 211 €/an TTC · 0,0996 €/kWh
    Économies de 148 €
  • 02
    TotalEnergies

    Offre

    Heures Éco Gaz
    Prix indexé · heures creuses
    • −50 % sur le kWh de 22 h à 6 h
    • Indexé sur le Prix Repère Gaz
    • Gestion 100 % en ligne
    1 248 €/an TTC · 0,1025 €/kWh
    Économies de 111 €
  • 03
    TotalEnergies

    Offre

    Essentielle Gaz
    Prix indexé mensuel
    • Indexé sur le Prix Repère Gaz
    • Service client 6 jours sur 7
    • Parrainage 30 € offert
    1 275 €/an TTC · 0,1042 €/kWh
    Économies de 84 €
  • 04
    TotalEnergies

    Offre

    Verte Fixe Gaz
    Prix fixe 2 ans · 100 % biogaz
    • Biogaz français certifié d'origine
    • Prix du kWh bloqué 2 ans
    • Compensation carbone incluse
    1 318 €/an TTC · 0,1076 €/kWh
    Économies de 41 €
Code HTML
<!-- Même structure que #ranklist : .ds-offer-list > .ds-offer-row -->
<!-- Différence sémantique : toutes les lignes partagent le même fournisseur. -->
<ul class="ds-offer-list">
    <li class="ds-offer-row">
        <span class="rank">01</span>
        <div class="supplier">
            <div class="lg"><img src="logo-fournisseur" alt="..."></div>
            <div>
                <p class="offer-kicker">Offre</p>
                <div class="b-title">Nom de l'offre</div>
                <span class="ofn">Type tarifaire</span>
            </div>
        </div>
        <ul class="checklist">...avantages...</ul>
        <div class="price-cell">
            <div class="pr">1&nbsp;211&nbsp;€<small>...</small></div>
            <span class="eco">Économies de ... €</span>
        </div>
        <div class="cta">
            <a class="row-phone" href="tel:...">...</a>
            <a href="..." class="row-online">Découvrir l'offre →</a>
        </div>
    </li>
</ul>

Carte partenaire .partner

Carte d'offre partenaire avec bordure orange épaisse et badge "Offre partenaire" qui dépasse en haut. Utilisée sur les pages fournisseurs partenaires de Selectra (EDF, Engie, TotalEnergies, etc.) — oblige à afficher la mention commerciale.

T
Spéciale Gaz — TotalEnergies

Prix fixe 1 an, abonnement économique.

Prix fixe Sans engagement
1 211 €
/an TTC · 10 000 kWh
Code HTML
<article class="partner">
    <div class="prt-grid">
        <div class="prt-lg" style="background: #...">T</div>
        <div>
            <div class="b-title">Spéciale Gaz — TotalEnergies</div>
            <p class="prt-sub">Tagline courte.</p>
            <div class="prt-tags">
                <span>...badges...</span>
            </div>
        </div>
        <div class="prt-price">
            <div class="prt-price-row">
                <strong>1&nbsp;211&nbsp;€</strong>
                <span class="info-tip" data-tip="Détails...">ⓘ</span>
            </div>
            <small>/an TTC</small>
        </div>
    </div>
</article>

<!-- Le badge "Offre partenaire" en haut-gauche est généré automatiquement
     par .partner::before. -->

Selectra Score .sscore

Badge de notation A→E, inspiré du Nutri-Score. Deux déclinaisons : maxi — échelle horizontale A à E avec la lettre courante mise en évidence (taille 1,45× + z-index) via l'attribut data-grade. Format identique à celui utilisé dans les lignes du comparateur. mini — badge vertical mono-lettre pré-rendu en SVG (hébergé sur R2), affiché dans les cartes compactes (podium top-3, tableaux d'offres).

Version maxi — échelle A à E (lignes comparateur) ↓

ABCDE
ABCDE
ABCDE
ABCDE
ABCDE

Version mini — badge SVG mono-lettre (top-3, tableaux) ↓

Selectra Score A Selectra Score B Selectra Score C Selectra Score D Selectra Score E

Variante .sscore-badge-sm (hauteur 24 px, intégration tableaux serrés) ↓

Selectra Score A Selectra Score B Selectra Score C Selectra Score D Selectra Score E
Code HTML
<!-- Version maxi : échelle horizontale A-E, data-grade boost la lettre courante -->
<div class="sscore sscore-mini" data-grade="B">
    <span class="sscore-grades">
        <span>A</span><span>B</span><span>C</span><span>D</span><span>E</span>
    </span>
</div>

<!-- Version mini : badge SVG pré-rendu hébergé sur R2 -->
<img class="sscore-badge"
     src="https://images.fournisseurs-gaz.com/scores/B-score.svg"
     alt="Selectra Score B" width="23" height="36" loading="lazy">

<!-- Variante petite (tableaux serrés) : ajouter .sscore-badge-sm -->
<img class="sscore-badge sscore-badge-sm" src="..." alt="..." width="15" height="24">

<!-- Fichiers disponibles : /scores/{A|B|C|D|E}-score.svg -->

Tableau de données .ds-savings-table

Tableau éditorial sobre : header bleu uppercase, colonne 1 en gras, chiffres alignés en tabular-nums, mise en valeur d'une métrique clé (.eco en vert mono). Format repris de la section « Combien peut-on vraiment économiser ? » du comparateur.

Profil de consommation Conso annuelle Facture médiane Meilleure offre Économie/an
Petit foyer (cuisson seule) ~1 000 kWh 280 € 232 € −48 €
Foyer moyen (eau chaude) ~6 000 kWh 960 € 845 € −115 €
Maison chauffage gaz ~14 000 kWh 1 797 € 1 549 € −248 €
Grande maison ~20 000 kWh 2 408 € 2 076 € −332 €

Estimations TTC calculées à partir des offres disponibles pour Lyon (zone 1), au 22/04/2026. Votre résultat réel dépend de votre consommation relevée.

Code HTML
<div class="ds-savings-table-wrap">
    <table class="ds-savings-table">
        <thead>
            <tr>
                <th>Profil</th><th>Conso</th><th>Médiane</th><th>Meilleure</th><th>Économie</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Libellé en gras</td>
                <td>~6 000 kWh</td>
                <td>960 €</td>
                <td>845 €</td>
                <td><strong class="eco">−115 €</strong></td>
            </tr>
        </tbody>
    </table>
</div>
<p class="tbl-caption">Légende ou source du tableau.</p>

Onglets .tabs

Onglets horizontaux avec underline orange sur l'onglet actif, pilotés par Alpine.js. Utile pour présenter des déclinaisons (consommation/abonnement/services, classes tarifaires, zones, profils) sans allonger la page.

Votre consommation annuelle (kWh) dépend surtout de la surface chauffée au gaz et de l'isolation du logement. Un T2 de 50 m² consomme en moyenne 12 500 kWh/an.

L'abonnement est identique chez tous les fournisseurs (fixé par la CRE). Seul le prix du kWh varie, c'est là que se jouent les économies.

Option verte, paiement mensualisé, service client étendu : autant de services qui peuvent faire pencher la balance entre deux fournisseurs à prix équivalent.

Code HTML
<div class="tabs" x-data="{ tab: 't1' }">
    <div class="tab-list" role="tablist">
        <button type="button" class="tab-btn" :class="{ 'on': tab === 't1' }" @click="tab = 't1'" data-tab="t1" role="tab">Onglet 1</button>
        <button type="button" class="tab-btn" :class="{ 'on': tab === 't2' }" @click="tab = 't2'" data-tab="t2" role="tab">Onglet 2</button>
    </div>
    <div class="tab-panel" :class="{ 'on': tab === 't1' }" data-tab="t1">Contenu 1</div>
    <div class="tab-panel" :class="{ 'on': tab === 't2' }" data-tab="t2">Contenu 2</div>
</div>

<!-- IMPORTANT : les attributs data-tab sont obligatoires.
     article-design.js utilise un switch vanilla en plus d'Alpine,
     qui se base sur data-tab pour cibler le bon panel. -->

FAQ .faq

Liste de questions/réponses dépliables (balise native <details>, aucun JS requis pour l'affichage). Toutes les questions sont fermées par défaut — y compris la première — pour laisser l'utilisateur choisir ce qu'il ouvre et éviter de casser le rythme de lecture. Un schéma JSON-LD FAQPage est injecté en tête de page à partir du même tableau PHP : une seule source de vérité pour l'affichage et le SEO.

Comment changer de fournisseur sans coupure ?

Le nouveau fournisseur résilie automatiquement votre ancien contrat. Aucune intervention technique, pas de coupure, pas de frais. Délai moyen de bascule : 21 jours.

Quelle différence entre PRG et tarif réglementé ?

Le tarif réglementé a disparu en juillet 2023. Le PRG est un indice mensuel publié par la CRE, qui sert de référence aux fournisseurs pour construire leurs offres, sans leur être imposé.

Les offres vertes sont-elles plus chères ?

L'option verte (biogaz ou compensation carbone) coûte en moyenne 1,5 à 3 % de plus que l'équivalent non-vert chez le même fournisseur.

Code Blade + JSON-LD FAQPage
@php
    $faqItems = [
        ['q' => 'Question 1 ?', 'a' => 'Réponse 1.'],
        ['q' => 'Question 2 ?', 'a' => 'Réponse 2.'],
    ];
    $faqSchema = [
        '@context' => 'https://schema.org',
        '@type' => 'FAQPage',
        'mainEntity' => array_map(fn ($i) => [
            '@type' => 'Question',
            'name' => $i['q'],
            'acceptedAnswer' => ['@type' => 'Answer', 'text' => $i['a']],
        ], $faqItems),
    ];
@endphp

@push('head')
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Comment changer de fournisseur sans coupure ?","acceptedAnswer":{"@type":"Answer","text":"Le nouveau fournisseur résilie automatiquement votre ancien contrat. Aucune intervention technique, pas de coupure, pas de frais. Délai moyen de bascule : 21 jours."}},{"@type":"Question","name":"Quelle différence entre PRG et tarif réglementé ?","acceptedAnswer":{"@type":"Answer","text":"Le tarif réglementé a disparu en juillet 2023. Le PRG est un indice mensuel publié par la CRE, qui sert de référence aux fournisseurs pour construire leurs offres, sans leur être imposé."}},{"@type":"Question","name":"Les offres vertes sont-elles plus chères ?","acceptedAnswer":{"@type":"Answer","text":"L'option verte (biogaz ou compensation carbone) coûte en moyenne 1,5 à 3 % de plus que l'équivalent non-vert chez le même fournisseur."}}]}</script>
@endpush

<div class="faq">
    @foreach($faqItems as $item)
        <details>
            <summary>Les offres vertes sont-elles plus chères ?</summary>
            <div class="faq-body"><p>L'option verte (biogaz ou compensation carbone) coûte en moyenne 1,5 à 3 % de plus que l'équivalent non-vert chez le même fournisseur.</p></div>
        </details>
    @endforeach
</div>

Phone CTA fournisseur .phone-cta-provider

Variante enrichie pour les pages fournisseur : fond crème, badge blanc d'économies avec check vert, titre Inter avec accent orange sur la dernière clause, logo fournisseur centré au-dessus du bouton, bouton plein orange avec kicker « APPELEZ — SERVICE GRATUIT » en petites caps. Mention légale Selectra en pied avec filet supérieur. À placer au-dessus du pli sur les pages fournisseur à forte intention (EDF, TotalEnergies, Engie). Remplacer logo, nom et description selon le fournisseur. Stacke en colonne sous 900px.

Code HTML
<aside class="phone-cta-provider" aria-label="Parler à un conseiller EDF">
    <div class="pcp-main">
        <div class="pcp-txt">
            <div class="pcp-badge">
                <span class="pcp-badge-ic" aria-hidden="true"><svg>...</svg></span>
                <span>Jusqu'à <strong>350&nbsp;€</strong> d'économies<sup>(1)</sup></span>
            </div>
            <h3 class="pcp-title">
                Infos et souscriptions EDF&nbsp;:
                <span class="pcp-accent">un conseiller vous accompagne.</span>
            </h3>
            <p>Obtenez toutes les informations sur les offres EDF…
                <strong>Service gratuit, sans engagement.</strong></p>
        </div>

        <div class="pcp-right">
            <div class="pcp-logo"><img src="..." alt="Logo EDF"></div>
            <a href="tel:..." class="pcp-phone">
                <span class="pcp-phone-ic" aria-hidden="true"><svg>...</svg></span>
                <span class="pcp-phone-txt">
                    <small>Appelez — service gratuit</small>
                    <strong>09&nbsp;69&nbsp;32&nbsp;14&nbsp;60</strong>
                </span>
            </a>
        </div>
    </div>
    <p class="pcp-mention">Service Selectra non surtaxé…</p>
</aside>

<!-- Règle légale : la mention .pcp-mention est obligatoire (service Selectra, courtier).
     L'accent orange se pose UNIQUEMENT sur la clause finale du titre (la promesse conseiller). -->

Phone CTA 2 .phone-cta-2

Bloc inline éditorial à insérer entre les sections H2 (matrix de placement dans convention.md). Badge d'économies vert avec .info-tip qui expose la méthodologie au survol — pas de <sup>(1)</sup> ni de mention légale en pied par défaut (cf. règle tooltip, not footnote dans convention.md). Layout 2-col : bloc texte à gauche, CTA téléphone centré verticalement à droite.

Code HTML
<aside class="phone-cta-2" aria-label="Parler à un conseiller Selectra">
    <div class="pc2-main">
        <div class="pc2-txt">
            <div class="pc2-badge">
                <span class="pc2-badge-ic" aria-hidden="true"><svg>...</svg></span>
                <span>Jusqu'à <strong>350&nbsp;€</strong> d'économies</span>
                <span class="info-tip" data-tip="Estimation basée sur…" tabindex="0" aria-label="Détails du calcul">
                    <svg>...</svg>
                </span>
            </div>
            <h3 class="pc2-title">
                Un conseiller Selectra
                <span class="pc2-accent">compare pour vous.</span>
            </h3>
            <p>Il identifie une offre adaptée à votre profil et souscrit à votre place.</p>
        </div>

        <a href="tel:..." class="pc2-phone">
            <span class="pc2-phone-ic" aria-hidden="true"><svg>...</svg></span>
            <span class="pc2-phone-txt">
                <small>Appelez — service gratuit</small>
                <strong>09&nbsp;74&nbsp;59&nbsp;22&nbsp;94</strong>
            </span>
        </a>
    </div>
</aside>

<!-- Page générique : pas de .pc2-mention. La mention légale n'est requise que sur
     les pages partenaire / non-partenaire / Engie / Enedis-GRDF (cf. /monetisation). -->

Phone CTA hero .phone-cta-hero

Variante compacte en rail étroit (~440px max) destinée à la colonne droite du hero article. Fond blanc, bord unique, coin arrondi, ombre douce. Le badge d'économies est suivi d'un .info-tip qui expose la méthodologie du calcul au survol — plus de <sup>(1)</sup> ni de mention légale en pied par défaut. Cette CTA est alimentée par les props ctaHeadline, ctaText, ctaSavings, ctaTooltip, ctaAnnonce de <x-layouts.article>.

Page éditoriale générique (sans annonce légale)

Page fournisseur partenaire (avec logo et annonce)

Code Blade (via x-layouts.article)

<x-layouts.article
    ctaHeadline="Votre déménagement gaz clés en main —"
    ctaAccentHeadline="un conseiller s'occupe de tout."
    ctaText="Résiliation, comparaison… <strong>Service gratuit.</strong>"
    :ctaSavings="$ctaSavings ?? null"
    ctaTooltip="Estimation basée sur 14 000 kWh/an à Paris 11ᵉ…"
    
>


<x-layouts.article
    ctaHeadline="Infos et souscriptions EDF :"
    ctaAccentHeadline="un conseiller vous accompagne."
    ctaText="Obtenez toutes les informations… <strong>Service gratuit.</strong>"
    :ctaSavings="$ctaSavings ?? null"
    ctaTooltip="Estimation basée sur 6 000 kWh/an en 6 kVA option Base…"
    ctaAnnonce="Annonce — Service Selectra partenaire d'EDF pour une sélection d'offres…"
    ctaLogo="https://images.fournisseurs-gaz.com/logos/fournisseurs/edf-md.png"
    ctaLogoAlt="Logo EDF"
>
Règle monétisation

La mention .pch-mention (annonce légale) n'apparaît QUE si la prop ctaAnnonce est explicitement fournie. Sur une page éditoriale générique (prix, guide, FAQ), laissez-la vide. Sur une page fournisseur partenaire, Engie, Enedis ou non-partenaire, la mention est obligatoire selon les règles de /monetisation.

Comparateur intégré .art-comparator

Formulaire à insérer dans le corps d'un article pour rediriger le lecteur vers le comparateur de gaz avec sa commune et sa consommation pré-remplies. Le titre suit le même format que .phone-cta-2 (30 px, accent orange). Bouton sur sa propre ligne, champs ville et consommation à 50/50 sur desktop, empilés sur mobile (< 720 px). Réutilise le composant Alpine heroCityPicker() de la home — autocomplete commune, validation INSEE, soumission GET vers /comparateur-gaz.

Code Blade

<x-article-comparator />


<x-article-comparator
    title="Comparez les offres avant la mise en service —"
    accent="Selectra trouve l'offre adaptée à votre commune."
    subtitle="Renseignez votre code postal et votre consommation pour obtenir le classement personnalisé des offres disponibles à votre adresse."
    buttonLabel="Voir les offres pour ma commune"
/>

Props disponibles :

Liste des props du composant article-comparator
Prop Type Valeur par défaut Rôle
title string « Comparez les offres de gaz pour votre commune — » Première partie du titre, en noir. Doit se terminer par un tiret cadratin si accent est rempli.
accent string|null « Selectra trouve l'offre adaptée à votre profil. » Deuxième partie du titre, en orange (rendue dans <span class="ac-accent">). C'est ici que doit apparaître le mot « Selectra » pour la conformité monétisation.
subtitle string|null Phrase d'instruction sur la saisie du CP + consommation Sous-titre éditorial sous le titre. Mettre null pour le supprimer.
buttonLabel string « Voir les offres pour ma commune » Libellé du CTA principal (bouton orange).
Règles d'usage

Une seule instance par article (deux instances marcheraient grâce aux IDs uniques générés par uniqid(), mais multiplier les blocs de conversion sur la même page nuit à la lisibilité). Respecter la règle de block spacing de la convention : au moins un paragraphe de texte avant et après le widget. Ne pas l'enchaîner directement avec un autre bloc visuel (.phone-cta-2, <x-shortcode>, .alert, etc.).

Sticky mobile .sticky-footer

Barre fixe en bas de l'écran, visible uniquement sur mobile. Design inspiré de prix-elec : fond blanc translucide avec backdrop-blur, ombre portée vers le haut, bouton CTA en orange de marque pleine largeur. Deux états : ouvert (appel téléphonique) / fermé (souscription en ligne ou comparaison). Sur pages fournisseur partenaire, le logo s'affiche à gauche. La barre n'apparaît qu'après 400px de scroll.

État 1 — Conseillers ouverts (CTA appel)

État 2 — Conseillers fermés (CTA comparateur)

État 3 — Avec logo fournisseur partenaire

↑ Aperçus statiques — sur un vrai téléphone, la barre est position: fixed en bas d'écran, md:hidden, apparition après 400px de scroll.

Code HTML (Tailwind + Alpine)
<div
    x-data="businessHours(hoursConfig)"
    x-cloak
    class="fixed bottom-0 inset-x-0 z-40 md:hidden"
>
    <div
        x-data="{ show: false }"
        x-init="const update = () => { show = window.scrollY > 400; };
                window.addEventListener('scroll', update, { passive: true });
                update();"
        :class="show ? 'translate-y-0' : 'translate-y-full'"
        class="bg-white/95 backdrop-blur-md border-t border-gray-200 shadow-[0_-6px_20px_rgba(20,36,59,0.08)] px-3 py-2.5 transition-transform duration-200 ease-out"
        style="padding-bottom: max(0.625rem, env(safe-area-inset-bottom))"
    >
        <div class="flex items-stretch gap-2">
            <!-- Logo (partenaire uniquement) -->
            @if($isPartner)
                <img src="{{ $logoUrl }}" alt="..." class="h-7 w-auto max-w-[72px] object-contain shrink-0">
            @endif

            <!-- Ouvert : CTA appel -->
            <a href="tel:{{ $phoneTel }}" x-show="isOpen" x-cloak
               class="flex-1 inline-flex items-center justify-center gap-2 bg-primary text-white rounded-xl py-2.5 px-3 shadow-[inset_0_-2px_0_rgba(0,0,0,0.14)] active:scale-[0.98]">
                <svg class="w-4 h-4">...</svg>
                <span class="flex flex-col leading-tight text-left">
                    <span class="text-[9px] opacity-85 uppercase tracking-wider">Appel gratuit</span>
                    <span class="text-[15px] font-extrabold">{{ $phone }}</span>
                </span>
            </a>

            <!-- Fermé : CTA comparateur -->
            <a href="/comparateur-gaz" x-show="!isOpen" x-cloak
               class="flex-1 inline-flex items-center justify-center gap-1.5 bg-primary text-white text-sm font-bold rounded-xl py-2.5 px-3">
                <svg class="w-4 h-4">...</svg>
                Comparer les offres
            </a>
        </div>
    </div>
</div>

<!-- Logique ouvert/fermé via x-data="businessHours(...)" (helper Alpine global)
     Apparition au scroll > 400px, translate-y-full par défaut -->

Mini-diagnostic 3 questions .fg-aides-tool

Outil éditorial à insérer en début d'article pour guider le lecteur vers les sections qui le concernent. Trois questions à choix unique → panneau de résultats avec liste hiérarchisée par niveau d'éligibilité (vert « claire » / ambre « sous conditions »). Le panneau de résultat n'apparaît qu'une fois les trois réponses données — pas de bloc orphelin tant que rien n'est rempli. Aucun CTA téléphonique : l'objectif est uniquement la navigation interne. Le financement éditorial reste assuré par les .phone-cta-2 du flux principal.

Outil · 100 % gratuit

Quelles aides pour mon déménagement ?

Trois questions, des aides personnalisées. On vérifie en direct votre éligibilité aux dispositifs nationaux 2026 (CAF, Action Logement, FSL, France Travail, Crous…).

0/3 répondus environ 30 secondes
1
Votre situation professionnelle — une seule réponse
2
Nombre d'enfants à charge
3
Le déménagement fait suite à…
Votre estimation personnalisée

Vous avez droit à

Cliquez sur un dispositif pour aller au détail dans l'article : conditions, démarches, justificatifs.

Éligibilité claire Sous conditions
Diagnostic indicatif. Chaque organisme reste seul juge de l'éligibilité finale après examen du dossier complet.
Markup Blade
<x-tools.diagnostic-aides-demenagement />

Anatomie du composant

  • .fg-aides-rail — bandeau dégradé orange→bleu en haut, signature visuelle de l'outil ;
  • .fg-aides-head — kicker, titre <h2> avec emphase italique sur le sujet, lede courte, pastille de progression 0/3 ;
  • .fg-q-block × 3 — chaque bloc question contient un numéro circulaire (passe au vert quand répondu), un label, et une grille d'options .fg-q-opts.cols-2 ou .cols-3 ;
  • .fg-result — panneau crème (mêmes tokens que .author-footer), x-show="answeredCount === 3", transition opacity 300 ms ;
  • .fg-aide — carte résultat. border-left: 4px solid avec couleur dépendante du niveau (.is-high vert, .is-medium ambre). Première colonne figée à 140 px pour que les montants s'alignent verticalement entre cartes. Bouton flèche .fg-aide-link à droite, palette assortie au niveau ;
  • .fg-aides-foot — disclaimer légal en bas (« Diagnostic indicatif, chaque organisme reste seul juge… »).

Niveaux d'éligibilité

Codes couleur des niveaux d'éligibilité dans la liste de résultats
Niveau Classe Couleur Sens
Éligibilité claire .is-high vert #0a8023 Tous les critères principaux sont remplis sur la base des réponses.
Sous conditions .is-medium ambre #d97706 Profil compatible mais des conditions secondaires restent à vérifier (ressources, délai, département).

Réutiliser ce design pour un autre sujet

Le composant est aujourd'hui calé sur les aides au déménagement, mais sa structure visuelle (3 questions → panneau de résultats avec niveaux d'éligibilité) se transpose à n'importe quel sujet où le lecteur a besoin d'un parcours éditorial guidé : aides à la rénovation énergétique, choix d'un mode de chauffage, éligibilité à un dispositif… Pour décliner :

  1. Dupliquez components/tools/diagnostic-aides-demenagement.blade.php sous un nouveau nom (ex : diagnostic-aides-renovation.blade.php) — le CSS scopé par .fg-aides-tool reste tel quel.
  2. Dans la copie Blade, remplacez les libellés des 3 questions et leurs options (icônes lucide-like, valeurs) selon votre sujet. Gardez la structure .fg-q-block / .fg-q-head / .fg-q-opts.cols-X.
  3. Dupliquez js/tools/diagnostic-aides-demenagement.js et adaptez la logique du getter aides : un if par dispositif, attribuant level: 'high' ou 'medium' selon les réponses. Les champs attendus par carte sont id (ancre dans l'article), title, amount, org, level, note.
  4. Enregistrez le module Alpine dans js/app.js (Alpine.data('nomDuModule', module)) et référencez-le dans le markup via x-data="nomDuModule()".
Règles d'usage éditorial

À placer en début d'article, juste après le tableau de synthèse ou la première section structurante. Une seule instance par page (la lecture des résultats demande de l'attention — multiplier les outils brouille le message). Chaque entrée de la liste de résultats doit pointer vers une ancre réelle (id sur un <h2> ou <h3> existant dans l'article).

Composants avancés

Ces composants requièrent une intégration plus lourde (Alpine + API + données dynamiques). Ils ne sont pas prévisualisés ici — allez voir leur intégration en production via les liens ci-dessous, puis copiez le pattern depuis la page source.

Graphiques
Chart.js intégrés

Courbes d'évolution, barres, donuts, jauges — lazy-loadés via Alpine (x-data="lineChart"). Classes : .chart-line, .chart-bar, .chart-donut, .chart-gauge.

VU SUR /PRIX →
Cartographie
Carte de France

SVG des régions cliquables pour redirection vers pages régionales. Classe : .map-fr.

VU SUR /ZONES-TARIFAIRES →
Simulation
Estimateur budget

Formulaire interactif conso/zone/équipement qui calcule un budget annuel. Alpine + API Engine. Classes : .estim-v2, .calcsav.

VU SUR /PRIX →
Comparateur
Formulaire de comparaison

Saisie adresse + conso, retour classement live de toutes les offres. Classe : .cmp-form. Page dédiée déjà prête.

VU SUR /COMPARATEUR-GAZ →
Prix spot
Affichage prix spot

Tableau ou mini-chart des prix temps réel du gaz sur le marché PEG. Classes : .spot, .heatmap.

CSS PRÊT, PAGE À VENIR