Connexion
Abonnez-vous

[Tuto] Gérer ses applications Windows avec WinGet ou UniGetUI

Sacrilège !

[Tuto] Gérer ses applications Windows avec WinGet ou UniGetUI

WinGet est un outil en ligne de commande permettant d’installer et mettre à jour bon nombre d’applications tierces. Des développeurs tiers en ont fait UniGetUI (anciennement WinGetUI). Nous vous proposons un petit tutoriel pour vous apprendre les bases d’un outil qui pourrait bien vous faire gagner beaucoup de temps.

Le 30 janvier à 17h16

Pendant la majeure partie de sa vie, Windows n’a pas eu de dépôt centralisé pour gérer ses applications tierces. Sur le système de Microsoft, on procède autrement : on télécharge un exécutable depuis un site web et on suit la procédure d’installation après avoir double-cliqué sur le fichier. Depuis l’arrivée du Store, une autre voie s’est ouverte. Pourtant, depuis 2020, Microsoft propose encore un autre outil : WinGet.

Cet outil en ligne de commande permet de chercher une application, de l’installer et d’effectuer diverses autres opérations, dont ses mises à jour et ses désinstallations. Sa syntaxe est aisée à retenir et permet d’enchainer les installations sans avoir à ouvrir à chaque fois le site correspondant.

Si l’outil était très discret initialement, avec peu d’applications, la situation a beaucoup évolué en bientôt cinq ans. Un grand nombre de logiciels sont présents et il devient simple de trouver ce que l’on veut en quelques lignes. L’outil est compatible avec Windows 10, 11 et Server 2025. Il est intégré dans Windows 11 et peut donc être utilisé dans le terminal sans manipulations particulières.

Si vous appréciez l’idée d’un dépôt centralisé, mais préférez les interfaces graphiques, UniGetUI pourrait être fait pour vous, d’autant qu’il supporte plus d'applications que WinGet. Nous y reviendrons.

Dans ce tutoriel, nous allons voir comment apprendre facilement les bases de ces deux outils. Nous verrons également, dans une dernière partie, les limitations d’un outil qui, s’il reprend l’idée d’un dépôt centralisé « à la Linux », n’en a pas les caractéristiques techniques.

WinGet : installer rapidement des applications

Si vous avez besoin d’une application, à moins qu’il s’agisse de gros logiciels de type Office ou la suite Adobe, il y a de bonnes chances qu’elle soit disponible sur le dépôt. Pour commencer à vous en servir, appuyez simplement sur la touche Windows, tapez les premières lettres de Terminal pour le faire apparaitre et validez avec Entrée.

Toutes les commandes de l’outil commencent par « winget » et continuent avec une fonction et d’éventuels paramètres. Si vous validez tel quel, l’outil affiche son aide avec la liste des commandes, accompagnées de descriptifs en français. Vous cherchez une application ? La fonction « search » est pour vous, transformant la ligne de commande en « winget search xyz », où « xyz » est le nom de l’application. Par exemple, avec l’outil de capture d’écran ShareX (que nous évoquions il y a peu) :

winget search sharex

Il y a deux résultats. Le premier concerne la version présente dans le Microsoft Store, le second est référencé dans le dépôt WinGet.  Les résultats sont affichés en plusieurs colonnes, permettant de connaitre le nom de l’application, celui du paquet, la version présente sur le dépôt et de quel dépôt il s’agit. Ce qui vous intéresse, c’est le nom du paquet.

Dans le cas où il y a plusieurs résultats, il faut repérer celui que l'on cherche dans la colonne « ID ». Ici, nous allons utiliser la version présente référencée par WinGet, nommée ShareX.ShareX. L'outil va aller puiser directement dans le dépôt de ShareX pour récupérer l'exécutable d'installation. La commande est donc :

winget install ShareX.ShareX

Il suffit de répéter l’opération pour chaque application que l’on souhaite.

Mise à jour généralisée

