> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Mises à jour Laravel — mai 2026

> Mise à jour de l'écosystème Laravel en mai 2026 : directive Blade @fonts, jobs Interruptible, prise en charge des sous-agents, Scale-to-Zero sur Cloud, etc.

Mai 2026 apporte de grosses mises à jour pratiques : Scale-to-Zero full-stack et Managed Queues pour Laravel Cloud, optimisation des polices, pipelines multi-agents, etc.

Source : [Laravel May Product Updates](https://laravel.com/blog/laravel-may-product-updates)

***

## Laravel Framework

### Directive Blade @fonts

La nouvelle directive `@fonts` gère automatiquement les balises `<link rel="preload">`, les styles `@font-face` et les en-têtes HTTP/2 push nécessaires au chargement des web fonts. Elle lit le manifeste de polices généré par le plugin Vite Font et injecte tous les éléments requis en une seule opération.

```blade theme={null}
{{-- Charger toutes les polices --}}
@fonts

{{-- Une famille de polices spécifique uniquement --}}
@fonts(["sans", "mono"])
```

<Tip>
  `@fonts` permet de ne contrôler que les polices nécessaires page par page, ce qui évite les préchargements inutiles et optimise les performances.
</Tip>

### Interruptible Jobs (jobs sensibles aux signaux)

La nouvelle interface `Interruptible` permet à un job de réagir lorsqu'un worker de queue reçoit SIGTERM pendant un déploiement. Vous pouvez arrêter une boucle, libérer des verrous, sauvegarder l'état, etc. en toute sécurité avant l'arrêt du worker.

```php theme={null}
use Illuminate\Contracts\Queue\Interruptible;
use Illuminate\Contracts\Queue\ShouldQueue;

class ProcessLargeReport implements ShouldQueue, Interruptible
{
    public function handle(): void
    {
        foreach ($this->getChunks() as $chunk) {
            if ($this->shouldInterrupt()) {
                $this->saveProgress();
                return;
            }
            $this->processChunk($chunk);
        }
    }
}
```

### Exceptions JSON par défaut pour les routes API

Les routes API renvoient désormais automatiquement les réponses d'erreur au format JSON. Auparavant, certaines conditions pouvaient produire du HTML pour ces routes ; désormais, les routes définies dans `api.php` sont garanties de recevoir une réponse JSON.

### Store de cache storage

Un nouveau store de cache `storage` a été ajouté. Il utilise le système de fichiers comme backend de cache tout en tirant parti de la configuration de stockage de Laravel.

```php theme={null}
// config/cache.php
'stores' => [
    'storage' => [
        'driver' => 'storage',
        'disk' => 'local',
        'path' => 'framework/cache',
    ],
],
```

### Sauvegarde sur disque des grosses charges utiles SQS

Une option a été ajoutée pour sauvegarder les charges utiles SQS sur disque lorsqu'elles sont trop volumineuses (> 256 Ko). C'est utile pour traiter de gros volumes de données via la queue.

### Filtre d'environnement pour les commandes planifiées

La commande `schedule:list` accepte désormais un filtre par environnement.

```bash theme={null}
php artisan schedule:list --environment=production
```

### Option Stop When Empty pour les workers

Une option `--stop-when-empty` a été ajoutée pour arrêter automatiquement le worker lorsque la queue devient vide. Pratique pour les traitements par lots ou les workers en CI qui doivent se terminer une fois la queue vide.

```bash theme={null}
php artisan queue:work --stop-when-empty
```

### Helper de schéma foreignUuidFor

`foreignUuidFor()` a été ajouté comme équivalent UUID de `foreignIdFor()`.

```php theme={null}
Schema::table('posts', function (Blueprint $table) {
    $table->foreignUuidFor(User::class)->constrained();
});
```

***

## Prise en charge des sous-agents IA

Les agents IA Laravel peuvent désormais déléguer à d'autres agents. Si vous renvoyez un agent depuis la méthode `tools()`, le LLM de l'agent parent l'appelle comme n'importe quel autre outil. Les contextes étant isolés, les historiques de conversation ne se mélangent pas.

```php theme={null}
class OrchestratorAgent extends Agent
{
    public function tools(): array
    {
        return [
            new AnalysisAgent(),
            new WritingAgent(),
            new SearchTool(),
        ];
    }
}
```

***

## Inertia 3.x

* **Option `mode` de `router.poll`** : permet de configurer le mode de fonctionnement du polling
* **Support des données dynamiques dans `usePoll`** : mise à jour dynamique des données pendant le polling
* **`Inertia.once`** : prise en charge d'événements qui ne se déclenchent qu'une fois
* **Slot `rescue` de `<Deferred>`** : fallback lorsque les props deferred échouent

***

## PAO (PHP Agentic Output)

PAO est désormais intégré par défaut dans les starter kits. De nouvelles fonctionnalités ont été ajoutées :

* **Support de Rector** : PAO traite également les sorties JSON de Rector
* **Guidance d'agent pour PHPStan** : ajout d'indications pour expliquer à l'agent comment corriger les erreurs
* **Variable d'environnement `PAO_FORCE`** : force l'activation du mode PAO
* **Support Artisan RECTOR** : PAO prend en charge les commandes Artisan

***

## Laravel Cloud, Laravel Forge et Nightwatch

| Produit           | Principales mises à jour                                                                                                                                                                                 |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Laravel Cloud** | Scale-to-Zero full-stack (démarrage en moins de 500 ms, 20× plus rapide), Managed Queues (workers auto-scalés, tableau de bord des jobs échoués), plafonds de dépenses, nouveau plan Starter à 5 \$/mois |
| **Laravel Forge** | MySQL managé 8.4 (sauvegardes automatiques, réplicas en lecture, alertes), PHP 8.5 par défaut, redémarrage automatique d'Horizon lors du changement de variables d'environnement                         |
| **Nightwatch**    | Le serveur MCP fournit des données de performance : temps d'exécution des routes, durée des requêtes, métriques d'exécution des jobs, etc.                                                               |


## Related topics

- [Mises à jour Laravel — mars 2026](/fr/blog/changelog/202603.md)
- [Mises à jour Laravel — avril 2026](/fr/blog/changelog/202604.md)
- [Mises à jour Laravel — juin 2026](/fr/blog/changelog/202606.md)
- [Mise à niveau de Laravel 8 vers 9](/fr/blog/upgrade-8-to-9.md)
- [Guide de mise à niveau de Laravel 12 vers 13](/fr/blog/upgrade-12-to-13.md)
