Passer au contenu principal
Mars 2026 aura été un mois historique pour l’écosystème Laravel. Laravel 13 est sorti officiellement et de nombreuses fonctionnalités majeures ont été publiées en même temps : SDK IA de première partie, ressources JSON:API, Inertia v3, etc. Source : Laravel March Product Updates

Laravel Framework

Laravel AI SDK

Laravel 13 introduit un SDK IA de première partie qui fournit une API unifiée pour la génération de texte, les agents à appels d’outils, les embeddings, l’audio, l’image et l’intégration de vector stores. Vous pouvez construire des fonctionnalités IA indépendantes du fournisseur avec une expérience de développement cohérente et native à Laravel.
use Laravel\Ai\Facades\Ai;

$response = Ai::text('gpt-4o')->generate('What is Laravel?');

Ressources JSON:API

Les ressources JSON:API sont désormais intégrées à Laravel en tant que fonctionnalité de première partie. Il devient facile de renvoyer des réponses conformes à la spécification JSON:API : la sérialisation des objets ressource, l’inclusion des relations, les sparse fieldsets, les liens et les en-têtes de réponse conformes JSON:API sont traités automatiquement.
use Laravel\JsonApi\Resources\JsonApiResource;

class UserResource extends JsonApiResource
{
    public function toAttributes(Request $request): array
    {
        return [
            'name' => $this->name,
            'email' => $this->email,
        ];
    }
}

Renforcement de la prévention de contrefaçon de requêtes

Pour renforcer la sécurité, le middleware de protection CSRF a été formalisé sous le nom PreventRequestForgery. Tout en conservant la compatibilité avec la protection CSRF basée sur des tokens, une validation de requête tenant compte de l’origine a été ajoutée.

Routage des files d’attente

Queue::route() permet désormais de router les queues par classe. Vous pouvez centraliser les règles de routage par défaut (connexion, queue) pour un job donné.
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

Enrichissement des attributs PHP

Laravel 13 étend la prise en charge des attributs PHP de première partie à l’ensemble du framework. De nouveaux attributs pour les contrôleurs et l’authentification (#[Middleware], #[Authorize], etc.) ont été ajoutés, ce qui permet de décrire la configuration et le comportement de manière plus déclarative.
use Illuminate\Routing\Attributes\Middleware;

class UserController extends Controller
{
    #[Middleware('auth')]
    public function index(): Response
    {
        // ...
    }
}

Cache::touch()

Cache::touch() permet de prolonger le TTL d’un élément de cache existant sans avoir à récupérer et re-sauvegarder sa valeur.
Cache::touch('user-session', now()->addHour());

Recherche sémantique et vectorielle

La prise en charge native des requêtes vectorielles, le workflow d’embeddings et les API associées ont été ajoutés. Il devient simple de construire une recherche pilotée par l’IA à l’aide de PostgreSQL + pgvector.

Inertia v3

Plugin Vite

Le nouveau plugin @inertiajs/vite supprime le boilerplate qu’il fallait écrire dans le point d’entrée. Les pages sont résolues automatiquement depuis le répertoire ./Pages, et le code splitting ainsi que le lazy loading sont gérés automatiquement. La configuration du SSR est zéro-conf.
npm install @inertiajs/vite --save-dev

SSR pendant le développement

Le SSR fonctionne désormais automatiquement avec npm run dev. Plus besoin de lancer un processus Node.js séparé pendant le développement : les pages sont rendues côté serveur par défaut.

Suppression d’Axios

Axios et qs ont été entièrement supprimés des dépendances d’Inertia. Un client XHR intégré léger gère toutes les communications HTTP, ce qui réduit la taille du bundle et l’empreinte des dépendances.
Si vous dépendez d’intercepteurs Axios, un adaptateur Axios maintient le comportement pendant la migration.

Mises à jour optimistes

La nouvelle méthode .optimistic() permet de mettre à jour l’UI immédiatement sans attendre la réponse du serveur.
router.post('/posts', data, {
    optimistic: (currentProps) => ({
        posts: [...currentProps.posts, { ...data, id: 'temp' }],
    }),
});

Visites instantanées

Il est désormais possible de passer immédiatement au composant de page cible pendant que la requête au serveur se poursuit en arrière-plan.

Autres packages

Nouveautés Prompts

  • datatable() : nouveau prompt permettant de parcourir, rechercher et sélectionner des données tabulaires
  • title() : définition du titre de la fenêtre de terminal
  • stream() : affichage en streaming en temps réel des réponses IA
  • task() : exécution d’une tâche avec spinner
  • autocomplete() : prompt avec autocomplétion
  • notify() : notifications de bureau natives macOS/Linux

Passport

  • Attribut #[TokenCan] : déclarer directement les scopes de token requis sur une méthode de contrôleur
class PhotoController
{
    #[TokenCan('read')]
    public function index() { /* ... */ }

    #[TokenCan('write')]
    public function store() { /* ... */ }
}

Reverb

  • Limitation de débit : prise en charge d’une limitation de débit par application via le rate limiter intégré à Laravel

Scout

  • Prise en charge des opérateurs dans where() : possibilité d’utiliser la syntaxe where('created_at', '>', $date) dans le query builder

Laravel Cloud et Laravel Forge

ProduitPrincipales mises à jour
Laravel CloudEssai gratuit de 5 $ sans carte bancaire, SSO GitHub, autoscaling planifié, refonte de la page d’utilisation
Laravel ForgePrise en charge des bases PostgreSQL managées sur VPS (observabilité, réplicas en lecture, sauvegardes automatiques)
Dernière modification le 13 juillet 2026