Déployer une application Laravel en production exige rigueur et méthode : désactivation du mode debug, compilation des assets avec Vite, mise en cache des configurations et isolation du dossier public/ pour garantir sécurité et performances optimales.
APP_DEBUG=false impératif pour ne pas divulguer vos mots de passe et clés secrètes en cas d'erreur.
Le serveur web (Nginx ou Apache) doit pointer strictement vers /public. Vos dossiers .env et app/ ne doivent jamais être accessibles via l'URL.
La commande magique php artisan optimize met en cache les routes et configurations pour diviser le temps de réponse par deux.
Exécutez npm run build avant la livraison pour générer les fichiers CSS et JS minifiés dans public/build.
#!/bin/bash # ------------------------------------------------------------------ # SCRIPT DE DÉPLOIEMENT AUTOMATISÉ (Standard Production Laravel 11) # ------------------------------------------------------------------ # 1. Activer le mode maintenance élégant php artisan down --secret="acces-urgence-admin" --render="errors::503" # 2. Récupérer la dernière version du code git pull origin main # 3. Installer les dépendances PHP sans paquets de développement composer install --no-dev --optimize-autoloader --no-interaction # 4. Compiler les assets Vite npm ci && npm run build # 5. Exécuter les migrations en forçant le mode production php artisan migrate --force # 6. Recréer les liens de stockage et vider/mettre en cache php artisan storage:link php artisan optimize # 7. Redémarrer les workers de files d'attente (Queues) php artisan queue:restart # 8. Désactiver le mode maintenance php artisan up echo "✓ Déploiement Laravel terminé avec succès !"
Activez les étapes obligatoires de mise en production pour auditer votre application. Une seule omission critique peut exposer vos identifiants ou ralentir considérablement vos utilisateurs.
Sur certains hébergements mutualisés bon marché, les développeurs débutants déplacent le contenu de public/ dans public_html/ et bidouillent le fichier index.php.
Le danger absolu : Si le serveur web est mal configuré, un visiteur peut taper https://monsite.com/laravel/.env dans son navigateur et télécharger tous vos mots de passe de base de données en clair ! Configurez toujours le DocumentRoot sur le dossier /public.
Pour des déploiements professionnels sans prise de tête :
main.