Avant de commencer
- Comprendre launchd et l'arborescence : voir macOS sous le capot
En clair
Sous sa carrosserie élégante, le Mac est un système Unix complet. Le Terminal en est la porte de service : derrière, on trouve un atelier entier, avec un gestionnaire de paquets, un planificateur de tâches, un serveur SSH et de quoi faire tourner d'autres systèmes. Ce guide fait le tour de l'atelier.
1. Le Terminal et zsh
Le shell par défaut de macOS est zsh. Sa configuration personnelle se place dans ~/.zshrc :
# ~/.zshrc : quelques réglages utiles
export EDITOR=nano
alias ll='ls -lahG'
alias maj='brew update && brew upgrade && brew cleanup'
setopt HIST_IGNORE_DUPS SHARE_HISTORY # historique partagé entre onglets
autoload -Uz compinit && compinit # complétion avancée
Rechargez avec source ~/.zshrc. Les commandes Unix classiques fonctionnent (voir Les commandes Linux essentielles), avec quelques différences : les outils de macOS sont ceux de BSD, pas de GNU (sed -i '' au lieu de sed -i, options de ls et date différentes).
Gestes utiles dans le Terminal :
| Geste | Effet |
|---|---|
| Glisser un fichier dans la fenêtre | Insère son chemin complet |
| Cmd + clic sur une URL ou un chemin | L'ouvre |
| Cmd + K | Efface l'écran et l'historique de défilement |
| Ctrl + R | Recherche dans l'historique |
open . |
Ouvre le dossier courant dans le Finder |
2. Homebrew : le gestionnaire de paquets
Homebrew installe les outils en ligne de commande et les applications (« casks ») depuis un dépôt communautaire open-source, avec leurs mises à jour.
/bin/bash -c "$(curl -fsSL \
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
La commande est celle du site officiel, coupée en deux lignes ; un installateur .pkg est aussi proposé sur la page GitHub du projet. Sur Mac à puce Apple, Homebrew s'installe dans /opt/homebrew ; suivez l'instruction affichée en fin d'installation pour l'ajouter au PATH.
brew search wireshark # chercher
brew install wget htop nmap # outils en ligne de commande
brew install --cask vlc keepassxc # applications
brew upgrade # tout mettre à jour
brew cleanup # supprimer les anciennes versions
brew doctor # diagnostiquer l'installation
Reconstruire un Mac en une commande : le Brewfile liste tous vos paquets et applications.
brew bundle dump --file=~/Brewfile # exporter
brew bundle --file=~/Brewfile # réinstaller sur un Mac neuf
Gardez ce fichier avec vos sauvegardes : après une réinstallation ou sur un nouveau Mac, tous vos outils reviennent en une commande. C'est l'équivalent de winget export sous Windows (voir La boîte à outils avancée de Windows).
3. Les commandes natives méconnues
| Commande | Usage |
|---|---|
caffeinate -d -t 3600 |
Empêche la mise en veille de l'écran pendant une heure |
pbcopy / pbpaste |
Presse-papiers : pbcopy < fichier.txt copie le contenu d'un fichier |
open -a "Aperçu" image.png |
Ouvre un fichier avec une application précise |
mdfind "kind:pdf facture" |
Recherche Spotlight en ligne de commande |
networkQuality |
Test de débit et de réactivité du réseau intégré |
sips -s format jpeg photo.heic --out photo.jpg |
Convertit et redimensionne des images |
textutil -convert docx note.rtf |
Convertit des documents texte |
hdiutil create -srcfolder dossier archive.dmg |
Crée une image disque |
plutil -p fichier.plist |
Affiche un fichier plist lisiblement |
shortcuts run "Nom du raccourci" |
Lance un raccourci de l'application Raccourcis |
screencapture -i capture.png |
Capture d'écran en ligne de commande |
say "Sauvegarde terminée" |
Annonce vocale en fin de script |
4. Ses propres tâches automatiques avec launchd
Sur Mac, on ne programme pas une tâche avec cron mais avec un agent launchd : un fichier .plist dans ~/Library/LaunchAgents. Exemple : lancer un script de sauvegarde chaque jour à 13 h.
Étape 1. Créez le fichier ~/Library/LaunchAgents/net.spotech.sauvegarde.plist :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.spotech.sauvegarde</string>
<key>ProgramArguments</key>
<array>
<string>/bin/zsh</string>
<string>/Users/spo/scripts/sauvegarde.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key><integer>13</integer>
<key>Minute</key><integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/spo/Library/Logs/sauvegarde.log</string>
<key>StandardErrorPath</key>
<string>/Users/spo/Library/Logs/sauvegarde.log</string>
</dict>
</plist>
Étape 2. Vérifiez la syntaxe puis chargez l'agent :
plutil -lint ~/Library/LaunchAgents/net.spotech.sauvegarde.plist
launchctl bootstrap gui/$(id -u) \
~/Library/LaunchAgents/net.spotech.sauvegarde.plist
Étape 3. Testez sans attendre l'heure prévue, puis consultez le journal :
launchctl kickstart gui/$(id -u)/net.spotech.sauvegarde
tail ~/Library/Logs/sauvegarde.log
Contrairement à cron, launchd rattrape une tâche manquée pendant la veille dès le réveil du Mac. Pour retirer l'agent : launchctl bootout gui/$(id -u)/net.spotech.sauvegarde. Si le script lit des dossiers protégés (Documents, Bureau), accordez l'accès complet au disque à /bin/zsh ou au Terminal (voir Sécurité et confidentialité sur Mac).
5. SSH et le partage d'écran
Se connecter à d'autres machines. Créez une clé moderne et un fichier de configuration :
ssh-keygen -t ed25519 -C "spo@mac"
ssh-copy-id spo@10.10.30.10
# ~/.ssh/config
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_ed25519
Host nas
HostName 10.10.30.10
User spo
UseKeychain enregistre la phrase de passe de la clé dans le trousseau : plus besoin de la retaper. ssh nas suffit ensuite.
Administrer le Mac à distance. Réglages Système › Général › Partage :
- Session à distance active le serveur SSH ; limitez-le aux seuls utilisateurs nécessaires ;
- Partage d'écran permet la prise en main graphique (protocole VNC) depuis un autre Mac (Finder › Cmd + K ›
vnc://adresse) ou un client VNC.
Comme pour tout accès distant, n'exposez jamais ces services sur internet : passez par un VPN. Voir Accès à distance : RDP, VNC, SSH et Sécuriser l'accès SSH.
6. Partage de fichiers SMB et NAS
Se connecter à un partage : Finder › Cmd + K, puis smb://nas.local/Partage ou smb://10.10.30.10/Partage. Cliquez sur + pour l'ajouter aux favoris. Pour le monter automatiquement à la connexion, ajoutez le volume monté dans Réglages Système › Général › Éléments de connexion et extensions › Ouvrir à la connexion.
Partager un dossier du Mac : Réglages Système › Général › Partage › Partage de fichiers, ajoutez le dossier et les utilisateurs autorisés. macOS partage en SMB, compatible avec Windows et Linux.
Time Machine sur un NAS : la plupart des NAS (TrueNAS, OpenMediaVault, Synology, QNAP) proposent un partage SMB marqué « Time Machine ». Le Mac le voit alors comme un disque de sauvegarde (voir Sauvegarder son Mac avec Time Machine et TrueNAS, OpenMediaVault, Unraid).
Éviter les fichiers parasites sur les partages réseau (.DS_Store) :
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
7. Virtualisation
Un Mac à puce Apple exécute des machines virtuelles ARM : Linux ARM, macOS, et Windows 11 pour ARM. Les systèmes x86 ne tournent qu'en émulation, beaucoup plus lente.
| Outil | Licence | Usage |
|---|---|---|
| UTM | Open-source, gratuit | Linux et macOS virtualisés via le framework d'Apple ; émulation x86 possible par QEMU |
| VirtualBox | Open-source | Disponible pour puce Apple, invités ARM uniquement |
| Parallels Desktop | Commercial | L'option la plus aboutie pour Windows 11 ARM et l'intégration au bureau |
| VMware Fusion | Propriétaire, gratuit | Linux et Windows ARM |
brew install --cask utm
Pour les principes, voir Machine virtuelle et hyperviseur expliqués simplement.
8. Conteneurs Linux
L'outil container d'Apple, gratuit et hébergé sur GitHub, fait tourner des conteneurs Linux au format standard OCI (les mêmes images que Docker) sur un Mac à puce Apple sous macOS 26 ou plus récent. Sa particularité : chaque conteneur tourne dans sa propre machine virtuelle légère, ce qui l'isole mieux qu'un conteneur classique. La version 1.0 est sortie en juillet 2026.
Installez le paquet signé (.pkg) depuis la page des versions du projet apple/container sur GitHub, puis :
container system start
container run --rm -it docker.io/library/debian:stable bash
Les alternatives : Docker Desktop (le plus répandu, licence payante en entreprise au-delà d'une certaine taille), Podman Desktop (open-source, sans démon), OrbStack (léger, commercial). Les fichiers Compose et les commandes Docker sont détaillés dans Les commandes Docker essentielles.
9. La fin de Rosetta
Rosetta traduit à la volée les applications prévues pour les Mac Intel. Avec macOS 27, Apple a annoncé que c'était la dernière version à le proposer de façon générale. Préparez la suite :
Étape 1. Listez les applications encore Intel : Informations système › Logiciel › Applications, puis triez sur la colonne « Type » (Apple Silicon, Universel ou Intel).
Étape 2. Pour chacune, cherchez une version Apple Silicon ou universelle chez l'éditeur, ou une alternative native (via brew search).
Étape 3. Pour un logiciel métier sans version native, envisagez une machine virtuelle ou un poste Windows ou Linux dédié.
10. Récapitulatif
| Outil | Installation | Remplace sous Windows |
|---|---|---|
| Terminal, zsh | Intégré | Windows Terminal, PowerShell |
| Homebrew, Brewfile | Script sur brew.sh | winget, winget export |
| launchd | Intégré | Planificateur de tâches |
| SSH, Session à distance | Intégré | OpenSSH Server |
| Partage d'écran | Intégré | Bureau à distance |
| Partage de fichiers SMB | Intégré | Partage de fichiers Windows |
| UTM | brew install --cask utm |
Hyper-V |
container d'Apple |
Paquet .pkg sur GitHub |
WSL avec Docker ou Podman |