Bonjour,
Je suis le développeur du plugin de chat pour Peertube : GitHub - JohnXLivingston/peertube-plugin-livechat
Je ne suis pas utilisateur de Yunohost personnellement, mais je souhaiterais faciliter l’usage de ce plugin pour les personnes étant sous Yunohost (je sais que pas mal d’instances Peertube tournent sous yunohost, j’ai déjà reçu plusieurs demandes, et je vois qu’il y en a au moins eu 2 sur ce forum). En effet, le plugin n’est malheureusement pas «out of the box», il y a des pré-requis.
Ce plugin a 3 modes de fonctionnements possibles:
- S’appuyer sur le serveur XMPP Prosody, qui doit donc être installé sur la machine.
- S’appuyer sur un serveur XMPP, qui permet de s’y connecter via un protocole web (BOSH et/ou Websocket)
- Afficher une iframe quelconque qui contient un outils de chat quelconque.
Le premier de ces 3 modes est le mode recommandé. En effet, il me permet d’utiliser des plugins Prosody spécifiques, pour communiquer entre Peertube et le serveur XMPP.
Parmis les features que cela permet :
- Authentifier automatiquement les utilisateur⋅rice⋅s Peertube connecté⋅e⋅s
- Promouvoir modérateur⋅rice du salon de webchat le⋅a propriétaire de la vidéo
- Idem pour les admins de l’instance
- Lister aux admins les webchats existants (pour détecter d’éventuel spam).
- etc…
Pour que ce mode puisse fonctionner, il faut donc le logiciel Prosody installé sur la machine. Note importante : le service Prosody n’a pas besoin d’être démarré. Pour éviter tout conflit avec d’éventuelles installations existantes (Prosody a certains paramètres qui ne peuvent qu’être globaux…), le plugin va lancer Prosody lui même, en écoutant sur des ports non standards (et configurables). Et Peertube va agir comme proxy pour les connexions via le protocole BOSH.
Une démo du plugin est disponible ici : Live chat test - YinY.org
Il y a aussi une ancienne vidéo, qui présentait du work in progress (qui est désormais intégré dans le plugin) : Présentation des évolutions à venir sur le plugin de chat Peertube - Vidéos Globenet
Venons-en maintenant aux différentes questions et problèmes que j’ai.
Je me permet de les poser ici, pour que vous puissiez m’aiguiller vers les bonnes pistes pour les résoudre.
- Comment installer Prosody
N’étant pas utilisteur de Yunohost, je ne sais pas quel serait la marche à suivre pour installer Prosody quand on veut activer le plugin. Est ce que ce serait quelque chose qui serait fait automatiquement à l’installation de Peertube - en prévision de l’installation du plugin, ou est ce que ce serait par exemple un paramètre à activer dans l’interface de yunohost ?
Je rappelle que le service Prosody n’a pas besoin d’être actif. Il faut juste que les commandes «prosody» et «prosodyctl» soient dans $PATH (et que ses quelques dépendances soient installées: LUA, …)
- Conflit avec Metronome
Je ne le savais pas quand j’ai choisi de m’appuyer sur Prosody, mais Yunohost utilise le serveur XMPP Metronome.
Metronome est un fork de Prosody (fork datant d’il y a plusieurs années, les 2 applis sont maintenant différentes).
Le problème, c’est que le package Debian de Metronome conflict avec Prosody. Ce qui empêche d’installer Prosody via apt.
Je pourrais faire en sorte que le plugin sache aussi gérer Metronome. Mais je ne suis pas très chaud. Ça voudrait dire que je dois maintenir 2 versions du code qui pilote le serveur XMPP, et 2 versions de chacun de mes modules qui assure la connexion Peertube <–> XMPP.
Voyez-vous une approche possible ?
Ne connaissans pas l’environnement Yunohost, je ne sais pas trop quelles seraient les pistes à privilégier…
- installer les dépendances (LUA, …), puis installer Prosody depuis les sources ? Mais on a alors là un problème de mise à jour
- contourner le conflict des packages debian (par ex: extraire le contenu du .deb dans un dossier, puis déplacer les fichiers au bon endroit ? Ou inclure le dossier dans $PATH ?)
- installer Prosody, mais du coup interdire d’activer Metronome ?
- …
Voilà. J’espère avoir été suffisamment clair dans mes explications. Et je vous remercie d’avance pour votre aide.