Évoquons tout de suite la commande upgrade, particulièrement intéressante. Car ce n’est pas tout d’installer à la chaine des applications : il faut idéalement pouvoir les entretenir, sans aller chercher dans chaque application la fonction de mise à jour. Bien sûr, beaucoup se mettent à jour toutes seules, notamment les navigateurs, qui n’ont pas besoin d’aide.

La commande « winget upgrade xyz », où « xyz » est le nom de l’application, permet ainsi de mettre à jour un logiciel spécifique. Ce qui nous intéresse cependant, c’est de mettre à jour toutes les applications reconnues par WinGet en une seule commande, que voilà :

winget upgrade --all

Ce n’est pas plus compliqué que ça. La commande déclenche une vérification des versions et leur comparaison avec le catalogue interne. Quand une version plus récente est détectée, elle est téléchargée et installée. Notez que si vous lancez la commande sans le paramètre « --all », la commande listera à la place les applications pouvant être mises à jour, ce qui a aussi une utilité. Précision importante, toute installation par WinGet provoque une vérification du hachage SHA256 associé au paquet.

Il faut cependant aborder la principale limitation de WinGet. Contrairement aux dépôts Linux disposant de paquets adaptés, WinGet est compatible avec les fichiers EXE, MSI et MSIX. Selon les choix des éditeurs, l’installation ne va pas être transparente. Dans de nombreux cas malheureusement, la récupération de ces fichiers va déclencher un assistant, comme si on installait l’application pour la première fois. Certaines installations seront donc silencieuses, mais pas toutes. Parfois, il faudra valider l'installation par une confirmation des droits administrateurs.

L’outil perd donc en rapidité, car il est peu probable que l’ensemble des applications puissent être mises à jour sans intervention de l’utilisateur une fois le processus lancé. La commande conserve toutefois le gros intérêt de s’écrire très rapidement et d’être compatible avec une grande majorité des logiciels.

D’autres opérations

La disponibilité des commandes install et upgrade rendent déjà WinGet pratique, d’autant que l’outil cherche plus loin que les seules applications présentes dans le Microsoft Store. Mais il peut servir à de nombreuses autres opérations.

Plusieurs commandes sont intéressantes à garder en mémoire. « show » permet par exemple d’afficher les détails d’un paquet pour s’assurer qu’il s’agit bien de celui recherché. Ainsi, une recherche sur VLC donne les résultats suivants :

A priori, le bon paquet est VideoLAN.vlc. La commande « winget show VideoLAN.vlc » renvoie les informations suivantes :

Il s’agit donc bien du paquet recherché. Le hachage SHA256 est même fourni, permettant un contrôle sur le site officiel. Selon les éditeurs, on trouve même les notes de version, comme c’est le cas ici.

Signalons également la commande « uninstall », qui permet la désinstallation d’un paquet. Logique, mais souvent moins utilisée, car on désinstalle moins souvent des applications que l’on en installe. Pour les suppressions d’applications, la page dédiée les Paramètres de Windows est sans doute plus efficace.

Autre commande utile pour faire le point : « winget list ». Elle affiche la totalité des paquets installés sur le système. Il peut s’agir d’une liste volumineuse, selon comment vous avez utilisé votre PC. À droite de la liste, on trouve la commande « Source », qui indique notamment les paquets pris en charge par WinGet. Dans les captures ci-dessous, dans la grande majorité des cas, les applications non présentes sur WinGet sont des composants intégrés de Windows ou des jeux installés depuis Steam et Battle.net.

Un mot enfin sur deux commandes liées : export et import. La première permet d’exporter la liste des paquets installés vers un fichier, la seconde de l’importer. Si l’on prévoit par exemple de réinstaller complètement sa machine ou d’avoir les mêmes applications sur plusieurs PC, cette liste peut servir à importer la configuration et lancer les installations correspondantes, avec le gain de temps que l’on imagine. Le fichier d’export se présente ainsi :

