Chocoblog

Chocoblog

Billets sur l'informatique, les logiciels libres et retours d'utilisation sont au programme avec la possibilité de publier des billets de copains.

PeerTube - Partie 4 : les outils communautaires

Pour rappel, PeerTube est une application web, s'installe sur un serveur et tourne via NodeJS. Voir le sommaire pour plus d'informations.

Afin de gérer la communication avec la communauté, il faut choisir un certains nombre d'outils : tchat ? forum ? documentation externe ? Avec PeerTube, nous avons fait les choix suivants.

GitHub pour le gestionnaire de tickets

Il faut garder une trace des bugs remontés et des discussions d'améliorations. Avec PeerTube on utilise les issues GitHub, mais d'autres outils peuvent faire l'affaire. Un article a déjà été consacré sur la gestion des tickets dans PeerTube, donc je ne vais pas plus m'étaler.

Un forum pour des échanges accessibles

Le gestionnaire de tickets est assez peu utilisé par les utilisateurs classiques de PeerTube (visionneurs/vidéastes) car beaucoup ne connaissent pas GitHub, ne comprennent pas son utilité ou n'ont pas envie de se créer un compte sur la plateforme.

En revanche, un forum parle au plus grand nombre. C'est pourquoi nous avons créé une section dans le forum de Framasoft : https://framacolibri.org/c/peertube (il s'agit d'un Discourse). Les sujets sont divers et variés : il peuvent concerner l'utilisation du logiciel ou son administration. Il nous arrive aussi d'expliquer certains choix ou d'aider sur des problèmes spécifiques. Si le sujet est une proposition d'une nouvelle fonctionnalité ou une remontée de bug, nous redirigeons la personne sur GitHub. À l'opposé, si on juge qu'une demande sur GitHub relève plus du support ou de la question, on redirige sur le forum. Ça nous permet de contenir le nombre d'issues ouvertes sur GitHub qui sont vraiment des demandes précises ou des discussions techniques sur une évolution de PeerTube.

Sans forum, il est vraiment difficile de maintenir une communication avec les utilisateurs d'un logiciel grand public. Et même avec, on a au final assez peu de retours. Il peut alors être intéressant de faire quelques fois un tour sur les médias sociaux pour savoir ce qui se dit sur l'application. En prenant du recul hein, parce que ça peut être saignant ;).

Tchat pour les échanges rapides

Nous utilisons IRC (#peertube sur irc.libera.chat) pour des raisons historiques. Nous avons ensuite branché un bridge Matrix, permettant d'agrandir le nombre de personnes susceptibles de rejoindre le salon.

J'ai toujours aimé IRC, parce qu'il ne notifie pas et qu'il n'y a pas de mécanisme qui nous incite à regarder tout ce qu'il s'y passe. Si on est là c'est tant mieux, sinon tant pis. Ça diminue fortement notre charge mentale. Par contre, il faut avouer que les salons IRC des logiciels sont souvent peu animés. Ce qui n'est pas un mal en soit : ce sont vraiment pour des échanges relativement brefs qui n'ont pas d'intérêts à être gardés en mémoire. Sinon, il vaut mieux passer par le forum ou le gestionnaire de tickets afin de garder une trace.

Site de documentation

Au tout début, on utilisait des fichiers markdown dans le git de PeerTube pour documenter certaines parties du logiciel (installation, gestion etc). Le README servait en quelque sorte de sommaire. Cette façon de faire est simple, et plutôt efficace (documentation dans le dépôt du code donc on pense à la mettre à jour) mais montre rapidement ses limites lorsque le projet grossit.

En effet, au bout d'un moment il faut documenter certaines parties très précises du logiciel, donner des explications aux utilisateurs, faire l'inventaire des outils en CLI disponibles etc. Un site externe de documentation avec un sommaire et qui soit indexable par Google nous a paru être le meilleur choix pour organiser tout ça.

Nous avons au départ décidé d'utiliser docsify qui utilise le JavaScript du navigateur pour interpréter dynamiquement le markdown de chaque page. Ça nous a permis de laisser certaines pages de notre documentation historique (notamment la procédure d'installation de PeerTube) dans le dépôt git, et de demander à docsify d'aller chercher sur GitHub le markdown à afficher. Par contre les pages étaient plus difficilement indexables par les moteurs de recherche, et les miniatures des liens ne fonctionnaient pas sur les réseaux sociaux.

