CONFIGURATION_PUSHER
Configuration Pusher pour la Collaboration en Temps Réel
Pourquoi Pusher ?
Pusher est un service WebSocket hébergé qui remplace Reverb. Il offre plusieurs avantages :
- ✅ Gratuit jusqu'à 100 connexions simultanées et 200 000 messages/jour
- ✅ Pas de serveur à gérer - service hébergé par Pusher
- ✅ Configuration simple - juste quelques clés API
- ✅ Fiable - infrastructure robuste et scalable
- ✅ Support SSL/TLS - sécurisé par défaut
Étapes de Configuration
1. Créer un compte Pusher
- Aller sur pusher.com
- Cliquer sur "Sign up" (c'est gratuit)
- Créer un compte avec votre email
2. Créer une application
-
Une fois connecté, aller dans le dashboard
-
Cliquer sur "Create app" ou "Channels apps"
-
Remplir le formulaire :
- App name :
Allo Tata(ou le nom de votre choix) - Cluster : Choisir le cluster le plus proche (ex:
eu,us,ap-southeast-1) - Front-end tech :
Vanilla JS - Back-end tech :
Laravel
- App name :
-
Cliquer sur "Create app"
3. Récupérer les clés API
Dans la page de votre application, vous verrez plusieurs onglets :
- App Keys : contient les clés nécessaires
- App Settings : paramètres de l'application
Vous aurez besoin de :
- App ID (ex:
1234567) - Key (ex:
abcdefghijklmnop) - Secret (ex:
1234567890abcdefghijklmnop) - Cluster (ex:
eu,us)
4. Configurer Laravel
Éditer votre fichier .env :
# Configuration Broadcasting
BROADCAST_CONNECTION=pusher
# Configuration Pusher
PUSHER_APP_ID=votre_app_id
PUSHER_APP_KEY=votre_key
PUSHER_APP_SECRET=votre_secret
PUSHER_APP_CLUSTER=votre_cluster
Exemple :
BROADCAST_CONNECTION=pusher
PUSHER_APP_ID=1234567
PUSHER_APP_KEY=abcdefghijklmnop
PUSHER_APP_SECRET=1234567890abcdefghijklmnop
PUSHER_APP_CLUSTER=eu
5. Vérifier la configuration
Le fichier config/broadcasting.php est déjà configuré pour Pusher. Assurez-vous juste que :
- Le driver est
pusher - Les variables d'environnement sont bien récupérées
6. Reconstruire les assets
./vendor/bin/sail npm run build
Fonctionnalités Activées
Une fois Pusher configuré, vous aurez :
✅ Collaboration en temps réel - voir les changements des autres utilisateurs instantanément ✅ Curseurs en couleurs - chaque utilisateur a un curseur de couleur différente ✅ Indicateurs de présence - voir qui travaille sur la même note ✅ Notifications - être notifié quand un autre utilisateur modifie la note
Coûts
-
Gratuit (Sandbox) :
- 100 connexions simultanées max
- 200 000 messages/jour
- Parfait pour le développement et les petites équipes
-
Payant (Starter) : $49/mois
- 500 connexions simultanées
- 10 000 000 messages/mois
- Support par email
Pour la plupart des cas d'usage, le plan gratuit suffit largement.
Dépannage
Les événements ne sont pas reçus
- Vérifier que
BROADCAST_CONNECTION=pusherdans.env - Vérifier que les clés Pusher sont correctes
- Vérifier la console du navigateur pour les erreurs
- Vérifier que le cluster correspond à votre région
Les curseurs ne s'affichent pas
- Vérifier que plusieurs utilisateurs sont connectés à la même note
- Vérifier la console du navigateur
- Vérifier que les événements
NoteCursorMovedsont bien émis dans Laravel
Erreur de connexion
- Vérifier que
PUSHER_APP_KEYest bien défini dans.env - Vérifier que le cluster correspond à celui configuré dans Pusher
- Vérifier les logs Laravel pour les erreurs de broadcasting
Alternative : Désactiver Pusher
Si vous ne souhaitez pas utiliser Pusher, l'application fonctionnera avec un polling HTTP toutes les 3 secondes. Ce n'est pas en temps réel mais ça fonctionne sans configuration.
Pour désactiver Pusher, ne définissez simplement pas PUSHER_APP_KEY dans votre .env ou laissez-le vide.