Voici ou j'en suis dans mon projet : rebzu@DESKTOP-5H9E5UH:/mnt/c/Users/Amine/PhpstormProjects/RFA$ tree -I 'node_modules|vendor|.git|storage/app/public|storage/framework/cache|storage/framework/sessions|storage/framework/views|public/storage|*.log|*.env' -F -L 4
./
├── app/
│   ├── Http/
│   │   ├── Controllers/
│   │   │   ├── Admin/
│   │   │   ├── AdminUserController.php*
│   │   │   ├── Auth/
│   │   │   ├── ClientController.php*
│   │   │   ├── Controller.php*
│   │   │   ├── ProfileController.php*
│   │   │   ├── ReservationController.php*
│   │   │   └── VehicleController.php*
│   │   ├── Kernel.php*
│   │   ├── Middleware/
│   │   │   ├── AdminMiddleware.php*
│   │   │   └── HandleInertiaRequests.php*
│   │   └── Requests/
│   │       ├── Auth/
│   │       └── ProfileUpdateRequest.php*
│   ├── Models/
│   │   ├── Client.php*
│   │   ├── Permission.php*
│   │   ├── Reservation.php*
│   │   ├── Role.php*
│   │   ├── User.php*
│   │   └── Vehicle.php*
│   └── Providers/
│       └── AppServiceProvider.php*
├── arborescence.txt*
├── artisan*
├── bootstrap/
│   ├── app.php*
│   ├── cache/
│   │   ├── packages.php*
│   │   └── services.php*
│   └── providers.php*
├── components.json*
├── composer.json*
├── composer.lock*
├── config/
│   ├── app.php*
│   ├── auth.php*
│   ├── cache.php*
│   ├── database.php*
│   ├── filesystems.php*
│   ├── logging.php*
│   ├── mail.php*
│   ├── queue.php*
│   ├── services.php*
│   └── session.php*
├── database/
│   ├── database.sqlite*
│   ├── factories/
│   │   └── UserFactory.php*
│   ├── migrations/
│   │   ├── 0001_01_01_000000_create_users_table.php*
│   │   ├── 0001_01_01_000001_create_cache_table.php*
│   │   ├── 0001_01_01_000002_create_jobs_table.php*
│   │   ├── 2024_09_21_083650_create_vehicles_table.php*
│   │   ├── 2024_09_21_083651_create_clients_table.php*
│   │   ├── 2024_09_21_083652_create_reservations_table.php*
│   │   ├── 2024_09_21_173027_create_permissions_table.php*
│   │   ├── 2024_09_21_173028_create_roles_table.php*
│   │   ├── 2024_09_21_173029_create_role_user_table.php*
│   │   └── 2024_09_21_173031_create_permission_role_table.php*
│   └── seeders/
│       └── DatabaseSeeder.php*
├── home/
│   └── cache/
│       ├── files/
│       │   ├── brick/
│       │   ├── carbonphp/
│       │   ├── dflydev/
│       │   ├── doctrine/
│       │   ├── dragonmantank/
│       │   ├── egulias/
│       │   ├── fakerphp/
│       │   ├── filp/
│       │   ├── firebase/
│       │   ├── fruitcake/
│       │   ├── graham-campbell/
│       │   ├── guzzlehttp/
│       │   ├── hamcrest/
│       │   ├── inertiajs/
│       │   ├── intervention/
│       │   ├── laravel/
│       │   ├── league/
│       │   ├── mockery/
│       │   ├── monolog/
│       │   ├── myclabs/
│       │   ├── nesbot/
│       │   ├── nette/
│       │   ├── nikic/
│       │   ├── nunomaduro/
│       │   ├── paragonie/
│       │   ├── phar-io/
│       │   ├── phpoption/
│       │   ├── phpseclib/
│       │   ├── phpunit/
│       │   ├── psr/
│       │   ├── psy/
│       │   ├── ralouphie/
│       │   ├── ramsey/
│       │   ├── sebastian/
│       │   ├── spatie/
│       │   ├── symfony/
│       │   ├── theseer/
│       │   ├── tightenco/
│       │   ├── tijsverkoyen/
│       │   ├── vlucas/
│       │   ├── voku/
│       │   └── webmozart/
│       └── repo/
│           └── https---repo.packagist.org/
├── identifier.sqlite*
├── package.json*
├── package-lock.json*
├── phpunit.xml*
├── postcss.config.js*
├── public/
│   ├── build/
│   │   ├── assets/
│   │   │   ├── app-CPfJXChz.js*
│   │   │   ├── app-DuzXeFBP.css*
│   │   │   ├── ApplicationLogo-CFYH9GZE.js*
│   │   │   ├── AuthenticatedLayout-Ctx4r96M.js*
│   │   │   ├── ConfirmPassword-jnxuKzgE.js*
│   │   │   ├── Dashboard-B8iwRCDh.js*
│   │   │   ├── DeleteUserForm-Bc0UhQ6-.js*
│   │   │   ├── Edit-TW3bpOFi.js*
│   │   │   ├── ForgotPassword-BL7CdiL-.js*
│   │   │   ├── GuestLayout-B8IelaLn.js*
│   │   │   ├── InputLabel-CCXK2bGx.js*
│   │   │   ├── Login-l_Ecytxg.js*
│   │   │   ├── PrimaryButton-IbCdT1Ab.js*
│   │   │   ├── Register-DYSw9D_T.js*
│   │   │   ├── ResetPassword-Dha_PL1M.js*
│   │   │   ├── TextInput-DplX1_Yl.js*
│   │   │   ├── transition-CRulrYJG.js*
│   │   │   ├── UpdatePasswordForm-D2wQS7Qj.js*
│   │   │   ├── UpdateProfileInformationForm-BQeYsKIA.js*
│   │   │   ├── VerifyEmail-DP_Rg22A.js*
│   │   │   └── Welcome-Bg6-ECeG.js*
│   │   └── manifest.json*
│   ├── favicon.ico*
│   ├── hot*
│   ├── index.php*
│   └── robots.txt*
├── README.md*
├── resources/
│   ├── css/
│   │   └── app.css*
│   ├── js/
│   │   ├── app.tsx*
│   │   ├── bootstrap.ts*
│   │   ├── Components/
│   │   │   ├── ActivityItem.tsx*
│   │   │   ├── ApplicationLogo.tsx*
│   │   │   ├── Breadcrumb.tsx*
│   │   │   ├── Checkbox.tsx*
│   │   │   ├── Clients/
│   │   │   ├── DangerButton.tsx*
│   │   │   ├── Dropdown.tsx*
│   │   │   ├── Header.tsx*
│   │   │   ├── InputError.tsx*
│   │   │   ├── InputLabel.tsx*
│   │   │   ├── Modal.tsx*
│   │   │   ├── mode-toggle.tsx*
│   │   │   ├── NavLink.tsx*
│   │   │   ├── PrimaryButton.tsx*
│   │   │   ├── Reservations/
│   │   │   ├── ResponsiveNavLink.tsx*
│   │   │   ├── SecondaryButton.tsx*
│   │   │   ├── TextInput.tsx*
│   │   │   ├── theme-provider.tsx*
│   │   │   ├── ui/
│   │   │   └── Vehicles/
│   │   ├── Config/
│   │   │   ├── breadcrumbs.ts*
│   │   │   └── navigation.ts*
│   │   ├── Constants/
│   │   │   └── navigation.ts*
│   │   ├── hooks/
│   │   │   └── use-toast.ts*
│   │   ├── Interfaces/
│   │   │   ├── Client.ts*
│   │   │   ├── Reservation.ts*
│   │   │   └── Vehicle.ts*
│   │   ├── Layouts/
│   │   │   ├── AuthenticatedLayout.tsx*
│   │   │   └── GuestLayout.tsx*
│   │   ├── lib/
│   │   │   └── utils.ts*
│   │   ├── Pages/
│   │   │   ├── Admin/
│   │   │   ├── Auth/
│   │   │   ├── Clients/
│   │   │   ├── Dashboard.tsx*
│   │   │   ├── Profile/
│   │   │   ├── Reservations/
│   │   │   ├── Vehicles/
│   │   │   └── Welcome.tsx*
│   │   ├── types/
│   │   │   ├── global.d.ts*
│   │   │   ├── index.d.ts*
│   │   │   └── vite-env.d.ts*
│   │   └── ziggy.js*
│   ├── resources/
│   │   └── js/
│   │       └── assets/
│   └── views/
│       └── app.blade.php*
├── routes/
│   ├── auth.php*
│   ├── console.php*
│   └── web.php*
├── storage/
│   ├── app/
│   │   ├── private/
│   │   └── public/
│   ├── framework/
│   │   ├── cache/
│   │   │   └── data/
│   │   ├── sessions/
│   │   ├── testing/
│   │   └── views/
│   │       ├── 176418d16b0e7c64cdbe573e24bdb638.php*
│   │       ├── 1eddfd88f28f5555c2bbf2755b3cf62d.php*
│   │       ├── 1f805eb9b93c96648ae87de1ee3be72a.php*
│   │       ├── 3719a41439805a60554b15df6a4c8c73.php*
│   │       ├── 3eca636e9a8a37c7f45fe4929d3798b7.php*
│   │       ├── 51dbcec80f16b50ff7e6f71b622e44c9.php*
│   │       ├── 556c11d812f2cd06bfa7411e1b4b440b.php*
│   │       ├── 632c2da9695cd21ab33ae780a1f444d5.php*
│   │       ├── 64cb4b0dcb3ffc22ec1286394a1152ac.php*
│   │       ├── 86ba9ee6d57c408a4c7a65f4a481129e.php*
│   │       ├── 8c7f81671a33636a3d08823682f50ce2.php*
│   │       ├── a189413f264117812f0cbe64e335a993.php*
│   │       ├── a40455c9f19dc2a7a55fc2451d4d1cdd.php*
│   │       ├── aa1c88a7f32944db57ce0311a2cdff31.php*
│   │       ├── ae128de28e13498ebb013f4fabb9139f.php*
│   │       ├── ae4e7b60e32235f252aad4c74209768f.php*
│   │       ├── cc917b743055048922bf86d282fe5f30.php*
│   │       └── e6ac6e45cac31a249c8a5ecbff56ba80.php*
│   └── logs/
├── structure_projet.txt*
├── tailwind.config.js*
├── tests/
│   ├── Feature/
│   │   ├── Auth/
│   │   │   ├── AuthenticationTest.php*
│   │   │   ├── EmailVerificationTest.php*
│   │   │   ├── PasswordConfirmationTest.php*
│   │   │   ├── PasswordResetTest.php*
│   │   │   ├── PasswordUpdateTest.php*
│   │   │   └── RegistrationTest.php*
│   │   ├── ExampleTest.php*
│   │   └── ProfileTest.php*
│   ├── TestCase.php*
│   └── Unit/
│       └── ExampleTest.php*
├── tsconfig.json*
└── vite.config.js*

