{{-- Ressources --}} {{-- Loading --}}
@php $activeFiltersCount = 0; if (!empty($centre_id) && $centre_id != 0) $activeFiltersCount++; if (!empty($centre_diplome_id) && $centre_diplome_id != 0) $activeFiltersCount++; if (!empty($domaine_id) && $domaine_id != 0) $activeFiltersCount++; if (!empty($mode_admission) && $mode_admission != 0) $activeFiltersCount++; if (!empty($niveau_id) && $niveau_id != 0) $activeFiltersCount++; if (!empty($langue_id) && $langue_id != 0) $activeFiltersCount++; // KPI $allVals = array_values($ins_last_years); $allKeys = array_keys($ins_last_years); $kpiTotal = array_sum($allVals); $kpiLastAn = end($allKeys); $kpiLastVal = end($allVals); $kpiPrevVal = count($allVals) > 1 ? $allVals[count($allVals)-2] : 0; $kpiDelta = $kpiPrevVal > 0 ? round(($kpiLastVal-$kpiPrevVal)/$kpiPrevVal*100,1) : 0; $kpiNat = count(array_filter($ins_last_nationalite_years, fn($v) => array_sum($v) > 0)); @endphp
{{-- HEADER --}}
P

Évolution des inscriptions

Analyse pluriannuelle par centre, filière, diplôme et nationalité

Mis à jour aujourd'hui
{{-- BARRE DE FILTRES --}}
@if($centre_id) {{ getCenterName($centre_id) }} @endif @if($centre_diplome_id) {{ getCenterName($centre_diplome_id) }} @endif @if($domaine_id) {{ getDomaineName($domaine_id) }} @endif @if($mode_admission) {{ getModeAd($mode_admission) }} @endif @if($niveau_id) {{ getNiveauName($niveau_id) }} @endif @if($langue_id) {{ getLangueName($langue_id) }} @endif
{{-- PANEL FILTRES --}}
@if (auth()->user()->user_role_id == 7 || auth()->user()->user_role_id == 1)
@else
{{ $user_centre_nom }}
@endif
@if (auth()->user()->user_role_id == 7 || auth()->user()->user_role_id == 1)
@endif
{{-- KPI --}}
Total inscriptions
{{ number_format($kpiTotal,0,',',' ') }}
Toutes années confondues
Inscriptions {{ $kpiLastAn }}
{{ number_format($kpiLastVal,0,',',' ') }}
{{ $kpiDelta>=0?'+':'' }}{{ $kpiDelta }} % vs année préc.
Nationalités
{{ $kpiNat }}
Pays représentés
{{-- DASHBOARD (graphiques) --}} {{-- ROW 1 : Global + Donut diplôme --}}
Évolution des inscriptions Courbe annuelle avec aire de tendance
Ligne + aire
Inscriptions.
Répartition diplôme {{ $kpiLastAn }}
Donut
Répartition.
{{-- ROW 2 : Centre + Filière --}}
Inscriptions par centre Barres groupées
Barres
Centre.
Inscriptions par filière Top 8 — courbes
Courbes
Filière.
{{-- ROW 3 : Évolution nationalité + Évolution diplôme --}}
Évolution par nationalité Top 12 — lignes épurées
Lignes
Nationalité.
Évolution par diplôme Aires lissées superposées
Aires lissées
Diplôme.
{{-- ROW 4 : Top nationalités + Détail diplôme (classements) --}}
Top nationalités Inscriptions — {{ $kpiLastAn }}
@php $natPal = ['#185FA5','#1D9E75','#D85A30','#534AB7','#BA7517','#D4537E','#0F6E56','#639922', '#E24B4A','#2A9D8F','#8A2BE2','#F4A261']; $natColorMap = []; $natSortedKeys = array_keys($ins_last_nationalite_years); sort($natSortedKeys); foreach ($natSortedKeys as $idx => $kName) { $natColorMap[$kName] = $natPal[$idx % count($natPal)]; } $natLast = []; foreach ($ins_last_nationalite_years as $nom=>$vals) $natLast[$nom] = $vals[$kpiLastAn] ?? 0; arsort($natLast); $top8 = array_slice($natLast, 0, 8, true); $maxNat = max($top8 ?: [1]) ?: 1; @endphp
@foreach ($top8 as $nom=>$val) @php $i=$loop->index; $c=$natColorMap[$nom] ?? '#185FA5'; @endphp
{{ $i+1 }} {{ $nom }}
{{ number_format($val,0,',',' ') }}
@endforeach
Inscriptions par diplôme Détail — {{ $kpiLastAn }}
@php $dipPal = ['#185FA5','#1D9E75','#D85A30','#534AB7','#BA7517','#D4537E','#0F6E56','#639922']; $dipColorMap = []; $dipSortedKeys = array_keys($ins_last_diplome_years); sort($dipSortedKeys); foreach ($dipSortedKeys as $idx => $kName) { $dipColorMap[$kName] = $dipPal[$idx % count($dipPal)]; } $dipLast = []; foreach ($ins_last_diplome_years as $nom=>$vals) $dipLast[$nom] = $vals[$kpiLastAn] ?? 0; arsort($dipLast); $dipTop = array_slice($dipLast, 0, 7, true); $dipTot = array_sum($dipTop) ?: 1; @endphp
@foreach ($dipTop as $nom=>$val) @php $c = $dipColorMap[$nom] ?? '#185FA5'; @endphp
{{ $nom }}
{{ round($val/$dipTot*100) }}%
@endforeach
{{-- ═══════════ SCRIPTS ═══════════ --}}