Complete TP7 TP8 authentication authorization and classic CSS

This commit is contained in:
2026-10-21 00:48:38 +02:00
parent 4a84a17cbf
commit ffe85d5f0d
101 changed files with 7643 additions and 110 deletions
+30 -16
View File
@@ -1,27 +1,41 @@
<?php
use App\Http\Controllers\ProductController;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\ClientController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\ContactController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\ProductController;
use Illuminate\Support\Facades\Route;
Route::get('/', [HomeController::class, 'index']);
Route::middleware('guest')->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::get('/bonjour/{nom}', function ($nom) {
return 'Bonjour '.$nom . ' ! ';
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 () {
Route::get('/contact', function (): string {
return '<h1>Contactez-nous<h1>';
});
});
Route::get('/produit/{nom}', function ($nom) {
return '<h1>Vous consultez le produit : <h1>'. $nom;
});
Route::get('/produit/{nom}', function (string $nom): string {
return '<h1>Vous consultez le produit : <h1>'.$nom;
});
// TP4 : chaque route resource fournit les 7 actions du CRUD.
// TP3 avait seulement les pages de liste /clients et /products.
Route::resource('clients', ClientController::class);
Route::resource('products', ProductController::class);
Route::get('/contacts', [ContactController::class, 'index']);
// 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');
});