BigBlueButton LogoDepuis le début du premier confinement en mars 2020, beaucoup d’entre nous ont dû effectuer la transition numérique de manière accélérée. Les centres de formation, les universités et les entreprises ont adopté les solutions de télétravail, et les applications comme Zoom, Jitsi et Microsoft Teams ont vu leur nombre d’utilisateurs augmenter de façon exponentielle.

J’ai testé toute une série de ces solutions, et depuis mars, j’ai même eu l’occasion d’animer quelques formations par visioconférence.

  • L’École des Mines d’Alès utilise Microsoft Teams pour le télétravail. Le client Linux fonctionne parfaitement, mais Teams reste une solution propriétaire qui passe obligatoirement par l’achat d’une licence.
  • Le centre de formation IIFA à Nîmes héberge son propre serveur de classes en ligne basé sur BigBlueButton. J’ai eu l’occasion d’utiliser cet outil pendant deux semaines – dans le cadre d’une formation pour FranceTV Guyane – et ça fonctionne tout aussi bien que Microsoft Teams, sauf que c’est une solution libre qui tourne sur un serveur Linux.

Étant donné que les systèmes de visioconférence sont désormais le nerf de la guerre pour beaucoup d’entreprises, j’ai décidé d’écrire un article sur la mise en place de A à Z d’une solution de visioconférence Open Source basée sur BigBlueButton.

Une solution libre recommandée par l’État

BigBlueButton existe depuis 2007, et c’est une solution robuste et stable, qui est d’ailleurs officiellement recommandée par la Direction Interministérielle du Numérique. Depuis mai 2020, l’application est intégrée au Socle Interministériel des Logiciels Libres. En termes de fonctionnalités, BigBlueButton intègre tout ce qu’il faut pour organiser des conférences et de la formation à distance.

  • Partage de la voix et de l’image vidéo
  • Partage d’écran
  • Présentations avec ou sans tableau blanc
  • Intégration de la messagerie instantanée

Un serveur pour BigBlueButton

BigBlueButton est censé tourner sur un serveur dédié au sens propre du terme. N’essayez pas de l’installer sur une de vos machines qui héberge déjà les mails, les blogs, le stockage réseau et la compta de l’entreprise. Prévoyez une machine pleinement dédiée pour l’hébergement de l’application. Pour ma part, j’ai opté pour un serveur Start-2-M-SSD chez Scaleway. C’est à peu près le minimum requis pour faire tourner BigBlueButton correctement.

InfoIl est certes possible de tester BigBlueButton sur le serveur d’entrée de gamme Start-2-S-SATA, mais l’application fonctionnera dans la mesure où une poule est capable de voler et un cheval de nager.

Deux longueurs de retard

En termes de distribution, les prérequis sont assez spécifiques. BigBlueButton est fait pour tourner sur un serveur Ubuntu, un point c’est tout. Vous pouvez certes tenter de l’installer sur une autre distribution, au risque de vous arracher les cheveux. Non content de cela, la version de production de BigBlueButton (2.2) est censée tourner sur Ubuntu 16.04 LTS.

Je me suis adressé aux développeurs pour leur demander s’ils étaient conscients du fait que cette distribution allait arriver au terme de son cycle de support en avril 2021. Ils m’ont partiellement rassuré en m’apprenant qu’ils avaient certes été retardés suite à la crise sanitaire, mais que la version de développement (2.3-dev) était prévue pour Ubuntu 18.04 LTS, supportée jusqu’en avril 2023. Je leur ai suggéré d’aller voir du côté de CentOS 8 (supporté jusqu’en mai 2029) mais je pense qu’ils l’ont mal pris.

Installer Ubuntu sur un serveur Scaleway

Dans un premier temps, il faut doter notre nouveau serveur dédié d’un système d’exploitation.

  1. Se connecter à la console Online/Scaleway : https://console.online.net
  2. Ouvrir le menu Serveur > Liste des serveurs
  3. Sélectionner la machine > Administrer > Installer
  4. Distributions serveur > Ubuntu > Ubuntu 16.04 LTS > Installer Ubuntu

