Aller au contenu principal

Routage

Les routes sont la propriété du module et doivent être groupées par middleware, prefix et nom.

Pattern route web

Route::middleware(['web', 'keycloak.auth'])
->prefix('admin')
->name('admin.')
->group(function (): void {
Route::resource('users', UserController::class);
});

Pattern route API

Route::middleware(['api', 'api.key'])
->prefix('api/v1')
->name('api.v1.')
->group(function (): void {
Route::get('infrastructure/nodes', [NodeApiController::class, 'index']);
});

:::caution Règle absolue Les noms de routes doivent être stables : les menus, dashboards, widgets et permissions peuvent en dépendre. :::

Checklist route

  • ✅ Préfixe de module
  • ✅ Nom stable
  • ✅ Middleware requis
  • ✅ Autorisation sur les routes sensibles
  • only() ou except() sur les resource routes si nécessaire

Ne jamais créer

  • Des fichiers PHP standalone comme points d'entrée
  • Des endpoints AJAX directement dans /public/
  • Des routes sans authentification pour des actions sensibles