Philip Withnall
philip@tecnocode.co.uk
Will Thompson
wjt@endlessos.org
Milan Crha
mcrha@redhat.com
Utilisation des métadonnées par Logiciels
Vincent Chatelain
vincent_chatelain@proton.me 2024, 2025

# Métadonnées logicielles

# Captures d’écran

Logiciels affiche les captures d’écran sur la page détaillée d’une application. Celle-ci devrait généralement contenir des captures d’écran des différentes fenêtres de l’application, pour que l’utilisateur puisse avoir un aperçu rapide des fonctionnalités de l’application, du rendu visuel, etc.

Lorsque plusieurs captures d’écran sont présentes dans le fichier de métadonnées de l’application, Logiciels les affichera dans un carrousel.

Dans les cas où le fichier de métadonnées de l’application ne contient aucune capture d’écran, une icône de remplacement sera affichée à la place avec `Aucune capture d’écran` :

L’icône de remplacement pourrait avoir une apparence différente si vous utilisez un thème d’icônes personnalisé.

Les captures d’écran pourraient devenir obsolètes au gré des changements de l’interface de l’application. Donc, même si Logiciels affiche des captures d’écrans pour une application, il est important de vérifier si ces captures d’écran sont à jour ou obsolètes.

Vous pouvez améliorer les informations de capture d’écran de l’application :

Ajouter des captures d’écran d’application manquantes

# Zone contextuelle d’application

La zone contextuelle d’application dans Logiciels est une collection de tuiles sur la page de détails d’une application, qui contient les informations suivantes.

Stockage

Sécurité

Prise en charge du matériel

Évaluation par âge

Voici la barre contextuelle d’application pour Logiciels :

Les tuiles sont affichées dans l’ordre ci-dessus (en commençant par la tuile `Stockage` sur la gauche).

Chaque tuile est présentée en détails ci-dessous.

# Stockage

Logiciels affiche une tuile concernant le stockage sur la page détaillée d’une application. Si l’application n’est pas installée, cette tuile affiche la taille du téléchargement estimée pour l’installer. Si l’application est installée, elle affiche l’espace mémoire utilisé par celle-ci.

Les tailles sont calculées à partir de données fournies par le moteur de Logiciels (tel que flatpak ou rpm), et ne sont pas spécifiées dans les métadonnées de l’application. Modifier le fichier de métadonnées de l’application n’a aucune influence sur cette tuile. Il est mentionné ici par souci d’exhaustivité.

# Sécurité

Logiciels affiche une tuile concernant la sécurité sur la page de détails d’une application. Cette tuile résume les informations indiquant si l’application peut être considérée comme sûre à installer et exécuter, ou s’il faut prendre des précautions avant de lui faire confiance.

Cette tuile combine des informations sur les autorisations requises par l’application pendant son exécution (par exemple l’autorisation de lecture de vos fichiers), avec des informations sur la façon dont l’application a été développée. Les applications libres peuvent être plus sûres que les applications propriétaires, car elles peuvent être vérifiées lorsque leur code source est publiquement accessible.

La fenêtre apparaissant lorsque vous cliquez sur la tuile liste les différentes autorisations requises par l’application, ainsi que certaines informations sur sa licence et son moteur d’exécution.

Vous pouvez améliorer les informations de sécurité :

Corriger des informations incorrectes de sécurité et d’autorisations

# Prise en charge matérielle

Logiciels affiche une tuile concernant la prise en charge matérielle sur la page de détails d’une application. Cette tuile combine les informations sur les exigences matérielles requises par l’application et les capacités matérielles de l’ordinateur, afin de mettre en valeur des incompatibilités ou des configurations matérielles manquantes — ou indiquer que l’application devrait fonctionner correctement et sans incompatibilité.

Le code demande le matériel suivant. D’autres matériels pourraient être pris en charge dans le futur.

Indique si un pavé tactile, une souris ou un clavier est présent ou requis

Indique si une manette de jeu est requise

La taille minimale et recommandée pour la mise à l’échelle de l’application

Il est impossible de déterminer avec certitude si une manette de jeu est présente, puisqu’elle est souvent déconnectée car non utile pendant l’utilisation normale de l’ordinateur.

La fenêtre apparaissant lorsque vous cliquez sur la tuile liste les différentes configurations matérielles requises par l’application, et indique si l’une d’entre elles n’est pas satisfaite.

Vous pouvez améliorer les informations matérielles :

