@php $labels = [ 'revoked_still_on_server' => ['Révoqué mais toujours autorisé', 'À retirer du serveur : cet appareil peut encore se connecter alors qu\'il est révoqué.'], 'duplicate_ip' => ['Adresse en double', 'Deux clés ont la même adresse sur le serveur : l\'une peut usurper l\'autre. À corriger tout de suite.'], 'expired_but_active' => ['Expiré mais encore actif', 'Lancez « php artisan vpn:expire » : il révoque les appareils des abonnements expirés.'], 'ip_mismatch' => ['Adresse différente', 'L\'adresse autorisée sur le serveur n\'est pas celle enregistrée : la connexion ne fonctionnera pas comme prévu.'], 'missing_on_server' => ['Absent du serveur', 'Le client ne peut pas se connecter : recréez l\'appareil (révoquer puis activer à nouveau).'], 'orphan_server_peer' => ['Inconnu de la base', 'Souvent un ancien appareil ou un essai. À contrôler : s\'il ne doit plus exister, retirez-le du serveur.'], ]; $tones = ['danger' => ['#fef2f2', '#991b1b', '#fecaca'], 'warning' => ['#fffbeb', '#92400e', '#fde68a'], 'info' => ['#eff6ff', '#1e40af', '#bfdbfe']]; @endphp
← Retour à l'administration

Pairs sur le serveur

{{ $report['server_peers'] }}

Appareils en base

{{ $report['local_peers'] }}

Résultat

{{ $report['ok'] ? 'Aucun écart à corriger' : 'Écarts à corriger' }}

@forelse ($report['issues'] as $issue) @php $tone = $tones[$issue['severity']] ?? $tones['info']; @endphp

{{ $labels[$issue['type']][0] ?? $issue['type'] }}

{{ $issue['message'] }}

{{ $labels[$issue['type']][1] ?? '' }}

@empty

Le serveur WireGuard et la base sont d'accord : aucun écart.

@endforelse

Cet audit ne modifie rien : il lit l'état du serveur (/v1/status) et le compare à la base.