
Qu’est-ce que Yunohost ?
Yunohost c’est une distribution pour s’auto-héberger (site internet, espace de stockage, boite mail, etc...).
Dans l’idée de décentraliser le web pour gérer facilement ses outils numériques sans trop de connaissance technique.
Oui mais encore ?
On a tous appris à utiliser un PC et un smartphone et l’ambition de Yuno serait que ce soit aussi facile de s’auto-héberger.
En quoi la Mise à jour de Yunohost est-elle un événement ?

Yunohost regroupe un grand nombre d’applications, elle propose un choix de 500 applications qu’il faut maintenir opérationnelles.
Comme beaucoup de Logiciels Libres, Yuno est en fait un regroupement de bénévoles contributeurs (dont moi) qui investissent beaucoup de leur temps pour maintenir Yuno et ses applications.
Yuno offre également des noms de domaine, quand on installe un Yuno on peut créer un domaine de test en .ynh.fr ou .nohost.me . Ces noms de domaine sont aussi maintenus par l’équipe des bénévoles de Yunohost.
Basée sur une distribution Debian avec une mise à jour tous les 3 ans, Yuno nécessite de suivre ces évolutions, sauf que cela implique également celles des applications et que tout se mette en place avec le moins de « dégâts » possible.
Aujourd’hui, la version stable utilisée par tous est Debian 12, aussi appelée « Bookworm ».
Cette mise à jour est arrivée en octobre 2024, or mettre à jour Yunohost demande du temps parce que c’est réalisé par la team des bénévoles contributeurs et qu’il faut que ce soit bien fait.

Concrètement, comment cela se passe-t-il ?
De nombreux tests se mettent en branle sur plusieurs machines, pour vérifier que Yuno et les appli supportent la version Debian 12.
Beaucoup de choses peuvent changer entre les deux versions de Debian et cela pose des contraintes techniques :
- des « bibliothèques » qui ne sont pas les mêmes,
- des « paquets » qui vont changer de nom,
- des « dépendances » qui seront modifiées.
Au final il faut tester, vérifier que tout fonctionne et corriger ce qui ne fonctionne pas.
Il peut aussi y avoir des applications qu’on ne peut plus maintenir sur Yuno parce que, soit elles sont trop obsolètes, soit trop avancées.

Et toi ? Ton rôle dans tout ça ?
Concrètement, en tant que bénévole il faut lancer des tests, certains sont automatisés.
A la sortie d’une nouvelle version, un code nous averti, une 1ère batterie de tests se lance et automatiquement les nouveautés sur le dépôt Github sont recherchées .
Github ayant été racheté par Microsoft, il commence à être décrié dans le milieu des Logiciels Libres. Depuis on utilise aussi Gitlab ou Jenkins pour faire la batterie de test (CI : intégration continue).
La documentation montre comment contribuer, ce qui permet à chacun des contributeurs bénévoles de progresser de manière autonome, il peut aussi s’appuyer sur la communauté des contributeurs via le Forum.
Les apps de Yuno doivent répondre à des critères tels que :
- on peut installer l’application avec un lien public ou privé ( si possible, on peut installer plusieurs instances de cette même application.)
- On peut changer l’URL du domaine (ou/et son sous-chemin quand c’est possible)
- la MAJ à partir d’une ancienne version
- partie SSO : se connecter avec l’utilisateur qui est dans l’annuaire LDAP de Yunohost
- On peut créer une sauvegarde
- On peut restaurer une sauvegarde
Une page du catalogue des applications, on y voit toutes les applications, ainsi que la liste de souhaits pour de nouvelles applications. Ensuite un vote est organisé pour désigner les souhaits qui seront développés. Pour cela il faut posséder un compte sur le forum de Yunohost, c'est aussi une vue sur les applis à maintenir en priorité. Il existe aussi une page de démo, elle offre la possibilité de découvrir l’interface utilisateur et administrateur.

