import type { Metadata } from "next"; import Link from "next/link"; import Navbar from "@/components/marketing/Navbar"; import Footer from "@/components/marketing/Footer"; import ScrollReveal from "@/components/animations/ScrollReveal"; import ContactForm from "@/components/marketing/ContactForm"; import { getSiteConfig, getServices, getTestimonials, getFAQ, getValues, getPartners, getRealisations, } from "@/lib/content"; import type { Service, Testimonial, FAQItem } from "@/types/content"; export async function generateMetadata(): Promise { const config = await getSiteConfig(); return { title: config.seo.title, description: config.seo.description, alternates: { canonical: config.url }, }; } function ServiceCard({ service }: { service: Service }) { const href = service.slug === "conseil" ? "/contact" : `/${service.slug}`; return (
{service.icon}

{service.title}

{service.shortDescription}

En savoir plus
); } function StarRating({ note }: { note: number }) { return (
{Array.from({ length: 5 }).map((_, i) => ( ))}
); } function TestimonialCard({ t }: { t: Testimonial }) { const serviceLabel: Record = { "construction-maison": "Construction de maison", renovation: "Rénovation", assainissement: "Assainissement", "creation-acces": "Création d'accès", demolition: "Démolition", }; return (

“{t.text}”

{t.name}

{t.ville} — {serviceLabel[t.service] ?? t.service}

); } function FAQAccordion({ item }: { item: FAQItem }) { return (
{item.question}
{item.answer}
); } export default async function HomePage() { const [config, services, testimonials, faqItems, values, partners, realisations] = await Promise.all([ getSiteConfig(), getServices(), getTestimonials(), getFAQ(), getValues(), getPartners(), getRealisations(), ]); const { hero, zones, zoneDescription, partnersTitle, partnersMessage, phone, phoneRaw } = config; return (
{/* ── SECTION 1 — HERO ── */}
{/* Accent diagonal brique */}
{hero.badge}

Maçon &
Constructeur
dans le Nord (59)

{hero.subtitle}

{hero.cta} {hero.ctaSecondary}
{hero.stats.map((s) => (
{s.val}
{s.label}
))}
{/* ── SECTION 2 — NOS SERVICES ── */}
Ce que nous faisons

Nos services de maçonnerie

De la construction neuve à la rénovation, Benoît Colin et son équipe prennent en charge tous vos travaux de gros œuvre dans le Nord.

{services.map((s, i) => ( ))}
{/* ── SECTION 3 — POURQUOI CHOISIR OBC ── */}
Notre différence

Pourquoi choisir OBC Maçonnerie ?

{values.map((v, i) => (
{v.icon}

{v.title}

{v.description}

))}
{/* ── SECTION 4 — RÉSEAU PARTENAIRES ── */}
Un réseau solide

{partnersTitle}

{partnersMessage}

{partners.map((p, i) => (
{p.icon}
{p.label}
))}

Un seul interlocuteur pour coordonner l'ensemble de votre projet — de la démolition à la remise des clés.

Découvrir notre réseau
{/* ── SECTION 5 — ZONE D'INTERVENTION ── */}
Secteur d'activité

Nous intervenons dans toute la région

OBC Maçonnerie intervient dans un rayon de {zoneDescription}.

{zones.map((v, i) => ( 📍{v} ))}

Et dans toutes les communes à {zoneDescription} — contactez-nous pour vérifier votre zone.

Demander un devis dans ma commune
{/* ── SECTION 6 — RÉALISATIONS ── */}
Nos chantiers

Aperçu de nos réalisations

{realisations.map((r, i) => { const colors = ["bg-navy", "bg-stone", "bg-orange"]; return (
{i + 1}
{r.ville}

{r.title}

{r.description}

); })}
Voir toutes nos réalisations
{/* ── SECTION 7 — TÉMOIGNAGES ── */}
Ce qu'ils en disent

Témoignages clients

{testimonials.map((t, i) => ( ))}
{/* ── SECTION 8 — FAQ ── */}
Questions fréquentes

FAQ

{faqItems.map((f, i) => ( ))}
{/* ── SECTION 9 — FORMULAIRE DE CONTACT ── */}
Devis gratuit

Parlez-nous de votre projet

Réponse sous 24h — ou appelez directement Benoît au{" "} {phone}

); }