110 directories, 153 files
rebzu@DESKTOP-5H9E5UH:/mnt/c/Users/Amine/PhpstormProjects/RFA$
<?php

use App\Http\Controllers\ClientController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ReservationController;
use App\Http\Controllers\VehicleController;
use App\Http\Controllers\Admin\DashboardController as AdminDashboardController;
use App\Http\Controllers\Admin\UserController as AdminUserController;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;

// Page d'accueil
Route::get('/', function () {
    return Inertia::render('Welcome', [
        'canLogin'       => Route::has('login'),
        'canRegister'    => Route::has('register'),
        'laravelVersion' => Application::VERSION,
        'phpVersion'     => PHP_VERSION,
    ]);
});

// Routes protégées par les middlewares 'auth' et 'verified'
Route::middleware(['auth', 'verified'])->group(function () {
    // Tableau de bord utilisateur
    Route::get('/dashboard', function () {
        return Inertia::render('Dashboard');
    })->name('dashboard');

    // Routes pour le profil utilisateur
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');

    // Routes pour les véhicules
    Route::resource('vehicles', VehicleController::class);

    // Routes pour les clients
    Route::resource('clients', ClientController::class);

    // Routes pour les réservations
    Route::resource('reservations', ReservationController::class);
});

// Routes d'administration protégées par les middlewares 'auth', 'verified' et 'admin'
Route::middleware(['auth', 'verified', 'admin'])->prefix('admin')->name('admin.')->group(function () {
    // Tableau de bord administrateur
    Route::get('/dashboard', [AdminDashboardController::class, 'index'])->name('dashboard');

    // Gestion des utilisateurs
    Route::resource('users', AdminUserController::class);

    // Ajoutez d'autres routes d'administration ici si nécessaire
});