Comme on le voit, on peut le modifier pour supprimer les paquets qui ne nous intéressent pas. Dans notre cas, il a été obtenu avec la commande « winget export -o c:\winget\winget.txt ». Il faut en effet viser un fichier présent dans un dossier spécifique. Le fichier peut être créé par la commande et n’a pas besoin d’être préexistant.

Sur une page de son site, Microsoft fournit la liste complète des commandes et de leurs options.

UniGetUI : la même chose, mais avec une interface graphique

UniGetUI est une application tierce pouvant faire gagner beaucoup de temps. Libre (sous licence MIT), elle est compatible avec Windows 10 et 11.

Elle était auparavant connue sous le nom de WinGetUI, mais son développeur principal, Marti Climent (basé à Barcelone), l’a renommée pour une raison simple : en plus de prendre en charge WinGet, son application supporte d’autres gestionnaires de paquets, dont Scoop, Chocolatey, Pip, Npm, .NET Tool, PowerShell Gallery ou encore Cargo (Rust).

On trouve l’application sur son dépôt GitHub, sur le Microsoft Store et… sur WinGet. Elle dispose également d’une version portable (sans installation). Une fois récupérée, l’interface principale s’affiche :

On trouve quatre onglets sur la gauche (l’application dispose d’une traduction française) :

  • Découvrir des paquets : sert à chercher des applications spécifiques et obtenir des informations sur les paquets trouvés
  • Mises à jour des paquets
  • Paquets installés : liste complète des applications installées
  • Lots de paquets : création de listes (nous y revenons)

Puisqu’il s’agit notamment d’une interface graphique à WinGet, toutes les fonctions de ce dernier se retrouvent d’une manière ou d’une autre dans UniGetUI. Dans la capture, on peut voir par exemple que « Mises à jour logicielles » s’accompagne d’une pastille bleue « 4 ». Elle signale que quatre mises à jour ont été détectées, les mêmes renvoyées par la commande « winget upgrade » dans notre cas. « Paquets installés » renvoie à peu près la même liste que dans les Paramètres de Windows, à ceci près que l’on peut cocher les cases pour enclencher plusieurs désinstallations d’une traite.

Ajoutons qu'une fois installé, UniGetUI surveille les mises à jour disponibles en tâche de fond. Contrairement à WinGet qui est un outil statique, l'application affichera parfois une notification pour vous prévenir si des mises à jour sont disponibles.

Des listes personnalisées de paquets

La fonction « Lots de paquets » est particulièrement intéressante, car elle permet de concevoir une liste personnalisée de paquets. Depuis celle-ci, on pourra ensuite déclencher des installations multiples. Comme avec la commande « Export » de WinGet, on peut mettre le fichier de côté pour le réutiliser plus tard ou sur d’autres PC. Quel que soit l’onglet actif, on peut toujours faire un clic droit sur un paquet pour en obtenir les détails.

Si WinGet vous suffit, il n’est pas certain qu’UniGetUI vous soit utile, à moins d’être allergique à la ligne de commande. En revanche, sa compatibilité avec les autres gestionnaires de paquets peut en faire un outil puissant, notamment parce que l’application sait quel paquet a été installé par quel gestionnaire. La gestion des mises à jour est centralisée.

L’outil permettant la création de lots est également très utile, car l’interface se révèle pratique, notamment avec ses filtres et modes de recherche. Les développeurs pourraient également être intéressés par UniGetUI, par sa compatibilité avec des gestionnaires tels que Npm et Pip. En outre, pour chaque paquet présent dans UniGetUI, on peut déclencher l'installation ou la mise à jour avec les droits administrateurs. Ce qui permet de valider immédiatement la notification Windows et de passer à autre chose.

L’application va en outre devenir plus intéressante avec sa future version. En plus de régler certains bugs, la gestion des téléchargements recevra quelques simplifications. On pourra par exemple faire un clic droit sur un paquet pour en récupérer l’installeur. L’application deviendra également capable de télécharger de multiples paquets à la fois.