Ajouter des informations manquantes sur le matériel

# Limite d’âge

Logiciels affiche une tuile concernant l’évaluation par âge sur la page de détails d’une application. Cette tuile montre la tranche d’âge pour laquelle l’application est adaptée, à partir des différents types de contenus que l’application a déclaré contenir. Cette information est résumée dans un format similaire à celui utilisé pour la classification des films et des jeux dans votre pays.

Par exemple, cette tuile indiquera si un jeu contient de la violence, ou si une application contient de la publicité intégrée.

La fenêtre apparaissant lorsque vous cliquez sur la tuile liste les différents types de contenu de l’application et leur degré de gravité.

Vous pouvez améliorer les informations de limite d’âge :

Ajouter des informations manquantes sur l’évaluation par âge

# Licence

Logiciels affiche une tuile indiquant si une application est un logiciel libre ou si elle utilise une licence propriétaire spéciale ou inconnue. Cette tuile intègre des informations plus détaillées sur la licence du projet. Elle liste également certains des atouts d’un logiciel libre. En apprendre davantage.

Parfois, les informations de licence sont incorrectes, et une application peut être affichée comme « propriétaire » alors qu’il s’agit en réalité d’un logiciel libre. De la même façon, les informations de licence sont parfois inconnues.

Logiciels met en valeur les licences libres et open-source en vert, les licences propriétaires et spéciales étant en jaune comme montré ici. Les licences inconnues sont indiquées en gris.

Vous pouvez ajouter ou améliorer les informations de licence :

Corriger des informations de licence incorrectes

# Liens

Logiciels affiche une liste de liens vers des ressources de l’application dans la tuile de liens, dont :

| Lien du site internet
| Lien de don
| Lien de contribution à la traduction
| Lien de signalement des bogues
| Lien d’aide
| Lien de contact

Tout ou partie de ces liens peuvent être présents, en fonction de leur présence dans le fichier de métadonnées de l’application.

Dans les cas où le fichier de métadonnées de l’application ne contient aucun lien, la tuile ci-contre avec un point d’interrogation sera affichée.

Vous pouvez améliorer les liens :

Ajouter des liens manquants

# Tuile de carrousel

Les applications mises en avant par Logiciels sont affichées dans un carrousel en haut de la fenêtre principale, comme indiqué ici. La couleur d’arrière-plan de chaque tuile est extraite automatiquement à partir de l’icône de l’application. Parfois, cet arrière-plan ne correspond pas tout à fait à l’application et doit être spécifié explicitement par les développeurs de l’application.

La mise en avant des applications est décidée par les responsables de la distribution Linux.

Vous pouvez améliorer la tuile de carrousel :

Modifier modifier la couleur d’arrière-plan de la tuile de carrousel

# Origine des métadonnées

Les métadonnées viennent toutes du fichier de métadonnées du logiciel concerné, que ce soit pour décrire les équipements matériels requis, pour l’âge le plus adapté pour un utilisateur, ou pour connaître les facteurs permettant de déterminer si l’application est sûre à installer.

Le fichier de métadonnées est un fichier XML. Son format est décrit dans la spécification AppStream.

Aller voir le fichier de métadonnées pour l’application Fichiers de GNOME.

appdata est le plus ancien terme de métadonnées.

# Conséquence d’un manque de métadonnées

Si une partie des métadonnées manquent pour une application, Logiciels peut seulement essayer de les deviner, et ne peut donc pas afficher beaucoup d’information sur son interface. Les suppositions faites par Logiciels partent du principe que la plupart des logiciels sont conçus pour des ordinateurs de bureau.

Vous pouvez améliorer les métadonnées d’une application !

# Contribuer à des informations manquantes

Si vous pensez qu’une page d’application a des informations manquantes ou incorrectes, vous pouvez contribuer de deux façons :

Signaler les métadonnées manquantes ou incorrectes dans l’outil de suivi des bogues de l’application, pour que le développeur puisse corriger le problème.

Corriger les métadonnées manquantes ou incorrectes vous-même. Référez-vous au guide ci-dessous pour savoir comment procéder.

Pour chacune, vous devez d’abord trouver la page du projet de l’application. Le lien vers la page du projet devrait généralement être disponible sur la page de l’application comme montré ici. Si ce n’est pas le cas, vous devrez la trouver avec une recherche sur internet.