Et dans le détail, en quoi consiste une contribution aux Logiciels Libres ?
On peut se représenter la contribution aux Logiciels Libres sous la forme d’un arbre :
- Il y a le tronc, c’est la version stable utilisée par tous.
- Quand un contributeur veut tester une amélioration, il va le faire sur une branche isolée, ainsi, les modifications de test qu’il apporte n’endommagent pas le tronc commun.
- Il va faire une « Pull request » sur laquelle il va proposer un changement de code,
- Cela va créer un « fork » (ou fourche) sur l’instance locale du développeur et n’impactera donc pas le tronc.
- Quand il est satisfait par sa proposition, une batterie de tests est réalisée sur son code avant qu’il n’y ait « fusion » avec le tronc commun. Ainsi les contributions diverses et variées ne peuvent pas mettre en péril le logiciel mère.
Pour que tout cela fonctionne parfaitement, il faut bien respecter le protocole et apprendre comment fonctionne le packaging pour que se soit propre et aligné avec le reste.
La documentation de Yunohost est bien fournie pour accompagner ceux qui voudraient contribuer.
Beaucoup de commandes sont développées par le Dev de Yuno, il y a une batterie de « helpers » (moulinette) : des commandes qui sont lancées pour simplifier. Cependant il faut apprendre comment elles fonctionnent, se sont de petits scripts qui sont particuliers à Yunohost.
La facilité à installer une appli avec Yuno fait sa force parce qu’il n’est pas nécessaire d’être ingénieur pour le faire. On peut maintenir l’instance sans écrire une seule ligne de commande (normalement). Le « config panel » permet de trouver des configurations pour ajouter des choses dans la web admin.

Qu’est-ce qui te plaît dans Yunohost ?
Le forum est une communauté vivante avec beaucoup de conversations mines d’informations, c’est une vraie boîte de Pandore.
Il y a également la « Wishlist » où on peut suggérer une application qui n’est pas au catalogue et c’est d’ailleurs comme ça que naissent les applications !
La charte et le code de conduite de cette communauté aussi me correspond et je me sens proche de leurs valeurs éthiques et de leurs objectifs.

Quelles sont les nouveautés auxquelles il faut s’attendre avec la nouvelle version ?
- la gestion du portail pour les administrateurs système :
- on peut avoir plusieurs noms de domaines sur des portails différents, cela revient à séparer les domaines principaux
- les utilisateurs peuvent uniquement accéder au portail sur lequel ils ont au moins une application
- la présentation en tuiles disparaît, elle est remplacée par les logos des applications et leur description.
- une barre "moteur de recherche" web va permettre de chercher directement depuis le portail Yuno
- il sera désormais techniquement possible de créer un portail utilisateur totalement indépendant du portail admin
- l’utilisateur est invité a accepter les conditions de services de Yuno
- pour les utilisateurs, le logo Yuno qui permettait de revenir au portail d'accueil va disparaître
- page de démo de Yunohost
Mais au fond, pourquoi un tel engouement pour la solution Yunohost ?
Mais c’est parce qu’elle permet d’imaginer des projets tels que Clic box ! (article Yuno et ce qui tourne autour)
La Clic box est un projet qui a été lancé avec la Fédération Fournisseur D’accès Internet (FDN), au départ fut créée la « brique internet », c’est un nano ordi (raspberry ou odroid) décentralisé (de la taille d’une brique) sur lequel on peut installer un serveur mail, nextcloud : https://labriqueinter.net/
Avec la Clic box on peut se connecter au serveur, sans être connecté à internet : c’est à dire que le serveur interne fonctionne en vase clos, c’est hermétique aux cyber-attaques.
Et qu’est ce que cela t’apporte de contribuer à Yunohost ?
J'ai découvert Yuno au tout début, grâce au fait de m’être auto-hébergé en 2013 (j'ai toujours le même serveur). J’ai beaucoup appris sur l’hébergement grâce à cette distribution, j’ai surtout progressé grâce à la communauté au début en demandant de l’aide sur le Forum ou le tchat. Maintenant c’est moi qui aide aussi de temps en temps et j’essaie de maintenir un certain nombre d’applications du catalogue.