BTS SIO2D
  • Accueil
  • Connexion
29 septembre 2024 par Nathan Guche

Laravel Reverb

Laravel Reverb
29 septembre 2024 par Nathan Guche

Table des matières

Toggle
  • Laravel Reverb : Un serveur WebSocket natif pour Laravel
    • 🚀 Pourquoi Laravel Reverb ?
  • 🔧 Fonctionnalités clés de Laravel Reverb
  • ⚙️ Installation et Configuration
  • 📡 Exemples d’utilisation
    • 1️⃣ Diffusion d’un événement en temps réel
  • 📌 Avantages de Laravel Reverb
  • 🔮 Conclusion

Laravel Reverb : Un serveur WebSocket natif pour Laravel

Laravel Reverb est une nouvelle fonctionnalité introduite dans Laravel 11, permettant d’exécuter un serveur WebSocket directement dans Laravel, sans dépendances externes comme Pusher ou Laravel Echo Server.

🚀 Pourquoi Laravel Reverb ?

Avant Reverb, pour utiliser WebSockets avec Laravel, il fallait utiliser :

  • Pusher (service tiers payant).
  • Laravel WebSockets (paquet externe nécessitant un serveur dédié).

Laravel Reverb change la donne en offrant une solution native et optimisée, directement intégrée dans Laravel.


🔧 Fonctionnalités clés de Laravel Reverb

1️⃣ Serveur WebSocket intégré à Laravel.
2️⃣ Facile à configurer et utiliser, sans services externes.
3️⃣ Performances améliorées grâce à un fonctionnement asynchrone.
4️⃣ Support natif des Broadcasts avec Laravel Events.
5️⃣ Gestion des connexions sécurisée et efficace.


⚙️ Installation et Configuration

Laravel Reverb est inclus nativement dans Laravel 11, il suffit d’exécuter la commande suivante pour démarrer le serveur WebSocket :

bashCopierModifierphp artisan reverb:start

Par défaut, il fonctionne sur le port 6001.

Dans config/broadcasting.php, assure-toi que Reverb est bien configuré comme driver WebSocket :

phpCopierModifier'connections' => [
    'reverb' => [
        'driver' => 'reverb',
    ],
],

Ensuite, dans bootstrap.js, connecte Laravel Echo à Reverb :

jsCopierModifierimport Echo from 'laravel-echo';

window.Echo = new Echo({
    broadcaster: 'reverb',
});

📡 Exemples d’utilisation

1️⃣ Diffusion d’un événement en temps réel

Dans Laravel, les événements peuvent être diffusés via WebSockets facilement :

📌 Créer un événement broadcastable

phpCopierModifieruse Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;

class MessageSent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets;

    public $message;

    public function __construct($message)
    {
        $this->message = $message;
    }

    public function broadcastOn()
    {
        return ['chat-channel'];
    }
}

📌 Diffuser l’événement

phpCopierModifierevent(new MessageSent('Hello World!'));

📌 Ecouter l’événement côté client

jsCopierModifierwindow.Echo.channel('chat-channel')
    .listen('MessageSent', (event) => {
        console.log('Nouveau message reçu :', event.message);
    });

📌 Avantages de Laravel Reverb

✅ 100% Laravel : Pas besoin de services externes.
✅ Performance : Basé sur les processus asynchrones de Laravel Octane.
✅ Facilité de mise en place : Une simple commande et c’est parti !


🔮 Conclusion

Laravel Reverb est une révolution pour le développement en temps réel avec Laravel. Il simplifie la mise en place des WebSockets sans dépendances lourdes. Si tu développes une application nécessitant du temps réel (chat, notifications, tableaux de bord dynamiques), Reverb est une solution idéale !

Article précédentII) Le futur d’Angular MaterialArticle suivant Angular Universal : SEO et performance

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13