Les applications sont généralement hébergées sur GitLab ou GitHub. Par exemple, les applications GNOME sont hébergées sur gitlab.gnome.org.

# Ajouter des captures d’écran d’application manquantes

Les informations de capture d’écran d’une application sont stockées dans l’élément `<screenshots>` à l’intérieur de `<component>` dans le fichier de métadonnées de l’application.

Il est recommandé d’avoir entre 5 et 10 captures d’écran pour une application. Idéalement, les captures doivent être au format PNG avec un ratio 16:9 et une largeur minimale de 620 pixels.

Voici par exemple les captures d’écran pour l’application Logiciels :

<screenshots> <screenshot type="default"> <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-overview.png</image> <caption>Overview panel</caption> </screenshot> <screenshot> <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-details.png</image> <caption>Details panel</caption> </screenshot> </screenshots>

# Corriger des informations incorrectes de sécurité et d’autorisations

Les informations de sécurité et d’autorisation pour une application proviennent de différentes sources, en fonction du format de paquet l’application. Pour les formats de paquet traditionnels, par exemple RPM ou DEB, il n’y a aucune information de sécurité ou d’autorisation disponible, et rien ne peut être fait pour en ajouter à une application.

Pour les applications flatpak, les informations proviennent du manifeste flatpakde l’application, qui décrit les portails ouverts requis par l’application dans son environnement isolé. Chacun de ces portails contribue généralement à diminuer le niveau de sécurité affiché dans Logiciels — le faisant passer de « fiable » à « potentiellement non fiable » à « non fiable ».

Afin d’améliorer le niveau de sécurité d’une application, son mode bac à sable doit être aussi restreint que possible, en enlevant les autorisations bac à sable non nécessaires et en utilisant les portailsà la place des autorisations lorsque c’est possible. L’utilisation de portails ne diminuent pas le niveau de sécurité d’une application affiché dans Logiciels.

Par exemple, si une application demande un accès en lecture et écriture sur l’ensemble du système de fichiers (`--filesystem=host`), en a-t’elle vraiment besoin ? Un accès aux fichiers de certains emplacements ne serait-il pas suffisant ? Si oui, le portail fichier pourrait être utilisé, ou des autorisations du système de fichiers pourraient être spécifiés.

Si l’application fonctionne sous Wayland, et n’a besoin de travailler sous X11 qu’en solution de repli, sans utiliser de fonctionnalités X11 spécifiques, pourrait-elle utiliser `--socket=fallback-x11` plutôt que `--socket=x11` ?

Des conseils sur des autorisations spécifiques, ou des formats de paquet, pourraient être ajoutés ici dans le futur.

Pour poursuivre la lecture :

# Ajouter des informations manquantes sur le matériel

Les informations matérielles d’une application sont stockées dans les éléments `<requires>`, `<recommends>` et `<supports>` à l’intérieur de `<component>` dans le fichier de métadonnées de l’application.

Logiciels sait interpréter les élements `<control>` et `<display_length>`.

Lire cet article de blog (en anglais) ou celui-ci (en anglais) pour avoir des exemples de métadonnées.

# Ajouter des informations manquantes sur l’évaluation par âge

Les informations d’évaluation par âge pour une application sont stockées dans l’élément `<content_rating>` à l’intérieur de `<component>` dans le fichier de métadonnées de l’application.

Les applications doivent utiliser le standard OARS 1.1 pour remplir cet élément. Si l’élément `<content_rating>` n’est pas indiqué, l’évaluation par âge de l’application reste inconnue. Si l’élement est indiqué mais vide, cela signifie que l’application ne contient aucun contenu inapproprié.

Utiliser le générateur OARS pour produire une information d’évaluation par âge pour une application.

# Corriger des information de licence incorrectes

Les informations de licence d’une application sont stockées dans l’élément `<project_license>` à l’intérieur de `<component>` dans le fichier de métadonnées de l’application.

Le contenu pour cet élément doit être une expression SPDX décrivant la licence « principale » du projet. Celle-ci correspond typiquement à la licence du code source, et ne pas inclure la licence de la documentation ou de contenu annexe.

Si l’expression SPDX correspond à une seule licence, ou une combinaison « ou » de plusieurs licences, qui sont toutes approuvées par la FSF or l’OSI, alors l’application est considérée comme « logiciel libre » et la tuile de licence l’indique. Sinon, l’application est considérée « propriétaire ».

