La base, brew
Pour installer plein de logiciels utiles (préalable : installer XCode, gratuit avec création de compte Apple) : https://brew.sh. Ça s'utilise comme un package manager sous linux (yum, apt), avec brew search, brew install, brew update, brew upgrade...Les terminaux
Pour « la totale », on a le combo iTerm2 (remplacement de Terminal.app) + Oh My Zsh (pour facilement ajouter des thèmes et plugins à l'interpréteur de commande zsh, avec le thème Powerlevel10k et les fontes qui vont bien. Tutoriel complet : https://gist.github.com/kevin-smets/8568070.On a également le tutoriel du point de vue « développeur frontend » sur le blog de Josh W. Comeau.
Pour un truc plus pas-à-pas :
- Installer Oh-My-Zsh pour avoir une ligne de commande claire et très utile... : https://infosam.medium.com/oh-my-zsh-configuration-guide-for-macos-terminal-3ee6003b09d5 ;
- ... Et le thème Powerlevel10k qui rend les choses encore plus chouettes (avec en bonus quelques plugins et applications) : https://dev.to/abdfnx/oh-my-zsh-powerlevel10k-cool-terminal-1no0.
Divers outils
- Gérer plein de préférences macOS depuis le terminal : https://git.herrbischoff.com/awesome-macos-command-line/about/ ;
- De nombreuses applications en ligne de commande pour tous les systèmes : https://git.herrbischoff.com/awesome-command-line-apps/about/ ;
- Et pareil, plein de petits outils (réseaux, astuces, documentation, autres) : https://github.com/chubin/awesome-console-services.
Le petit plus
De nombreuses applications proposent un remplacement pour Terminal.app :
- iTerm2 cité ci-dessus est sans doute le plus facile à installer et celui qui propose le plus d'options ;
- Si vous utilisez plusieurs systèmes (macOS, Windows, GNU/Linux ou BSD...), peut-être qu'Alacritty, multi-plateformes, conviendra mieux (il conviendra aussi si vous rêviez d'utiliser les raccourcis de vi dans le terminal) ;
- Enfin, un petit nouveau macOS-only mais qui demande de se logger avec un compte GitHub : Warp, basé sur Rust, qui propose une « réinvention » du terminal pour le 21e siècle. La gestion des « blocs » (une commande correspond à un nouveau bloc de texte, à partir duquel il est facile de copier différentes informations — la commande initiale, le résultat, ou tout à la fois), ainsi que les possibilités d'édition de la commande (multi-lignes...) le rendent assez intéressant !