group(function (): void { Route::get('/login', [AuthController::class, 'create'])->name('login'); Route::post('/login', [AuthController::class, 'store']) ->middleware('throttle:5,1') ->name('login.store'); }); Route::middleware('auth')->group(function (): void { Route::get('/', [HomeController::class, 'index'])->name('home'); Route::view('/dashboard', 'dashboard')->name('dashboard'); Route::get('/bonjour/{nom}', function (string $nom): string { return 'Bonjour '.$nom.' ! '; }); Route::get('/contact', function (): string { return '

Contactez-nous

'; }); Route::get('/produit/{nom}', function (string $nom): string { return '

Vous consultez le produit :

'.$nom; }); // TP4 : chaque resource fournit le CRUD ; TP7 : le groupe auth protège le Mini-CRM. Route::resource('clients', ClientController::class); Route::resource('products', ProductController::class); Route::get('/contacts', [ContactController::class, 'index']); // TP8 bonus : seul l'administrateur peut atteindre cette page. Route::view('/admin', 'admin')->middleware('can:viewAdmin')->name('admin'); Route::post('/logout', [AuthController::class, 'destroy'])->name('logout'); });