
On sort à peine de Boston et la Laracon US 2026 a déjà fait du bruit (on s'en doutait un peu, soyons honnêtes). Comme l'a annoncé l'équipe Laravel sur scène, et comme l'a confirmé Laravel News avec la sortie de Pest 5 par Nuno Maduro, l'édition 2026 aligne une série de releases qui vont clairement changer le quotidien des devs PHP. LSP qui libère l'autocomplétion de VS Code, un moteur TIA qui fait passer 19 000 tests de 3 minutes à 5 secondes, CPX comme pendant PHP de npx… on a de quoi refacto notre setup local dès lundi. Décryptage sans langue de bois de ce qu'il faut vraiment retenir.
LSP, CPX, artisan dev: la trousse à outils passe un cap
Fini le monopole de l'extension VS Code? Laravel LSP généralise enfin l'autocomplétion, la navigation et la doc inline via le Language Server Protocol — donc NeoVim, Zed et Sublime Text obtiennent (enfin!) les mêmes features que les utilisateurs VS Code. Côté workflow local, CPX débarque comme le pendant PHP de npx: on lance cpx laravel/pint sans polluer le composer.json, on peut aliaser des commandes, exécuter des scripts depuis un Gist GitHub… bref, on arrête de bricoler.
Et puis il y a le nouveau php artisan dev, qui remplace le bon vieux composer dev. Fini l'édition manuelle du composer.json à chaque fois qu'on veut ajouter Reverb ou Horizon: on déclare ses processus de dev dans le service provider, on attribue une couleur à chacun (parce que oui, la couleur dans le terminal compte), et les packages s'enregistrent tout seuls à l'installation. Bonus: Inertia DevTools, l'extension Chrome pensée specifically pour Inertia, qui expose le réseau, les headers et les props hydratées dans une vue dédiée — fini de fouiller dans l'onglet Network pour comprendre pourquoi un prop refuse de remonter.
Côté framework pur, notons aussi l'API de manipulation d'images (fluide, chainable, en PHP pur — adieu la lib externe), le support de Blade dans Pint, et le skeleton de package Laravel sur GitHub qui bootstrappe un nouveau package en quelques minutes via un script interactif.
Pest 5 et le moteur TIA: game changer assumé
On attendait tous Pest 5, Nuno Maduro l'a annoncé sur scène à Boston. La release est tagguée, elle exige PHP 8.4 et PHPUnit 13 (donc on commence à planifier la montée de version sur nos stacks legacy…), et surtout elle embarque le moteur TIA — Test Impact Analysis. Le principe: la première exécution enregistre quels tests touchent quels fichiers, et chaque run suivant n'exécute que les tests affectés par ce qu'on a modifié, en rejouant les résultats cachés pour le reste. Et attention, ce n'est PAS un skip: les résultats cachés stockent les lignes et branches couvertes, donc les rapports --coverage et --min se comportent comme si toute la suite avait tourné.
Le détail qui tue: le graphe de dépendances comprend bien plus que les fichiers PHP. Une migration? Seuls les tests qui ont query la table repartent. Un composant JS partagé? Pest suit le graphe de modules Vite pour retrouver les pages Inertia qui l'importent. Un template Blade modifié? Il re-run les tests qui l'ont rendu. Pest détecte Laravel, Symfony, Livewire, Inertia et les assets navigateur via Composer — zéro config à fournir. Et comme il normalise les fichiers avant de les hasher (strip whitespace, commentaires, docblocks), un passage de Pint ou un edit de README produit un hash identique et… ne lance rien. Sur la suite de Laravel Cloud (19 000+ tests), on est passés de 3 minutes à 5 secondes. Oui, cinq secondes.
À côté du TIA, Pest 5 rassemble un set de plugins first-party: Agent (pour donner aux coding agents un moyen de vérifier que ce qu'ils écrivent fonctionne, avec un --agent qui injecte le snippet dans un test complet — factories, RefreshDatabase, fakes Laravel dispo), et Evals (qui note la qualité des outputs de modèles IA plutôt que de faire des equality assertions vouées à l'échec — toBeRelevant, toBeSafe, toBeFactual, toBeSimilar, toPassJudge avec seuil entre 0.0 et 1.0). Les evals appellent un vrai modèle, donc skipped par défaut — gratuits tant qu'on ne passe pas --evals.
Et maintenant, on fait quoi lundi matin?
Concrètement, voilà le plan: on met à jour Pest en local sur un projet de test pour ressentir le TIA (attention, il faut PCOV ou Xdebug pour enregistrer la baseline — et la première run prend un moment), on essaie CPX pour sortir les scripts temporaires du composer.json, et on guette l'arrivée de Laravel LSP dans notre éditeur préféré. Sur Pest 5, les équipes avec une CI déjà costaude peuvent faire enregistrer la baseline une fois par merge sur main et la faire télécharger aux autres — l'astuce est documentée. Et pour les mainteneurs de packages, le skeleton Laravel + le laravel package CLI promettent de relancer pas mal de side-projects qui dormaient dans un coin. Qui s'y colle en premier (et qui ose encore ouvrir un composer.json "à l'ancienne" après ça)?