winget n’est pas (encore) un gestionnaire de paquets
Mais ça va venir
Le 27 mai 2020 à 13h48
7 min
Logiciel
Logiciel
Lors de la Build 2020, Microsoft a dévoilé le code source d'un nouveau gestionnaire de paquets, winget. Chacun peut l'utiliser... et s'apercevoir qu'il ne fait pas ce que devrait proposer un tel outil. Pour le moment, il ne permet que d'installer des applications. Mais d'ici un an, le projet devrait être finalisé et enfin tenir ses promesses.
Sous Linux, installer une application est simplissime. Vous voulez VLC, Gimp, un serveur HTTP ? Il suffit en général d'une ou deux lignes de commandes. Avec une distribution telle que Debian et ses dérivés, cela passe par APT :
sudo apt update
sudo apt install vlc
sudo apt full-upgrade
Ces trois lignes permettent respectivement de mettre à jour la liste des dépôts (contenant les logiciels qu'il est possible d'installer), d'installer VLC, et de mettre à jour le système ainsi que toutes les applications qui y sont présentes.
Chaque distribution dispose de ses propres dépôts, mais de nombreux miroirs sont proposés de par le monde afin de répartir la charge des serveurs. Chacun peut mettre le sien en place ou créer son dépôt que n'importe qui peut ajouter sur sa machine. Le tout passe par des connexions sécurisées, les téléchargements sont vérifiés avant l'installation, etc.
Pendant ce temps, sous Windows, on en est encore à renvoyer l'utilisateur vers des exécutables à télécharger en ligne. Aucun dispositif de téléchargement décentralisé n'est nativement supporté, pas plus que des protocoles comme Metalink qui permettraient la gestion des miroirs et des vérifications d'empreintes/signatures.
Le Store plutôt que l'ouverture
Microsoft, comme Apple avant lui, a préféré opter pour la solution centralisée et entièrement fermée de la boutique applicative. Si un compte n'est pas nécessaire pour l'utiliser, il est impossible d'y ajouter des dépôts tiers (excepté pour des usages en entreprise), ou même de passer par des procédures simplifiées en ligne de commandes.
Résultat, des services se sont développés à travers le temps, chacun ayant ses avantages propres. Le célèbre Chocolatey bien sûr. Mais d'autres comme AppGet et Just Install qui reposent sur une liste d'installeurs, Npackd pour utiliser ses propres dépôts, Scoop qui ne nécessite pas de droits administrateur, Homebrew pour macOS ou Wapt.
Conscient de ces lacunes, Microsoft a toujours regardé du côté des gestionnaires de paquets, sans jamais parvenir à arriver au bout d'un tel projet. C'est ainsi qu'est né en 2014 OneGet, très peu utilisé dans la pratique et principalement pour des modules PowerShell. Lors de la Build 2020, c'est winget qui était au centre des attentions.
winget officialisé, il n'a rien d'un gestionnaire de paquets
Car cette fois, c'est promis : un gestionnaire de paquets arrive. On aurait pu imaginer un complément au Store... mais non (enfin si, nous y reviendrons). Open source, il ne vient pas non plus compléter un projet existant comme Chocolatey. Microsoft évoque des questions de sécurité, mais veut sans doute se simplifier la vie en repartant de zéro.
Le problème de cette approche, c'est que soit on communique tôt et le résultat n'est pas à la hauteur. Soit on attend d'avoir un produit finalisé... mais cela prend des années. Bien entendu, c'est la première approche qui a été choisie. Ainsi, winget tel qu'il a été présenté n'est pas (du tout) un gestionnaire de paquets.
Comme le code est ouvert, il est assez facile de le vérifier. Il suffit d'ailleurs de se rendre dans la liste des manifestes proposés, permettant d'installer les applications. On voit clairement qu'il ne s'agit que d'une suite de fichiers au format YAML listant quelques informations sur les applications, l'URL du fichier d'installation, les architectures compatibles, une empreinte SHA-256 et d'éventuels « switchs » permettant une installation silencieuse.
Pour Gimp 2.10.18 par exemple :
Id: GIMP.GIMP
Name: GIMP
AppMoniker: GIMP
Version: 2.10.18
Publisher: GIMP
Author: GIMP
License: Copyright (C) 2007 Free Software Foundation, Inc.- GNU General Public License
LicenseUrl: https://www.gimp.org/about/COPYING
MinOSVersion: 10.0.0.0
Homepage: https://www.gimp.org
Description: GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.
Tags: "editor,image,picture,pictures,photo,gimp"
InstallerType: Inno
Installers:
- Arch: x64
Url: https://download.gimp.org/mirror/pub/gimp/v2.10/windows/gimp-2.10.18-setup-2.exe
Sha256: BF6CE59587E63E1E8BAB923E7DFDAA0F2C8BD3AC4D0CED602F3C063F9E32465C
Switches:
Silent: "/VERYSILENT /NORESTART /ALLUSERS"
SilentWithProgress: "/VERYSILENT /NORESTART /ALLUSERS"
Ainsi, on comprend pourquoi aucune fonctionnalité de mise à jour ou de suppression n'existe : c'est parce que de tels cas ne sont pas encore supportés. Ainsi, winget est un simple outil d'installation en ligne de commandes, basé sur un dépôt ouvert, comme Scoop par exemple. Mais celui-ci, au moins, ne nécessite pas les droits administrateur. winget si.
Il faudra tenir la roadmap pour convaincre
Mais l'objectif de Microsoft et ses équipes est bien d'aboutir à un réel gestionnaire de paquets. Simplement, cela prendra du temps, comme d'autres projets avant celui-ci, très basiques à leurs débuts et se faisant de plus en plus convaincants, comme WSL (désormais en v2) ou le nouveau Terminal (depuis peu en 1.0).
La roadmap est d'ailleurs publique, apportant déjà quelques bonnes nouvelles. Tout d'abord que la v1.0 est attendue pour mai 2021. Chaque mois, une nouvelle itération sera rendue disponible, leurs objectifs n'étant pas encore définis. On sait simplement que celle de juin (v0.2) doit apporter un lien avec le Microsoft Store ou permettre l'installation de Discord.
La liste des fonctionnalités attendues pour la v1.0 permet de confirmer que l'on arrivera bien à un véritable gestionnaire de paquets avec mise à jour, désinstallation, choix entre plusieurs installeurs, langues, architectures, canaux (dev, beta, etc.), personnalisation et autres règles d'entreprises. Les PWA devraient aussi être gérées.
Mais la route sera encore longue, le principal restant à faire. Si on ne peut pas encore dire que winget est un gestionnaire de paquets, le code diffusé la semaine dernière doit permettre d'en créer un de toutes pièces, en un an. Chacun est libre de proposer ses propres paquets. La procédure à suivre est décrite ici.
D'ici à ce que l'on puisse vérifier que l'équipe de Microsoft tient ses promesses, comment tester winget ? Vous pouvez bien entendu compiler le code source, ou passer par le programme Insider. Mais aussi simplement télécharger la dernière version en date, distribué sous la forme d'un bundle AppX. Un fichier qu'il suffit de télécharger et de lancer. Ensuite, vous aurez accès à winget en ligne de commandes.
Windows 10 est supporté à partir de la build 1709. Si jamais vous avez une erreur concernant des paquets manquants, il faut télécharger le Desktop Bridge VC++ v14 Redistributable Package. Notez au passage qu'un développeur a déjà créé un site référençant les manifestes disponibles, permettant d'en afficher la liste, d'effectuer une recherche et d'obtenir directement la commande à taper : Winstall. Un autre a créé une interface graphique.
L'installation de winget et les fonctionnalités actuellement disponibles
winget n’est pas (encore) un gestionnaire de paquets
-
Le Store plutôt que l'ouverture
-
winget officialisé, il n'a rien d'un gestionnaire de paquets
-
Il faudra tenir la roadmap pour convaincre
Commentaires (24)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 28/05/2020 à 09h34
Ok merci, donc je n’utiliserai pas WinGet :)
Le 28/05/2020 à 16h13
Merci pour ce lien. Je n’étais pas du tout au courant de cette histoire.
J’utilise Chocolatey depuis des années, et j’avais raté le fait qu’AppGet ait finalement “décollé” il y a 2 ans. Ca avait l’air pas mal du tout.
J’ai vérifié, et la plupart des paquets Choco que j’installe en général sont présent sur AppGet (même s’il y a quelque manquements)
Le 28/05/2020 à 17h43
sans vouloir troller quel est réellement l’intérêt d’un gestionnaire de paquet en plus du store pour un user lambda ? car bon utiliser des lignes de commandes ou mettre des dépôt tiers c’est ok pour des utilisateurs avancés mais pour M et Mme Michu ?
Le store fait déjà tout ce que ferait un hypothétique gestionnaire de paquet
Le 29/05/2020 à 06h09
Le 29/05/2020 à 08h28
Perso, j’ai plutôt été déçu en lisant l’histoire de l’auteur de AppGet (un peu comme pour Wunderlist) Microsoft à un peu tué son appli avec WinGet après avoir fait miroité un rachat-embauche.
Il en parles ici : (EN) The Day AppGet Died.
Le 29/05/2020 à 10h23
Le 01/06/2020 à 04h34
Le 27/05/2020 à 14h16
“il ne vient pas non plus compléter un projet existant comme Chocolatey”
Je ne comprendrai jamais cette volonté de systématiquement réinventer la roue.
Il y a déjà quelque chose de fonctionnel, efficace, bien testé, pourquoi ne pas forquer de là ?
Le 27/05/2020 à 14h22
Parce que ça revient à devoir gérer l’existant, ce qui n’est pas toujours la bonne solution. Surtout qu’un gestionnaire de paquets, en soi, ce n’est pas franchement la brique la plus complexe. Le fait de repartir de zéro n’empêche d’ailleurs pas d’assurer une certaine interopérabilité avec différents types de dépôts existants ;) On verra ce qui est choisi en la matière (tant du côté de MS que des outils tiers)
Le 27/05/2020 à 14h29
Lectureconnexe très intéressante.
Le 27/05/2020 à 14h41
Logique, Windows n’est pas (encore) un OS
Le 27/05/2020 à 14h50
Je me demande comment sontgérér les installeurs qui nous demandent notre accord pour installer des trucs en plus (spyware, autre applications du même développeurs…etc) : est-ce que tout s’installe dans notre dos vu que l’installation est “silencieuse” ?
Le 27/05/2020 à 14h57
Ca dépend des choix de l’éditeur de l’appli, quand il a fait son setup..
Le 27/05/2020 à 15h19
@Roxar: très bon complément d’information
Le 27/05/2020 à 16h13
Je calme quand même un peu, apt get c’est simple quand le nom du paquet est connu, que le repo est bien installé, quand c’est la bonne version,… 😁
Le 27/05/2020 à 16h21
apt search mot-clé
De rien " />
Le 27/05/2020 à 16h31
Tu peux faire une recherche comme dit au-dessus, et les dépôts par défaut sont le plus souvent présents. Après oui si tu veux l’applicatif de jean-kevin du 32, soit tu passes par un PPA & co ou par une distribution plus classique.
Le 27/05/2020 à 16h45
Le 27/05/2020 à 17h39
Ces trois lignes permettent respectivement de mettre à jour la liste des dépôts (contenant les logiciels qu’il est possible d’installer), d’installer VLC, et de mettre à jour le système ainsi que toutes les applications qui y sont présentes.
" /> Et tout ça sans avoir besoin de rebooter. " />
Le 27/05/2020 à 17h49
Le 27/05/2020 à 21h11
Winget a été créé à partir d’un projet existant dont l’auteur à contacté les équipes de Microsoft ils partent pas vraiment de 0. De deux chocolatey est un format de paquet rien ne dit que Microsoft ne partira pas sur ce format, le projet étant open source tu peux tout à fait proposer une api permettant de gérer différent formats de paquets chocolatey + msi/x me semble une bonne base de départ ça existe déjà et ça marche.
Je pense qu’il y aura un croisement avec nuget pour reprendre les processus de désinstallation , mise à jour etc.
Bref il reste du boulot c’est open source, donc faut arrêter de râler et proposer
Le 27/05/2020 à 21h54
Windows Store quoi. " />
Le 28/05/2020 à 08h18
Le problème n’est-il pas simplement qu’historiquement les programmes étaient proposé via des “Installers” et que les éditeurs ne feront pas spécialement d’effort pour passer à une nouvelle solution tant que le bon gros vieux et dégueulasse .exe fonctionne ?
On peut en effet voir à quel point le .msi a percé face au .exe en 20ans. Hors le .msi intègre tout ce qu’il faut pour installer, mettre à jour et désinstaller là où le .exe est techniquement qu’un programme executable fait maison qui se démerde tout seul pour copier les fichiers aux bons enlacements.
Techniquement,il pourraient forcer la main pour utiliser le format APPX (format des apps du store) et pénaliser les autre formats.
Le 28/05/2020 à 08h32
Ben sinon, y’a aptitude qui est “graphique” " />