Installez votre solution de visioconférence 100% open source : Jitsi + Olimex + Armbian

Vous êtes en télétravail et recherchez une solution de visioconférence 100% open-source (hardware et software) pour héberger pour vos mini-projets pro ou vos apéros en cette période de confinement?

Dans ce tutoriel, je vous propose d’installer Jitsi, une solution de messagerie instantanée, voix sur IP et visionconférence, disponible en open-source. Le tout configuré sur l’un des rares nano-ordinateurs en open-source hardware, l’A64 OlinuXino d’Olimex.

Entendons-nous, ce projet n’a pas vocation à héberger un call en visio avec les 50 collaborateurs de votre société, mais plutôt à monter un projet fun, 100% open source software et hardware, avec des communications sécurisées et chiffrées de bout-en-bout. De quoi héberger vos prochains apéros virtuels?

Mais c’est quoi cette carte A64-OlinuXino ?

L’OlinuXino est un ordinateur à carte unique, aussi appelé single-board computer ou SBC. Ce n’est pas la plus performante du marché (vs. RockPro64 ou encore Raspberry Pi4), mais elle est l’une des seules dont la partie matérielle (plans CAO, pilotes…) est disponible et avec des caractéristiques techniques acceptables pour ce test.

Pour ce projet, j’ai utilisé:

  • Une carte OlinuXino, avec Processeur Allwinner A64 – 1.2 GHz Quatre-Core ARM Cortex-A53 64-bit
  • Mémoire interne: 1GB RAM DDR3L @ 672Mhz (Possible 2GB)
  • Carte réseau intégrée ethernet 1Gbps
  • Branchée en ethernet à une freebox révolution
  • Une carte micro sd 32Gb, vitesse 10
  • Connexion ADSL (maillon faible…)
  • Un chargeur 5V – 1,2A
  • Clavier et souris filaires compatibles linux
Installation du logiciel visioconference Jisti Meet sur Olimex
La solution de visioconférence 100% open source Jitsi installée sur notre carte A64-OlinuXino avec Ubunto Bionic

Votre nouvel OS, Armbian

Commençons par télécharger l’image que nous installerons via notre mac/pc sur notre carte micro-SD. Pour la carte Olimex A64 OlinuXino, voici le lien vers l’image. Choisissez la version Ubunto Bionic. Le lien de l’image est également disponible sur la page produit du site Olimex.

A noter: Il existe bien d’autres sites mettant à disposition des images pour les cartes ARM comme l’excellent site Armbian. Dans mon cas, les différentes images proposées ne reconnaissaient pas mon clavier USB (problème de comptabilité de pilotes visiblement).

Une fois l’image téléchargée, flashez la carte avec BalenaEtcher directement depuis votre mac ou votre pc. Dézippez le dossier et allez chercher l’image disque en .img dans le dossier. Il vous faudra décompresser le dossier car l’extension du fichier image en .7z n’est pas reconnue par BalenaEtcher.

Mettez ensuite votre carte SD dans votre A64-OlinuXino et démarrez votre nano-ordinateur 100% open-source!

Préparer Armbian à la visio

Pendant le démarrage vous sera demandé votre identifiant et votre mot de passe. Attention, le clavier par défaut est en configuration US, donc pensez à taper les 4 chiffres 1234 sans appuyer sur shift. il vous sera demandé ensuite de changer votre mot de passe lors de la première connexion. Les infos de connexion par défaut sont:

A64login : root
A64password : 1234 

Procédez ensuite à la création d’un utilisateur. Nul besoin de remplir tous les champs. Indiquez simplement votre prénom ou pseudo.

Passons maintenant le clavier en configuration FR. Pour cela, nous allons utiliser l’interface graphique d’Armbian. Cliquez sur Applications > Settings > Keyboard > désélectionnez  « use system defaults » et ajoutez un clavier FR dans keyboard layout.

Vérifions les dernières mises à jour:

# Besoin pour ma part de supprimer -get et ajouter -y nécessaire pour pouvoir accepter les changements et mettre à jour le répertoire

sudo apt update -y
sudo apt-get upgrade -y

Jitsi, notre logiciel de visioconférence open source, fait appel aux dépendances du package Universe d’Ubuntu. Ouvrez le terminal via Application et Terminal Emulator, puis tapez:

sudo apt-add-repository universe

Installation de notre solution Visioconférence 100% open source Jisti Meet

Installons maintenant le référentiel jitsi en version stable

sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

Passons à l’installation de Jitsi Meet:

# S'assurer de la disponibilité des gestionnaires de paquets par https
apt-get install apt-transport-https

# Recherche des dernières versions
# J'ai supprimé le -get qui générait une erreur et empechait le téléchargement de jitsi meet
sudo apt update

# Installation de jitsi-meet 
apt-get -y install jitsi-meet

Jitsi vous demande pendant l’installation le nom de votre hostname. Indiquez l’adresse IP de votre carte Olimex (pour la connaitre > commande ifconfig dans le terminal ou via l’interface admin de votre routeur internet).

Ou alors, et c’est une solution préférable selon moi si vous disposez d’un nom de domaine, indiquez plutôt votre Full Qualified Domain Name (FQDN), à savoir :

meet.domain.com

Pour ce faire, rendez-vous dans la page d’administration de votre nom de domaine chez votre registrar et créez votre meet.domain.com en type A et en le redirigeant vers votre IP publique.

Sélectionnez ensuite Generate a new self-signed certificate dans le menu. Nous pourrons installer un certificat let’s Encrypt juste après .

Via votre navigateur internet, allez sur https://votreip ou votre FQDN. Vous obtiendrez un message de la part de votre navigateur du type « Votre connexion n’est pas privée » (c’est normal, car nous n’avons pas encore de certificat valide).

