Programmation · Laravel 11

Configurer son nouveau projet Laravel 11

Mael      21 février 2025

Cette page est utilisé comme mnémotechnique.

Supprimer le fichier .env.example.

Modifier le fichier .env.

    ...
    APP_NAME="My example" // Nom de l'application
    ...
    APP_TIMEZONE="Europe/Zurich" // Changer en fonction de votre région
    APP_URL=http://localhost:8000
    ...
    APP_LOCALE=fr
    ...
    APP_FAKER_LOCALE=fr_CH // Changer en fonction de votre région

Depuis votre terminal

    cd ./example/
    php artisan config:clear

Modifier le fichier README.md.

    # A propos de Example
    
    Mon application Laravel

Modifier le fichier composer.json.

    {
        ...
        "name": "beriyack/example",
        ...
        "description": "La description de mon projet",
        ...
        "keywords": ["beriyack", "example"],
    }

Créer le fichier ./resources/views/layout.blade.php.

    <!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <!-- Reprend la langue de l'application -->
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>{{ config('app.name') }}</title> <!-- Reprend le nom de l'application -->
        </head>
        <body>
            @yield('content')
        </body>
    </html>

Facultatif : Installer et configuration NodeJS

Taper la commande npm install.

Modifier le fichier vite.config.js.

    ...
    laravel({
        input: ['resources/js/app.js'],
        refresh: true,
    }),

Modifier le fichier ./resources/js/app.js.

    ...
    import '../css/app.css';

Modifier le fichier ./resources/views/layout.blade.php.

    ...
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
        <head>
            ...
            @vite('resources/js/app.js')
        </head>
        ...
    </html>

Démarrer le serveur de développement de Vite.

    npm run dev
        VITE v5.2.3  ready in 368 ms

        ➜  Local:   http://localhost:5173/
        ➜  Network: use --host to expose
        ➜  press h + enter to show help

        LARAVEL v11.0.8  plugin v1.0.2

        ➜  APP_URL: http://localhost:8000
    ^C

Compiler le CSS et le JS npm run build.

Facultatif : Installer et configurer le framework Bootstrap avec ses icons

    npm i bootstrap
    npm i bootstrap-icons

Modifier le fichier ./resources/js/app.js.

    ...
    import 'bootstrap';
    import '../../node_modules/bootstrap/dist/css/bootstrap.min.css';
    import '../../node_modules/bootstrap-icons/font/bootstrap-icons.min.css';

Modifier le fichier ./app/Providers/AppServiceProvider.php.

    ...
    use Illuminate\Pagination\Paginator;
    ...
    public function boot(): void
    {
        Paginator::useBootstrapFive();
    }

Compiler le CSS et le JS npm run build.

Facultatif : Utiliser une debugbar et un helper pour IDE

    composer require barryvdh/laravel-debugbar --dev
    composer require --dev barryvdh/laravel-ide-helper
    php artisan ide-helper:generate

Permet de générer le fichier _ide_helper.php.

    php artisan migrate
    php artisan ide-helper:models -M

Développement terminée

Une fois le développement terminé, supprimer les fichiers :

  • _ide_helper_models.php (fichier provenant du helper)
  • _ide_helper.php (fichier provenant du helper)
  • ./storage/logs/laravel.log

Supprimer le dossier ./storage/debugbar. Ce dossier est présent si vous avez utiliser une debugbar.

Publier l’application

Taper la commande php artisan storage:link pour rendre accessible le dossier ./storage/public.

Supprimer le dossier vendor et node_modules.

Modifier le fichier ./public/.htaccess.

    ...
    # Force https
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    ...

Modifier le fichier .env en fonction de la configuration du serveur et enlever le mode debug.

    ...
    APP_DEBUG=false
    ...

Publier l’application sur votre serveur.

Taper la commande composer i --no-dev sur votre serveur dans le dosseri de l’application.