Bibliothèques client et outils d’intégration
Les bibliothèques clientes masquent les détails du calcul du checksum, de la construction des requêtes HTTP et de l’analyse des réponses XML, vous permettant d’interagir avec l’API BigBlueButton via des méthodes typées dans votre langage de programmation préféré. Ce chapitre fournit un aperçu des bibliothèques disponibles, des outils d’intégration et des conseils pour choisir la bonne option pour votre projet.
Bibliothèques officielles
Les bibliothèques suivantes sont maintenues par le projet BigBlueButton lui-même ou par des contributeurs étroitement affiliés. Elles sont généralement bien maintenues et suivent les nouvelles fonctionnalités API au fur et à mesure de leur publication.
| Bibliothèque | Langage | Dépôt | Remarques |
|---|---|---|---|
| bigbluebutton-api-php | PHP | GitHub | Bibliothèque PHP officielle. Utilisée par le plugin BBB de Moodle. Activement maintenue. |
| bigbluebutton-api-js | JavaScript / Node.js | GitHub | Bibliothèque JavaScript officielle pour l’utilisation côté serveur de Node.js. |
Bibliothèques communautaires
Ces bibliothèques sont développées et maintenues par la communauté. Leur qualité et leur fréquence de mise à jour varient — vérifiez toujours l’état de maintenance et la version de BBB prise en charge avant d’en adopter une.
| Bibliothèque | Langage | Dépôt | Remarques |
|---|---|---|---|
| bigbluebutton-api-python | Python | PyPI | Bibliothèque Python maintenue par la communauté. |
| bigbluebutton-api-ruby | Ruby | RubyGems | Du projet Mconf. Maintenue par la communauté. |
Cette liste n’est pas exhaustive. D’autres projets communautaires existent et ne sont pas répertoriés ici. La maintenance et l’actualité de chaque bibliothèque relèvent de la responsabilité de leurs mainteneurs respectifs — vérifiez toujours qu’une bibliothèque prend en charge votre version cible de BBB avant de l’utiliser en production.
Outils d’intégration
Au-delà des bibliothèques clientes, plusieurs outils peuvent vous aider à tester, gérer et mettre à l’échelle des déploiements BigBlueButton :
| Outil | Description |
|---|---|
| API Mate (bigbluebutton.org) | Outil web pour tester les appels à l’API BBB. bigbluebutton.org/api-mate/ |
| API Mate (Mconf) | Outil alternatif de test d’API basé sur le web. mconf.github.io/api-mate/ |
| bbb-conf | Outil CLI sur le serveur BBB. Affiche le secret, l’URL et l’état via bbb-conf --secret. |
| Greenlight | Frontend BBB officiel construit avec Ruby on Rails. Utilise l’API en interne pour gérer les salles et les réunions. |
| Scalelite | Équilibreur de charge pour plusieurs serveurs BBB. Transmet et répartit les appels API entre les instances disponibles. |
Choisir une bibliothèque
Lors de l’évaluation d’une bibliothèque cliente pour votre projet, prenez en compte les critères suivants :
- Prise en charge de la version BBB : La bibliothèque prend-elle en charge des fonctionnalités BBB 3.0 telles que
roleau lieu depassword,sendChatMessageetclientSettingsOverride? - Algorithme de checksum : La bibliothèque prend-elle en charge SHA-256 et SHA-512, ou seulement l’ancien SHA-1 ?
- Prise en charge de POST : La bibliothèque peut-elle envoyer des corps XML (requis pour les téléversements de présentation et
clientSettingsOverride) ? - État de maintenance : Quand a eu lieu le dernier commit ? Y a-t-il des problèmes non résolus sans aucune réponse ?
- Prise en charge des webhooks : La bibliothèque propose-t-elle des fonctions utilitaires pour l’enregistrement des webhooks et la validation des callbacks ?
Si vous n’avez besoin que d’opérations de base comme créer et rejoindre des réunions, une bibliothèque riche en fonctionnalités n’est peut-être pas nécessaire. Une intégration personnalisée légère peut être plus simple à maintenir et plus facile à auditer.
Créer une intégration personnalisée
Si aucune des bibliothèques existantes ne répond à vos besoins, vous pouvez créer votre propre intégration avec n’importe quel langage capable d’effectuer des requêtes HTTP. La logique centrale se compose de trois éléments :
Fonction de checksum — calcule le hachage SHA-256 à partir du nom de l’appel API, de la chaîne de requête et du secret partagé. Reportez-vous au chapitre sur l’authentification par checksum pour des exemples d’implémentation dans plusieurs langages.
HTTP GET/POST — envoyez la requête à l’URL de l’API BBB avec la checksum ajoutée comme paramètre de requête.
Analyse XML — analysez la réponse XML et vérifiez le champ returncode pour SUCCESS ou FAILED.
Pour des intégrations simples qui n’ont besoin que de create et join, cela peut être réalisé en seulement quelques lignes de code — une bibliothèque complète n’est pas strictement nécessaire.
# Minimal example: create + join (pseudocode)
secret = "replace-with-secret"
base = "https://api-guide.bbbserver.com/bigbluebutton/api"
# 1. Build query string
params = "name=Demo&meetingID=replace-with-meeting-id&attendeePW=replace-with-password&moderatorPW=replace-with-password"
# 2. Compute checksum
checksum = sha256("create" + params + secret)
# 3. Send request
response = http_get(base + "/create?" + params + "&checksum=" + checksum)
# 4. Parse XML response
if parse_xml(response).returncode == "SUCCESS":
# Build join URL for a moderator
join_params = "fullName=Admin&meetingID=demo-1&role=MODERATOR"
join_checksum = sha256("join" + join_params + secret)
redirect_to(base + "/join?" + join_params + "&checksum=" + join_checksum) Générez toujours les appels API côté serveur. Le secret partagé ne doit jamais être exposé dans du code côté client tel que JavaScript exécuté dans le navigateur ou dans des applications mobiles.