Chocolatey et Homebrew sont les 2 Packages Managers de référence pour Windows et MAC OS, nous allons les explorer dans ce post.
Qu’est ce qu’un package manager
Définition
Un package manager (gestionnaire de packages) est un outil la plupart du temps en ligne de commande (CLI), qui permet de chercher, télécharger et d’installer des packages simplement (exécutables ou librairies) sur votre système (Linux, Windows ou MAC OS).
Les utilisateurs de Linux Debian (et donc d’Ubuntu mais aussi Raspbian) connaissent depuis bien longtemps la commande apt (Advanced Packaging Tool). Heureusement les utilisateurs de Windows et MAC ont maintenant des outils similaires :

Chocolatey pour Windows (choco pour les intimes)
Voici la page vous permettant de chercher un package chocolatey : https://chocolatey.org/packages
et le référentiel des commandes

Homebrew est l’équivalent de choco pour MAC OS
Homebrew possède un vocabulaire propre et un système de packages (les formulas) reposant sur Git pour la distribution et si vous souhaitez savoir si un programme est disponible (et trouver des infos sur le package) à travers Homebrew, voici un « index » : brewformulas.org et le référentiel des commandes
Intérêts
Un Package manager (choco, homebrew, apt, aptitude etc.) est le genre d’outil qui devient vite indispensable tellement il facilite la vie, mais voici les plus grands avantages:
- ils nous font gagner du temps et leurs prise en main est simplissime 🙂
- permettent d’installer facilement et rapidement les freewares les plus répandus, pas besoin de googler => fouiller le site de l’éditeur pour la section download => télécharger l’exe => installer en clickclickant…
- avoir des logiciels à priori « clean » de spyware et autres, car validés avant leurs mises à dispositions
Chocolatey
Nous allons prendre exemple d’une installation d’une version spécifique de NodeJs sur notre machine Windows.
Bases
Installer la CLI Choco.exe sur votre machine en suivant l’une des procédures officielles d’installation de choco.
Lister les package installés en local avec :
choco list --local-only # ou choco list -li
Chercher avec choco search
Nous allons tout d’abord chercher si le package est disponible via la commande choco search
j’ai ici réduit les listes de résultats par soucis de clarté:
choco search nodejs # Chocolatey v0.10.8 # nodejs 9.1.0 [Approved] # nodejs.install 9.1.0 [Approved] # nodejs.commandline 6.11.0 [Approved] # yarn 1.3.2 [Approved] Downloads cached for licensed users # nodejs-lts 8.9.1 [Approved]
Il est possible d’obtenir un affichage un peu plus clair et concis avec l’option -r
:
choco search nodejs -r # nodejs|9.1.0 # nodejs.install|9.1.0 # nodejs.commandline|6.11.0 # yarn|1.3.2 # nodejs-lts|8.9.1
Nous voyons que le package s’appel « exactement » NodeJs ce qui réduit notre champs de réponses avec l’option -e
:
choco search nodejs -re # Parsing -re resulted in error (converted to warning): # Cannot bundle unregistered option '-e'. # Chocolatey v0.10.8 # nodejs|9.1.0
Pour une version spécifique (ex: 8.x) c’est l’option -a
qui vous listera toutes les versions de NodesJs existantes:
choco search nodejs -are # Chocolatey v0.10.8 # nodejs|9.1.0 # nodejs|9.0.0 # nodejs|8.9.1 # nodejs|8.9.0.20171107 # nodejs|8.9.0
Installer un programme avec choco install
Il suffit simplement d’installer la version voulue par ex la 8.9.1 avec la commande choco install
:
choco install nodejs --version 8.9.1
(bien sure ceci n’est qu’un exemple, dans le cas précis de NodeJs je vous conseille de passer par nvm
pour pouvoir gérer au mieux les différentes versions de Node sur votre machine.
Mettre à jour nos programmes avec choco upgrade
Il est possible de mettre à jour n’importe quel package installé via chocolatey (y compris chocolatey lui même) par la commande choco upgrade
, mais aussi faire une mise à jour de toutes les applis (attention cela peut prendre du temps) par un :
choco upgrade all -y
Pour mettre à jour une application en particulier commencer par lister tous ceux installées en local:
choco list --local-only
puis utiliser choco upgrade (par ex pour Filezilla) :
choco upgrade -y filezilla
Supprimer un package
utiliser simplement
choco uninstall nom_du_package
Homebrew pour OSX
Homebrew ou brew pour les intimes est l’équivalent pour MAC de chocolatey, simple d’utilisation il permet d’installer des outils simplement et rapidement en ligne de commande.
Voici le cheat sheet de brew
Commandes brew
brew search xxx brew install xxx brew list # liste de tous les packages installés brew list xxx # ensemble des fichiers du package xxx installé brew info xxx # infos basiques sur le package xxx brew update # mets à jour brew et ses formules brew outdated # liste les packages comportant des mises à jour brew upgrade # mets à jour tout les packages brew upgrade nom_du_package
brew cask
Homebew a introduit un nouvel outil « Cask » qui permet d’installer des applications avec GUI tels que VLC, dropbox, firefox, keepassx, nextcloud pour n’en citer que quelques uns.
Usage de brew cask
Un brew search
nous indiquera clairement que vlc est installable via cask uniquement :
mac:~ $ brew search vlc ==> Casks vlc ✔
il faudra donc l’installer via la commande brew cask :
mac:~ $ brew search --cask vlc ==> Casks vlc ✔ vlcstreamer vlc-webplugin homebrew/cask-versions/vlc-nightly mac:~ $ brew install --cask vlc ..... 🍺 vlc was successfully installed!