Chocolatey : l'installation et la mise à jour facile d'applications sous Windows

Entre autres... 59
Accès libre
image dediée
Applications TEST
David Legrand

Nombreux sont les utilisateurs continuant de télécharger manuellement leurs applications pour Windows, les mettant à jour de manière plus ou moins régulière. Outre l'incomplet Microsoft Store, il existe des alternatives plus efficaces, inspirées des pratiques sous Linux. Chocolatey est l'une d'entre elles.

Si Windows a bien un défaut, c'est la façon dont sont gérées ses applications. Le modèle de base n'a pas évolué depuis les premières années du système, malgré l'avènement d'internet : il faut récupérer un exécutable puis le lancer ou l'installer. Un principe qui, avec le référencement Google, continue de faire le succès des sites de téléchargement d'applications.

Il y a ainsi deux modes d'usages : classique ou portable. Nous avions d'ailleurs évoqué la manière dont PortableApps pouvait être utilisé pour tirer parti du second pour la mise à jour d'applications courantes. Bien entendu, en quelques dizaines d'années il y a eu des évolutions, des fichiers MSI à l'arrivée des applications universelles et du Microsoft Store.

Ce dernier enferme cependant l'utilisateur dans une boutique contre la promesse d'applications enfin mises à jour facilement, de manière régulière. Surtout, il est encore très incomplet et peu pratique, nécessitant un compte Microsoft pour garder les mêmes applications sur différents systèmes.

Microsoft Store

Pourtant, les distributions Linux ont montré depuis longtemps une meilleure voie : les dépôts. Chacune est ainsi livrée avec une liste de serveurs comprenant tous les logiciels que l'on peut installer, parfois en différentes déclinaisons : libres ou non, plus ou moins récentes, etc. L'utilisateur peut ajouter les siens s'il le souhaite.

On peut ainsi récupérer n'importe quelle application de cette liste en une ligne de commande ou en un clic, de nombreux miroirs étant disponibles à travers le monde. La mise à jour est tout aussi simple. Le tout est sécurisé par un dispositif permettant de s'assurer de la provenance et de l'intégrité, en exploitant notamment le chiffrement asymétrique (GPG).

Un principe qui n'a jamais été repris par Microsoft malgré quelques tentatives telles que Windows-Get, NuGet pour les composants .Net ou One-Get pour les modules et scripts PowerShell. Heureusement, l'équipe de Chocolatey etait là.

D'APT aux Snap d'Ubuntu

Commençons par voir comment les choses fonctionnent ailleurs, avec le cas d'école : Debian et son gestionnaire de paquets APT (Advanced Package Tool) pour installer et mettre à jour les applications et le noyau.

Il repose sur une liste de dépôts (/etc/apt/sources.list) pouvant être complétée en l'éditant ou via le logiciel intégré. APT l'utilise pour savoir où récupérer la liste des paquets disponibles, permettant ensuite à l'utilisateur de faire une recherche, procéder à une installation ou à une mise à jour.

Ces opérations peuvent se faire en lignes de commandes, le plus souvent avec les droits administrateur :

apt update       // Met à jour la liste des paquets
apt search vlc // Recherche les paquets contenant vlc
apt info vlc // Affiche les informations concernant VLC
apt install vlc // Installe VLC
apt remove vlc  // Désinstalle VLC
apt full-upgrade // Met à jour l'ensemble du système

Ainsi, contrairement à Windows, il n'est pas nécessaire de se rendre sur le site de VLC ou de téléchargement, de trouver la bonne version, la récupérer, l'installer et se reposer ensuite sur la mécanique de mise à jour interne de l'application : le système s'occupe de tout. 

Bien entendu, une interface graphique est proposée au sein de Debian pour faire la même chose en quelques clics. Elle n'est pas unique : n'importe qui peut créer une application reposant sur les mécaniques d'APT. 

Si une application n'est pas présente, on peut l'installer manuellement ou intégrer un dépôt mis en place par le développeur ou la communauté. Ubuntu a d'ailleurs créé un dispositif pour simplifier cette procédure avec ses PPA (une seule ligne de commande).

Fedora 29 Pilotes NVIDIAFedora 29 Pilotes NVIDIA
La boutique applicative de GNOME intégrée à Fedora, permettant d'installer les pilotes NVIDIA via des dépôts complémentaires

