@extends('admin.layouts.app') @section('title', 'Analytics') @php $sourceLabels = [ 'direct' => 'Direct (accès direct)', 'organic' => 'Recherche (organic)', 'social' => 'Réseaux sociaux', 'referral' => 'Sites référents', 'internal' => 'Navigation interne', ]; $deviceLabels = ['desktop' => 'Ordinateur', 'mobile' => 'Mobile', 'tablet' => 'Tablette']; $maxDay = max(1, collect($series)->max('views')); $maxHour = max(1, collect($byHour)->max()); $deltaBadge = function (?int $d) { if ($d === null) return '— période précédente vide'; if ($d > 0) return '▲ ' . $d . '% vs période précédente'; if ($d < 0) return '▼ ' . abs($d) . '% vs période précédente'; return '= stable'; }; @endphp @section('content')

Analytics

Fréquentation de votre site — visites, provenance et appareils. Les robots sont exclus.

@foreach ([7 => '7 j', 30 => '30 j', 90 => '90 j', 365 => '1 an'] as $d => $label) {{ $label }} @endforeach
@if ($totalViews > 0) ⤓ Export CSV @endif
@if ($totalViews === 0)
Aucune visite enregistrée sur cette période pour l'instant. Les statistiques apparaîtront ici dès que des visiteurs parcourront le site.
@else
{{ number_format($totalViews, 0, ',', ' ') }}
Pages vues
{!! $deltaBadge($viewsDelta) !!}
{{ number_format($uniqueVisitors, 0, ',', ' ') }}
Visiteurs uniques
{!! $deltaBadge($visitorsDelta) !!}
{{ number_format($perVisit, 1, ',', ' ') }}
Pages par visite
{{ number_format($perDay, 1, ',', ' ') }}
Pages vues / jour

Tendance

Pages vues par jour sur les {{ $days }} derniers jours.

@foreach ($series as $pt)
@endforeach

Nouveaux vs récurrents

Visiteurs venus pour la première fois vs déjà connus.

@php($vTot = max(1, $newVisitors + $returning))
Nouveaux : {{ number_format($newVisitors, 0, ',', ' ') }} Récurrents : {{ number_format($returning, 0, ',', ' ') }}

Heures de pointe

Pages vues selon l'heure de la journée.

@foreach ($byHour as $h => $c)
@endforeach
0h6h12h18h23h

Provenance du trafic

Comment les visiteurs arrivent sur le site.

@php($maxSrc = max(1, $sources->max())) @forelse ($sources as $key => $count)
{{ $sourceLabels[$key] ?? ucfirst($key) }} {{ number_format($count, 0, ',', ' ') }}
@empty

@endforelse

Appareils

Ordinateur, mobile ou tablette.

@php($maxDev = max(1, $devices->max())) @foreach ($devices as $key => $count)
{{ $deviceLabels[$key] ?? ucfirst($key) }} {{ number_format($count, 0, ',', ' ') }}
@endforeach

Pays

D'où viennent les visiteurs.

@php($maxCtry = max(1, $countries->max())) @foreach ($countries as $code => $count)
{{ country_label($code) }} {{ number_format($count, 0, ',', ' ') }}
@endforeach

Pages les plus vues

Top 10 des pages.

@php($maxPg = max(1, $topPages->max())) @foreach ($topPages as $path => $count)
{{ $path }} {{ number_format($count, 0, ',', ' ') }}
@endforeach
@if ($referrers->isNotEmpty())

Sites référents

Les domaines externes qui envoient le plus de visiteurs.

@foreach ($referrers as $host => $count) @endforeach
DomaineVisites
{{ $host }}{{ number_format($count, 0, ',', ' ') }}
@endif @endif @endsection