Dedibox Ubuntu

InfoVous aurez peut-être remarqué une distribution nommée BigBlueButton dans la liste des OS. C’est une solution « out of the box » proposée par Scaleway, et que j’ai pu tester. Sans rentrer dans les détails, je vous conseille d’utiliser la méthode d’installation décrite ici.

Scaleway propose un schéma de partitionnement par défaut, que nous allons modifier.

  1. Réduire la taille de la partition principale pour avoir un peu de marge.
  2. Augmenter la taille de la partition /boot : 500 Mo.
  3. La partition /boot sera formatée en ext2.
  4. Augmenter la taille de la partition d’échange en fonction de la RAM disponible.
  5. Remplir l’espace disponible pour la partition principale qui reste en ext4.

Dedibox partitionnement

L’écran subséquent permet de choisir le mot de passe root, de définir un utilisateur « commun mortel » et de choisir un mot de passe pour cet utilisateur.

Dedibox Utilisateur

ImportantL’installateur impose une limite de 15 caractères alphanumériques. Le cas échéant, on peut choisir un mot de passe provisoire ici et définir quelque chose de plus robuste à la première connexion.

L’interface affiche ensuite un récapitulatif des paramètres réseau de la machine. On peut éventuellement noter ces paramètres pour les avoir sous la main.

  • Nom d’hôte
  • Adresse IP
  • Masque de sous-réseau
  • IP de la passerelle
  • DNS primaire et secondaire

Dedibox Paramètres

Il ne reste plus qu’à cliquer sur Effacer l’intégralité de mes disques durs pour procéder à l’installation.

Dedibox Installation

Choisir un nom pour la machine

Dans la configuration par défaut, les machines fournies par Scaleway disposent d’un nom d’hôte du genre sd-110196.dedibox.fr. En théorie, ce nom d’hôte peut déjà être utilisé pour générer un certificat TLS et héberger la plateforme. En pratique, il vaut mieux assigner un nom d’hôte plus parlant à la machine.

Dans le cas du serveur présenté ici, je dispose d’un serveur BIND qui gère mon domaine microlinux.fr. Pour nommer mon serveur visio.microlinux.fr, j’ajoute un enregistrement A que je fais pointer vers l’adresse IP de la machine.

visio       IN      A       163.172.82.215

InfoSi vous gérez votre nom de domaine auprès d’un bureau d’enregistrement hébergeur comme Gandi ou OVH, vous utiliserez les clicodromes DNS respectifs pour définir le nom d’hôte de votre machine.

Connexion initiale

Pour travailler plus confortablement, je configure tout d’abord l’authentification par clé SSH depuis ma station de travail.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub microlinux@visio.microlinux.fr

Je me connecte au serveur et je définis un mot de passe plus robuste que celui défini dans l’interface de configuration de Scaleway.

$ passwd

Étant donné que la distribution Ubuntu utilise l’éditeur Nano par défaut, j’installe quelque chose de plus fonctionnel.

$ sudo apt-get update && sudo apt-get install vim

Configurer l’envoi de mails

BigBlueButton doit pouvoir envoyer des e-mails aux utilisateurs. On va donc installer un serveur Postfix minimal sous le capot. Dans le dialogue de configuration de Postfix, j’accepte les choix par défaut Internet Site et sd-110196.dedibox.fr.

$ sudo apt-get install postfix bsd-mailx

J’édite /etc/postfix/main.cf et je passe la directive inet_interfaces à loopback-only, étant donné que Postfix n’est pas censé recevoir de messages.

inet_interfaces = loopback-only

Je prends en compte les modifications.

$ sudo systemctl reload postfix

J’envoie un mail de test à mon compte.

$ mail info@microlinux.fr
Subject: Test Postfix
Ceci est un test.
.
Cc:

ImportantJe reçois quotidiennement des mails de test et autres notifications d’expiration de certificats LetsEncrypt de la part d’utilisateurs qui recopient mes instructions à la lettre. Je précise donc officiellement que vous avez le droit d’utiliser votre cerveau en lisant ce blog. :o)