Si vous pensez qu’une application n’est pas « propriétaire » alors qu’elle est affichée comme telle, c’est probablement car l’élément `<project_license>` inclut la licence de documentation du projet. Veuillez l’enlever.

Par exemple, changez les métadonnées de licence de :

<project_license>GPL-2.0+ and CC-BY-SA-3.0</project_license>

en

<project_license>GPL-2.0+</project_license>

Pour poursuivre la lecture :

Éviter (la plupart du temps) d’indiquer la licence de documentation dans appdata (en anglais)

# Ajouter des liens manquants

Les liens d’une application sont stockés en tant qu’élement `<url>` à l’intérieur de `<component>` dans le fichier de métadonnées de l’application.

Ajoutez autant de types de lien pour l’application que ceux documentés dans la spécification appstream. S’il n’existe aucune page correspondant à un type de lien, il n’a pas besoin d’être inclus.

Par exemple, voci les liens de ressource pour l’application Logiciels :

<url type="bugtracker">https://gitlab.gnome.org/GNOME/gnome-software/-/issues</url> <url type="contact">https://discourse.gnome.org/tag/gnome-software</url> <url type="contribute">https://welcome.gnome.org/app/Software/</url> <url type="donation">https://www.gnome.org/donate/</url> <url type="homepage">https://apps.gnome.org/Software</url> <url type="translate">https://l10n.gnome.org/module/gnome-software/</url> <url type="vcs-browser">https://gitlab.gnome.org/GNOME/gnome-software/</url>

# Définir la couleur d’arrière-plan de la tuile du carrousel

La couleur d’arrière-plan de la tuile du carrousel est habituellement extraite automatiquement à partir de l’icône de l’application. Cependant, si cette couleur n’est pas satisfaisante, elle peut être remplacée en utilisant l’élément `<branding/>` d’appstream avec les couleurs prédéfinies (depuis la série 47.x). L’avantage est de permettre à davantage de clients d’utiliser les couleurs.

Par exemple, voici quelques entrées de « branding » :

<branding> <color type="primary" scheme_preference="light">#ff00ff</color> <color type="primary" scheme_preference="dark">#993d3d</color> </branding>

Notez que l’attribut `scheme_preference` est ignoré, Logiciels choisit elle-même la couleur la plus adaptée au thème.

Il est encore possible, pour des raisons de rétro-compatibilité, d’ajouter les XML suivants à l’élément `<component>` des métadonnées de l’application :

<custom> <value key="GnomeSoftware::key-colors">[(124, 53, 77), (99, 16, 0)]</value> </custom>

mais l’élément `<branding/>` a la priorité.

La valeur de `GnomeSoftware::key-colors` est une GVariant au format texte avec le type `a(yyy)`, et représente un ensemble non ordonné de couleurs pour l’application. Chaque élément de l’ensemble est une couleur au format RVB allant de `(0, 0, 0)` à `(255, 255, 255)`.

Les couleurs devraient être choisies pour :

Être identifiable en correspondant à la charte graphique de l’application, si possible.

Contraster avec les bords de l’icône d’application, afin de pouvoir distinguer l’icône si les couleurs sont utilisées en arrière-plan.

Contraster avec la couleur de premier plan du texte dans le theme Adwaita (`#2e3436`) et sa variant sombre (`#eeeeec`). Cela signifie généralement choisir une couleur avec un niveau moyen de luminosité.

Le contraste peut être vérifié avec l’application Contraste.

Au moins une couleur doit être définie. D’autres peuvent être définies si une seule couleur ne permet pas de répondre aux contraintes ci-dessus, et Logiciels choisira la couleur la plus appropriée pour la tuile de carrousel. Si une seule couleur est définie, sa luminosité et sa saturation peuvent être modifiées pour améliorer le contraste avec la couleur de premier plan. Si plusieurs couleurs sont définies, celle avec le meilleur contraste par rapport à la couleur de premier plan sera choisie, et sa luminosité et saturation ne seront pas modifiées.

# Tester les modifications de couleur d’arrière-plan pour la tuile de carrousel

Modifier le fichier de métadonnées pour votre application, puis exécuter Logiciels avec :

gnome-software --show-metainfo=/chemin/vers/appli.metainfo.xml,icon=/chemin/vers/appli/icon.png

La page détaillée de votre application sera affichée. Si vous revenez sur la page d’accueil de Logiciels, votre application sera la seule dans le carrousel de « mise en avant ».