/* ===== ABONNEMENT — "le streaming de l'informatique" (premium dark) ===== */ const PLANS = [ { key: "Essentiel", tag: "Pour démarrer serein", price: 15, line: "Le SOS informatique, toujours dans la poche.", feats: [ "Assistance à distance illimitée", "Réponse le jour même, 7j/7", "Diagnostic & conseils gratuits", "−20 % sur les déplacements à domicile", ], }, { key: "Tranquillité", tag: "Le plus choisi", price: 25, line: "Comme Netflix, mais c'est nous qui débarquons quand ça plante.", feats: [ "Tout l'Essentiel, en illimité", "1 intervention à domicile / mois incluse", "Passe en priorité — on vient avant les autres", "Mises à jour & sauvegardes surveillées", "1 h de formation offerte par trimestre", ], }, { key: "Famille", tag: "Toute la maison couverte", price: 40, line: "Jusqu'à 4 appareils, parents et enfants compris.", feats: [ "Tout Tranquillité, jusqu'à 4 appareils", "2 interventions à domicile / mois", "Initiation incluse pour les proches", "Contrôle parental installé & expliqué", ], }, ]; function BillingToggle({ annual, setAnnual }) { return (
); } function AboCard({ plan, featured, annual, onCall }) { const yearly = plan.price * 10; // 2 mois offerts const effMonthly = (yearly / 12).toFixed(2).replace(".", ",").replace(/,00$/, ""); return (
{featured && ★ Le + populaire}
{plan.tag}

{plan.key}

{annual ? yearly : plan.price}€ {annual ? "/an" : "/mois"}
{annual ? `soit ${effMonthly}€/mois · 2 mois offerts` : "sans engagement, résiliable à tout moment"}

{plan.line}

); } function Abonnement({ onCall, featured = "Tranquillité", sparkle = true }) { const [annual, setAnnual] = useState(false); return (
{/* glows */} {sparkle && [["12%", "18%", 22], ["86%", "30%", 16], ["24%", "78%", 14], ["72%", "84%", 20], ["54%", "12%", 12]].map(([l, t, s], i) => ( ))}
Nouveau · Abonnement

Ton informatique,
en illimité.

Le principe d'un abonnement streaming, appliqué à tes appareils : tu payes un petit forfait chaque mois, et on s'occupe de tout — bugs, lenteurs, box, mises à jour — sans devis à chaque fois, sans stress, toute l'année.

{PLANS.map((p, i) => ( ))}
{["Sans engagement", "Résiliable en un appel", "1ᵉʳ mois satisfait ou remboursé"].map((r) => ( {r} ))} Interventions à domicile incluses dans la zone Caen & alentours · déplacement compris.
); } Object.assign(window, { Abonnement });