// Inclusion des routes d'authentification
require __DIR__.'/auth.php';
{
    "private": true,
    "type": "module",
    "scripts": {
        "dev": "vite",
        "build": "tsc && vite build"
    },
    "devDependencies": {
        "@headlessui/react": "^2.0.0",
        "@inertiajs/react": "^1.2.0",
        "@tailwindcss/forms": "^0.5.3",
        "@types/node": "^18.19.50",
        "@types/react": "^18.3.8",
        "@types/react-dom": "^18.3.0",
        "@vitejs/plugin-react": "^4.2.0",
        "autoprefixer": "^10.4.12",
        "axios": "^1.7.7",
        "laravel-vite-plugin": "^1.0",
        "postcss": "^8.4.31",
        "react": "^18.2.0",
        "react-dom": "^18.2.0",
        "tailwindcss": "^3.2.1",
        "typescript": "^5.6.2",
        "vite": "^5.0"
    },
    "dependencies": {
        "@chakra-ui/react": "^2.8.2",
        "@emotion/react": "^11.13.3",
        "@emotion/styled": "^11.13.0",
        "@hookform/resolvers": "^3.9.0",
        "@inertiajs/inertia": "^0.11.1",
        "@radix-ui/react-accordion": "^1.2.0",
        "@radix-ui/react-alert-dialog": "^1.1.1",
        "@radix-ui/react-aspect-ratio": "^1.1.0",
        "@radix-ui/react-avatar": "^1.1.0",
        "@radix-ui/react-checkbox": "^1.1.1",
        "@radix-ui/react-collapsible": "^1.1.0",
        "@radix-ui/react-context-menu": "^2.2.1",
        "@radix-ui/react-dialog": "^1.1.1",
        "@radix-ui/react-dropdown-menu": "^2.1.1",
        "@radix-ui/react-hover-card": "^1.1.1",
        "@radix-ui/react-icons": "^1.3.0",
        "@radix-ui/react-label": "^2.1.0",
        "@radix-ui/react-menubar": "^1.1.1",
        "@radix-ui/react-navigation-menu": "^1.2.0",
        "@radix-ui/react-popover": "^1.1.1",
        "@radix-ui/react-progress": "^1.1.0",
        "@radix-ui/react-radio-group": "^1.2.0",
        "@radix-ui/react-scroll-area": "^1.1.0",
        "@radix-ui/react-select": "^2.1.1",
        "@radix-ui/react-separator": "^1.1.0",
        "@radix-ui/react-slider": "^1.2.0",
        "@radix-ui/react-slot": "^1.1.0",
        "@radix-ui/react-switch": "^1.1.0",
        "@radix-ui/react-tabs": "^1.1.0",
        "@radix-ui/react-toast": "^1.2.1",
        "@radix-ui/react-toggle": "^1.1.0",
        "@radix-ui/react-toggle-group": "^1.1.0",
        "@radix-ui/react-tooltip": "^1.1.2",
        "@types/react-toastify": "^4.1.0",
        "class-variance-authority": "^0.7.0",
        "clsx": "^2.1.1",
        "cmdk": "^1.0.0",
        "date-fns": "^3.6.0",
        "embla-carousel-react": "^8.3.0",
        "formik": "^2.4.6",
        "framer-motion": "^11.5.6",
        "input-otp": "^1.2.4",
        "lucide-react": "^0.445.0",
        "next-themes": "^0.3.0",
        "react-day-picker": "^8.10.1",
        "react-dropzone": "^14.2.3",
        "react-hook-form": "^7.53.0",
        "react-icons": "^5.3.0",
        "react-resizable-panels": "^2.1.3",
        "react-select": "^5.8.1",
        "react-table": "^7.8.0",
        "react-toastify": "^10.0.5",
        "recharts": "^2.12.7",
        "sonner": "^1.5.0",
        "tailwind-merge": "^2.5.2",
        "tailwindcss-animate": "^1.0.7",
        "use-debounce": "^10.0.3",
        "vaul": "^0.9.4",
        "yup": "^1.4.0",
        "ziggy-js": "^2.3.0",
        "zod": "^3.23.8"
    }
}