Qu’est-ce que Chocolatey et comment l’installer ?



Windows, malgré sa réputation d’accessibilité, offre une certaine marge de personnalisation, notamment grâce à des outils open source comme Chocolatey, souvent surnommé « Choco ».

Chocolatey : une introduction

Chocolatey se présente comme un gestionnaire de paquets open source pour Windows. Son rôle est similaire à celui de DNF ou APT sur Linux. Ces outils sont précieux pour les développeurs ou les utilisateurs avancés qui souhaitent installer, mettre à jour ou désinstaller des logiciels sur leur système.

Approfondissons notre connaissance de Chocolatey. Mais avant cela, comprenons ce qu’est un gestionnaire de paquets.

Qu’est-ce qu’un gestionnaire de paquets ?

Un gestionnaire de paquets vous permet de gérer les logiciels présents sur votre ordinateur. Il facilite le suivi des logiciels, leur mise à jour ou l’installation de nouveaux programmes. Si un logiciel n’est plus nécessaire, le gestionnaire de paquets permet également sa suppression.

En résumé, un gestionnaire de paquets s’occupe des logiciels, considérés comme des « paquets » en langage informatique. Un paquet est donc un ensemble de fichiers installés, mis à jour ou retirés.

Les gestionnaires de paquets assurent la stabilité du système en évitant les conflits et les suppressions de paquets essentiels. Il est fréquent que les paquets dépendent d’autres paquets ; le gestionnaire se charge de gérer ces dépendances pour éviter tout dysfonctionnement.

Prenons l’exemple de deux paquets, A et B, où A dépend de B. Pour que A fonctionne, B doit être installé et opérationnel. Ainsi, pour que GIMP, un logiciel de traitement d’images, fonctionne, il a besoin du paquet de données GIMP.

Il existe de nombreux gestionnaires de paquets populaires. Linux, par exemple, utilise fréquemment DNF et APT.

Pour en savoir plus, consultez : Un guide rapide du gestionnaire de paquets DNF

Windows propose également son gestionnaire de paquets, le Gestionnaire de packages Windows (Winget). Fonctionnant en ligne de commande, il permet aux développeurs de rechercher, mettre à jour, désinstaller et installer des applications sur le système. Pour plus de détails, référez-vous à Winget, le gestionnaire de paquets Windows.

Et enfin, nous avons le gestionnaire de paquets Chocolatey, une solution open source gratuite. Découvrons-le plus en détail.

Qu’est-ce que Chocolatey Package Manager ?

Chocolatey est un gestionnaire de paquets Windows accessible via la ligne de commande. Étant open source sous licence Apache 2.0, il est gratuit. Chocolatey facilite l’automatisation logicielle moderne, avec des options payantes pour les entreprises. Il repose sur NuGet, un gestionnaire de paquets axé sur le développement.

Comme d’autres gestionnaires de paquets, Chocolatey permet aux développeurs et aux équipes informatiques de gérer efficacement les logiciels. Il utilise des paquets pour assurer le bon fonctionnement des logiciels, en les mettant à jour, en les supprimant ou en installant de nouveaux. De plus, tout cela s’effectue grâce à l’automatisation, garantissant une exécution plus rapide des tâches.

Objectifs et applications de Chocolatey

Chocolatey est principalement utilisé par les développeurs et les administrateurs informatiques pour gérer les logiciels sur un ou plusieurs ordinateurs. Il s’intègre bien dans les environnements DevOps en automatisant des tâches répétitives comme le déploiement de binaires, de scripts, d’installateurs, d’applications et de paquets logiciels.

L’avantage de Chocolatey est qu’il élimine les étapes manuelles d’installation des logiciels, qui peuvent nécessiter la recherche, le téléchargement et l’installation par l’utilisateur. Avec Chocolatey, une simple commande suffit pour tout réaliser, y compris l’installation des dépendances logicielles nécessaires.

Ceci est particulièrement utile pour les équipes travaillant avec des environnements Windows complexes. Il accélère le développement logiciel en automatisant les tâches manuelles. Chocolatey offre aussi d’excellentes options d’intégration, notamment le support des outils d’automatisation d’infrastructure.

Comment installer Chocolatey sur Windows

L’installation de Chocolatey est simple. Il suffit de suivre les étapes suivantes :

Étape 1 : Vérifier les prérequis

Avant d’installer Chocolatey, assurez-vous que votre système respecte les exigences suivantes :

  • Un système d’exploitation Windows client ou serveur.
  • .NET Framework 4.8 ou une version ultérieure.
  • PowerShell v2 ou une version ultérieure.

Étape 2 : Ouvrir PowerShell et définir Get-ExecutionPolicy

Ouvrez PowerShell en mode administrateur.

Vérifiez ensuite que Get-ExecutionPolicy n’est pas restreint, car cela peut bloquer l’installation de Choco. Si nécessaire, vous pouvez utiliser l’option Bypass pour contourner cette restriction. Toutefois, pour une sécurité accrue, il est recommandé d’utiliser AllSigned si votre organisation souhaite exécuter des scripts provenant d’Internet.

Exécutez l’une des commandes suivantes pour ajuster Get-ExecutionPolicy selon vos besoins :

$ Set-ExecutionPolicy AllSigned

Ou

$ Set-ExecutionPolicy Bypass -Scope Process

Étape 3 : Exécuter la commande d’installation de Chocolatey

Une fois ExecutionPolicy configuré, lancez la commande suivante dans le shell pour démarrer l’installation de Choco.

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'))

Étape 4 : Vérifier l’installation

