Qu’est-ce que le broadcasting
Les WebSockets permettent au serveur d’envoyer des données au client en temps réel. Le broadcasting Laravel achemine les événements côté serveur vers le JavaScript frontend via WebSocket. Par exemple, quand le statut d’une commande change, l’affichage se met à jour dans le navigateur sans recharger la page. La force du broadcasting Laravel est de partager tel quel nom d’événement et données entre serveur et client.Le broadcasting repose sur le système d’événements Laravel.
Familiarisez-vous d’abord avec Événements et listeners.
Mise en place
Le broadcasting est désactivé par défaut dans un nouveau projet. Activez-le viainstall:broadcasting.
config/broadcasting.php et routes/channels.php.
Laravel Reverb
Depuis Laravel 11, le serveur WebSocket officiel Laravel Reverb est recommandé. Self-hosted, il fournit du temps réel sans service externe.Installation
install:broadcasting --reverb installe les packages Composer/NPM et met à jour .env en une commande.
Variables .env principales
Démarrer Reverb
Créer un événement de broadcast
Générer l’événement
ShouldBroadcast.
ShouldBroadcast, l’événement dispatché est automatiquement mis en file puis diffusé.
Personnaliser la charge utile
Par défaut, toutes les propriétéspublic sont incluses.
Filtrez avec broadcastWith.
Personnaliser le nom d’événement
Le nom de classe sert par défaut. Personnalisez avecbroadcastAs.
. pour désactiver le namespace applicatif.
Types de canaux
Autorisation de canal
Private et Presence exigent une vérification serveur avant souscription.routes/channels.php
Généré par install:broadcasting.
false = refusé.
Route model binding disponible.
orders.{order} reçoit une instance de Order.Classe de canal
Pour ranger le code quand il y en a beaucoup :routes/channels.php.
Déclencher l’événement
Comme un événement normal.toOthers.
Réception côté frontend
Laravel Echo
Installez et configurez dansresources/js/bootstrap.js.
Écouter les événements
Hooks React / Vue
Les kits de démarrage React/Vue proposent des hooks dédiés.Exemple : mise à jour temps réel d’un statut de commande
1
Activer le broadcasting
2
Créer l'événement
app/Events/OrderShipmentStatusUpdated.php.3
Autorisation de canal
Dans
routes/channels.php.4
Dispatcher l'événement
Depuis un contrôleur ou un job après mise à jour.
5
Écouter côté frontend
Script inline dans Blade ou composant React/Vue.
Prochaines étapes
Laravel Reverb
Setup, exploitation et scaling du serveur Reverb.
Queues et jobs
Le broadcasting passe par la queue : configurez-la correctement.
Événements et listeners
Les fondations du système d’événements Laravel.