Afin de faciliter le packaging d'applications par des étapes successives à atteindre, chaque package est affublé d'un niveau de qualité, de 0 à 10.
Un package doit satisfaire un certain nombre de critères pour atteindre chaque niveau. De plus pour atteindre un niveau, le package doit avoir préalablement atteint le niveau précédent.
Ce classement des applications par niveaux présente 3 avantages :
Niveau 0
L'application ne fonctionne pas.
Niveau 1
L'application s'installe et se désinstalle correctement dans certains cas.
Niveau 2
L'application s'installe et se désinstalle correctement dans toutes les configurations communes.
Niveau 3
L'application peut être mise à jour.
Niveau 4
L'application peut-être sauvegardée et restaurée.
Niveau 5
Le code du package d'application respecte certaines règles de syntaxe.
Niveau 6
Le package d'application est dans l'organisation YunoHost-Apps.
Niveau 7
Le package d'application passe avec succès l'ensemble des tests d'intégrité.
Niveau 8
Le package d'application respecte toute les recommendations de packaging d'apps. C'est une app de très bonne qualité.
Niveau 9
Le package d'application respecte des recommandations de packaging supérieures. Non disponible pour le moment.
Niveau 10
Le package d'application est jugé parfait !
L'application ne s'installe pas ou ne fonctionne pas après installation.
C'est le niveau le plus bas, une application de niveau 0 est considérée comme non fonctionnelle.
YEP à respecter pour atteindre le niveau 0 :
L'application s'installe et se désinstalle correctement.
Mais des exceptions sont possibles, si au moins une méthode d'installation est fonctionnelle ainsi que sa suppression alors l'application est considérée comme fonctionnelle.
YEP à respecter pour atteindre le niveau 1 :
L'application s'installe et se désinstalle dans toutes les configurations communes.
Si une application ne permet pas certaines configurations d'installation, celles-ci doivent être indiquées clairement dans le readme du package. Toutefois, le niveau 2 ne peut pas être atteint si une configuration d'installation est volontairement écartée sans raison valable.
Cela n'empêche pas de restreindre volontairement les installations publiques, privées ou multi-instance si l'application le justifie.
YEP à respecter pour atteindre le niveau 2 :
L'application supporte l'upgrade depuis une ancienne version du package.
L'application doit pouvoir être mise à jour depuis une version précédente du package sans provoquer d'erreur.
YEP à respecter pour atteindre le niveau 3 :
L'application peut-être sauvegardée et restaurée sans erreur sur la même machine ou une autre.
YEP à respecter pour atteindre le niveau 4 :
L'application ne présente aucune erreur dans Package linter.
Il peut y avoir des faux positifs dans Package linter. Ces situations seront gérées au cas par cas.
YEP à respecter pour atteindre le niveau 5 :
Le package d'application est dans l'organisation YunoHost-Apps.
YEP à respecter pour atteindre le niveau 6 :
L'application ne présente aucune erreur dans Package check.
En considérant le maximum de tests possibles pour l'application.
YEP à respecter pour atteindre le niveau 7 :
Le package d'application respecte toute les recommandations de packaging d'apps. C'est une app de très bonne qualité.
YEP à respecter pour atteindre le niveau 8 :
Si une application n'est pas disponible sur une architecture, et qu'il est impossible de contourner cette limitation raisonnablement, cette limitation doit être indiquée dans le readme et prise en compte dans le script d'installation. L'installation de l'application sur une architecture non supportée doit être stoppée avant de modifier les fichiers.
L'application respecte toutes les YEP optionnelles.
YEP à respecter pour atteindre le niveau 9 :
L'application est jugée parfaite !
Ce niveau ultime pour une application ne peux être atteint que suite à étude approfondie du package et par la validation du groupe Apps.
Vous avez découvert des erreurs ? Vous pensez pouvoir améliorer cette documentation ? Cliquez sur Éditer en haut de la page, puis sur l'icone crayon sur Github pour proposer vos changements.
Powered by Grav + with by Trilby Media.