Depuis 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.
Ces deux dernières années, j’ai pu animer toute une série de formations à distance, et ce faisant, j’ai eu l’occasion de tester « à chaud » quelques solutions de 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 – 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.
Il 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.
Le système de base
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.3) est censée tourner sur Ubuntu 18.04 LTS.
BigBlueButton est une véritable usine à gaz avec une série de prérequis très spécifiques. Je me suis adressé aux développeurs pour leur demander s’ils étaient conscients du fait qu’ils avaient une longueur de retard dans le choix de la distribution de base. Ils m’ont partiellement rassuré en m’apprenant qu’ils avaient été retardés suite à la crise sanitaire, comme beaucoup d’entre nous.
Installer Ubuntu sur un serveur Scaleway
Dans un premier temps, il faut doter notre nouveau serveur dédié d’un système d’exploitation.
- Se connecter à la console Online/Scaleway : https://console.online.net
- Ouvrir le menu Serveur > Liste des serveurs
- Sélectionner la machine > Administrer > Installer
- Distributions serveur > Ubuntu > Ubuntu 18.04 LTS > Installer Ubuntu
Vous 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.
- Réduire la taille de la partition principale pour avoir un peu de marge.
- La partition
/boot
sera formatée enext2
. - Augmenter la taille de la partition d’échange en fonction de la RAM disponible.
- Remplir l’espace disponible pour la partition principale qui reste en
ext4
.
L’écran subséquent permet de définir un utilisateur « commun mortel » et de choisir un mot de passe pour cet utilisateur.
L’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
Il ne reste plus qu’à cliquer sur Effacer l’intégralité de mes disques durs pour procéder à l’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
Si 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:
Je 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 manuelle décrite pas à pas dans la documentation
- la méthode automatique qui utilise le script
bbb-install.sh
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 pour meubler un après-midi pluvieux.
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 bionic-23 -s visio.microlinux.fr -e info@microlinux.fr
Cette commande mérite quelques explications.
- L’option
-w
installe le pare-feuufw
(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 bionic-23
précise la version d’Ubuntu (nom de code « Bionic Beaver » pour Ubuntu 18.04) ainsi que la version correspondante de BigBlueButton (2.3 pour la version de production au moment où j’écris ces lignes). - 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.
À partir de là, vous avez largement le temps de boire un café. Le script mouline pendant une bonne vingtaine de minutes 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
Les 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.
L’entrée de menu Paramètres du site > Apparence > Logo me permet de personnaliser le logo de la plateforme.
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.
À 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.
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, je partage une documentation technique avec un collègue de travail.
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).
- Le navigateur Chrome est un gros bousin propriétaire, mais sa base open source Chromium fait très bien l’affaire, étant donné que c’est le même moteur de rendu sous le capot.
- Si vous utilisez un double moniteur comme moi, Chromium vous permet de partager au choix un seul 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.
Maintenance
Pour mettre à jour « à la louche » le système aussi bien que les composants logiciels de BigBlueButton, il suffit de relancer le script d’installation de temps à autre.
$ sudo ./bbb-install.sh -w -g -v bionic-23 -s visio.microlinux.fr -e info@microlinux.fr
Le certificat SSL devra être renouvelé manuellement comme ceci.
$ sudo certbot certonly --webroot -w /var/www/bigbluebutton-default/ -d visio.microlinux.fr
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.
2 commentaires
Richard B · 10 décembre 2021 à 20 h 29 min
wesh, ca marche comment sur rhel ? (8 ou 9, mon enteprise y passe quand ca sort la)?
kikinovak · 10 décembre 2021 à 21 h 07 min
C’est expliqué en détail dans l’article.
Les commentaires sont fermés.