Commentaires (25)

votre avatar
Merci pour cette excellente synthèse
votre avatar
Toute ressemblance avec apt est fortuite :p

Non, mais sinon, c'est une vrai bonne évolution côté Microsoft, même s'il n'y a pas de repo à proprement parler.
votre avatar
Un must have tout simplement.
votre avatar
L'autre avantage d'unigetui est de pouvoir bloqué la mise à jour d'une application en particulier et de continuer le reste des mise à jour comme si de rien n'était (Par exemple j'utilise wazuh. L'agent ne doit pas être mis à jour avant le serveur. Avec d'unigetui je peux bloquer la mise à jour jusqu'à ce que le serveur le soit et continuer à cliquer sur tout mettre à jour pour que le reste le soit sans soucis) Et ça c'est un plus par rapport à winget. Il ne manque plus que l'intégration de Windows update et de l'ajout / supression des fonctionnalités Windows (le menu avec les case à cocher pour installer hyper ou wsl) pour avoir le centre de gestion de mise à jour et installation ultime !
votre avatar
Ça se fait aussi avec winget mais c'est le bordel. Je me rappelle l'avoir fait une fois pour une MAJ reloue.
votre avatar
C'est très pratique
Mais j'ai l'impression que certaines mises à jour des applications ont un peu de retard avec winget. Parfois un jour ou deux sur des navigateurs.
Et enfin, certaines montées de version semblent bloquées quand l'installateur change. Il m'a fallu desinstaller, puis réinstaller.
votre avatar
Adepte de winget depuis que c'est facilement utilisable, je viens de tester et c'est vraiment cool, bien plus facile à gérer que winget.
L'interface pourrait être améliorée sur pas mal de points je pense, mais c'est déjà très bon !

La gestion de pip est aussi sacrément pratique dans mon cas.
votre avatar
J'ai quelques problèmes sur certaines applications pour les mises à jour via Winget. À la place de faire un "winget upgrade --all", je préfère donc lancer automatiquement à l'ouverture de ma session un script qui lance ligne par ligne la recherche des applications que je souhaite mise à jour avec Winget, et uniquement celles-ci.

Au final c'est un peu l'inverse de la méthode via UniGetUI permettant de bloquer les applications qu'on ne souhaite pas mettre à jour avec Winget.

Au global Winget est une excellente initiative de MS.
votre avatar
A noter qu'il existe pour cela l'excellent Winget-AutoUpdate qui permet d'automatiser les mises à jour avec Winget, tout en étant très paramétrable (On peut notamment exclure les applications que l'on ne souhaite pas mettre à jour).
Je l'utilise depuis de nombreux mois.
github.com GitHub
votre avatar
Un grand merci pour cet article. J'ai enfin franchi le pas et désinstallé le vieux 'PatchMyPC' pour une solution bien plus actuelle.
votre avatar
Quand les Windowsiens découvrent les gestionnaires de paquets avec quoi... 20, 25 ans de retard :santa_flock: (pas retrouvé de date précise)
votre avatar
Comme quoi, ce n'est pas essentiel pour faire tourner plus d'un milliard de machines convenablement, même si avec leur 4% de PDM, les linuxiens pensent toujours que leur OS est supérieur en tous points.
(Troll du vendredi ! un Troll appelle à un troll :love: :D)
votre avatar
:copain:
votre avatar
Au moins 30 ans, même.
votre avatar
Merci pour cet article!
UniGetUI remplace avantageusement Chocolatey GUI, et gère les applis non installées par Winget!
:merci:
votre avatar
Merci, j'utilise beaucoup Powershell mais n'ai jamais pris le temps de creuser avec winget alors que le gestionnaire de paquet a l'air assez mature. Merci Linux.
votre avatar
Merci pour l'article, instructif ! Utilisateur de Winget depuis qq années, l'outil a clairement évolué !

