Skip to content

Guide Terminal - Windows vs macOS

Le terminal peut sembler intimidant, mais c’est un outil essentiel pour le développement web. Ce guide vous aide à comprendre les différences entre Windows et macOS/Linux.


Les bases : qu’est-ce qu’un terminal ?

Section titled “Les bases : qu’est-ce qu’un terminal ?”

Un terminal (ou invite de commandes) est une interface texte pour donner des instructions à votre ordinateur. Au lieu de cliquer, vous tapez des commandes.

Sur macOS/Linux :

  • Application : Terminal (ou iTerm2)
  • Shell par défaut : zsh ou bash

Sur Windows :

  • Applications : PowerShell, CMD, ou Windows Terminal
  • Shell par défaut : PowerShell (recommandé)

ActionmacOS/LinuxWindows (PowerShell)
Afficher le dossier actuelpwdpwd ou Get-Location
Lister les fichierslsls ou dir
Changer de dossiercd nom-dossiercd nom-dossier
Remonter d’un dossiercd ..cd ..
Aller au dossier personnelcd ~cd ~

Exemples :

Terminal window
# macOS/Linux
cd Documents
cd ~/Desktop
pwd
Terminal window
# Windows PowerShell
cd Documents
cd ~\Desktop
pwd

macOS/Linux : utilise le slash /

Terminal window
/Users/julien/code/mon-projet
~/Desktop/fichier.txt

Windows : utilise le backslash \ (mais PowerShell accepte aussi /)

Terminal window
C:\Users\Julien\code\mon-projet
~\Desktop\fichier.txt

Conseil : Dans les commandes npm/node, utilisez toujours / (compatible partout).


3. Créer et supprimer des fichiers/dossiers

Section titled “3. Créer et supprimer des fichiers/dossiers”
ActionmacOS/LinuxWindows (PowerShell)
Créer un dossiermkdir nom-dossiermkdir nom-dossier
Créer un fichier videtouch fichier.txtNew-Item fichier.txt
Supprimer un fichierrm fichier.txtrm fichier.txt ou del fichier.txt
Supprimer un dossierrm -rf dossierrm -r -Force dossier

Exemples :

Terminal window
# macOS/Linux
mkdir src/lib
touch src/lib/Composant.svelte
Terminal window
# Windows PowerShell
mkdir src\lib
New-Item src\lib\Composant.svelte

macOS/Linux : utilise sudo pour les droits administrateur

Terminal window
sudo npm install -g vite

Windows : exécuter PowerShell en tant qu’Administrateur (clic droit > “Exécuter en tant qu’administrateur”)

Terminal window
npm install -g vite

Note : Évitez sudo npm install dans vos projets (jamais dans le dossier projet).


ActionmacOS/LinuxWindows (PowerShell)
Afficher une variableecho $PATHecho $env:PATH
Définir une variableexport VAR=valeur$env:VAR="valeur"

6. Commandes utiles pour le développement

Section titled “6. Commandes utiles pour le développement”
ActionmacOS/LinuxWindowsNotes
Lancer un serveurnpm run devnpm run dev✅ Identique
Installer des dépendancesnpm installnpm install✅ Identique
Vérifier la version Nodenode --versionnode --version✅ Identique
Ouvrir un fichieropen fichier.htmlstart fichier.html⚠️ Différent
Effacer l’écranclearcls ou clear⚠️ Différent
Copier un fichiercp source.txt dest.txtcopy source.txt dest.txt⚠️ Différent

Problème 1 : “npm n’est pas reconnu”

Section titled “Problème 1 : “npm n’est pas reconnu””

Cause : Node.js n’est pas installé ou pas dans le PATH

Solution :

  1. Télécharger et installer Node.js depuis nodejs.org
  2. Redémarrer le terminal
  3. Vérifier avec node --version

Problème 2 : “permission denied” (macOS/Linux)

Section titled “Problème 2 : “permission denied” (macOS/Linux)”

Cause : Droits insuffisants

Solution :

Terminal window
# NE PAS utiliser sudo pour npm install dans un projet
# À la place, réparer les permissions npm globales :
sudo chown -R $(whoami) ~/.npm

Problème 3 : “execution policy” (Windows PowerShell)

Section titled “Problème 3 : “execution policy” (Windows PowerShell)”

Erreur :

npm : Impossible de charger le fichier... car l'exécution de scripts est désactivée sur ce système

Solution :

Terminal window
# Exécuter PowerShell en tant qu'administrateur, puis :
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Problème 4 : Caractères bizarres dans le terminal Windows

Section titled “Problème 4 : Caractères bizarres dans le terminal Windows”

Cause : Encodage incorrect

Solution :

Terminal window
chcp 65001

Ou utiliser Windows Terminal (plus moderne que PowerShell classique).


RaccourciAction
Ctrl + CArrêter un processus en cours
Ctrl + L ou clearEffacer l’écran
TabAuto-complétion
/ Naviguer dans l’historique
Ctrl + AAller au début de la ligne
Ctrl + EAller à la fin de la ligne
RaccourciAction
Ctrl + CArrêter un processus en cours
cls ou clearEffacer l’écran
TabAuto-complétion
/ Naviguer dans l’historique
HomeAller au début de la ligne
EndAller à la fin de la ligne

Identique sur macOS et Windows :

Terminal window
npm create vite@latest mon-projet-rtmf -- --template svelte
cd mon-projet-rtmf
npm install
npm run dev

macOS/Linux :

Terminal window
mkdir -p src/lib
touch src/lib/MonComposant.svelte

Windows PowerShell :

Terminal window
mkdir src\lib -Force
New-Item src\lib\MonComposant.svelte

Alternative (marche partout) : Créer le fichier directement dans votre éditeur de code.


Bonne nouvelle : Les commandes Git sont identiques sur tous les systèmes.

Terminal window
git init
git add .
git commit -m "Message"
git status
git log

  1. Ne pas avoir peur de se tromper : Au pire, vous fermez le terminal et recommencez
  2. Utiliser l’auto-complétion : Tapez les premières lettres puis Tab
  3. Copier-coller : Clic droit dans le terminal (ou Ctrl+Shift+V)
  4. Lire les erreurs : Souvent, elles indiquent la solution
  5. Demander de l’aide : Si bloqué, montrez l’erreur à l’enseignant

TâchemacOS/LinuxWindows
Lister fichierslsls ou dir
Changer de dossiercd dossiercd dossier
Créer un dossiermkdir dossiermkdir dossier
Créer un fichiertouch fichierNew-Item fichier
Supprimer fichierrm fichierrm fichier
Ouvrir fichieropen fichierstart fichier
Effacer l’écranclearcls
Chemin/ (slash)\ (backslash, mais / accepté)
Droits adminsudoExécuter en admin

Tutoriels terminal :

Outils modernes :


Si vous rencontrez un problème terminal pendant le cours :

  1. Notez l’erreur exacte (screenshot ou copier-coller)
  2. Demandez moi
  3. Vérifiez les problèmes courants ci-dessus
  4. Redémarrez le terminal (souvent, ça suffit)

Le terminal devient familier avec la pratique. Vous n’avez pas besoin de tout mémoriser, juste de savoir où chercher.