News for apps packaging: automated testing, procedure to make an application official, new quality level for apps and standard for app packaging

en

#1

Hi everyone,

YunoHost is now counting 20 official apps and 70 working community apps!
We just finished a few changes to ease your contribution:

  • Setup of a continuous integration server
  • New quality level package definition
  • A new procedure to make an application as official
  • YEP (YunoHost Enhancement Proposals) were improved to make packaging easier

We hope this work will bring you a second wind for your YunoHost apps!
Despite the english acronym, YEPs are only available in French and we would like to translate it! Please let us know if you want to help. Write here or get in touch with Jean-Baptiste!

Continuous integration for all applications

Verifying for the quality of packages means you need to test each application. However, tests can be long and redundant. To smooth out this tedious step, a unit-testing tool has been made available for each package-builder to help test quickly and simply their applications.

In order to have a global application testing follow-up, a continuous integration server ensures that tests are carried out on a regular basis and following each modification for all official and community applications. Every Friday evening, the server generates a detailed report of results, which is then published on the forum.
This will help everyone, package-builders and users, to be informed of the state of an application before installing it.

Quality levels of application packages

The first continuous integration reports have revealed a great deal of heterogeneity on the progress of packages and how well packaging rules are followed. Nonetheless, until now nothing would have helped differentiate between a just-about working package and a package that was perfectly integrated with YunoHost.
To give acclaim to the quality of workmanship of package-builders, we have set up a ranking by level, which helps to assess the progress status of an application.
This represents many advantages. On one hand, the level of an application informs users of the exact status of an application before they choose to install it, with no need to check the source code of a package.
On the other hand, this helps to move forward by successive steps in the packaging of an application, by satisfying clearly defined steps.
Finally, applications levels help value package-builders’ quality of workmanship.

New procedure for official applications

Thanks to the continuous integration server, which helps to verify application packages and application levels by way of an evaluation grid, it is once again possible to validate official applications. Every application that scores a level 6 will now be considered for entry to the list of official applications.
Each request will be carefully considered by the Apps team in view of validating the integration of the package.

YEPs to facilitate packaging

All these measures aim to ease application packaging and to encourage doing so.
Documentation of packages has improved and requires further contributions to make it clearer still.
YEPs (YunoHost Enhancement Proposals) have been redacted to mark out the packaging and to make it more accessible as a result. As they integrate YEPs, application levels allow for applications to progress by stages and to be published quickly, while leaving room for improvement.
In addition, to avoid building packages all alone and to overcome difficulties, the xmpp Apps chatroom is there to promote discussions between package-builders and for mutual assist. The forum is also available for questions and for information on new packaging practices.

To all package-builders who have already practiced amongst us, and to all those who haven’t participated yet and those who would like to give it a go, now’s the time to join in or to reengage with application packaging.
Many applications are no longer maintained and only await a devoted package-builder to join the list of functionnal applications.
Many others are requested by users.
And more importantly, to support Framasoft in their initiative to Ungoogle the Internet, let’s package applications which are made available by Framasoft.


Bonjour Ă  tous

YunoHost compte aujourd’hui 20 applications officielles pour 70 applications communautaires fonctionnelles !
Plusieurs actions ont été menées pour vous aider à participer :

  • Mise en place d’un serveur d’intĂ©gration continue
  • DĂ©finition d’un niveau de qualitĂ© des packages
  • CrĂ©ation d’une procĂ©dure pour ajouter une application officielle
  • Enrichissement des YEP (YunoHost Enhancement Proposals) pour faciliter le packaging

Nous espérons que ces travaux apporteront un nouveau souffle pour les applications YunoHost !
Malgré l’acronyme anglais, les YEP ne sont aujourd’hui disponibles qu’en français, nous souhaiterions les traduire, n’hésitez pas à vous signaler ici ou auprès de Jean-Baptiste pour démarrer ce travail !

Intégration continue pour l’ensemble des applications.

Vérifier la qualité des paquets implique de tester chaque application, mais les tests peuvent être très longs et redondants. Pour pallier cette étape fastidieuse, un outils de test unitaire est mis à disposition de chaque packageur pour tester rapidement et simplement ses applications.