Nous avons donc fait le choix de migrer le site de documentation vers vitepress qui permet de générer facilement un site de documentation optimisé à partir de markdown : https://docs.joinpeertube.org/. De cette manière nous avons une bien meilleure indexation et les liens partagés ont une preview card sur les réseaux sociaux avec le bon titre et la bonne description. En outre le site est beaucoup plus rapide à charger pour l'utilisateur. La documentation encore présente dans le dépôt git de PeerTube sous forme de fichier markdown est automatiquement récupérée chaque nuit, puis le site recompilé.

Il me semble que nous avons fait une erreur au début du projet de choisir Docsify, car l'un des points majeur d'un site de documentation est d'être correctement indexée et découvrable par les moteurs de recherche. La plupart du temps, on pose d'abord la question à Google ("uploader une vidéo sur peertube", "peertube stats vidéos" etc) pour trouver rapidement la réponse sans forcément aller directement sur le site de documentation pour trouver l'information à partir de son menu ou de sa barre de recherche.

Un site officiel

Le site officiel de PeerTube se trouve sur https://joinpeertube.org/. Il permet d'expliquer le but du projet et de rediriger les utilisateurs vers l'outil dont ils ont besoin (documentation, tchat, forum, FAQ etc).

L'autre intérêt principal du site officiel est de créer une sorte de "marque". De façon à ce que si quelqu'un tape le mot "PeerTube" dans son moteur de recherche, il puisse facilement trouver ce site. Sans ça, on pourrait se retrouver avec des utilisateurs tombant sur le projet GitHub peu adapté aux utilisateurs non techniques, ou carrément sur une instance PeerTube non gérée par Framasoft embrouillant les utilisateurs qui ne comprennent pas tout le temps les aspects décentralisation/fédération du logiciel.

Voyons de manière plus détaillée les modules que nous avons ajouté à notre site officiel, mais qui peuvent très bien se situer sur des sites externes.

La FAQ

On se rend vite compte qu'on répond souvent aux mêmes questions, sur des plateformes différentes (Twitter, GitHub, Mastodon, sur le forum etc). La FAQ est un bon moyen pour prendre le temps de créer une réponse argumentée et correctement mise en forme pour un certain type de question.

Par exemple avec PeerTube, nous avons une position très claire sur la rémunération, et la FAQ nous permet de l'éclaircir : https://joinpeertube.org/faq#what-is-peertube-s-policy-about-content-monetization

Outre le gain de temps lorsque nous mettons juste le lien vers la FAQ pour répondre aux questions les plus courantes, ça donne aussi la possibilité à d'autres personnes de la communauté de s'échanger cette même réponse, qui reste donc fidèle à notre pensée. Et surtout les moteurs de recherche peuvent indexer cette page pour fournir directement la réponse aux utilisateurs lorsqu'ils demandent à Google s'il faut un gros serveur pour faire tourner PeerTube.

Le blog

Le blog nous permet d'écrire des billets d'actualité à chaque release afin d'expliquer de manière simple ce qu'elle apporte. On l'utilise aussi pour faire quelques annonces, comme par exemple ce qu'on prévoit de faire pour l'année en cours. Le blog est un outil de communication important qui rappelle aux gens qui peuvent suivre le projet de loin qu'il continue d'évoluer. Les liens des billets de blog peuvent ensuite être partagés sur les réseaux sociaux ce qui crée une petite émulsion et participe à faire connaitre le projet au plus grand nombre.

Et pour que ces actualités puissent toucher le maximum de personnes, elles sont aussi diffusées via une newsletter et disponibles dans un flux RSS.

Un outil de vote de fonctionnalités

Une des difficultés à développer un logiciel libre utilisé par des sysadmins qui auront leur propre utilisateurs, c'est qu'on a du mal à avoir un lien avec ces fameux utilisateurs finaux. C'est pourquoi nous avons beaucoup de demandes techniques sur le GitHub, qui ne nous paraissent pas forcément refléter les volontés des vidéastes et visionneurs de PeerTube.

Il nous a donc fallu trouver un moyen d'échanger avec ces end users de manière simple et efficace afin de connaître leurs attentes. C'est pourquoi nous avons lancé un site où n'importe qui peut proposer et voter pour des fonctionnalités qu'il ou elle juge pertinente : https://ideas.joinpeertube.org/.

L'interface est beaucoup plus simple que GitHub ou un forum, et le site ne demande simplement qu'une adresse email pour proposer ou voter pour une fonctionnalité. Pas besoin de créer un compte via un formulaire complexe ce qui rend la tâche beaucoup plus aisée et inclusive.

C'est donc en consultant les tickets les plus plébiscités sur ideas.joinpeertube.org, en plus des issues GitHub, que nous créons les feuilles de route de PeerTube.