Switch de Windows à macOS (pour développeur)#
Guide pratique pour un développeur habitué à Windows qui passe à macOS. Couvre les différences essentielles, les pièges fréquents et les bonnes pratiques de dev.
Différences clés d'environnement#
| Aspect | Windows | macOS |
|---|---|---|
| Noyau | NT (closed-source) | Darwin (Unix, basé sur BSD) |
| Shell par défaut | PowerShell / cmd | zsh (depuis Catalina) |
| Filesystem | NTFS / ReFS | APFS |
| Sensibilité à la casse | Sensible (Case-sensitive) | Insensible par défaut (Foo.txt = foo.txt) |
| Gestionnaire de paquets | winget / Chocolatey / Scoop | Homebrew (indispensable) |
| Permissions élévation | UAC (prompt administrateur) | sudo (comme Linux) |
| Séparateur de chemin | \ (backslash) |
/ (forward slash, comme Linux) |
| ligne de fin de fichier | CRLF (\r\n) |
LF (\n) |
| Registry | Oui (regedit) |
Aucun équivalent (plist + fichiers de config) |
Le point le plus important : macOS est un système Unix. Tout ce que vous connaissez de Linux (bash/zsh, permissions POSIX, hiérarchie de fichiers Unix, outils GNU/BSD) s'applique. Votre muscle memory Linux est plus pertinente que votre muscle memory Windows.
Équivalences clavier#
C'est le plus gros choc initial. La touche Cmd (⌘) remplace Ctrl dans la plupart des raccourcis système.
Correspondances générales#
| Action | Windows | macOS |
|---|---|---|
| Copier | Ctrl+C |
Cmd+C |
| Couper | Ctrl+X |
Cmd+X |
| Coller | Ctrl+V |
Cmd+V |
| Sélectionner tout | Ctrl+A |
Cmd+A |
| Annuler (undo) | Ctrl+Z |
Cmd+Z |
| Refaire (redo) | Ctrl+Y |
Cmd+Shift+Z |
| Rechercher | Ctrl+F |
Cmd+F |
| Nouvel onglet | Ctrl+T |
Cmd+T |
| Fermer onglet / fenêtre | Ctrl+W / Alt+F4 |
Cmd+W / Cmd+Q |
| Imprimer | Ctrl+P |
Cmd+P |
| Sauvegarder | Ctrl+S |
Cmd+S |
Navigation texte#
| Action | Windows | macOS |
|---|---|---|
| Début de ligne | Home |
Cmd+← ou Ctrl+A |
| Fin de ligne | End |
Cmd+→ ou Ctrl+E |
| Mot précédent / suivant | Ctrl+← / Ctrl+→ |
Alt+← / Alt+→ |
| Supprimer mot avant curseur | Ctrl+Backspace |
Alt+Backspace |
| Supprimer toute la ligne après curseur | — | Ctrl+K |
| Début / fin de document | Ctrl+Home / Ctrl+End |
Cmd+↑ / Cmd+↓ |
Astuce : Dans le Terminal macOS, les raccourcis de navigation texte Unix traditionnels fonctionnent aussi (
Ctrl+A= début de ligne,Ctrl+E= fin de ligne,Ctrl+W= supprimer mot précédent,Ctrl+U= supprimer ligne entière).
Correspondances de touches physiques#
| Touche Windows | Touche macOS | Note |
|---|---|---|
Ctrl |
Cmd (⌘) |
Pour les raccourcis applicatifs |
Alt |
Option (⌥) |
Caractères spéciaux, navigation mot par mot |
Win |
Cmd ou Fn |
Selon le contexte |
Ctrl (raccourcis shell) |
Control (même touche) |
Ctrl+C, Ctrl+Z en terminal restent sur Control |
Caps Lock |
Caps Lock |
Désactivable dans Réglages Système |
Print Screen |
Cmd+Shift+3 (plein écran) / Cmd+Shift+4 (sélection) |
Pas de touche dédiée |
Delete (suppr à droite) |
Fn+Backspace ou Delete (selon clavier) |
Backspace s'appelle "Delete" sur Mac |
Num Lock |
Clear |
Rarement pertinent |
Caractères spéciaux importants#
| Touche | Symbole macOS | Nom |
|---|---|---|
Cmd |
⌘ |
Command (CLOVER) |
Option |
⌥ |
Option |
Shift |
⇧ |
Shift |
Control |
⌃ |
Control |
Caps Lock |
⇪ |
Caps Lock |
Fn |
Fn ou 🌐 |
Globe (sur claviers récents) |
Gestion des fenêtres#
Bases#
| Action | Windows | macOS |
|---|---|---|
| Maximiser | Bouton carré | Bouton vert (mais = plein écran, pas "maximiser") |
| Minimiser | Bouton _ |
Bouton jaune (Cmd+M) |
| Fermer | Bouton X |
Bouton rouge (Cmd+W) |
| Basculer entre apps | Alt+Tab |
Cmd+Tab |
| Basculer entre fenêtres d'une même app | — | Cmd+~ (backtick) |
| Forcer à quitter | Gestionnaire des tâches | Cmd+Option+Esc |
| Bureau | Win+D |
F11 ou gesture trackpad |
| Mission Control (toutes fenêtres) | Win+Tab |
F3 ou Ctrl+↑ (gesture 3 doigts vers le haut) |
Différences notables#
- "Maximiser" : sur macOS, le bouton vert met en plein écran (interface dédiée, cache la barre de menus). Pour simplement agrandir la fenêtre, double-cliquez la barre de titre ou utilisez un tool comme Rectangle.
- Menu bar : macOS a une barre de menus unique en haut de l'écran (pas dans chaque fenêtre). C'est l'application active qui occupe la barre. L'équivalent du menu contextuel d'une fenêtre est dans cette barre.
- Redimensionnement : seul le coin bas-droit fonctionne par défaut (contrairement à Windows où on peut agripper tous les bords). Là encore, des tools tierces améliorent ça.
- Alt+Tab / Cmd+Tab :
Cmd+Tabbascule entre applications. Pour basculer entre fenêtres d'une même app, c'estCmd+~(ouCmd+Backtick).
Outils tiers recommandés pour la gestion des fenêtres#
macOS est pauvre en gestion de fenêtres par défaut (pas de snapping à la Windows). Installer :
- Rectangle (gratuit, open-source) — snapping type Windows (
Ctrl+Option+←= moitié gauche). C'est le minimum vital. - Magnet (payant App Store) — alternative similaire.
- Amethyst (gratuit) — tiling window manager type i3/sway.
brew install --cask rectangle
Finder vs Explorer#
Différences conceptuelles#
| Concept | Explorer (Windows) | Finder (macOS) |
|---|---|---|
| Sélection multiple contiguë | Shift+Clic |
Shift+Clic |
| Sélection multiple discontinue | Ctrl+Clic |
Cmd+Clic |
| Ouvrir dans nouvelle fenêtre | Clic milieu ou Ctrl+Double-clic |
Cmd+Double-clic |
| Couper / coller fichier | Ctrl+X → Ctrl+V |
Impossible par défaut — Cmd+C puis Cmd+Option+V pour déplacer |
| Adresse de chemin visible | Barre d'adresse | Option+Cmd+P (barre de chemin) ou Cmd+↑ |
| Copier chemin en texte | Shift+clic droit → "Copier en tant que chemin" | Option+Cmd+C ou clic droit → "Copier [fichier] comme chemin d'accès" |
| Raccourci vers dossier | Barre latérale, favoris | Barre latérale (favoris), tags |
| Recherche | Win+F ou barre de recherche |
Cmd+F ou barre de recherche (Spotlight indexé) |
Chemins clés#
| Windows | macOS | Rôle |
|---|---|---|
C:\Users\vous |
/Users/vous (alias ~) |
Home directory |
C:\Program Files |
/Applications |
Applications GUI |
C:\Program Files (x86) |
(pas d'équivalent) | — |
C:\Windows\System32 |
/usr/bin, /bin, /System |
Binaires système |
C:\Users\vous\AppData\Local |
~/Library/Application Support |
Données app |
C:\Users\vous\AppData\Roaming |
~/Library/Preferences |
Préférences |
C:\Users\Public |
/Users/Shared |
Dossier partagé |
\\serveur\partage |
smb://serveur/partage |
Partage réseau |
| Variables d'environnement (UI) | ~/.zshrc ou ~/.zprofile |
— |
Finder masque les dossiers système par défaut. Pour afficher
~/Library: Finder → menu Aller → maintenirOption→ "Bibliothèque" apparaît.
Terminal natif et shells#
Terminal.app vs alternatives#
macOS fournit Terminal.app (dans /Applications/Utilitaires/). Il est fonctionnel mais limité. Installer un meilleur terminal :
| Terminal | Avantages | Installation |
|---|---|---|
| iTerm2 | Split panes, profiles, hotkey window, triggers, intégration tmux | brew install --cask iterm2 |
| Warp | Terminal "intelligent" avec AI, blocs de commandes | brew install --cask warp |
| Kitty / Alacritty | GPU-accelerated, minimal, très rapide | brew install --cask kitty / brew install alacritty |
| Ghostty | Moderne, rapide, par Mitchell Hashimoto | brew install --cask ghostty |
Recommandation : iTerm2 pour démarrer, c'est le standard.
Shell : zsh par défaut#
Depuis macOS Catalina (10.15), zsh est le shell par défaut (bash est encore dispo mais ancien).
Vérifier votre shell :
echo $SHELL # /bin/zsh
Fichiers de configuration zsh (par ordre de chargement) :
/etc/zprofile— système, exécuté au login~/.zprofile— utilisateur, au login (l'équivalent de.bash_profile)/etc/zshrc— système, à chaque shell interactif~/.zshrc— utilisateur, à chaque shell interactif ← c'est ici que vous mettez vos alias, votre PATH, etc.
Améliorer zsh#
Installer un framework comme Oh My Zsh pour avoir de l'autocomplétion, un thème sympa et une gestion simple de plugins :
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Plugins utiles (dans ~/.zshrc, ligne plugins=(...)) :
git— alias git essentiels (gst,gco,gpush, etc.)z— saut rapide entre répertoires récentszsh-autosuggestions— autocomplétion type fishzsh-syntax-highlighting— coloration syntaxique en temps réeldocker,docker-compose— complétionbrew— alias Homebrew
Homebrew — le gestionnaire de paquets#
Homebrew est l'équivalent de apt, dnf, winget sur macOS. C'est le premier truc à installer.
Installation#
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Sur Apple Silicon (M1+), Homebrew s'installe dans /opt/homebrew. Ajoutez au ~/.zprofile :
eval "$(/opt/homebrew/bin/brew shellenv)"
Usage#
# Installer un outil CLI
brew install wget git ripgrep fzf jq node python
# Installer une app GUI (cask)
brew install --cask iterm2 visual-studio-code docker rectangle
# Mettre à jour
brew update && brew upgrade
# Chercher
brew search <terme>
# Lister ce qui est installé
brew list
# Désinstaller
brew uninstall <paquet>
brew uninstall --cask <app>
# Nettoyage
brew cleanup
Formula vs Cask#
| Type | Rôle | Exemples |
|---|---|---|
| formula | Outils en ligne de commande, libs | git, node, python, wget |
| cask | Applications GUI (.app, .dmg) | google-chrome, docker, slack, iterm2 |
Equivalent des commandes Windows#
| Besoin | Windows | macOS (Homebrew) |
|---|---|---|
| Installer | winget install X |
brew install X |
| App GUI | winget install X |
brew install --cask X |
| Chercher | winget search X |
brew search X |
| Lister | winget list |
brew list |
| Maj | winget upgrade --all |
brew upgrade |
Brewfile (reproductibilité)#
Pour sauvegarder / restaurer votre setup :
# Exporter
brew bundle dump --file=~/Brewfile
# Réinstaller depuis un Brewfile
brew bundle --file=~/Brewfile
PATH et variables d'environnement#
Sur macOS (zsh), les variables d'environnement se définissent dans ~/.zshrc (ou ~/.zprofile pour les sessions login).
Définir le PATH#
# ~/.zshrc
# Homebrew (Apple Silicon)
eval "$(/opt/homebrew/bin/brew shellenv)"
# Ajouter des dossiers au PATH
export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH" # Rust
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
# Variables diverses
export EDITOR="code --wait"
export LANG="fr_FR.UTF-8"
export GOPATH="$HOME/go"
Recharger après modification :
source ~/.zshrc
Différences avec Windows#
| Concept | Windows | macOS |
|---|---|---|
| Définir une variable | setx VAR "valeur" (persistant) ou $env:VAR (PowerShell session) |
export VAR="valeur" (session) ou dans ~/.zshrc (persistant) |
| Variables système (UI) | Panneau de config → Variables d'environnement | Aucune UI — fichier de config |
| PATH séparateur | ; |
: |
| Voir une variable | echo %VAR% / $env:VAR |
echo $VAR |
| Voir toutes les variables | Get-ChildItem Env: |
env ou printenv |
| Variable utilisateur vs système | HKCU\Environment vs HKLM\System\... |
~/.zshrc (utilisateur) vs /etc/zshrc (système) |
Attention : les apps GUI (lancées depuis le Finder / Spotlight) ne lisent pas
~/.zshrc. Pour passer des variables à des apps GUI, il faut utiliserlaunchctl setenv VAR valeurou un fichier.plistdans~/Library/LaunchAgents.
Git sur macOS#
Installation#
Git est préinstallé sur macOS, mais souvent une version ancienne. Utiliser Homebrew :
brew install git
git --version # devrait afficher une version récente
Configuration#
git config --global user.name "Votre Nom"
git config --global user.email "vous@example.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"
git config --global pull.rebase true
Credentials et SSH#
Option A — GitHub CLI (recommandé) :
brew install gh
gh auth login
gh configure automatiquement les credentials Git HTTPS pour GitHub.
Option B — SSH keys :
ssh-keygen -t ed25519 -C "vous@example.com"
# Suivre les prompts (passphrase optionnelle)
cat ~/.ssh/id_ed25519.pub
# Ajouter la clé publique sur GitHub/GitLab
Le Keychain macOS gère automatiquement le passphrase SSH : une fois débloquée, vous n'avez plus besoin de la retaper pendant la session.
CRLF vs LF#
C'est un piège classique : Windows a tendance à configurer git en mode core.autocrlf=true, ce qui convertit les fins de ligne. Sur macOS, on veut du LF pur :
# Désactiver la conversion automatique
git config --global core.autocrlf false
# Préférable : utiliser un .gitattributes à la racine du repo
echo "* text=auto" > .gitattributes
Gestion des permissions — pas de UAC#
macOS fonctionne comme Linux avec le modèle Unix : permissions POSIX (rwx), utilisateur normal, et élévation via sudo.
Différences fondamentales#
| Concept | Windows | macOS |
|---|---|---|
| Élévation de privilèges | UAC prompt (GUI, OK/Cancel) | sudo commande (CLI, mot de passe) |
| Compte admin | Membre du groupe Administrateurs | Membre du groupe admin |
| Root | Pas de root login (SYSTEM) | sudo -i ou sudo su - pour shell root |
| Modifier système | UAC | sudo |
| Installer app (GUI) | .exe / .msi (UAC) | Drag dans /Applications (souvent pas besoin de sudo) |
Exemples#
# Modifier un fichier système
sudo nano /etc/hosts
# Installer un binaire dans /usr/local/bin (peut nécessiter sudo selon setup)
sudo cp monbinaire /usr/local/bin/
# Changer le propriétaire d'un fichier
sudo chown vous:staff /chemin/fichier
# Rendre un script exécutable
chmod +x script.sh
L'équivalent "désactiver le UAC"#
Sur macOS, il n'y a pas de toggle pour désactiver l'élévation. Mais vous pouvez :
- Configurer
sudopour ne pas demander le mot de passe (sudo visudo, ajouterNOPASSWD:— déconseillé). - Être root en permanence via
sudo -i(à éviter).
En pratique, macOS demande votre mot de passe moins souvent que Windows ne demande UAC, car beaucoup d'installations d'apps ne nécessitent pas de privilèges (drag dans /Applications).
Pièges courants#
1. Docker Desktop#
Docker Desktop sur macOS n'est pas natif : macOS ne peut pas faire tourner de conteneurs Linux directement (kernel différent). Docker Desktop lance une VM Linux (via Hypervisor.framework) et expose le daemon Docker.
Implications :
- Lenteur I/O : le mount de volumes (
-v) entre le filesystem macOS et la VM Linux est lent. Solutions : - Utiliser des named volumes Docker plutôt que des bind mounts pour les données.
- Activer VirtioFS dans Docker Desktop (Settings → General → "Choose file sharing implementation") — bien plus rapide que le défaut
osxfs. - Pour des projets très intensifs I/O (Symfony, Rails, gros
node_modules), envisager Colima (plus léger) ou OrbStack (rapide, natif, commercial).
# Alternative légère à Docker Desktop
brew install colima docker
colima start
- Licence : Docker Desktop est payant pour les entreprises > 250 employés. Colima et OrbStack sont des alternatives.
2. Filesystem case-insensitive par défaut#
APFS sur macOS est case-insensitive mais case-preserving par défaut :
Foo.txtetfoo.txtpointent vers le même fichier.- Le nom affiché préserve la casse (
Foo.txtresteFoo.txt), maisls foo.txtfonctionne aussi.
Pièges :
- Git : si vous renommez un fichier en changeant juste la casse (
MyComponent.js→mycomponent.js), Git sur macOS ne voit pas de changement. Solution :
git mv -f MyComponent.js temp.js
git mv -f temp.js mycomponent.js
ou
git config core.ignorecase false
- Linux de prod : Linux est case-sensitive. Un code qui marche sur macOS peut casser en prod si deux fichiers ont des noms ne différant que par la casse.
- Sensibilité configurable : APFS peut être créé en mode case-sensitive (
diskutil apfs addVolume ... -caseSensitive), mais c'est rare et certains apps ne le supportent pas.
3. Caractères spéciaux dans les noms de fichiers#
macOS accepte des caractères que Windows refuse (et vice-versa) :
- macOS autorise :
:,?,*dans les noms de fichiers... enfin non, macOS remplace:par/dans l'API et vice-versa (NFD vs NFC normalization). En fait, macOS interdit:et/dans les noms (comme Windows), mais la substitution est transparente. - macOS autorise les noms avec espaces de tête/trailing, très longs, des emojis, etc.
- Unicode normalization : macOS utilise NFD (decomposed form) pour les noms de fichiers accentués. Linux utilise NFC (composed). Conséquence : un fichier
café.txtcréé sur Mac peut apparaître comme deux fichiers différents quand on le pousse sur un système Linux via rsync/git. La plupart des outils gèrent ça, mais c'est un piège potentiel.
4. Command line tools pas installés#
Beaucoup d'outils dev (gcc, make, git, headers système) ne sont pas installés par défaut. Le premier git ou compilation peut échouer avec :
xcode-select: note: no developer tools were found at '/Applications/Xcode.app'
Installer les Command Line Tools (sans Xcode complet, ~1.5 Go) :
xcode-select --install
À faire en premier après installation de macOS.
5. brew install lent / erreur de permissions#
Sur Apple Silicon, Homebrew installe dans /opt/homebrew. Si vous avez des erreurs de permissions :
sudo chown -R $(whoami) /opt/homebrew/*
6. Python / pip / system Python#
Le Python système macOS (/usr/bin/python3) est bridgé : vous ne pouvez pas pip install globalement sans casser le système. Solutions :
# Utiliser le Python Homebrew
brew install python
# Ou mieux : utiliser uv (gestionnaire de paquets Python moderne, ultra rapide)
brew install uv
# Ou pyenv pour gérer plusieurs versions
brew install pyenv
pyenv install 3.12.0
pyenv global 3.12.0
7. "Ouvrir avec" — fichier bloqué#
macOS Gatekeeper bloque les apps non signées ("XYZ ne peut pas être ouvert car l'identité du développeur ne peut pas être vérifiée"). Pour bypasser :
- Réglages Système → Confidentialité et sécurité → "Ouvrir quand même"
- Ou en CLI :
xattr -cr /Applications/MonApp.app
8. Pas de tiling natif#
Windows 11 a le snapping de fenêtres intégré. macOS n'a rien par défaut. Installer Rectangle dès le premier jour :
brew install --cask rectangle
Bonnes pratiques de dev sur macOS#
Setup minimum recommandé (à installer le jour 1)#
# 1. Command Line Tools (prérequis pour tout)
xcode-select --install
# 2. Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 3. Les essentiels
brew install git node python ripgrep fzf jq gh
brew install --cask iterm2 rectangle visual-studio-code
# 4. Configurer git
git config --global user.name "Votre Nom"
git config --global user.email "vous@example.com"
git config --global init.defaultBranch main
git config --global core.autocrlf false
# 5. Auth GitHub
gh auth login
Workflow quotidien#
- Terminal : iTerm2 avec un profile configuré (police mono, thème sombre, splits avec
Cmd+D/Cmd+Shift+D). - Éditeur : VS Code, Neovim, ou JetBrains. Tous marchent identiquement à Windows.
- Recherche globale : Spotlight (
Cmd+Espace) — équivalent de la barre de recherche Windows. Taper une app, un fichier, un calcul, une définition. - Gestion des fenêtres : Rectangle pour le snapping.
- Mot de passe / secrets : Keychain Access (intégré) ou 1Password / Bitwarden.
Productivité#
| Raccourci | Action |
|---|---|
Cmd+Espace |
Spotlight (recherche globale) |
Cmd+Tab |
Basculer entre apps |
Cmd+~ |
Basculer entre fenêtres d'une même app |
Cmd+Option+Esc |
Force quit (équivalent Task Manager) |
Cmd+Option+D |
Afficher/cacher le Dock |
Cmd+Shift+3 |
Capture plein écran |
Cmd+Shift+4 |
Capture sélection |
Cmd+Shift+5 |
Capture vidéo / options de capture |
Cmd+Ctrl+Q |
Verrouiller l'écran |
F3 ou Ctrl+↑ |
Mission Control |
Ctrl+← / Ctrl+→ |
Switch entre Spaces (bureaux virtuels) |
Sensibilité à la casse et Git#
Pour éviter les ennuis en équipe avec des devs Linux :
- Ne jamais renommer un fichier en changeant juste la casse.
- Si nécessaire, faire le renommage en deux étapes via
git mv. - Garder
core.ignorecaseàtrue(le défaut) sur macOS pour éviter les bugs.
Secrets et variables#
- Utiliser Keychain pour stocker les secrets système.
- Pour les variables d'environnement de dev, un fichier
.envà la racine du projet, chargé viadirenv:
brew install direnv
# Ajouter à ~/.zshrc :
# eval "$(direnv hook zsh)"
# À la racine d'un projet :
echo 'export DATABASE_URL="postgresql://..."' > .envrc
direnv allow
Performance dev#
- Désactiver Spotlight sur
node_modules: Spotlight indexe tout et peut ralentir un projet avec 50k fichiers. Système Settings → Spotlight → Privacy → ajouter vos dossiers de projets.
# Via CLI (plus rapide)
sudo mdutil -i off /chemin/vers/projet
- Docker : si vous faites du Docker intensif, utilisez Colima ou OrbStack plutôt que Docker Desktop pour de meilleures perfs I/O.
Backup du setup#
Sauvegarder votre Brewfile et vos dotfiles dans un repo Git :
brew bundle dump --file=~/dotfiles/Brewfile
# + copier ~/.zshrc, ~/.gitconfig, etc.
Permet de restaurer un Mac neuf en quelques minutes.
Cheatsheet — équivalences Windows → macOS#
| Tâche | Windows | macOS |
|---|---|---|
| Installer un paquet | winget install X |
brew install X |
| Installer une app | winget install X |
brew install --cask X ou App Store |
| Shell | PowerShell | zsh |
| Variables d'env | Panneau de config | ~/.zshrc |
| Copier / coller | Ctrl+C / Ctrl+V |
Cmd+C / Cmd+V |
| Recherche globale | Win puis taper |
Cmd+Espace (Spotlight) |
| Gestionnaire des tâches | Ctrl+Shift+Esc |
Cmd+Option+Esc (Force Quit) ou Moniteur d'activité |
| Terminal | Windows Terminal | iTerm2 |
| PATH | setx PATH "%PATH%;C:\bin" |
export PATH="$PATH:/bin" dans ~/.zshrc |
| Sudo / élévation | UAC prompt | sudo commande |
| Screen capture | Win+Shift+S |
Cmd+Shift+4 |
| Lock screen | Win+L |
Cmd+Ctrl+Q |
| Bureau | Win+D |
F11 (Show Desktop) |
| Explorer | Explorer | Finder |
| Editeur de code | VS Code | VS Code (identique) |