@extends('site.layouts.app') @php use Illuminate\Support\Facades\Storage; $rp = app()->getLocale() === 'ar' ? 'site.ar.' : 'site.'; $hero = $page->sectionContent('hero'); $intro = $page->sectionContent('intro'); $about = $page->sectionContent('about'); $approche = $page->sectionContent('approche'); // Hero background media. Priority: a CMS image (page_sections « hero.media_image »); // otherwise the cinematic video shipped in public/media (hero.webm/mp4 + poster). // The navy gradient of .hero always sits behind as the ultimate fallback. $heroCmsImage = ! empty($hero['media_image']) ? Storage::disk('public')->url($hero['media_image']) : null; $heroWebm = file_exists(public_path('media/hero.webm')) ? asset('media/hero.webm') : null; $heroMp4 = file_exists(public_path('media/hero.mp4')) ? asset('media/hero.mp4') : null; $heroPoster = file_exists(public_path('media/hero-poster.jpg')) ? asset('media/hero-poster.jpg') : null; $heroVideo = ! $heroCmsImage && ($heroWebm || $heroMp4); // video only when no CMS image overrides it $heroBgImage = $heroCmsImage ?: ($heroVideo ? $heroPoster : null); // also the mobile / reduced-motion fallback $hasHeroMedia = (bool) ($heroCmsImage || $heroVideo); // Hero trust badges — CMS-overridable, faithful defaults. $heroTrust = $hero['trust'] ?? [ ['num' => '360°', 'lab' => 'Accompagnement'], ['num' => '6', 'lab' => 'Expertises'], ['num' => '2026', 'lab' => 'Nouvelle cohorte'], ]; @endphp @section('title', $page->localized('meta_title') ?: \App\Support\Identite::marque()) @section('description', $page->localized('meta_description') ?: 'Incubation, accélération, formation, branding, marketing digital et production audiovisuelle pour entrepreneurs et institutions au Maroc. Basé à Fès.') @section('content') {{-- ============================ HERO ============================ --}}
$hasHeroMedia]) id="hero" aria-label="{{ \App\Support\Identite::marque() }}"> @if ($heroBgImage)@endif @if ($heroVideo) {{-- Vidéo de fond injectée par main.js (desktop hors reduced-motion) : jamais chargée sur mobile / RM. --}} @endif
{{ $hero['eyebrow'] ?? 'Incubateur · Accélérateur · Studio digital' }}

