Aller au contenu principal

Conventions — Vues Blade

Les vues Blade ne font que présenter des données. Elles ne contiennent aucune logique métier.

Règles

À faire :

  • Utiliser des composants pour l'UI répétée
  • Utiliser les policies ou helpers de permission uniquement pour les décisions d'affichage
  • Échapper la sortie par défaut avec {{ }}
  • Aligner les formulaires avec les règles de Form Request

Interdit :

  • Requêter la base de données dans une vue
  • Calculer un état métier dans Blade
  • Utiliser {!! !!} sauf si le contenu est sanitisé
  • Appeler des services depuis une vue

Exemple — contrôle d'accès dans la vue

{{-- ✅ BIEN --}}
@can('update', $user)
<a href="{{ route('admin.users.edit', $user) }}" class="btn btn-sm btn-primary">
<i class="bi bi-pencil me-1"></i>Modifier
</a>
@endcan

{{-- ❌ MAL --}}
@if(auth()->user()->role === 'admin')
<a href="...">Modifier</a>
@endif

Layouts

Voir Design System → Layouts pour le choix du bon layout.