Le nouvel outil en ligne de commandes pour aisément déployer des applications sous Windows est enfin disponible en version 1.0 avec des fonctionnalités de mises à jour et de sécurité. A quoi sert-il? Comment le télécharger ? Comment l’utiliser ? On vous dit tout…

Il y a un an, lors de la Build 2020, Microsoft annonçait la preview de son propre gestionnaire de package pour Windows : WinGet. Inspiré d’équivalents très populaires dans l’univers Linux, cet outil en ligne de commandes permet aux développeurs et aux administrateurs en entreprises de rapidement et facilement déployer des environnements complets.

La semaine dernière, à l’occasion de la Build 2021, Microsoft a lancé la version 1.0 de son utilitaire en open-source. En une commande, il permet de télécharger et installer des centaines d’applications issues d’un repository protégé par la technologie SmartScreen de Windows et par une validation SHA256 afin de garantir l’authenticité des packages. Il facilite ainsi l’automatisation de l’installation d’environnements complets en intégrant la commande au sein de scripts PowerShell par exemple ou en utilisant un fichier d’import listant les applications à installer.

« WinGet est un gestionnaire de paquets. Un tel outil est conçu pour vous faire gagner du temps et éviter bien des frustrations. Essentiellement, c’est un outil qui vous aide à automatiser le processus d’obtention de logiciels pour votre machine Windows. Vous précisez quelles applications vous voulez installer, et il fait le travail de trouver la dernière version (ou la version exacte que vous avez spécifiée) et de l’installer sur votre machine » explique le responsable du projet, Demitrius Nelon.

WinGet est en quelque sorte une version en ligne de commandes du Windows Store mais la bibliothèque sous-jacente est différente. On trouve sous Winget des applications non diffusées via Windows Store et inversement. Une chose est sûre toutefois. Si l’on sait ce que l’on cherche, par exemple « Visual Studio Code » ou « Firefox », il est beaucoup plus rapide et facile de l’installer par WinGet que par tout autre moyen. Il suffit simplement de saisir la commande « Winget install ‘visual studio code’ » ou « Winget install firefox ».
Seule contrainte, il faut bien penser à lancer l’invite de commandes, Windows Terminal ou PowerShell en mode administrateur avant de lancer de telles commandes.
Rappelons que Windows Terminal s’impose désormais sur tous les postes d’utilisateurs avancés comme un outil indispensable. Open-source mais créé et géré par Microsoft, cet utilitaire est destiné à remplacer l’invite de commandes (CMD) historique de Windows à court terme. Il est disponible dans Windows Store et via WinGet (Winget install ‘Windows Terminal’).

WinGet est disponible en téléchargement en utilisant ce lien direct : aka.ms/getwinget

Une fois installé, lancez l’invitation de commandes de Windows et saisissez simplement « Winget » pour vérifier sa bonne installation. Le logiciel affiche alors la liste des commandes disponibles :

install  Pour installer un package, autrement dit une application
show  Pour obtenir des informations (version, licence, source, etc.) sur un logiciel à télécharger
source  Pour spécifier les référentiels (repositories) utilisables. Par défaut, Winget utilise son propre référentiel public mais il semble que les entreprises pourront utiliser Winget avec leurs propres référentiels privés.
search  Pour trouver des logiciels. Par exemple utilisez
« winget search editor » ou « winget search notepads » pour connaître les IDE disponibles
ou encore « winget search ‘visual studio’ » pour trouver tout ce qui se rapporte à Visual Studio
ou encore « winget search browser » pour avoir une liste des navigateurs Web disponibles (Vivaldi, Opera, LibreWolf, Waterfox, SeaMonkey, Chrome, Brave, Tor y sont notamment listés !).
list  Affiche une liste de toutes les applications installées sur la machine
upgrade  Force la mise à jour d’un package donné (par exemple
« winget upgrade ‘Windows Terminal’ »)
uninstall  Commande la désinstallation d’un package
hash  Permet de calculer le Hash d’un fichier donné avant de l’envoyer dans un référentiel
validate  Permet de valider le « manifeste » lié à un package avant de l’envoyer dans un référentiel
settings  Ouvre le fichier de paramétrages de Winget
features  Montre les commandes encore expérimentales. Actuellement il n’y en a qu’une : le support officiel du Windows Store qui permet d’utiliser le Windows Store comme un référentiel officiel WinGet.
export  Exporte une liste de tous les packages installés sur votre machine. Très utile avant de réinstaller une nouvelle machine.
import  Importe une liste de packages et les installe tous automatiquement en une commande.

Bref, les utilisateurs avancés de Windows ne pourront rapidement plus se passer de WinGet ! La commande devrait être intégrée par défaut dans Windows 10 dès les prochaines mises à jour du système (21H2).

Quel avenir pour les alternatives

Avant l’arrivée de Windows, le monde Linux avait déjà inspiré des éditeurs de l’univers Windows. Il existe donc des alternatives au WinGet officiel de Microsoft.
Chocolatey qui dispose également d’une interface Web pour installer et trouver des packages.
Scoop qui comporte 820 packages essentiellement orientés développeurs
Ninite, l’un des pionniers sous Windows, orienté entreprises et disposant d’une interface Web
AppGet, un outil open source sérieux qui comporte 1400 packages avec un référentiel accessible sur le Web pour faciliter les recherches
OneGet, probablement le plus cross plateforme puisqu’il est supporté aussi sous Linux et macOS
Ketarin qui offre une interface Windows conviviale
Reste à savoir quel avenir sera réservé à ses alternatives si Microsoft arrive à imposer son WinGet dans le paysage. Il y a bien sûr de la place pour d’autres gestionnaires de packages mais tous ne résisteront probablement pas.