Laravel 13 : ce qui change par rapport à Laravel 12
Laravel 13 arrive avec un SDK IA officiel, des attributs PHP natifs et le support JSON:API. Voici ce qui compte vraiment si vous migrez depuis Laravel 12.
Laravel 13 est sorti le 17 mars 2026 et relève la version minimale de PHP à 8.3. Au-delà du changement de version, cette release mise fortement sur deux axes : rendre la configuration du framework plus expressive avec des attributs PHP natifs, et donner à chaque application Laravel un moyen officiel de dialoguer avec des LLM.
Un SDK IA officiel
La grande nouveauté est le Laravel AI SDK,une API unifiée pour la génération de texte, les agents avec tool-calling, les embeddings, l'audio et les images, quel que soit le fournisseur. Plutôt que de câbler soi-même les SDK OpenAI ou Anthropic et de construire sa propre couche d'abstraction, on obtient une interface Laravel-native cohérente, quel que soit le provider utilisé.
use Laravel\Ai\Facades\Ai;
$response = Ai::text()
->using('anthropic:claude-sonnet-5')
->prompt('Résume ce changelog en une phrase.')
->generate();
echo $response->text;Des attributs PHP plutôt que des propriétés de classe
Laravel 13 introduit la syntaxe des attributs comme alternative optionnelle à la configuration par propriétés, à plus de 15 endroits : models, controllers, jobs, commands, listeners, mailables, notifications. L'objectif n'est pas de remplacer les conventions, mais de rendre la configuration transverse (nom de queue, tentatives, scopes, observers) lisible d'un coup d'œil sans fouiller le corps de la classe.
// Laravel 12 : configuration éparpillée dans des propriétés
class SendInvoice implements ShouldQueue
{
public $queue = 'invoices';
public $tries = 3;
public $backoff = 30;
}
// Laravel 13 : configuration déclarée là où la classe est déclarée
#[Queueable(queue: 'invoices', tries: 3, backoff: 30)]
class SendInvoice implements ShouldQueue
{
}Des ressources JSON:API nativement
Si vous avez déjà implémenté la spec JSON:API à la main,resource objects, relationships, sparse fieldsets, links,vous savez à quel point c'est verbeux. Laravel 13 embarque des JSON:API resources officielles qui gèrent tout ça, y compris les headers de réponse corrects.
class UserResource extends JsonApiResource
{
public function toArray(Request $request): array
{
return [
'type' => 'users',
'id' => (string) $this->id,
'attributes' => [
'name' => $this->name,
'email' => $this->email,
],
];
}
}CSRF renforcé avec PreventRequestForgery
Le middleware de protection contre la falsification de requêtes a été retravaillé et formalisé en PreventRequestForgery. Il ajoute une vérification basée sur l'origine en plus de la protection CSRF par token existante,utile maintenant que davantage d'applications Laravel exposent des APIs consommées à la fois par des SPA et des clients mobiles.
Routage des queues centralisé
Plutôt que d'éparpiller des appels ->onQueue() et ->onConnection() dans tout le codebase, la nouvelle méthode Queue::route() permet de déclarer quelle connexion et quelle queue chaque classe de job utilise, depuis un seul service provider.
// AppServiceProvider::boot()
Queue::route(SendInvoice::class, connection: 'redis', queue: 'invoices');
Queue::route(GenerateReport::class, connection: 'sqs', queue: 'reports');Laravel 12 continue de recevoir des corrections de bugs jusqu'au 13 août 2026 et des correctifs de sécurité jusqu'au 24 février 2027,rien ne presse. Migrer quand le SDK IA ou le support JSON:API résout un vrai problème, pas simplement parce qu'une nouvelle version majeure existe.
Faut-il migrer maintenant ?
Si vous ne construisez pas de fonctionnalités IA ni d'API JSON:API publique, la différence pratique au quotidien entre Laravel 12 et 13 est faible. La syntaxe des attributs est le changement que la plupart des équipes remarqueront en premier,elle est optionnelle, donc adoptable fichier par fichier lors de la maintenance courante plutôt que via une migration big-bang.
Besoin d'aide sur ce sujet ? Développement Full Stack
Découvrir ce service →Articles liés
PHP 8.5 : les nouveautés qui comptent vraiment pour le backend
BackendConcevoir une API REST robuste et scalable avec Laravel
ArchitectureMigrer un monolithe Laravel vers des microservices
BackendLaravel JWT : authentification stateless pour vos APIs
BackendLaravel vs Node.js : quel backend choisir ?
