Filament v5 : Compatibilité Livewire v4 et Filament Blueprint pour vos panels Laravel

L
Laravel Actu
5 min

Filament v5, sortie le 16 janvier 2026, assure la compatibilité avec Livewire v4 tout en introduisant Filament Blueprint, un outil révolutionnaire pour l’assistance IA. Une mise à jour stratégique pour les développeurs qui souhaitent rester à la pointe.

Qu’est-ce que Filament ?

Filament est un framework SDUI (Server-Driven UI) pour Laravel. Il permet de définir des interfaces utilisateur entièrement en PHP via des objets de configuration structurés. Construit sur Livewire, Alpine.js et Tailwind CSS, Filament simplifie la création de panels d’administration, dashboards et applications form-centric sans écrire de JavaScript.

Les principaux packages incluent :

  • filament/filament : le cœur pour construire des panels
  • filament/tables : générateur de tableaux interactifs
  • filament/forms : composants de formulaires avec validation intégrée
  • filament/actions : actions modales réutilisables
  • filament/notifications : système de notifications flash et temps réel
<?php

namespace App\Filament\Resources;

use App\Models\Article;
use Filament\Resources\Resource;
use Filament\Tables\Table;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;

class ArticleResource extends Resource
{
    protected static ?string $model = Article::class;

    // Définition d'une table Filament basique
    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                TextColumn::make('title')
                    ->searchable()
                    ->sortable(),
                TextColumn::make('author.name')
                    ->label('Auteur'),
                ToggleColumn::make('is_published')
                    ->label('Publié'),
            ]);
    }
}

Ce code illustre la création d’une ressource Filament. La table affiche les articles avec recherche, tri et un toggle pour le statut de publication.

Pourquoi Filament v5 ?

Filament v5 existe principalement pour supporter Livewire v4, sorti en janvier 2026 par Caleb Porzio. L’équipe Filament a choisi de publier cette compatibilité comme version majeure pour éviter toute rupture inattendue dans les projets existants.

Point crucial : il n’y a aucun changement fonctionnel entre Filament v4 et v5, hormis le support de Livewire v4. Les nouvelles fonctionnalités continueront d’être publiées sur les deux versions majeures.

Prérequis de Filament v5

Dépendance Version minimale
PHP 8.2+
Laravel 11.28+
Livewire 4.0+
Tailwind CSS 4.0+

Installation et mise à jour

Pour une nouvelle installation de Filament v5 :

# Installation de Filament v5 dans un projet Laravel existant
composer require filament/filament:"^5.0" -W

# Création d'un panel d'administration
php artisan filament:install --panels

Pour migrer depuis Filament v4, un script automatisé gère les changements :

# Installation du package de migration
composer require filament/upgrade:"^5.0" -W --dev

# Exécution du script de migration automatique
vendor/bin/filament-v5

# Mise à jour des dépendances
composer require filament/filament:"^5.0" -W --no-update
composer update

# Nettoyage après migration
composer remove filament/upgrade --dev

Le script détecte automatiquement les incompatibilités et applique les corrections nécessaires. Si votre projet utilise des composants Livewire personnalisés, consultez également le guide de migration Livewire v4.

Filament Blueprint : l’assistant IA

Filament Blueprint est un nouvel outil premium qui améliore drastiquement la qualité des plans d’implémentation générés par les agents IA.

Le problème résolu

Quand vous demandez à une IA de construire quelque chose avec Filament, vous obtenez souvent un plan vague qui laisse trop de place à l’interprétation. L’IA comprend ce que vous voulez, mais ne sait pas comment Filament fonctionne réellement. Résultat : namespaces incorrects, configurations manquantes, layouts incohérents.

Blueprint est une extension Laravel Boost qui injecte une connaissance approfondie de Filament dans votre agent IA.

Exemple d’utilisation

<?php

// Exemple de prompt pour Blueprint
// "Using Filament Blueprint, produce an implementation plan for a SaaS invoicing system"

