LiveKit, le cœur de la gestion visio
LiveKit est le composant central de HubLot pour la gestion des appels audio et vidéo en temps réel.
Il s’appuie sur WebRTC pour assurer des communications à faible latence, fiables et scalables.
Dans l’architecture HubLot, LiveKit est un service séparé de l’application principale :
- HubLot gère les utilisateurs, les droits, les organisations et la logique métier.
- LiveKit se concentre exclusivement sur la gestion des rooms, des participants et des flux audio/vidéo.
Cette séparation permet à HubLot de rester indépendant du moteur RTC, tout en garantissant une intégration étroite et sécurisée.
Fonctionnement de LiveKit avec HubLot
L’intégration repose sur un modèle simple et robuste :
- HubLot authentifie les utilisateurs.
- HubLot génère les tokens LiveKit avec les permissions adaptées.
- Les clients se connectent directement à LiveKit à l’aide de ces tokens.
- LiveKit notifie HubLot des événements importants via un webhook.
HubLot conserve ainsi une vision cohérente de l’état des appels sans gérer directement les flux audio/vidéo.
Le rôle du webhook LiveKit
Le webhook LiveKit permet à HubLot d’être informé en temps réel des événements liés aux appels.
Les événements typiquement remontés sont :
- création et fermeture de rooms,
- arrivée et départ de participants,
- début et fin des sessions audio/vidéo,
- incidents ou états anormaux côté RTC.
Ces notifications permettent à HubLot de :
- maintenir l’état des appels côté application,
- déclencher des notifications utilisateur,
- alimenter les logs et audits,
- appliquer des règles métier (par exemple la fermeture automatique d’une session).
Déploiement de LiveKit
LiveKit est déployé comme un service dédié, disposant de :
- sa propre configuration,
- ses clés d’API,
- et d’une URL accessible par HubLot et par les clients.
Dans tous les cas, LiveKit doit être considéré comme un service stateful et exposé de manière contrôlée.
Déploiement en binaire natif
LiveKit peut être installé directement sur le système hôte à l’aide du binaire officiel.
Ce mode de déploiement permet :
- une intégration directe avec le système (systemd, logs, supervision),
- une configuration explicite du réseau et des ports,
- une visibilité claire sur l’environnement d’exécution.
LiveKit fonctionne alors comme un service système classique, indépendant de HubLot mais piloté par celui-ci via l’API et le webhook.
Déploiement via Docker
LiveKit peut également être déployé au sein d’un conteneur Docker.
Dans ce cas :
- le binaire LiveKit est encapsulé dans un environnement contrôlé,
- la configuration est fournie via fichiers et variables d’environnement,
- l’exposition réseau est définie par l’exploitant selon son contexte.
Ce mode de déploiement s’intègre naturellement dans une infrastructure déjà conteneurisée.
Configuration nécessaire pour HubLot
Quel que soit le mode de déploiement retenu, HubLot nécessite :
- une URL LiveKit accessible (
LIVEKIT_API_HOST), - une API Key,
- une API Secret,
- un webhook LiveKit pointant vers HubLot.
Ces éléments permettent à HubLot de piloter LiveKit et de rester synchronisé avec l’état réel des appels.
En conclusion
LiveKit constitue le moteur visio de HubLot, tandis que HubLot conserve la maîtrise complète de la logique métier et de la sécurité.
Le choix du mode de déploiement (binaire ou Docker) relève des pratiques d’exploitation et des contraintes de l’infrastructure.
Dans tous les cas, HubLot est conçu pour fonctionner de manière identique avec LiveKit, sans dépendance à une méthode de déploiement spécifique.