Blog

Chocolatey pour Windows

Chocolatey (https://chocolatey.org/) est un gestionnaire d’applications à la mode Linux (comme « apt » pour la famille debian, « yum » ou « dnf » pour la famille RedHat, …).

Il a de nombreux avantages :

  1. Il gère les dépendances : pour installer une application, il commence à installer toutes les briques nécessaires à son fonctionnement, comme les redistribuables Microsoft…
  2. Il permet la mise à jour simple de toutes les applications qu’il gère, sans avoir à chercher celles-ci sur les différents sites Web des éditeurs.

Installation de chocolatey

Le plus simple est d’utiliser un script (tout prêt) « Powershell » livré par l’éditeur du produit.

Pour cela j’utilise la documentation présente ici (https://chocolatey.org/install) en choisissant la version « individual » (individuelle).

1ère étape : ouvrir une boite de commande en mode administrateur :

2ème étape : Ouvrir (ou lancer) « powershell » dans la boite de commande :

Vous devez obtenir un résultat similaire :

Il convient de vérifier si la police d’exécution (Get-ExecutionPolicy) n’est pas restreinte (à priori, elle l’est).

Si c’est, il convient de l’outrepasser (voir écran suivant) :

Il convient de lancer la commande suivante qui rapatriera le script powershell (.ps1) de chocolatey et l’installera sur la machine :

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Après un moment d’attente (cela dépend de la vélocité de votre machine), vous devez obtenir le résultat suivant :

L’installation est terminée, effective, sans erreur.

Vérifions : la commande d’utilisation de chocolatey est « choco ».

L’exécutable a bien répondu, en nous expliquant que la commande est incomplète et que sans connaissance de ladite commande il convient d’utiliser l’aide intégrée (paramètre -?).

Installation de l’interface graphique (GUI) de Chocolatey

C’est assez simple, dans la mesure où nous allons demander à Chocolatey d’installer sa propre interface graphique.

Pour cela nous allons rechercher le nom de cette application dans chocolatey. Pour cela, il convient d’utiliser la commande :

choco search chocolatey

L’image précédente est un extrait du résultat qui contient 304 lignes (pour 384 paquets contenant le mot « chocolatey ».

Nous utiliserons donc la commande suivante :

choco install ChocolateyGUI
NB : Répondre « Y » ou « A » à la question posée…

Une fois encore…

Toujours pareil.
Enfin, après une dernière question, les paquets sont installés.

Remarque : vous comprenez, du coup, l’usage de « (A)ll » lors de la 1ère question. Cela répond « (Y)es » aux suivantes…

Dans le menu de Windows, une nouvelle entrée vient d’apparaître.

Installation de paquets

Ce qui est pratique avec Chocolatey, c’est qu’il installe la dernière version dont il dispose dans son référentiel. Pour les applications courantes, ce sont les dernières versions publiées (latest). Pour certaines autres (comme Laragon), ce n’est pas le cas.

Pour installer Firefox :

choco install Firefox

Cela installe la dernière version du logiciel (version 106.0.5 à ce jour). Pour ceux qui préfèrent la version ESR (extended support release), la commande est la suivante :

choco install FirefoxESR

Vous disposerez de la version 102.4.0.

Pour installer Google Chrome :

choco install GoogleChrome

Vous disposerez de la version 107.

Compléments pour l’installation de paquets

Pour installer plusieurs paquets à la chaîne :

choco install Firefox GoogleChrome Jre8 

Cela installe Firefox, Google Chrome et Java (Jre) en même temps.

Pour éviter de répondre aux questions pendant l’installation, il est possible de préciser en paramètre le commutateur à utiliser.

choco install Firefox GoogleChrome Jre8 -y 

Installe Firefox, Google Chrome et Jave (JRE) sans poser de questions, gràce à l’utilisation du commutateur « -y ».

Remarque : si l’application est déjà installée par ailleurs, chocolatey refusera de l’installer (elle existe déjà) mais la considèrera comme une paplication Chocolatey, e qui permettra sa mise à jour par l’outil.

Pour savoir si l’application existe, il interroge la base de registre sur le mot-clé de l’application. S’il apparaît dans celle-ci alors l’application sera considérée comme déjà installée. Sinon, il lancera le processus d’installation.

Mise à jour de paquets

Il convient d’utiliser le mot-clé « upgrade ».

choco upgrade Firefox

Met à jour Firefox, si celle-ci existe.

Ici, dans cette image, j’ai installé le navigateur Brave (avec succès), puis ai tenté de le mettre à jour. Sans succès, (0/1 packages), ce qui est logique dans la mesure où je venais juste d’installer la dernière version de l’application, connue dans le référentiel Chocolatey.

Il est possible de mettre à jour plusieurs applications en même temps en les nommant spécifiquement.

choco upgrade Firefox GoogleChrome Jre8 -y 

Mieux, il est possible de mettre à jour toutes les applications du référentiel installées par la commande suivante :

choco upgrade All -y

Cela peut prendre un certain temps en fonction du nombre de mises à jour à effectuer.

Désinstaller des applications.

La logique reste toujours la même.

choco uninstall brave

Cela désinstalle le navigateur Brave.

Il en va de même pour plusieurs paquets :

choco uninstall Firefox GoogleChrome Jre8 -y 

Firefox, Google Chrome et Java vont disparaître, sans autre forme de procès.

Remarque : ceci est très dangereux mais possible :

choco uninstall All -y

Cela enlève toutes les applications précédemment installées grâce à Chocolatey…

En conclusion, nous pouvons constater que cet outil est très puissant, surtout couplé à un serveur qui « pousserait » des applications ou leurs mises à jour par stratégie de groupe ou par une tâche planifiée…

Vous trouverez toutes les commandes Chocolatey ici : https://docs.chocolatey.org/en-us/choco/commands/