Uniget UI est lui aussi très pratique, mais dans tous ces gestionnaires de paquets, je me pose une question : que se passe t'il si un paquet est vérolé ?

Par exemple, il y a qq années, CCleaner a été concerné et sa mise à jour automatique a été corrompue. Ici, avec un gestionnaire de paquet (winget ou autre), que se passe t'il ? Les paquets sont-ils scannés avant de les mettre à disposition ? Y a t'il une "vérification" d'authenticité ? Comment un nouveau paquet est il ajouté à un gestionnaire ?
votre avatar
winget télécharge chaque fichier d'installation complet depuis le site d'origine (exemple : https://download.documentfoundation.org/libreoffice/stable/24.8.4/win/x86_64/LibreOffice_24.8.4_Win_x86-64.msi depuis libreoffice.org pour l'applicatio TheDocumentFoundation.LibreOffice...), et il dispose du checksum qu'il valide avec le fichier d'installation téléchargé, avant de le lancer.

Le checksum arrive de winget, si le download est vérolé mais pas le checksum, winget le détecte. Par contre, si l'éditeur vérole aussi sa release winget (avec le checksum), winget n'y peut rien.

J'ignore comment "winget" valide les éditeurs et leurs releases winget, ni si les éditeurs s'engagent à publier les releases winget "rapidement' après la mise à disposition d'une nouvelle version.
votre avatar
Merci pour les explications !
votre avatar
La base de programme/mises à jour est communautaire sur Github.

N'importe qui peut proposer un programme (qu'il soit le sien ou non, je l'ai fait pour un programme du monde linux que j'installe sur les postes Windows que je gère).

Pour les programmes développés sur Github, je sais qu'on peut automatiser "l'envoi" sur le projet winget à chaque sortie de nouvelle version.

Certaines vérifications sont automatisées et l'ajout final est vérifié par un membre du projet.

Toutes les demandes d'ajout/modifications/mises à jour sont listées ici : github.com GitHub

J'imagine qu'ils vérifient le sérieux apparent des éditeurs et que les liens de téléchargement pointent bien sur le site de l'éditeur.
votre avatar
Merci pour l’article. Je vais tester tout ça.
votre avatar
Supers outils. Ceci dit, il est dommage que les paquets ne puissent pas tous être installés silencieusement. Si ce manque était comblé, ce serait vraiment parfait.
votre avatar
Pour moi c'est la différence avec Chocolatey où tout se fait silencieusement.
votre avatar
Avec winget ce paramètre dépend du bon vouloir de l'éditeur du logiciel : s'il propose un installeur qui permet une installation "silencieuse" (et que la personne qui a soumis l'installeur à winget a bien spécifié ce paramètre), c'est posssible, sinon winget n'est pas prévu pour rendre les installations "silencieuses" (il lance simplement les installeurs fournis par les éditeurs).
Si un ou quelques logiciels en particulier vous posent ce désagrément, vous pouvez toujours contacter l'éditeur pour lui demander de proposer cette fonctionnalité (ou de vous indiquer le paramètre nécessaire pour la lancer, voire si c'est opensource vous pouvez proposer les modifications nécessaires :-)
votre avatar
Je l'utilise depuis assez longtemps mais, comme chocolatey, ça m'insupporte qu'il n'y ait pas d'option pour ne pas mettre d’icône sur le bureau à chaque MAJ.
Et, contrairement à chocolatey, winget ne fonctionne pas vraiment avec l'option --silent (en tout cas, de mon côté, j'ai l'installer qui se manifeste pour une bonne moitié de packages)

[Tuto] Gérer ses applications Windows avec WinGet ou UniGetUI

  • WinGet : installer rapidement des applications

  • Mise à jour généralisée

  • D’autres opérations

  • UniGetUI : la même chose, mais avec une interface graphique

  • Des listes personnalisées de paquets

Fermer