tech

Laravel 13 : PHP 8.3 obligatoire, attributs PHP et SDK IA natif au programme

28 March 2026
6 min de lecture
7 vues
Sébastien Muler

Laravel 13 : PHP 8.3 obligatoire, attributs PHP et SDK IA natif au programme

Laravel 13 est disponible depuis fin mars 2025. Contrairement à certaines versions majeures qui introduisent des ruptures importantes, celle-ci se veut avant tout une mise à jour de modernisation. Le message des équipes de développement est clair : zéro breaking change pour la grande majorité des projets existants. Pourtant, sous cette promesse de continuité se cachent des évolutions significatives qui méritent d'être examinées en détail.

Cet article passe en revue les trois changements les plus structurants de cette version, en s'appuyant sur l'article de synthèse publié par xiaoguang_ sur DEV Community.


PHP 8.3 comme version minimale requise

La première décision notable de Laravel 13 est de fixer PHP 8.3 comme plancher de compatibilité. Les versions 8.1 et 8.2 ne sont plus supportées. Ce choix peut sembler contraignant pour les projets qui n'ont pas encore migré, mais il est cohérent avec la stratégie du framework : tirer parti des dernières fonctionnalités du langage sans maintenir une compatibilité ascendante coûteuse.

Concrètement, cette exigence permet au framework d'exploiter en interne :

  • Les constantes typées, qui renforcent la robustesse du code central de Laravel.
  • La fonction native json_validate(), plus performante que les solutions alternatives utilisées jusqu'ici.

Pour les équipes qui maintiennent des projets en production, c'est l'occasion de planifier une montée de version PHP. Au-delà de la compatibilité Laravel, PHP 8.3 apporte lui-même des gains de performance mesurables à l'exécution, ce qui bénéficie directement aux applications sans modification du code applicatif.

Note pour les projets Symfony : Bien que cet article porte sur Laravel, la tendance est identique dans l'écosystème PHP au sens large. Symfony 7.x requiert également PHP 8.2 minimum. Maintenir une infrastructure à jour sur la version du runtime reste une bonne pratique universelle.


Les attributs PHP pour des modèles et des jobs plus lisibles

Le changement le plus visible de Laravel 13 est l'adoption des attributs PHP natifs (introduits en PHP 8.0) pour remplacer les propriétés de classe dans les modèles Eloquent, les jobs et d'autres composants du framework.

Cette évolution est optionnelle : le code existant continue de fonctionner sans modification. Mais pour les nouveaux développements, la syntaxe devient sensiblement plus concise.

Avant Laravel 13

class User extends Model
{
    protected $table = 'users';
    protected $fillable = ['name', 'email'];
}

Avec Laravel 13

#[Table('users')]
#[Fillable(['name', 'email'])]
class User extends Model {}

La différence est immédiatement perceptible : le corps de la classe est vide, toute la configuration est déclarée au niveau des attributs. Ce style rapproche Laravel d'autres frameworks modernes qui utilisent abondamment les annotations ou attributs pour la configuration (Doctrine, API Platform côté Symfony, par exemple).

Les avantages concrets de cette approche :

  • Lisibilité accrue : les métadonnées de configuration sont séparées visuellement de la logique métier.
  • Réduction du bruit : les classes contenant uniquement de la configuration deviennent quasi vides, ce qui met en valeur le code qui a réellement de la valeur.
  • Outillage statique : les attributs PHP sont analysables par les outils d'analyse statique (PHPStan, Psalm) plus facilement que les propriétés magiques.

Il convient toutefois de rester pragmatique : pour des projets existants bien testés, migrer vers cette syntaxe représente un effort non négligeable pour un bénéfice principalement esthétique. La migration progressive, fichier par fichier, reste la stratégie recommandée.


Un SDK IA natif : laravel/ai

L'annonce la plus commentée de Laravel 13 est sans doute l'intégration d'un SDK IA officiel sous la forme du package laravel/ai. Jusqu'ici, connecter une application Laravel à un modèle de langage (LLM) impliquait de choisir parmi plusieurs packages communautaires aux APIs hétérogènes, avec les risques de maintenance que cela suppose.

Le SDK natif répond à trois besoins identifiés par la communauté :

1. Abstraction multi-fournisseurs

Le package est conçu pour être agnostique du fournisseur. OpenAI, Anthropic (Claude) et Google Gemini sont supportés dès le départ. Le changement de fournisseur s'effectue via le fichier config/ai.php, sans modifier le code applicatif.

2. Une API unifiée pour le texte, les images et l'audio

Plutôt que d'apprendre trois APIs différentes selon le type de contenu généré, laravel/ai expose une interface cohérente :

// Génération de texte
use Laravel\Ai\Facades\Ai;

$response = Ai::prompt('Explique le machine learning à un enfant de 10 ans');
echo $response->text;
// Génération d'image
use Laravel\Ai\Image;

$image = Image::of('Une ville futuriste dans le style de Van Gogh')
    ->landscape()
    ->generate();

3. Une intégration dans l'écosystème Laravel

En tant que package officiel, laravel/ai bénéficie de l'intégration native avec les autres composants du framework : logging, gestion des exceptions, queues pour les traitements asynchrones, et configuration centralisée.

Cette initiative positionne Laravel comme un framework de choix pour les équipes qui souhaitent intégrer des fonctionnalités d'IA générative dans leurs applications web, sans pour autant devenir des spécialistes du domaine.

Perspective MulerTech : Bien que notre cœur de métier soit Symfony/PHP, cette évolution est à surveiller de près. Des initiatives similaires commencent à émerger dans l'écosystème Symfony, notamment autour du composant symfony/ai-bundle encore en phase expérimentale. L'abstraction multi-fournisseurs est une approche particulièrement pertinente pour les projets d'entreprise qui souhaitent conserver leur indépendance vis-à-vis des fournisseurs d'IA.


Conclusion

Laravel 13 n'est pas une révolution, mais c'est une version bien pensée qui pose des bases solides pour les années à venir. L'exigence de PHP 8.3 force une modernisation bienvenue des infrastructures, les attributs PHP apportent une syntaxe plus expressive, et le SDK IA natif répond à un besoin réel de la communauté.

Pour les équipes qui travaillent avec Laravel, le conseil est simple : planifier la montée en version PHP dès maintenant, adopter les attributs progressivement sur les nouveaux développements, et évaluer laravel/ai dans un contexte de projet pilote avant un déploiement en production.

Pour les équipes Symfony comme la nôtre, ces évolutions confirment une tendance de fond dans l'écosystème PHP : la modernisation syntaxique et l'intégration native de l'IA dans les frameworks web sont des directions incontournables pour 2025 et au-delà.


Source originale : Laravel 13 Highlights par xiaoguang_ sur DEV Community

Partager cet article