Tous les guides
Intermédiaire-AvancéÀ votre rythmeGuide gratuitSection 1/33

Terminal et ligne de commande

Apprenez à construire et vérifier une application web avec des outils de développement et des assistants IA. Pratiquez les étapes de conception, code et validation.

💡

Contenu gratuit, accessible sans compte. Les outils et modèles évoluent : consultez le dossier actuel pour vérifier leurs versions. Modèles et sources

Section 13.1.1 : Terminal et ligne de commande

🎯 Objectif pédagogique

Maîtriser le terminal comme outil principal de développement. À la fin de cette section, vous naviguerez dans votre système de fichiers, manipulerez des fichiers et exécuterez des commandes complexes avec confiance.


Le terminal : votre cockpit de développeur

Tout développeur professionnel passe une partie significative de son temps dans le terminal. C'est l'interface textuelle qui vous donne un contrôle total sur votre machine, vos fichiers, vos programmes et vos serveurs. Si l'interface graphique est le volant d'une voiture, le terminal est le cockpit d'un avion : plus complexe, mais infiniment plus puissant.

Le terminal (aussi appelé shell, console ou CLI — Command Line Interface) est un interpréteur qui exécute des commandes textuelles. Sur macOS et Linux, vous utiliserez principalement Bash ou Zsh. Sur Windows, PowerShell ou le Windows Terminal avec WSL (Windows Subsystem for Linux).

Anatomie d'une commande

Une commande suit toujours la même structure :

commande [options] [arguments]

# Exemples :
ls -la Documents/
#  │  │    └── argument (le dossier cible)
#  │  └── options (-l pour détaillé, -a pour fichiers cachés)
#  └── commande (lister les fichiers)

Le système de fichiers est organisé en arborescence. Votre position actuelle est le répertoire courant (working directory). Toute commande s'exécute relativement à cette position.

# Où suis-je ?
pwd                          # Print Working Directory

# Que contient ce dossier ?
ls                           # Liste simple
ls -l                        # Détaillé (permissions, taille, date)
ls -la                       # Avec fichiers cachés (.gitignore, .env)
ls -lah                      # Avec tailles lisibles (Ko, Mo, Go)

# Se déplacer
cd Documents                 # Entrer dans Documents
cd ..                        # Remonter d'un niveau
cd ../..                     # Remonter de deux niveaux
cd ~                         # Aller au répertoire home
cd -                         # Retourner au dernier répertoire

Astuce productivité

Utilisez la touche Tab pour l'autocomplétion. Tapez les premières lettres d'un nom de fichier ou dossier, puis appuyez sur Tab. Le terminal complète automatiquement. En cas d'ambiguïté, appuyez deux fois sur Tab pour voir les options.

Manipulation de fichiers et dossiers

# Créer
touch index.html             # Créer un fichier vide
mkdir mon-projet             # Créer un dossier
mkdir -p src/components/ui   # Créer une arborescence complète

# Copier
cp fichier.txt copie.txt     # Copier un fichier
cp -r dossier/ backup/       # Copier un dossier récursivement

# Déplacer / Renommer
mv ancien.txt nouveau.txt    # Renommer
mv fichier.txt Documents/    # Déplacer

# Supprimer (ATTENTION : pas de corbeille !)
rm fichier.txt               # Supprimer un fichier
rm -r dossier/               # Supprimer un dossier
rm -ri dossier/              # Supprimer avec confirmation

# Lire le contenu
cat fichier.txt              # Afficher tout le contenu
head -20 fichier.txt         # Les 20 premières lignes
tail -20 fichier.txt         # Les 20 dernières lignes
less fichier.txt             # Navigation pagée (q pour quitter)

Recherche et filtrage

# Chercher du texte dans des fichiers
grep 'def initialize' app/models/*.rb    # Chercher dans les fichiers Ruby
grep -r 'TODO' src/                      # Recherche récursive
grep -rn 'function' --include='*.js'     # Avec numéros de ligne

# Trouver des fichiers
find . -name '*.rb'                      # Tous les fichiers .rb
find . -type d -name 'node_modules'      # Trouver des dossiers

# Compter
wc -l fichier.txt                        # Nombre de lignes
wc -w fichier.txt                        # Nombre de mots

Le pipe : la puissance de la composition

Le pipe (|) connecte la sortie d'une commande à l'entrée de la suivante, permettant de créer des pipelines de traitement de données :

# Compter les erreurs dans un log
cat server.log | grep 'ERROR' | wc -l

# Extraire les emails uniques d'un CSV
cut -d',' -f3 contacts.csv | sort | uniq | grep '@'

# Top 5 des plus gros fichiers
find . -type f -exec ls -la {} \; | sort -k5 -rn | head -5
Loading diagram…

Variables d'environnement

Les variables d'environnement sont des valeurs globales accessibles par tous les programmes :

echo $HOME                   # Votre répertoire home
echo $PATH                   # Dossiers où chercher les commandes
echo $USER                   # Votre nom d'utilisateur

# Définir une variable
export API_KEY='sk-abc123'

# Persistance dans .zshrc
echo 'export API_KEY="sk-abc123"' >> ~/.zshrc
source ~/.zshrc

Exercice pratique : créer un projet web

# 1. Créer la structure
mkdir -p mon-site/css mon-site/js mon-site/images
touch mon-site/index.html mon-site/css/style.css mon-site/js/app.js

# 2. Vérifier
find mon-site -type f

# 3. Archiver
tar -czf mon-site.tar.gz mon-site/
ls -lh mon-site.tar.gz
Vérification rapide

Quelle commande recherche récursivement le mot ERROR dans les fichiers .log ?

Vérification rapide

Que fait la commande mkdir -p src/components/ui ?

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Votre progression

Cette progression est déclarative et conservée dans votre navigateur. L’attestation finale ne constitue pas un diplôme ni une évaluation indépendante.

Voir ma progression et mon attestation

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Un cas pratique IA dans votre boîte mail

Méthodes, ressources et nouveaux exercices. Gratuit, avec désinscription à tout moment.