Installer BigBlueButton

La documentation de BigBlueButton est très complète et plutôt bien faite. Nous avons le choix entre deux méthodes pour installer l’application.

La méthode automatique offre un confort significatif par rapport à la méthode manuelle. C’est donc celle que nous allons utiliser. Après, rien ne vous empêche de tester la méthode manuelle si vous vous ennuyez un peu pendant ce confinement.

Pour commencer, je récupère le script d’installation.

$ mkdir bin
$ cd bin
$ wget https://ubuntu.bigbluebutton.org/bbb-install.sh

Je rends le script exécutable.

$ chmod +x bbb-install.sh

L’option -h permet d’afficher les nombreuses options du script.

$ ./bbb-install.sh -h

À partir de là, je peux installer mon serveur BigBlueButton en une seule ligne de commande.

$ sudo ./bbb-install.sh -w -g -v xenial-22 -s visio.microlinux.fr -e info@microlinux.fr

Cette commande mérite quelques explications.

  • L’option -w installe le pare-feu ufw (Uncomplicated Firewall) avec une configuration adaptée à BigBlueButton
  • L’option -g installe Greenlight, une interface simple et intuitive qui permet aux utilisateurs de créer des salons de discussion et d’organiser des conférences.
  • L’option -v xenial-22 précise la version d’Ubuntu (Xenial Xerus pour Ubuntu 16.04) ainsi que la version correspondante de BigBlueButton (2.2 pour la version de production à l’heure où j’écris ces lignes).
  • Si vous souhaitez tester la version de développement de BigBlueButton, installez Ubuntu 18.04 LTS et lancez bbb-install.sh avec l’option -v bionic-230-dev au lieu de -v xenial-22.
  • L’option -s visio.microlinux.fr configure le serveur avec le nom d’hôte fourni en argument.
  • Enfin, l’option -e info@microlinux.fr est nécessaire pour la création du certificat LetsEncrypt avec Certbot. Non, n’utilisez pas mon adresse mail à moi. Oui, utilisez la vôtre.

EspressoÀ partir de là, vous avez largement le temps de boire un café. Le script mouline pendant un bon quart d’heure pour installer et configurer l’une après l’autre toutes les briques logicielles qui constituent BigBlueButton.

Configurer BigBlueButton

Au terme de l’installation, la première chose à faire est la création d’un administrateur. La procédure est un peu particulière.

$ cd ~/greenlight
$ sudo docker exec greenlight-v2 bundle exec rake user:create["Nicolas Kovacs",
  "info@microlinux.fr","**********","admin"]
Account successfully created.
Email: info@microlinux.fr
Password: **********
Role: admin

InfoLes quatre champs entre crochets séparés par une virgule contiennent respectivement le nom complet de l’utilisateur, son adresse e-mail, le mot de passe (qui apparaît en clair) ainsi que le rôle (user ou admin) de l’utilisateur.

À présent je peux me connecter à la plateforme en utilisant mon adresse e-mail comme identifiant ainsi que le mot de passe que je viens de définir. Une fois que je suis connecté, je clique sur mon avatar en haut à droite et j’ouvre l’entrée de menu Organisation pour accéder aux paramètres de la plateforme.

BigBlueButton Configuration

L’entrée de menu Paramètres du site > Apparence > Logo me permet de personnaliser le logo de la plateforme.

BigBlueButton Configuration

La prochaine étape consiste à définir les paramètres d’accès à la plateforme, notamment la Méthode d’inscription qui est censée passer par l’approbation d’un modérateur.

BigBlueButton Configuration

À partir de là, je peux me rendre à ma page d’accueil et créer un ou plusieurs salons de discussion. Pour inviter des participants à l’un de ses salons, il suffit de leur envoyer le lien correspondant par e-mail.

BigBlueButton Configuration