// Blueprint génère un plan détaillé incluant :
// - Références exactes aux composants avec liens documentation
// - Commandes CLI pour générer les fichiers
// - Chaînes de configuration précises comme :

use Filament\Forms\Components\Select;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\TextInput;

// Configuration générée par Blueprint pour une facture
Select::make('customer_id')
    ->relationship('customer', 'name')
    ->searchable()
    ->preload()
    ->createOptionForm([
        TextInput::make('name')->required(),
        TextInput::make('email')->email()->required(),
    ]),

Repeater::make('items')
    ->schema([
        Select::make('product_id')
            ->relationship('product', 'name')
            ->live()
            ->afterStateUpdated(fn ($set, $state) => 
                $set('unit_price', Product::find($state)?->price ?? 0)
            ),
        TextInput::make('quantity')
            ->numeric()
            ->default(1)
            ->live(),
        TextInput::make('unit_price')
            ->numeric()
            ->prefix('€'),
    ])
    ->columns(3)

Ce code montre le niveau de détail que Blueprint peut produire : relations searchables avec création inline, champs réactifs avec ->live(), et callbacks afterStateUpdated() pour les calculs automatiques.

Nouvelles fonctionnalités de la v5.1

La version 5.1.0, sortie le 23 janvier 2026, apporte plusieurs améliorations :

<?php

use Filament\Forms\Components\MorphToSelect;
use Filament\Forms\Components\ToggleButtons;
use Filament\Schemas\Components\Flex;

// Nouveauté : Toggle buttons pour MorphToSelect
MorphToSelect::make('commentable')
    ->types([
        MorphToSelect\Type::make(Post::class)->titleAttribute('title'),
        MorphToSelect\Type::make(Video::class)->titleAttribute('name'),
    ])
    ->typeSelectUsingToggleButtons() // Nouvelle méthode v5.1
    ->searchable(),

// Nouveauté : Support des tooltips sur ToggleButtons
ToggleButtons::make('status')
    ->options([
        'draft' => 'Brouillon',
        'published' => 'Publié',
        'archived' => 'Archivé',
    ])
    ->tooltips([
        'draft' => 'Non visible publiquement',
        'published' => 'Visible par tous les utilisateurs',
        'archived' => 'Masqué mais conservé',
    ]),

// Nouveauté : Support de l'alignement sur Flex
Flex::make([
    // composants...
])->alignment('center') // Nouvelle propriété

Autres améliorations notables :

  • Préchargement de la police Inter pour de meilleures performances
  • Navigation Wizard programmatique sans query string
  • Support des attributs supplémentaires sur les NavigationItem
  • Corrections pour le mode SPA avec Octane, FrankenPHP et Swoole

Bonnes pratiques

  • Vérifiez la compatibilité des plugins : certains plugins tiers ne sont pas encore compatibles v5. Retirez-les temporairement du composer.json si nécessaire
  • Suivez les deux guides de migration : Filament v5 ET Livewire v4 si vous avez des composants Livewire personnalisés
  • Testez en environnement de staging : la migration automatique couvre la majorité des cas, mais des ajustements manuels peuvent être nécessaires
  • Blueprint reste optionnel : c’est un outil premium, Filament v5 fonctionne parfaitement sans

Résumé

Filament v5 représente une mise à jour de stabilité et de compatibilité plutôt qu’une révolution fonctionnelle. L’intégration de Livewire v4 apporte les bénéfices des composants view-based et des requêtes asynchrones améliorées. Filament Blueprint ouvre une nouvelle ère pour le développement assisté par IA, avec des plans d’implémentation directement exploitables. La migration depuis v4 reste simple grâce au script automatisé, et l’équipe maintient activement les deux branches.

Ressources

À propos de Laravel Actu

Développeur passionné par Laravel et son écosystème.

Voir tous les articles
Partager :

Ne manquez aucune actualité Laravel

Recevez les meilleurs articles et tutoriels directement dans votre boîte mail.

Pas de spam. Désinscription possible à tout moment.