homebrew: macOS
Homebrew – Le gestionnaire de paquets pour macOS (et Linux)
Homebrew est un gestionnaire de paquets puissant et très utilisé pour les systèmes macOS et Linux. Il est conçu pour simplifier considérablement l'installation, la mise à jour et la suppression de logiciels sur ces systèmes d'exploitation. Au lieu de télécharger manuellement des logiciels depuis des sites web, de rechercher des dépendances et de les compiler, ou de suivre des procédures d'installation complexes, Homebrew propose une manière uniforme, basée sur le terminal, de gérer les logiciels. Il est devenu un outil standard pour les développeurs, les administrateurs système et les utilisateurs avancés qui travaillent sur macOS ou Linux.
Homebrew fonctionne via une interface en ligne de commande (CLI) et utilise une base de données centrale de ce qu'on appelle des formulae (pluriel de formula) et des casks. Une formula est un script Ruby qui décrit comment un morceau de logiciel donné doit être téléchargé, compilé et installé. Un cask, par contre, est utilisé pour installer des applications graphiques (applications GUI) sur macOS, comme des navigateurs ou des éditeurs, qui sont généralement distribués sous forme de paquet complet (par exemple un fichier .dmg).
Installation de Homebrew
L'installation de Homebrew est simple et est décrite sur le site officiel. La méthode recommandée est via une commande de terminal qui télécharge et exécute un script d'installation depuis le dépôt GitHub de Homebrew. La commande se présente comme suit :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Cette commande utilise curl pour télécharger le script d'installation de manière sécurisée et l'exécute directement via bash. Le script vérifie d'abord si tous les composants requis sont présents, comme les Xcode Command Line Tools. S'ils ne sont pas encore installés, l'utilisateur est invité à les ajouter.
Xcode Command Line Tools
Les Xcode Command Line Tools sont un ensemble essentiel d'outils de développement qui font partie de l'environnement de développement Xcode d'Apple. Ils sont nécessaires pour compiler des logiciels à partir du code source et contiennent des outils comme gcc (GNU Compiler Collection), make, git et python3. Ces outils sont automatiquement installés dans le cadre du processus d'installation de Homebrew, mais peuvent aussi être installés manuellement avec la commande suivante :
xcode-select --install
Avec xcode-select -p, vous pouvez vérifier le chemin d'installation des outils. Sans ces outils, Homebrew ne serait pas en mesure de compiler des logiciels qui ne sont pas disponibles sous forme de version binaire précompilée.
Commandes Homebrew courantes
Une fois installé, Homebrew offre un large éventail de commandes pour gérer les logiciels. Voici quelques-unes des plus utilisées :
brew install: installe un paquet. Par exemple :brew install wgetinstalle la commandewget, qui est utilisée pour télécharger des fichiers via HTTP ou FTP.brew install --cask: installe une application GUI. Par exemple :brew install --cask firefoxinstalle le navigateur Firefox.brew update: met à jour Homebrew lui-même en synchronisant la copie locale de la base de données des formules avec le dépôt officiel.brew upgrade: met à jour tous les paquets installés vers la version la plus récente.brew list: affiche une liste de toutes les formulae et casks installés.brew search: recherche les paquets disponibles. Par exemple :brew search ffmpegaffiche tous les paquets qui contiennent ffmpeg dans leur nom.brew info: donne des informations détaillées sur un paquet spécifique, y compris les dépendances, le chemin d'installation et les versions disponibles.
Casks et applications graphiques
Une distinction importante au sein de Homebrew est celle entre les formulae et les casks. Alors que les formulae sont destinées aux outils en ligne de commande et aux logiciels qui doivent être compilés, les casks sont destinés aux applications macOS avec une interface graphique. Les casks simplifient l'installation de programmes comme des éditeurs, des navigateurs, des outils de design et des environnements de développement.
Des exemples de casks sont font-fira-code, une police de programmation populaire, ou xquartz, un serveur X11 pour macOS nécessaire pour exécuter des applications Linux graphiques dans Docker ou d'autres environnements. L'installation d'un tel cask se fait avec :
brew install --cask font-fira-code
brew install --cask xquartz
Taps : étendre les sources de paquets
Homebrew prend en charge les taps, qui sont des dépôts ajoutant des formulae ou des casks supplémentaires à la collection standard. Un tap très utilisé est homebrew/cask-fonts, qui donne accès à des centaines de polices de programmation. Pour ajouter ce tap :
brew tap homebrew/cask-fonts
Après avoir ajouté le tap, vous pouvez installer des polices comme Fira Code, JetBrains Mono ou Hack via brew install --cask.
Gérer les services avec Homebrew
Homebrew prend également en charge la gestion des services en arrière-plan, comme les bases de données ou les processus de serveur web. Avec brew services, vous pouvez par exemple démarrer, arrêter ou configurer PostgreSQL, Redis ou MySQL pour qu'ils démarrent automatiquement au démarrage du système.
Par exemple :
brew services start postgresql
Cette commande démarre le service de base de données PostgreSQL et fait en sorte qu'il soit lancé automatiquement à chaque démarrage. Avec brew services list, vous pouvez voir un aperçu de tous les services gérés par Homebrew, y compris leur statut actuel.
Brew Bundle : des environnements reproductibles
Une fonctionnalité puissante de Homebrew est brew bundle, qui permet d'enregistrer une liste de paquets installés dans un Brewfile. Ce fichier peut être utilisé pour installer le même ensemble de logiciels sur une autre machine, ce qui est pratique pour configurer des environnements de développement ou partager des configurations au sein d'une équipe.
Pour générer un Brewfile avec toutes les installations actuelles :
brew bundle dump
Ensuite, sur une autre machine, vous pouvez installer tous les paquets du fichier avec brew bundle. Cela fait de Homebrew non seulement un outil d'installation, mais aussi un outil d'infrastructure as code (IaC) au niveau de l'utilisateur.
Homebrew sur Linux
Bien que Homebrew ait été développé à l'origine pour macOS, il est aussi disponible sur Linux. Sur les systèmes Linux, il est parfois utilisé comme alternative aux gestionnaires de paquets spécifiques au système comme apt (Debian/Ubuntu) ou yum/dnf (RHEL/Fedora). Il est particulièrement pratique sur les systèmes où vous n'avez pas de droits root ou où vous avez besoin de logiciels qui ne sont pas disponibles dans les dépôts standard.
Utilisation dans les environnements de développement
Homebrew est très utilisé dans les environnements de développement. Il simplifie la configuration d'outils de développement comme node, python, rust, go, docker et kubectl. En utilisant Homebrew, les développeurs peuvent rapidement mettre en place un environnement cohérent sans télécharger manuellement des binaires ni suivre des procédures d'installation complexes.
Par exemple, pour installer Docker :
brew install --cask docker
Ou pour installer une version spécifique de Python :
brew install python@3.11
Sécurité et maintenance
Homebrew est open source et est activement maintenu par une communauté de développeurs. Il est important d'exécuter régulièrement brew update et brew upgrade pour vous assurer que tous les logiciels installés sont à jour, y compris les correctifs de sécurité.
Les incidents de sécurité sont rares, mais comme pour tout logiciel qui exécute du code depuis internet, il est important de n'utiliser que des taps et des formulae de confiance. Le script d'installation de Homebrew est transparent et peut être vérifié manuellement pour détecter des actions suspectes.
Conclusion
Homebrew est un outil indispensable pour quiconque travaille sur macOS ou Linux, surtout dans des rôles techniques. Il simplifie la gestion des logiciels, réduit le temps nécessaire pour configurer des environnements et augmente la reproductibilité des installations. Avec un large éventail de formulae et de casks, la prise en charge des services, des taps et du bundling, Homebrew est devenu un véritable système de gestion de paquets qui réduit considérablement la complexité de l'installation de logiciels sur les systèmes modernes. C'est un exemple de logiciel open source qui est pratique, fiable et largement adopté au sein de la communauté technique.