Une fois qu’on a démarré un salon de discussion, il suffit de valider l’accès du navigateur web au micro et à la webcam, et le tour est joué. Dans l’écran ci-dessous, j’ai partagé l’écran d’une documentation que je suis en train de traduire.

BigBlueButton

BigBlueButton est assez simple à prendre en main, et c’est devenu pour moi l’outil idéal pour les formations en ligne.

Choisir le bon navigateur web

La documentation officielle conseille d’utiliser BigBlueButton avec les navigateurs web Chrome ou Firefox. J’ai fait quelques tests avec les différentes versions de ces navigateurs, et voici mes conclusions.

  • Si vous utilisez Firefox, préférez la dernière version stable à la version ESR (Extended Support Release).
  • Si vous utilisez Chrome, préférez la version de développement Beta. Elle supporte mieux le protocole WebRTC, et la version stable de Chrome supporte mal certaines webcams.
  • Si vous utilisez un double moniteur comme moi, Chrome Beta vous permet de partager un de vos deux écrans, ce qui est extrêmement pratique pour les formations.
  • Firefox en revanche limite les options de partage à l’intégralité du bureau ou à la fenêtre de l’application.

La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 


7 commentaires

H · 9 novembre 2020 à 22 h 29 min

Mais LOL ! Ubuntu 16.04 et maintenant support du 18.04… le thread parlait d’un support du 20.04 sans grande conviction. Ca genre de problème de support OS me rebute complètement à utiliser cet outil.

Bravo quand même pour l’article

    kikinovak · 10 novembre 2020 à 10 h 35 min

    J’ai soupesé le pour et le contre, et je pense que BigBlueButton est un moindre mal. J’ai eu l’occasion de discuter avec un développeur Jitsi, et le gars m’expliquait que CentOS était beaucoup moins sécurisé que la distribution Arch qu’il utilisait sur sa machine parce que c’était moins à jour. :o)

Paul · 10 novembre 2020 à 10 h 11 min

Comme d’habitude, une inestimable contribution de kikinovak !
Merci, merci, merci.
Juste une question : combien de personnes suivaient les formations que tu évoques (ou dit autrement, si tu en as une idée, vu les caractéristiques du serveur chez Scaleway, quelle limite doit-on se fixer avant que cela ne rame ?)

PS : je t’offrirais bien un café, mais PayPal n’est pas mon ami. Alternative ?

    kikinovak · 10 novembre 2020 à 10 h 36 min

    Avec FranceTV, j’avais des équipes de sept à dix personnes.

    Là je viens d’installer une machine pour notre petit lycée local, et ma foi, je vais la garder à l’oeil pour surveiller les performances. J’en saurai plus dans quelque temps.

unquidam · 10 novembre 2020 à 16 h 06 min

Quid du service GNU: jami.net sous OsX, win10, Android qui remplace skype sur la googelTV!? Le 16 octobre ils annoncent une MAJ de circonstance.

Fabrice · 12 novembre 2020 à 7 h 25 min

Bonjour
@paul en fonction du serveur on peut aller d’une centaine d’utilisateurs à 400. Le minimum requis est de 8 cœurs et 16threads. Nous on arrive à faire tourner parfois jusqu’à 500 utilisateurs sur un gros serveur. Mais pas avec toutes les webcams ou juste en écoute seule. Ce n’est pas uniquement dû aux performances de la machine, mais également aux ports disponibles pour accueillir les différents flux. Enfin passé 500 il est possible d’installer un load balancer qui permettra de répartir la charge entre plusieurs serveurs de gérer plusieurs centaines d’utilisateurs. Il faut savoir aussi que le maximum de participants dans une salle est de 100 et dans la version 2.3 devrait passer à 150 .

LordK1 · 16 novembre 2020 à 20 h 05 min

Je pense qu’il est important de noter que l’utilisation d’un serveur turn est quasiment indispensable pour une utilisation avec des gens dans un réseau pro, avec proxy et firewall. Le serveur en question devra être installé via le même script sur une machine à part, et son ajout à bigbluebutton tient en un paramètre à ajouter au script d’installation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *