Intégrer Mattermost comme appli officielle à Yunohost
Allez, puisqu'il faut lancer les choses, ceci est la première demande de contribution open-source financée par le pot à cookie :)
NB : je me lance – mais on voudra sans doute réfléchir à nouveau au fonctionnement du pot à cookies : j'entrevois des raisons pour lesquelles c'est difficile de demander. Peut-être faire du pot à cookie rétrospectif, ou systématique. Tristram a déjà commencer à lancer des pistes dans #29 (comment 49852274))
Objectif
Intégrer le package Mattermost à la liste des applis officielles de Yunohost.
Détails
Yunohost est un service permettant d'administrer facilement un serveur dédié. Il fournit des mails, un chat, et une interface graphique pour ajouter ou supprimer en un clic des applications web hébergées en ligne (OwnCloud, client Bittorrent, Mastodon, Gitlab, etc.). C'est fait essentiellement par des français, depuis quelques années, et le projet commence à avoir une certaine assise. Je l'utilise depuis deux ans, avec grande satisfaction.
Mattermost est un service de chat auto-hébergé. Il est disponible en open-core (open-source, fonctionnalités de base gratuites, fonctions supplémentaires payantes).
mattermost_ynh est un paquet permettant d'ajouter facilement une installer de Mattermost à un serveur Yunohost.
J'ai commencé à travailler sur mattermost_ynh
il y a plus d'un an. Il y a deux mois, j'ai passé pas mal de temps à refactorer les scripts pour avoir quelque chose de vraiment robuste (et qui puisse être sauvegardé). Au passage j'ai dû développer une suite de tests à faire tourner en local pour pouvoir vérifier que les scripts fonctionnent toujours correctement après des changements. (C'est plus compliqué que ça en a l'air, faut des LXC-dans-des-VM et tout…)
Yunohost propose deux types d'applications :
- les applis officielle, qui sont garanties fonctionner ;
- les applis de la communauté, qui ne sont pas forcément parfaites dans tous les coins.
Pour faire partie de la liste officielle, il faut avoir un code correct, qui a passé la revue, et qui passe tous les tests automatisés de package_check (une suite de tests qui vérifie les cas les plus chelous).
Faire partie de la liste officielle permet d'avoir une bien meilleure visibilité, et de proposer une certaine garantie de fonctionnement aux utilisateurs.
Pourquoi c'est pertinent ?
- C'est un commun, un projet qui a vocation à être utilisés par d'autres ;
- Ça encourage la décentralisation du web : ça permet aux aux gens comme moi qui ne veulent pas s'embêter avec l'administration d'un serveur de proposer un service décentralisé à leurs copine·ain·s.
- C'est une amélioration incrémentale d'un projet existant (moins risqué que de partir de zéro) ;
Étapes concrètes et chiffrage
- Obtenir une note de 10/10 sur les tests automatiques de package_check : 2 jours
- Créer une page de documentation pour l'appli (anglais et français) : 1/2 journée
- Demander l'inclusion à la liste officielle, et pousser le processus : 1 jour
Total : 3 jours 1/2
Prochaines étapes
- @CodeursEnLiberte Est-ce que ça vous semble pertinent ?
- Si oui, comment est-ce qu'on s'organise ? :)