Boucle de Vérification Laravel
À exécuter avant les PRs, après des changements majeurs, et en pré-déploiement.
Quand l'utiliser
- Avant d'ouvrir une pull request pour un projet Laravel
- Après des refontes majeures ou des mises à jour de dépendances
- Vérification pré-déploiement pour la staging ou la production
- Exécution du pipeline complet lint -> test -> sécurité -> préparation au déploiement
Comment ça fonctionne
- Les phases s'exécutent séquentiellement, des vérifications d'environnement jusqu'à la préparation au déploiement, chaque couche s'appuyant sur la précédente.
- Les vérifications d'environnement et de Composer bloquent tout le reste ; arrêter immédiatement si elles échouent.
- Le linting/l'analyse statique doivent être propres avant d'exécuter les tests complets et la couverture.
- Les vérifications de sécurité et de migration interviennent après les tests, afin de vérifier le comportement avant les étapes de données ou de release.
- Les vérifications de build/déploiement et de file d'attente/planificateur sont les dernières barrières ; tout échec bloque la release.
Phase 1 : Vérifications d'Environnement
php -v
composer --version
php artisan --version
- Vérifier que
.envest présent et que les clés requises existent - Confirmer
APP_DEBUG=falsepour les environnements de production - Confirmer que
APP_ENVcorrespond au déploiement cible (production,staging)
Si vous utilisez Laravel Sail en local :
./vendor/bin/sail php -v
./vendor/bin/sail artisan --version
Phase 1.5 : Composer et Autoload
composer validate
composer dump-autoload -o
Phase 2 : Linting et Analyse Statique
vendor/bin/pint --test
vendor/bin/phpstan analyse
Si votre projet utilise Psalm au lieu de PHPStan :
vendor/bin/psalm
Phase 3 : Tests et Couverture
php artisan test
Couverture (CI) :
XDEBUG_MODE=coverage php artisan test --coverage
Exemple CI (format -> analyse statique -> tests) :
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage
Phase 4 : Vérifications de Sécurité et Dépendances
composer audit
Phase 5 : Base de Données et Migrations
php artisan migrate --pretend
php artisan migrate:status
- Examinez attentivement les migrations destructives
- Assurez-vous que les noms de fichiers de migration suivent le format
Y_m_d_His_*(ex.2025_03_14_154210_create_orders_table.php) et décrivent clairement le changement - Assurez-vous que les rollbacks sont possibles
- Vérifiez les méthodes
down()et évitez toute perte de données irréversible sans sauvegarde explicite
Phase 6 : Préparation au Build et au Déploiement
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
- Assurez-vous que les warmups de cache réussissent avec la configuration de production
- Vérifiez que les workers de file d'attente et le planificateur sont configurés
- Confirmez que
storage/etbootstrap/cache/sont accessibles en écriture dans l'environnement cible
Phase 7 : Vérifications des Files d'Attente et du Planificateur
php artisan schedule:list
php artisan queue:failed
Si Horizon est utilisé :
php artisan horizon:status
Si queue:monitor est disponible, utilisez-le pour vérifier le backlog sans traiter les jobs :
php artisan queue:monitor default --max=100
Vérification active (staging uniquement) : dispatcher un job no-op vers une file dédiée et exécuter un worker unique pour le traiter (assurez-vous qu'une connexion de file non-sync est configurée).
php artisan tinker --execute="dispatch((new App\\Jobs\\QueueHealthcheck())->onQueue('healthcheck'))"
php artisan queue:work --once --queue=healthcheck
Vérifiez que le job a produit l'effet secondaire attendu (entrée de log, ligne dans une table de healthcheck, ou métrique).
Exécutez cette commande uniquement sur des environnements non-production où le traitement d'un job de test est sûr.
Exemples
Flux minimal :
php -v
composer --version
php artisan --version
composer validate
vendor/bin/pint --test
vendor/bin/phpstan analyse
php artisan test
composer audit
php artisan migrate --pretend
php artisan config:cache
php artisan queue:failed
Pipeline de style CI :
composer validate
composer dump-autoload -o
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage
composer audit
php artisan migrate --pretend
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan schedule:list