Laravel 13 est disponible !
Laravel 13 est disponible ! Fidèle au cycle annuel du framework, cette version s'inscrit dans la continuité de Laravel 12 tout en marquant un tournant important : l'intelligence artificielle entre dans le framework de manière officielle.
La core team de Laravel a clairement affiché ses intentions pour ce cycle : livrer de nouvelles fonctionnalités sans casser ce qui existe, le résultat était une nouvelle version majeure peu coûteuse et rapide à adopter.
La seule contrainte non négociable sera la version PHP : Laravel 13 exige désormais PHP 8.3 au minimum.
L'entrée de l'IA dans le framework
C'est sans conteste la nouveauté la plus importante de cette version : Laravel embarque désormais nativement son propre SDK IA.
L'objectif est ambitieux : proposer une API agnostique des différents providers (OpenAI, Anthropic ...) pour la génération de texte, les agents avec tools, les embeddings, la génération d'images et d'audio.
En clair, grace à cette abstraction, vous pouvez changez de fournisseur IA ... sans avoir à toucher à votre code !
Un agent peut être invoqué en une seule ligne :
1$response = SalesCoach::make()->prompt('Analyze this sales transcript...');
La génération d'images et d'audio suit cette même logique :
1$image = Image::of('A donut sitting on the kitchen counter')->generate();2 3$audio = Audio::of('I love coding with Laravel.')->generate();
Et pour les cas d'usage de recherche sémantique, les embeddings s'intègrent directement dans les helpers Str :
1$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();
Le reste des nouveautés
Au delà du SDK IA, Laravel 13 embarque plusieurs améliorations interessantes.
Les attributs PHP continuent leur progression dans le framework, on peut désormais déclarer les middlewares et les policy directement sur les contrôleurs et leurs méthodes :
1#[Middleware('auth')]2class CommentController3{4 #[Middleware('subscribed')]5 #[Authorize('create', [Comment::class, 'post'])]6 public function store(Post $post) { ... }7}
C'est une tendance de fond dans Laravel depuis quelques versions : rapprocher la configuration du code qu'elle concerne plutôt que de la disséminer dans des fichiers de routes, de configuration ou des constructeurs.
Le routing des queues gagne également en expressivité avec la méthode Queue::route() permettant de centraliser les règles de dispatch par classe de job :
1Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');
Les ressources JSON API font également leur entrée, simplifiant la construction d'APIs conformes à la spécification jsonapi.org
Enfin, Cache::touch permet d'étendre le la durée de vie d'une entrée en cache ... sans avoir à la relire et la réécrire manuellement !
1Cache::touch('key', now()->addHours(2));
Conclusion
Laravel 13 ne sera pas une version de rupture difficile à implémenter, elle cherche avant tout à anticiper le futur en posant les bases d'un écosystème IA dont on mesure encore mal la portée à long terme.
La migration est accessible, les nouveautés utiles, et le SDK IA ouvre un chapitre que les prochaines versions ne feront probablement qu'approfondir !
A lire
Autres articles de la même catégorie
Découvrez le design pattern Composite dans Laravel
Le pattern composite facilite la création d'objets dans des arborescences, découvrez comment l'utiliser !
Mathieu De Gracia
Laravel Pint
Pint est un "réparateur de style dogmatique", voyons ensemble de quoi il en découle !
Mathieu De Gracia
Les nouveautés de PHP 8.5 qui vont changer votre code !
Pipe operator, closures dans les constantes, NoDiscard ... PHP 8.5 débarque avec des fonctionnalités qui vont changer votre façon de coder. Voici l'essentiel à retenir.
Ludovic Guénet