{{tag>installation_logiciel gestionnaire_de_paquets}}
====== PackageKit ======
[[wpfr>PackageKit]] est une surcouche utilisée par des [[:gestionnaire_de_paquets|gestionnaires de logiciels]] tels que [[:gnome-software|GNOME Logiciels]], [[:plasma-discover|Plasma Discover]], [[:gnome-packagekit|GNOME Paquets]], [[:Apper]], ou en ligne de commande par [[#pkcon]] (on parle de //[[#front-ends]]//).
PackageKit permet de récupérer des informations concernant des [[:paquet|paquets]] disponibles depuis différents [[:gestionnaire_de_paquets|gestionnaires de paquets]] comme [[:APT]] sur Ubuntu (on parle de //[[#back-ends]]//).
Cette surcouche permet aux différents logiciels //front-ends// de fonctionner sur différentes [[:distributions]] Linux, quel que soit le système de paquets que celle-ci utilise. C'est donc un outil particulièrement utile pour les développeurs, mais il peut être utile de comprendre son fonctionnement, même pour un utilisateur final.
===== Front-ends =====
En informatique le //[[wpfr>Frontal_(serveur)|front-end]]// est l'interface que manipule l'utilisateur. Pour PackageKit il s'agit donc de [[:gestionnaire_de_paquets|gestionnaires de paquets]], utilisables graphiquement ou en ligne de commande.
On peut installer différents //front-ends// de PackageKit sur Ubuntu ([[wp>PackageKit#Front-ends|voir ici]]). Certains sont installés par défaut, dépendamment de la [[:variantes|variante]] qu'on utilise.
==== pkcon ====
**pkcon** est un utilitaire qui permet d'utiliser PackageKit en ligne de commande. Il se rapproche donc de [[:apt-cli|apt]] ou [[:apt-get]], qui gèrent eux directement les dépôts [[:APT]].
En lançant la commande ''pkcon'' sans argument vous obtiendrez la liste des sous-commande disponibles. Entre autres :
search [name|details|group|file] [data]
install [packages]
download [directory] [packages]
remove [package]
update
depends-on [package]
required-by [package]
get-details [package]
get-files [package]
repo-list
repo-enable [repo_id]
repo-disable [repo_id]
what-provides [search]
La sous-commande suit la commande ''pkcon'' et peut être suivie par un paramètre (entre crochet dans la documentation), ce qui donne par ex. :
pkcon search explorateur
En se basant sur PackageKit plutôt que sur [[:APT]] (Debian / Ubuntu) ou sur une autre solution liée à une distribution particulière (RPM - Red Hat, Pacman - Arch, etc.), pkcon propose une solution de gestion des paquets en ligne de commande //agnostique//, fonctionnelle sur la plupart des [[:distributions]] GNU/Linux.
==== GNOME Paquets ====
[[:gnome-packagekit|GNOME Paquets]] est un //front-end// graphique officiel pour GNOME. De la même manière il se rapproche de [[:Synaptic]], qui lui gère directement les dépôts [[:APT]].
==== GNOME Logiciels ====
[[:gnome-software|GNOME Logiciels]] est un //front-end// graphique installé par défaut sur Ubuntu. En plus de PackageKit, il peut gérer d'autres systèmes tels que [[:snap]] ou [[:flatpak]] au moyen d'extensions.
Concernant PackageKit, GNOME Logiciels [[#filtres|filtre par défaut certains paquets]] afin de ne montrer que des applications supportées (plutôt que des librairies par ex.), ce qui est a priori plus pratique et intéressant pour l'utilisateur final.
Ceci explique les différences notables de résultat de recherche, selon qu'on passe par la logithèque ou simplement par [[:APT]] (via [[:apt-cli|apt]], [[:Synaptic]] ou [[:Muon]] par ex.).
==== Plasma Discover ====
[[:plasma-discover|Plasma Discover]] est installé par défaut sur [[:Kubuntu]]. Il propose un fonctionnement similaire à GNOME Logiciels.
==== Apper ====
[[:Apper]] est l'équivalent de [[:gnome-packagekit|GNOME Paquets]] pour [[:Kubuntu]]. En accédant à l'intégralité des dépôts [[:APT]] il se rapproche donc de [[:Muon]], qui lui les gère directement.
===== Back-ends =====
Pour un logiciel le //[[wpfr>Backend|back-end]]// est la partie "immergée de l'iceberg" (le traitement des données par ex.). En ce qui concerne PackageKit, les //back-ends// sont les implémentations des divers systèmes de [[:paquet|paquets]] / [[:dépôts]].
Bien que PackageKit puisse utiliser différents //back-ends// ([[wp>PackageKit#Back-ends|voir ici]]), sur Ubuntu seul [[:APT]] est utilisé. Les autres //back-ends// sont utiles sur d'autres [[:distributions]] Linux. Cela permet en particulier de simplifier le travail de développement sur des logiciels de [[:gestionnaire_de_paquets|gestion de paquets]] (les //[[#front-ends]]//), en les rendant très facilement fonctionnels d'une distribution à l'autre.
===== Filtres =====
Il est possible de rechercher et de filtrer les logiciels. Certains //front-ends// le font par défaut.\\
C'est pourquoi une recherche ne retournera pas les même résultats selon qu'on utilise les logithèques d'un côté ou de l'autre [[:gnome-packagekit|GNOME Paquets]] ou [[#pkcon]] qui montre par défaut l'intégralité des disponibilités d'[[:APT]].
Il est par ex. possible de filtrer les retours d'une recherche avec [[#pkcon]] :
pkcon --filter application search nautilus
Pour montrer seulement les //applications// contenant le terme ''nautilus'' dans leur nom ou leur description.
===== Voir aussi =====
* [[:APT]]
* [[:gnome-packagekit|GNOME Paquets]]
----
//Contributeurs : [[:utilisateurs/krodelabestiole]]