Mais Canonical a surtout travaillé à un dispositif encore plus poussé avec ses Snap. L'idée est de réduire l'un des problèmes majeurs de Linux : la fragmentation de ses méthodes de diffusion. Car chaque distribution dispose de son équivalent d'APT et sa façon de gérer les paquets. L'éditeur voulait donc unifier tout cela pour les applications courantes.

Ainsi, un Snap peut être installé sur 41 distributions dont Archlinux, Debian, Manjaro, Mint, OpenWrt, OpenSUSE, Raspbian, Solus, Ubuntu ou Yocto Project. Là aussi en une ligne de commande avec différents canaux (stable, beta, dev, etc.) et modes de confinement possibles, ainsi qu'une une boutique en ligne

Un dispositif centralisé cette fois donc, mais qui a ses avantages pour l'utilisateur et les développeurs. D'autres solutions plus ou moins similaires existent comme AppImage ou Flatpak

Le cas Chocolatey

Sous Windows, pas d'équivalent. Les sites de téléchargement ont toujours représenté le gros de l'usage, hors des jeux vidéo et leurs plateformes à la Steam (Battle.net, GoG, Origin, Uplay, etc). Des développeurs ont cherché à faciliter l'installation ou la mise à jour avec des outils tels que SUMo (Software Update Monitor) ou Ninite, sans aller plus loin.

L'équipe de Chocolatey planche de son côté depuis une dizaine d'années sur un gestionnaire de paquets complet, se basant sur NuGet mais avec une base communautaire maintenue à jour et proposant surtout des applications nécessaires au quotidien, tant pour les développeurs que les utilisateurs lambda. Elle en contient 6 528 actuellement.

Vous pouvez donc y trouver VLC, Firefox, Skype, Notepad++, 7-Zip, Visual Studio Code, Git, Node.jsaria2 ou les pilotes NVIDIA avec un outil pour bloquer la télémétrie. On est ici aussi dans une solution centralisée, mais où chacun peut intervenir et proposer ses solutions, l'usage étant gratuit. L'équipe se rémunère via une version pour professionnels.

L'intérêt est le même que pour des solutions type APT : une base d'outils dans laquelle on peut faire des recherches, une installation et une mise à jour simples, utile pour initialiser un système avec toutes les applications que l'on souhaite. Parfois différentes possibilités sont proposées comme l'installation ou la version portable par exemple.

Vous voulez installer Firefox, VLC et aria2 d'un seul coup ? C'est simple comme lancer un fichier qui contient la commande :

choco install -y firefox vlc aria2

Aucune interaction ne vous sera demandée, toutes les applications installées seront présentes normalement au sein de votre système et aria2 configuré de manière à être utilisable depuis n'importe où en ligne de commandes. Parfait pour les administrateurs système qui peuvent par exemple procéder à distance via PowerShell, sur de multiples machines.

Les autres commandes classiques sont exploitables : 

choco list --local only // Affiche la liste des paquets installés
choco list vlc       // Recherche les paquets contenant vlc
choco info vlc       // Affiche les informations concernant VLC
choco remove vlc       // Désinstalle VLC
choco upgrade all       // Met à jour l'ensemble des applications

Bien entendu, une interface graphique est aussi proposée, elle s'installe via Chocolatey :

choco install chocolateygui

On peut y voir la liste des paquets installés, les mises à jour disponibles et chercher dans la base de Chocolatey. Les paquets disponibles sont affichés par défaut par popularité. Vous pouvez aussi procéder par ordre alphabétique. Dommage, contrairement au site, on ne peut pas afficher en priorité les dernières mises à jour ni les tags.

Autre regret : si cette interface graphique permet de sélectionner plusieurs éléments (via la touche CTRL), il n'est pas possible de les installer en une fois. Elle est donc peu utile, sauf pour ceux voulant éviter la ligne de commande.

Chocolatey GUI

Une installation simple

L'installation de Chocolatey passe par l'invite de commandes, avec les droits administrateur :

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Ou PowerShell, aussi avec les droits administrateur :

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

De multiples alternatives

Son succès a donné des idées à d'autres, qui proposent des dispositifs similaires avec quelques bonnes idées. On pense à AppGet et Just Install qui reposent sur une liste d'installeurs (ici et ) en facilitant leur utilisation, Npackd pour utiliser ses propres dépôtsScoop qui ne nécessite pas de droits administrateur, Homebrew pour macOS ou Wapt.

Chacun peut ainsi y trouver son bonheur, l'important étant de se faciliter la vie au quotidien. 


chargement
Chargement des commentaires...