Si la commande précédente s’est exécutée sans erreur, Chocolatey est probablement installé correctement.

Pour confirmer, lancez cette commande :

$ choco

Ou

$ choco -?

Voilà ! Chocolatey est installé avec succès. Vous pouvez également l’installer via CMD en copiant la commande suivante dans un shell CMD administrateur :

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

Voici le résultat de cette commande :

Getting latest version of the Chocolatey package for download.                     Not using proxy.

Getting Chocolatey from https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2.

Downloading https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2 to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip

Not using proxy.

Extracting C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall

Installing Chocolatey on the local machine

Creating ChocolateyInstall as an environment variable (targeting 'Machine')

  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'

WARNING: It's very likely you will need to close and reopen your shell

  before you can use choco.

Restricting write permissions to Administrators

We are setting up the Chocolatey package repository.

The packages themselves go to 'C:\ProgramData\chocolatey\lib'

  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).

A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'

  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

chocolatey.nupkg file not installed in lib.

 Attempting to locate it from bootstrapper.

PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...

WARNING: Not setting tab completion: Profile file does not exist at

'C:\Users\nitis\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.

Chocolatey (choco.exe) is now ready.

You can call choco from anywhere, command line or powershell by typing choco.

Run choco /? for a list of functions.

You may need to shut down and restart powershell and/or consoles

 first prior to using choco.

Ensuring Chocolatey commands are on the path

Ensuring chocolatey.nupkg is in the lib folder

Utilisation de Chocolatey

Chocolatey est simple à utiliser. Comme il s’agit d’un outil en ligne de commande, son utilisation se fait via des commandes.

Par exemple, pour installer notepadplusplus, entrez :

$ choco install notepadplusplus

De même, vous pouvez installer d’autres logiciels comme GitHub.

Si vous n’êtes pas sûr de la disponibilité d’un paquet, utilisez l’option de recherche :

$ choco search gitY

Il est également possible d’installer plusieurs applications simultanément :

$ choco install git gimp notepadplusplus

Pour désinstaller une application, utilisez l’option de désinstallation :

$ choco uninstall gimp

Pour désinstaller plusieurs applications, vous pouvez les répertorier dans un fichier XML et le transmettre à la commande :

$ choco install packages.config -y

Le fichier packages.config contient tous les paquets à installer.

Pour mettre à jour tous les paquets existants, utilisez cette commande :

$ choco upgrade all

Autres commandes Choco utiles :

  • $ choco list → lister les paquets locaux ou distants
  • $ choco info [nom_du_paquet] → obtenir des informations sur un paquet
  • $ choco upgrade [nom_du_paquet] → mettre à jour un paquet
  • $ choco outdated → lister les paquets obsolètes

Désinstallation de Chocolatey

Pour désinstaller Chocolatey, supprimez le dossier C:\ProgramData\chocolatey ou le dossier d’installation si vous l’avez spécifié lors de l’installation.

Pour connaître le dossier d’installation, entrez :

$ env:ChocolateyInstall

Avant de désinstaller, sauvegardez les sous-dossiers bin et lib car ils contiennent les paquets que vous avez installés avec Chocolatey. Vous devrez également supprimer ou modifier les variables d’environnement suivantes :

  • ChocolateyInstall
  • ChocolateyToolsLocation
  • ChocolateyLastPathUpdate
  • PATH

Chocolatey vs Winget (Gestionnaire de paquets Windows)

Chocolatey n’est pas le seul gestionnaire de paquets. Winget (ou OneGet via PowerShell 5.0) est une alternative. Lequel choisir ? Comparons Chocolatey et Winget :

#1. Fonctionnalités

En termes de fonctionnalités, Chocolatey est plus complet. La version open source permet la gestion de paquets dans un environnement Windows. L’édition Pro offre des fonctionnalités premium supplémentaires, comme une meilleure fiabilité et une protection accrue contre les logiciels malveillants.

Chocolatey Enterprise, quant à lui, permet aux entreprises d’optimiser leur flux de travail DevOps et d’automatiser le cycle de vie des logiciels Windows.

Winget, de son côté, est une solution de gestion de paquets plus simple. Il utilise des manifestes YAML pour créer, télécharger et supprimer des paquets.

#2. Coût

Les deux offrent des versions gratuites et open source. Seul Chocolatey propose des options payantes pour les besoins plus spécifiques.

#3. Facilité d’utilisation

La facilité d’utilisation est subjective, car les deux sont des outils en ligne de commande. Cependant, Winget est plus facile à installer car il est disponible sur le Microsoft Store. L’installation de Chocolatey nécessite l’exécution de commandes, ainsi que la gestion des politiques d’exécution.

#4. Dépôt

Chocolatey gère son propre dépôt de plus de 9500 paquets. Vous y trouverez presque tout ce dont vous aurez besoin. Winget, quant à lui, s’appuie sur d’autres sources pour le téléchargement et la distribution de paquets.

Chocolatey bénéficie d’une communauté plus mature grâce à son ancienneté. Il a plus de dix ans, ce qui lui a permis de construire une communauté solide. Winget, de son côté, n’a pas encore atteint ce niveau de maturité.

Conclusion

Chocolatey est un outil de gestion de paquets pratique, populaire, bien documenté et riche en fonctionnalités. Étant open source, il est accessible à tous sans frais.

Chocolatey propose aussi des options payantes pour les entreprises, offrant des fonctionnalités supplémentaires pour la gestion de projets Windows complexes.

Ensuite, découvrez comment installer Node Version Manager (NVM) sur Windows et MacOS.