{{ \App\Support\HtmlSanitizer::html($hero['heading'] ?? 'Accélérez votre projet,
amplifiez votre impact.') }}

{{ $hero['subheading'] ?? '' }}

@foreach ($heroTrust as $badge)
{{ $badge['num'] }}
{{ $badge['lab'] }}
@endforeach
@if ($heroImg = \App\Support\Site\MediaVitrine::url('hero-portrait.webp')) @endif
{{-- ========================= PRÉSENTATION / INTRO ========================= --}} @if ($intro)
@if (! empty($intro['eyebrow'])){{ $intro['eyebrow'] }}@endif

{{ $intro['heading'] ?? '' }}

@if (! empty($intro['body']))

{{ \App\Support\HtmlSanitizer::html($intro['body']) }}

@endif @if (! empty($intro['body_2']))

{{ \App\Support\HtmlSanitizer::html($intro['body_2']) }}

@endif @if (! empty($intro['pillars']))
@foreach ($intro['pillars'] as $pillar)

{{ $pillar['title'] ?? '' }}

{{ $pillar['text'] ?? '' }}

@endforeach
@endif
@if ($introImg = \App\Support\Site\MediaVitrine::url('intro-team.webp')) @endif
360°
Accompagnement sur-mesure
@endif {{-- ============================ ABOUT ============================ --}} @if ($about)
@if ($aboutImg = \App\Support\Site\MediaVitrine::url('about-mentor.webp')) @endif
@if (! empty($about['eyebrow'])){{ $about['eyebrow'] }}@endif

{{ $about['heading'] ?? '' }}

@if (! empty($about['body']))

{{ \App\Support\HtmlSanitizer::html($about['body']) }}

@endif @if (! empty($about['body_2']))

{{ \App\Support\HtmlSanitizer::html($about['body_2']) }}

@endif @if (! empty($about['values']))
@foreach ($about['values'] as $value)
{{ $value['title'] ?? '' }}{{ $value['text'] ?? '' }}
@endforeach
@endif
@endif {{-- ============================ SERVICES ============================ --}} @if ($services->isNotEmpty())
{{ __('site.nav.services') }}

{{ __('site.home.services_title') }}

{{ __('site.home.services_intro') }}

@foreach ($services as $service)

{{ $service->localized('title') }}

{{ $service->localized('excerpt') }}

{{ __('site.cta.read_more') }}
@endforeach
@endif {{-- ============================ MÉTHODE 360° ============================ --}} @if ($approche)
{{ $approche['eyebrow'] ?? __('site.nav.method') }}

{{ $approche['heading'] ?? '' }}

@if (! empty($approche['intro']))

{{ $approche['intro'] }}

@endif
@if (! empty($approche['steps']))
    @foreach ($approche['steps'] as $step)
  1. {{ $step['title'] ?? '' }}

    {{ $step['text'] ?? '' }}

  2. @endforeach
@endif @if ($keyFigures->isNotEmpty())
@foreach ($keyFigures as $figure) @php $digits = (int) filter_var($figure->value, FILTER_SANITIZE_NUMBER_INT); @endphp
@if (\Illuminate\Support\Str::startsWith($figure->value, '+'))+@endif 0 @if ($figure->suffix){{ $figure->suffix }}@endif
{{ $figure->localized('label') }}
@endforeach
@endif
@endif {{-- ============================ PARTENAIRES ============================ --}}
Ils nous font confiance

{{ __('site.home.partners_title') }}

Un écosystème d’institutions, d’entreprises et d’acteurs engagés à nos côtés.

@forelse ($partners as $partner) @empty @for ($i = 1; $i <= 9; $i++) @endfor @endforelse
{{-- ============================ TÉMOIGNAGES ============================ --}} @if ($testimonials->isNotEmpty())
{{ __('site.home.testimonials_title') }}

Ils ont franchi le cap avec nous

@if ($testimonials->contains(fn ($t) => $t->is_illustrative))

Exemples illustratifs — témoignages réels en cours de collecte.

@endif
    @foreach ($testimonials as $t)
  • « {{ $t->localized('quote') }} »

    @php $initials = \Illuminate\Support\Str::of($t->author_name)->trim()->explode(' ') ->filter()->take(2) ->map(fn ($w) => \Illuminate\Support\Str::upper(\Illuminate\Support\Str::substr($w, 0, 1))) ->implode(''); @endphp
    @if ($t->avatar_path) Portrait de {{ $t->author_name }} @else @endif
    {{ $t->author_name }} {{ $t->localized('role') }}
  • @endforeach
@endif {{-- ============================ FAQ ============================ --}} @if ($faqs->isNotEmpty())
FAQ

{{ __('site.faq.title') }}

Tout ce qu’il faut savoir avant de candidater ou de nous confier un projet.

@foreach ($faqs as $faq)

{{ $faq->localized('answer') }}

@endforeach
@endif {{-- ============================ CONTACT ============================ --}} @include('site.partials.contact-section') @endsection @push('jsonld') @if ($faqs->isNotEmpty()) @php $faqSchema = [ '@context' => 'https://schema.org', '@type' => 'FAQPage', 'mainEntity' => $faqs->map(fn ($f) => [ '@type' => 'Question', 'name' => $f->localized('question'), 'acceptedAnswer' => ['@type' => 'Answer', 'text' => strip_tags((string) $f->localized('answer'))], ])->all(), ]; @endphp @endif @endpush