Afin d’avoir un suivi global des tests des applications, un serveur d’intégration continue se charge d’effectuer des tests réguliers et à chaque modification sur toutes les applications officielles et communautaires fonctionnelles. Chaque vendredi soir, le serveur génère un rapport détaillé des résultats qui est ensuite publié sur le forum.
Cela permet à chacun, packageurs et utilisateurs de connaître l’état d’une application avant de l’installer.

Niveaux de qualité des packages d’applications

Les premiers rapports d’intégration continue ont toutefois révélés une forte disparité sur l’avancement des packages et le suivi des règles de packaging. Pour autant, jusqu’à maintenant rien ne différenciait un package tout juste fonctionnel d’un package parfaitement intégré à YunoHost.
Pour mettre en avant la qualité du travail des packageurs, nous avons mis en place un classement par niveau permettant de connaître l’état d’avancement d’une application.
Cela présente plusieurs avantages, d’une part le niveau d’une application permet aux utilisateurs de connaître l’état précis d’une application avant de l’installer, sans avoir à regarder le code source du paquet.
D’autre part cela permet d’avancer par paliers successifs dans le packaging d’une application en remplissant des étapes clairement définies.
Enfin, le niveau des applications permet de mettre en avant la qualité du travail des packageurs.

Nouvelle procédure pour les applications officielles

Avec le serveur d’intégration continue permettant de vérifier l’intégrité des paquets d’applications et les niveaux d’applications donnant une grille d’évaluation, il est à nouveau possible de valider des applications officielles. Toute application atteignant le niveau 6 peut à présent prétendre à rejoindre la liste des applications officielles.
Chaque demande sera consciencieusement étudiée par le groupe Apps en vue de valider l’intégration du package.

Des YEP pour faciliter le packaging

Toutes ces mesures visent à faciliter le packaging d’application et ainsi à le favoriser.
La documentation sur le packaging a été améliorée et demande encore davantage de contribution pour être encore plus claire.

Les YEP (YunoHost Enhancement Proposals) ont été rédigées pour jalonner le packaging et le rendre ainsi plus accessible. Les niveaux d’applications, intégrant les YEP permettent aux applications d’avancer par étapes et d’être publiées rapidement tout en pouvant encore être améliorées.

De plus, pour ne plus être seul face à ses packages et surmonter les difficultés, le salon xmpp Apps est là pour échanger entre packageurs et s’entraider. Le forum est aussi disponible pour poser des questions ou s’informer sur les nouvelles pratiques de packaging.

À tous les packageurs qui ont déjà officié parmi nous, ainsi qu’à tout ceux qui ne l’ont pas encore fait, et ceux qui voudrait s’y essayer, c’est le moment de se lancer ou de se relancer dans le packaging d’application.
De nombreuses applications ne sont plus maintenues et n’attendent qu’un packageur dévoué pour rejoindre la liste des applications fonctionnelles.
Beaucoup d’autres sont demandées par les utilisateurs.
Et surtout, pour soutenir Framasoft dans son initiative Dégooglisons internet, packageons les applications proposée par Framasoft.


Sortie de YunoHost 2.5 - Chelsea Manning / YunoHost 2.5 release - Chelsea Manning
Point sur le projet et améliorations possibles
pinned globally #2

#4

Bien vu :wink:
Corrigé


#5

Heu;

Je cherchais s’il y avait un topique pour le top niveau

et je suis tombé ici

je me demandais quel sont les critères pour les niveaux 8, 9 et 10 ?

et qui cogite la dessus ?

par exemple il serait intéressant qu’un critère soit
utilise php socket au lieu d’ouvrir un nouveau port
soit plus sécure et moins gourmand côté réseau (Stack TCP).

bon en attendant un aiguillage je continu ma liste d’épicerie :stuck_out_tongue_winking_eye:

au plaisir d’y participer


#6

Les niveaux sont définis ici : https://yunohost.org/#/packaging_apps_levels


#7

oui j’ai bien compris, d’ailleurs je l’avais mis en lien :wink:

mais à ce que je constate c’est que les niveaux 1 à 4 sont bien définir et travaillé