Homebrew 6.0 vient de changer la façon dont votre Mac installe des logiciels
BBetter Stack
Computing/SoftwareInternet Technology
Transcript
00:00:00Il y a quelques mois, sur cette même chaîne, on a publié une vidéo où l'on qualifiait Homebrew
00:00:05d'outil de l'âge de pierre utilisé uniquement parce que Nix le surpasse largement. Il est donc juste que je
00:00:12revienne vers vous pour vous dire ceci. Cet outil de l'âge de pierre vient de sortir sa première
00:00:17version majeure depuis des années : Homebrew 6.0. Et voici le point clé : ce n'est pas une foule de nouvelles
00:00:23fonctionnalités, mais une refonte complète de la sécurité. Homebrew a gagné en maturité.
00:00:30Laissez-moi vous expliquer ce qui a changé, car c'est bien plus intéressant qu'un simple changement de numéro de version.
00:00:38Pendant toute l'existence de Homebrew, quand vous ajoutiez un dépôt tiers (le dépôt de quelqu'un d'autre),
00:00:45Homebrew exécutait simplement son code Ruby. Il l'exécutait directement. N'importe quel dépôt,
00:00:51du code arbitraire, sans poser la moindre question. Pensez au monde dans lequel nous vivons aujourd'hui.
00:00:56Les gestionnaires de paquets sont la cible numéro un des attaques de la chaîne d'approvisionnement. NPM et tous les autres
00:01:01se font pirater sans arrêt. Exécuter aveuglément le code d'un dépôt est une mauvaise option par défaut.
00:01:08La nouvelle fonction de Homebrew 6.0 est là pour corriger ça. Elle s'appelle Tap Trust. Si vous aimez ce genre de conseils en développement,
00:01:15n'hésitez pas à vous abonner. Nous publions régulièrement des vidéos. Mais commençons par ce que vous
00:01:19ressentirez au quotidien. La commande `brew version`. La voilà : 6.0. Regardez ce qui se passe quand j'installe
00:01:25un paquet qui nécessite quelques dépendances. Au lieu de s'exécuter silencieusement, Brew affiche désormais
00:01:31un résumé de tout ce qu'il s'apprête à installer et attend ma confirmation. C'est le nouveau mode Ask,
00:01:38activé par défaut pour les développeurs. C'est un petit changement, mais vous voyez désormais ce qui est prévu avant que Brew ne touche
00:01:44à votre machine. Passons au changement majeur : Tap Trust. Regardez quand j'ajoute un dépôt tiers.
00:01:50Homebrew m'arrête net. Il indique que ce dépôt n'est pas encore approuvé et n'exécutera pas la moindre ligne de code
00:01:56tant que je ne l'aurai pas explicitement autorisé avec `brew trust`. C'est seulement après cela qu'il s'exécute.
00:02:03Les dépôts officiels Homebrew sont approuvés par défaut. Votre utilisation habituelle de Brew reste donc la même.
00:02:09Mais pour ce petit dépôt douteux dénichons dans le fichier README d'un inconnu sur GitHub,
00:02:16c'est désormais une porte verrouillée : vous devez l'approuver manuellement.
00:02:20Et honnêtement, c'est une excellente décision à ce stade. Ce n'est d'ailleurs pas la seule amélioration.
00:02:25Le système de métadonnées interne est désormais activé par défaut. Toutes les infos de vos paquets sont récupérées
00:02:30en un seul téléchargement au lieu d'une douzaine de requêtes réseau. `brew update` est donc bien plus rapide. Une
00:02:37toute nouvelle commande fait son apparition : `brew execute`, qui équivaut à `npx` pour Homebrew. Elle permet d'exécuter un outil
00:02:45sans l'installer définitivement sur votre système. Il y a aussi `brew vulns`, qui analyse les paquets déjà installés
00:02:51pour repérer les failles de sécurité connues. Enfin, la version 6.0 corrige en toute discrétion trois failles, dont une permettant
00:02:58d'exécuter du code en tant que root via l'installateur Mac. C'est une mise à jour solide. Mais voici le hic,
00:03:04et pour certains d'entre vous, cela aura un impact majeur. Je préfère ne pas vous le cacher.
00:03:09Le système Tap Trust introduit une rupture de compatibilité. Si vos pipelines CI s'appuient sur des dépôts tiers,
00:03:14`brew doctor` renvoie une erreur dès qu'il détecte un dépôt non approuvé. Or, de très nombreuses GitHub Actions
00:03:20exécutent `brew doctor` comme toute première étape. Certains utilisateurs ont mis à jour Homebrew et leurs builds ont directement échoué.
00:03:28La solution consiste à marquer ces dépôts comme approuvés dans votre configuration, mais vous devez le faire vous-même.
00:03:35Personne ne le fera à votre place. Même constat pour le mode Ask : si vos scripts comptaient
00:03:41sur des installations silencieuses, cette nouvelle demande de confirmation peut les bloquer indéfiniment. Pour le reste,
00:03:46si vous êtes un utilisateur classique qui installe des applications au quotidien, l'expérience reste quasi identique.
00:03:51Il s'agit d'une mise à jour de sécurité et d'architecture, pas d'un simple ravalement de façade. Un mot sur une idée reçue :
00:03:58beaucoup de projets sont réécrits en Rust. Non, Homebrew n'est pas en train d'être réécrit en Rust,
00:04:04du moins pas pour le moment. C'était une simple expérimentation. L'attention reste portée sur le code Ruby,
00:04:10comme au premier jour. Faut-il donc passer à Homebrew 6.0 ? Pour la majorité des gens, la réponse est oui.
00:04:16Vous bénéficiez de trois correctifs de sécurité et, de toute façon, `brew update` vous fera passer à la version 6.0,
00:04:22que vous l'ayez planifié ou non. Les personnes qui devraient temporiser un peu sont
00:04:27celles qui exécutent des CI interagissant avec des dépôts tiers ou des automatisations nécessitant des installations silencieuses. Réglez
00:04:33ces points d'abord et tout ira bien. Et si vous utilisez toujours un Mac Intel, attention : la 6.0 précise le calendrier
00:04:40d'abandon du support des puces Intel au cours des prochaines années. Pour les utilisateurs de Mac Apple Silicon,
00:04:46aucun souci à se faire. Le support intègre même les nouvelles puces M5. Voici ce qu'il faut en retenir :
00:04:53Pendant des années, Homebrew a été une solution de facilité : le moyen le plus rapide d'installer un logiciel sur Mac.
00:04:59Avec la version 6.0, il devient un point de contrôle où le code arrivant sur la machine
00:05:05doit enfin prouver sa fiabilité. C'est une étape importante. Ce gestionnaire de paquets
00:05:10s'est enfin adapté au modèle de menaces auquel nous sommes confrontés depuis des années. C'est le point essentiel
00:05:15ici, plus encore que le numéro de version (6.0 ou 6.1). Si vous aimez ce genre de conseils
00:05:21en développement, pensez à vous abonner à la chaîne BetterStack. À bientôt dans une prochaine vidéo.