Rajoutons maintenant notre certificat Let’s Encrypt, nécessaire pour pouvoir utiliser jitsi sur un navigateur internet et au travers de l’application mobile.

# Ouvrez provisoirement le port 80 de votre routeur internet en cas d'erreur pendant l'installation. Vous pourrez le refermer une fois le certificat installé.
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Redirigez les ports 443 (TCP), 4443 (TCP) et 10000 (UDP) sur votre box internet / routeur.

Pour tester votre serveur, rajoutez /http-bind à la fin de votre hostname, comme ceci:

https://meet.domain.com/http-bind

Vous devriez obtenir le message suivant:

It works! Now point your BOSH client to this URL to connect to Prosody.

For more information see Prosody: Setting up BOSH.

Éditons maintenant le fichier sip-communicator.properties comme indiqué dans le quick start officiel. Ceci afin de parer à d’éventuels problèmes d’accès externes à Jisti-videobridge lorsque vous êtes plus de 2 personnes connectés. Voici comme faire:

#obtenir les permissions pour éditer le fichier sip-communicator.properties
sudo chmod 777 /etc/jitsi/videobridge/sip-communicator.properties

#Ouvrez le fichier sip-communicator.properties en suivant arborescence ci-dessus
#remplacer la fin des URL ci dessous par votre IP locale et votre IP publique:
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

Mettre l’adresse mac de votre Olimex en statique

Certains micro-controllers contiennent des composants matériels de types EMAC et GMAC qui ont la particularité d’allouer une nouvelle adresse mac à chaque redémarrage. C’est le cas de notre carte Olimex. Cela peut en effet poser quelques soucis car à chaque redémarrage de votre carte, il vous faudra mettre à jour l’adresse mac utilisée pour rediriger les ports via votre routeur internet.

Pour palier à ce problème, voici comme définir une adresse mac statique:

#Changer les permissions pour éditer le fichier interfaces
sudo chmod 777 /etc/network/interfaces

Ouvrez le fichier /etc/network/interfaces et ajoutez y les lignes suivantes, en remplaçant les xx:xx:xx:xx:xx par l’adresse mac souhaitée. Le plus simple étant de reprendre votre adresse mac actuellement attribuée.

auto eth0
iface eth0 inet dhcp
hwaddress ether xx:xx:xx:xx:xx:xx

Pour connaitre votre adresse mac actuelle, tapez dans le terminal

#Connaitre son adresse mac
ifconfig -a

#Repérez là, sous la forme etho / ether ab:cd:ef:gh:ig
Retrouvez l'adresse mac de votre carte OlinuXino via l'interface d'administration de votre routeur. Ici la freebox revolution.
Retrouvez l’adresse mac de votre carte OlinuXino via l’interface d’administration de votre routeur. Ici la freebox revolution.

Si vous avez une freebox, je vous recommande de suivre ce tuto très bien fait pour assigner une IP statique en DHCP sur votre freebox révolution.

Et voilà, nous en avons fini avec la configuration de notre serveur.

Installer l’application Jitsi pour iOS ou Android

Jitsi, côté client, a la particularité de fonctionner aussi bien via les applications mobiles que via un simple navigateur internet, le tout sans avoir à installer d’add-on. Enfin, en théorie.

Après plusieurs tentatives, la solution de visioconférence semble fonctionner plutôt très bien (vidéo, messagerie, audio OK) en utilisant l’application iPhone disponible sur iOS et malgré une simple connexion ADSL. Testée avec 3 participants en externe. N’ayant pas de téléphone sous Android, je n’ai pas pu tester. Par contre, gros point noir, il m’a été impossible de faire fonctionner la visio au travers d’un navigateur internet quel qu’il soit, sur Mac (Chrome, Safari, Firefox) ou Windows (Edge, Firefox). Seul le chat marchait. Les caméras et / ou micros n’étaient généralement pas reconnus. Cela était également le cas via le serveur officiel Jitsi donc visiblement pas (uniquement) un problème sur notre configuration?

Pour vos tests, je vous propose donc d’installer l’application mobile sur iPhone (ou Android?). C’est fluide, la vidéo fonctionne et la synchro est bonne. N’oubliez pas de changer l’URL du serveur dans les paramètres de l’application.

Pensez à modifier l'URL du serveur dans les paramètres de l'application Jitsi sur iOS / Android.
Pensez à modifier l’URL du serveur dans les paramètres de l’application Jitsi sur iOS / Android.

Et voilà ! Nous bénéficions maintenant d’une solution mobile de visioconférence 100% open source fonctionnelle, sécurisée et chiffrée de bout-en-bout, combinant Jitsi + Olimex + Armbian!

En conclusion, cela donne quoi Jitsi comme solution de visioconférence 100% open source?

Limité (chez moi) à une application de visio sur mobile uniquement, Jitsi semble tout de même très prometteur. Nul doute que le boost des applications de visioconférences en période de confinement donne de la visibilité à Jitsi et permette à sa communauté de développeurs de grandir.

Il reste maintenant à tester sur des machines un peu plus puissantes (Raspberry pi4?) ,voir beaucoup plus puissantes et disposant d’une vraie configuration matérielle de type NAS ou serveur dédié, le tout connecté à la fibre.

Et vous, avez-vous pu tester et faire fonctionner Jitsi sur votre SBC ? Et pour les possesseurs de RASPI, vous pouvez toujours installer la dernière version de NextCloud sur Raspberry Pi4 qui dispose maintenant d’une application Visio !

Laissez un commentaire

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

dix-neuf + cinq =