/* global React, CTA_URL, NAV_LINKS, HERO, CASES, PROBLEMS, BENEFITS, STEPS, FAQ_ITEMS, FINAL_CTA, FOOTER, Counter, Reveal, LiveClock, Typewriter, BrowserBar, AlarmMockCard */
const { useState: useStateB } = React;
function VariantB() {
return (
);
}
/* ============ NAV ============ */
function NavB() {
return (
);
}
/* ============ HERO ============ */
function HeroB() {
return (
{/* Eyebrow bar */}
▸ {HERO.eyebrow}
Disponible · France entière
{/* LEFT — headline + deck + CTAs + trust */}
Votre présence en ligne
ne reflète pas
votre niveau.
{HERO.deck}
{/* Trust signals */}
{[
{ label: "Ingénieur télécom", sub: "Infra réseau · Bâtiment · Terrain" },
{ label: "Réponse en 24 h", sub: "Audit gratuit · Sans engagement" },
{ label: "Vous restez propriétaire", sub: "Domaine · Hébergement · Contenu" },
].map((t, i) => (
))}
{/* RIGHT — Audit preview card */}
● Ce que je regarde dans votre audit
Gratuit · 24 h
{HERO.auditItems.map((item) => (
{item.n}
{item.t}
{item.b}
))}
);
}
/* ============ SHOWCASE ============ */
function ShowcaseB() {
return (
▸ Réalisations · 03 cas
Fait pour votre métier.
Chaque site est construit autour du vrai parcours de vos clients —
leurs questions, leurs doutes, ce qui les convainc de choisir quelqu'un.
Pas un template. Pas du générique.
{CASES.map((c, i) => {
const accents = ["var(--tile-orange)", "var(--static-ultraviolet)", "var(--tile-yellow)"];
return (
Cas 0{i + 1} · {c.role}
{c.img ?
:
}
{c.title}
{c.quote}
→ {c.stat}
{c.url}
);
})}
);
}
/* ============ PROBLEMS (diagnostic grid) ============ */
function ProblemsB() {
return (
▸ Diagnostic · 06 frictions
Vous reconnaissez
ça ?
Six situations qu'on retrouve chez presque tous les artisans techniques.
Si trois ou plus vous parlent, l'audit est fait pour vous.
{PROBLEMS.map((p, i) =>
Friction {String(i + 1).padStart(2, "0")}
● Critique
{p.t}
{p.b}
Impact {60 + i * 7 % 35} %
)}
);
}
/* ============ PIPELINE ============ */
function PipelineB() {
return (
▸ Processus · 04 étapes
Quatre étapes.
Zéro surprise .
Vous validez à chaque étape. Rien n'est lancé sans votre accord.
Pas de jargon, pas de mauvaises surprises sur la facture.
{STEPS.map((s, i) =>
Étape {s.n} · J +{i * 3}
{s.t}
{s.b}
)}
);
}
/* ============ BENEFITS ============ */
function BenefitsB() {
return (
▸ La solution
Ce que ça change
concrètement.
{BENEFITS.map((b, i) =>
0{i + 1}
)}
);
}
/* ============ FINAL CTA ============ */
function FinalCTAB() {
return (
▸ {FINAL_CTA.eyebrow}
{FINAL_CTA.h1}
{FINAL_CTA.h2}
{FINAL_CTA.body}
);
}
/* ============ FAQ ============ */
function FaqB() {
const [open, setOpen] = useStateB(0);
return (
▸ FAQ · 04 questions
Questions
fréquentes.
Les quatre questions qui reviennent à chaque audit.
{FAQ_ITEMS.map((it, i) => {
const isOpen = open === i;
return (
setOpen(isOpen ? -1 : i)}>
Q{String(i + 1).padStart(2, "0")}
{it.q}
+
);
})}
);
}
/* ============ FOOTER ============ */
function FooterB() {
return (
);
}
Object.assign(window, { VariantB });