Passer au contenu principal

Blog de Guillaume Seznec

Etherpad Lite Avec Jitsi Meet

Etherpad-lite est un éditeur de texte collaboratif. Jitsi Meet est un système de video-conférence. Voyons comment les faire communiquer.

On part du principe que Jitsi Meet est déjà installé et configuré sur notre propre instance, sous Debian 10, avec systemd, et que node.js est aussi installé. @TODO écrire un article sur l’installation de Jitsi Meet.

Installation de Etherpad lite

En root, on télécharge localement le code source de etherpad-lite

cd /opt
git clone --branch master git://github.com/ether/etherpad-lite.git

on créé un fichier de service à /etc/systemd/system/etherpad-lite.service avec le contenu :

[Unit]
Description=Etherpad-lite
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/nodejs /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always

[Install]
WantedBy=multi-user.target

on recharge les modifs

systemctl daemon-reload

on lance le service, il va tourner par défaut sur le port tcp/9001 (pas besoin d’ouvrir le firewall, il communiquera localement avec nginx en reverse proxy)

systemctl start etherpad-lite

on vérifie qu’il n’y a pas d’erreur

systemctl status etherpad-lite

si on veut le lancer à chaque démarrage on exécute :

systemctl enable etherpad-lite

Paramétrage de NGinx

Passons maintenant à la configuration de Jitsi Meet

dans le virtual host nginx correspondant à Jitsi Meet (ex: /etc/nginx/site-available/meet.adhocmusic.com.conf), ajouter le bloc suivant :

    # Etherpad-lite
    location ^~ /etherpad/ {
        proxy_pass http://localhost:9001/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_buffering off;
        proxy_set_header Host $host;
    }

Puis pour l’application cliente, ajoutez la ligne suivante dans le fichier /usr/share/jitsi-meet/interface_config.js

      etherpad_base: 'https://chat.exemple.net/etherpad/p/',

et vérifiez dans ce même fichier la présence de l'élément etherpad dans le tableau TOOLBAR_BUTTONS.

ça mange pas de pain, vérifiez que la conf nginx modifiée n’a pas généré d’erreur

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Si c’est ok, rechargez la conf de nginx

systemctl reload nginx

Utilisation

C’est prêt, vous devriez avoir un nouveau bouton dans les options en bas à droite de Jitsi Meet intitulé ouvrir/fermer le document partagé. Au clic, une fenêtre d'éditeur de texte s’ouvre en plein écran chez vous et les autres participants. Vous pouvez écrire ensemble. Les noms d’utilisateurs correspondent aux participants du salon. Vous pouvez partager le document à l’extérieur de Jitsi Meet, via un lien de ce type : https://meet.domain.example/etherpad/p/xxxxxxx