Salut à tous ! J’utilise Yunohost depuis un long moment et j’ai enfin le temps de contribuer au projet. Je me suis fait la main en faisant quelques packages basique et j’ai maintenant une compréhension beaucoup plus profonde de l’infrastructure Yunohost. Voilà donc mes remarques pour le développement futur du projet.
Les apps
La découverte d’app n’est plus adaptée au nombre disponible. Il faut un nouveau moyen de découvrir / installer des apps, j’ai vraiment l’impression que c’est ce qui retient Yunohost. Justement je suis allé voir « en face » et j’aime beaucoup l’app market de sandstorm.io (d’ailleurs je n’ai vu qu’après avoir réfléchi à tout ça que c’est à peu près à l’ordre du jour, yes !). J’imagine bien une page générée avec les listes json grâce à Colio : chaque app sera affichée avec une image, on pourra filtrer les apps à l’aide de tags (mail, cms, social… Cela rejoint l’idée de catégories et sera beaucoup plus facile à mettre en place) une petite description puis lorsqu’on clique dessus, une page avec liens vers site officiel, source github et demo. Un peu comme le fait le site, basé sur awesome-selfhosted, on pourra s’en inspirer pour les tags. Puis la page contiendrait une description plus complète, ainsi que des instructions spécifique à Yunohost (pro tips, configurations…).
Mise en place
Une reconstruction massive de la gestion des apps sera nécessaire, mais plus tôt fait mieux ce sera. Comme je l’ai dis, je pense que c’est actuellement ce qui retarde le projet. Est-ce qu’on implémenterait ça dans le panel admin ? Sur un « market » du style apps.yunohost.org ? Perso je dirai plus le dernier, on aura plus de liberté sur le site (wordpress avec le plugin Colio et hop c’est parti). Après reste à gérer la génération / synchronisation avec la liste des apps, ainsi que la redirection sur la page d’install classique. Est-ce que la liste d’app sous forme json sera toujours adaptée ? Il faudra rajouter les tags, les images… On pourra par exemple tenir le repo yunohost/app_images contenant juste wordpress.png etc.
Pour chaque nouvelle app, une «carte » colio sera générée, ainsi qu’une page qui sera remplit par un placeholder, avec les liens description etc qu’il faudra remplir manuellement. Honnêtement un script python pour faciliter la saisie de données devrait être jouable.
Packaging
Comment gérer les dépendances non installées ? Ne rien faire enlève complètement le but du projet qui est le one-click install, car si l’user doit ssh et installer les dépendances en fouillant des logs… Forcer l’install est dangereux, on peut tout casser sur la machine de quelqu’un / installer des packets non désirés… Et enfin donner son avis est impossible tel que l’installation est gérée via le panel. L’ajout des requirements est un bon début, mais je propose que certains packets soient intégrés dans les prochaines versions de Yunohost. Le problème de nodejs/npm/bower/grunt revient très souvent lors du packaging, et j’abandonne direct si je vois qu’une app a besoin d’un d’eux car je ne sais pas comment gérer le truc…
Je ne suis pas sûr de l’état/but de backup/restore. Pour ma part je dirais que ce qu’il faut backup c’est les données créées/modifiées après l’install, telle que des bases de données, certains fichiers… Pas l’app complète. Après encore une fois je ne suis pas sûr de l’état actuelle de ces fonctions.
SSO
Je pense de plus en plus à un léger redisign du SSO, je suis déjà en train de travailler sur une option pour changer le background mais je galère beaucoup trop. Pourquoi pas remplacer les premières lettres d’une app par son image ? Ok pour l’instant c’est pas du tout une priorité mais il pourrait y avoir une team s’occupant du design/UI.
Communauté/PR
J’ai l’impression que Yunohost reste assez méconnus dans le milieu du self host… Je ne dis pas qu’une refonte du site est requise mais je pense qu’il faudrait upgrade certains points. Pour ma part j’ai l’impression que la description / compréhension du projet reste assez difficile pour un nouveau, il faut un peu fouiller et les principales features qui font Yunohost (gestion des users, des domaines, ldap based sso…) ne sont pas assez mises en avant. Pourquoi pas s’inspirer des projets similaires.
Voilà les amélioration qui je pense sont nécessaires et bénéfiques au projet. Je suis bien sûr nouveau sur le développement du projet mais je ne voyais pas trop ces points discutés. Je veux vraiment participer au projet même si je suis assez limité niveau programmation (hml, css, php, slq et python, pas assez de connaissance pour bosser sur des trucs genre moulinette), je vais peut-être commencer à regarder pour faire un mock up du market, si Wordpress marche sur la 2.4