Aller au contenu
English

Les fichiers et le terminal

  • Leçon 1
  • 25 min
  • Module 1 : Bases de l'ordinateur et de l'environnement
Leçon 1 sur 18 · Python pour l'ingénierie de l'IA en pratiqueLes fichiers et le terminal

Ce que vous saurez faire

Créez le dossier du projet de ce cours dans le terminal. Sachez où vous êtes à chaque étape. Vous lancez chaque programme Python depuis le terminal. Le programme cherche ses fichiers à partir du dossier où vous êtes.

Avant de commencerCe qu’il faut savoir et avoir sous la mainEnviron 25 minutes

Ce que vous devez savoir

  • Rien. C’est la première leçon du cours. Si vous avez fait Premiers pas dans le terminal dans le cours de Git, la première partie est une révision. Les nouveautés sont les arguments et les codes de sortie.

Ce qu’il vous faut sur votre ordinateur

  • Un ordinateur avec macOS, Windows 10 ou 11, ou Linux. Vous ouvrez son terminal dans Ouvrir un terminal.
  • Rien à installer. Dans cette leçon, vous créez le dossier du projet ~/projects/ticket-cleaner et son dossier data. Toutes les leçons suivantes les utilisent.

Vos fichiers sont dans des dossiers, et les dossiers peuvent contenir d’autres dossiers. Dans cette leçon, vous créez le dossier du projet du cours, ticket-cleaner. À la fin de la leçon, il ressemble à ceci :

Folder tree
amira ← your home folder
└── projects
└── ticket-cleaner
└── data

Un chemin est l’adresse d’un fichier ou d’un dossier. Il nomme chaque dossier à parcourir pour atteindre cet élément. Il existe deux types de chemins :

  • Un chemin absolu commence à la racine du disque. Il pointe vers le même endroit, peu importe votre emplacement. Par exemple : /Users/amira/projects/ticket-cleaner.
  • Un chemin relatif commence au dossier où vous êtes maintenant. Si vous êtes dans projects, le chemin relatif ticket-cleaner/data pointe vers le dossier data.

Deux noms courts aident à utiliser les chemins relatifs. .. (deux points) signifie « le dossier au-dessus de celui-ci ». . (un point) signifie « ce dossier ». Votre dossier personnel porte le nom court ~ (un tilde). Ainsi, ~/projects signifie « le dossier projects dans mon dossier personnel ».

Le chemin du dossier personnel varie selon le système :

Système Dossier personnel Séparateur de chemin
macOS /Users/amira /
Linux /home/amira /
Windows C:\Users\amira \ (PowerShell accepte aussi /)

Vous voyez votre propre nom d’utilisateur à la place de amira.

Un terminal est une fenêtre où vous tapez des commandes au lieu de cliquer. Vous tapez une commande, appuyez sur Enter (entrée), et l’ordinateur affiche le résultat sous forme de texte.

  1. Appuyez sur Cmd+Space (espace) pour ouvrir Spotlight.
  2. Tapez Terminal, puis appuyez sur Enter.

Le terminal affiche une invite : une courte ligne de texte qui se termine par $, % ou >. L’invite indique que le terminal est prêt à recevoir une commande. Dans ce cours, vous tapez le texte après l’invite. Vous ne tapez pas l’invite.

Le terminal se trouve toujours dans un dossier. Ce dossier est le répertoire de travail. Une commande agit sur le répertoire de travail, sauf si vous lui donnez un autre chemin. Un nouveau terminal démarre généralement dans votre dossier personnel.

Une commande est un mot, souvent suivi d’arguments. Un argument indique à la commande sur quoi agir. Un espace sépare la commande de chaque argument.

Fenêtre de terminal
cd projects/ticket-cleaner
Partie Valeur Signification
Commande cd Changer le répertoire de travail.
Argument projects/ticket-cleaner Le dossier où aller. Ici, un chemin relatif.

Certains arguments commencent par - ou --. Ce sont des options : elles changent le fonctionnement de la commande. Vous en utilisez une dans la prochaine leçon : python3 --version demande à Python son numéro de version au lieu de lancer un programme.

Cette leçon utilise quatre commandes. Elles fonctionnent dans les trois terminaux :

Commande Ce qu’elle fait
pwd Affiche le répertoire de travail (« print working directory » en anglais).
ls Liste les fichiers et les dossiers du répertoire de travail.
mkdir name Crée un dossier nommé name.
cd path Change le répertoire de travail pour path.

Amira crée le dossier du projet. Elle vérifie d’abord où le terminal démarre :

Terminal
pwd
Sortie
/Users/amira

Le terminal se trouve dans son dossier personnel. Elle crée les deux dossiers, l’un dans l’autre, puis entre dans le deuxième :

Terminal
mkdir projects
cd projects
mkdir ticket-cleaner
cd ticket-cleaner
pwd
Output (macOS)
/Users/amira/projects/ticket-cleaner

Chaque cd est descendu d’un niveau. Le chemin s’est donc allongé d’un dossier chaque fois. Elle remonte maintenant d’un niveau avec .., puis redescend avec un chemin relatif :

Terminal
cd ..
pwd
cd ticket-cleaner
Output (macOS)
/Users/amira/projects

Quand une commande se termine, elle donne au terminal un nombre appelé code de sortie. Un code de sortie de 0 indique une réussite. Tout autre nombre indique que la commande a échoué.

Vous voyez généralement un message d’erreur quand une commande échoue. Pourquoi ce nombre est-il important? Parce que les programmes le lisent, pas les personnes. Par exemple, un système de tests automatisés lance vos tests et bloque la mise en production si le code n’est pas 0. Vos programmes Python donnent aussi un code de sortie. Dans le module 6, vous le choisissez vous-même.

Amira demande à ls de lister un dossier qui n’existe pas. Elle affiche ensuite le code de sortie de cette commande :

Terminal
ls missing
echo $?
Sortie
ls: missing: No such file or directory
1

$? contient uniquement le code de sortie de la dernière commande. Si vous lancez d’abord une autre commande, $? affiche plutôt le code de sortie de cette commande.

Créez les dossiers que vous utiliserez dans le reste du cours.

  1. Ouvrez un nouveau terminal.

  2. Affichez le répertoire de travail :

    Fenêtre de terminal
    pwd

    Le résultat est votre dossier personnel.

  3. Créez un dossier projects. Si vous avez déjà un dossier projects, sautez cette étape.

    Fenêtre de terminal
    mkdir projects
  4. Créez le dossier du projet, puis entrez-y avec un seul chemin relatif :

    Fenêtre de terminal
    mkdir projects/ticket-cleaner
    cd projects/ticket-cleaner
  5. Créez un dossier pour les fichiers de données :

    Fenêtre de terminal
    mkdir data
  6. Listez le contenu du dossier du projet :

    Fenêtre de terminal
    ls

    Le résultat affiche data. Dans PowerShell, le résultat est un tableau avec une colonne Name (nom).

  7. Affichez le code de sortie de ls. Sous macOS et Linux, lancez echo $?. Dans PowerShell, lancez $?.

    Le résultat est 0 ou True, car ls a réussi.

Faites ces trois tâches. Après chacune, lancez pwd pour vérifier votre résultat.

  1. Entrez dans le dossier data avec un seul chemin relatif. Le chemin se termine par /ticket-cleaner/data (ou \ticket-cleaner\data sous Windows).
  2. Remontez à ticket-cleaner avec une seule commande.
  3. Ouvrez un nouveau terminal. Allez à ticket-cleaner avec une seule commande qui fonctionne depuis n’importe quel dossier.
Afficher un indice pour la tâche 3

Un chemin qui commence par ~ part de votre dossier personnel. Il fonctionne donc depuis n’importe quel répertoire de travail : cd ~/projects/ticket-cleaner. Le chemin absolu complet fonctionne aussi, par exemple cd /Users/amira/projects/ticket-cleaner.

Erreur courante

Aucun fichier ou dossier de ce nom

Symptôme : vous tapez cd ticket-cleaner, et le terminal affiche une erreur comme celles-ci :

cd: no such file or directory: ticket-cleaner
bash: cd: ticket-cleaner: No such file or directory
cd : Cannot find path 'C:\Users\amira\ticket-cleaner' because it does not exist.

Cause : un chemin relatif part du répertoire de travail. Ici, le répertoire de travail est le dossier personnel, et ticket-cleaner n’est pas dans le dossier personnel. Il est dans projects. La même erreur survient si le nom n’est pas exactement le même. Sous macOS et Linux, Ticket-cleaner et ticket-cleaner sont des dossiers différents.

Solution :

  1. Lancez pwd pour voir où vous êtes.
  2. Lancez ls pour voir ce qui se trouve ici.
  3. Utilisez un chemin relatif depuis ce dossier (cd projects/ticket-cleaner), ou un chemin depuis votre dossier personnel (cd ~/projects/ticket-cleaner).

Vous reverrez cette erreur dans la prochaine leçon, quand Python ne trouve pas un script. La cause et la solution sont les mêmes.

Vérifiez votre compréhension

Le répertoire de travail est ~/projects/ticket-cleaner/data. Vous lancez cd .., puis cd .. encore une fois. Qu'affiche pwd? Prédisez le résultat, puis vérifiez-le dans votre terminal.

Afficher la réponse

Votre dossier personnel suivi de /projects, par exemple /Users/amira/projects. Chaque cd .. remonte d’un niveau : d’abord à ticket-cleaner, puis à projects.

Vérifiez votre compréhension

Vous lancez ls notes.txt dans un dossier qui ne contient aucun fichier nommé notes.txt. Vous lancez ensuite echo $? deux fois. Qu'affiche chaque echo, et pourquoi?

Afficher la réponse

Le premier echo $? affiche un nombre autre que 0, par exemple 1 ou 2, car ls a échoué. Le deuxième affiche 0 : $? contient maintenant le code de sortie du premier echo, qui a réussi. Lisez toujours le code de sortie juste après la commande que vous voulez vérifier.

Vérifiez votre compréhension

Vérification pratique : ouvrez un nouveau terminal et allez dans le dossier de votre projet. Prouvez que vous êtes dans le bon dossier et qu'il contient un dossier data.

Afficher la réponse

Lancez cd ~/projects/ticket-cleaner, puis pwd et ls. Le résultat de pwd se termine par projects/ticket-cleaner (avec \ sous Windows), et celui de ls affiche data. Si vous obtenez No such file or directory (aucun fichier ou dossier de ce nom), suivez les étapes de l’erreur courante ci-dessus.

Récapitulatif

  • Le terminal se trouve toujours dans un dossier, le répertoire de travail. pwd l’affiche.
  • Un chemin absolu fonctionne depuis n’importe où. Un chemin relatif part du répertoire de travail. .. est le dossier au-dessus, et ~ est votre dossier personnel.
  • Une commande peut recevoir des arguments, séparés par des espaces. Les options commencent par - ou --.
  • Chaque commande se termine avec un code de sortie. 0 indique une réussite. Sous macOS et Linux, echo $? l’affiche. Dans PowerShell, $? affiche True ou False.

Ensuite, vous installez Python et lancez votre premier script depuis le dossier ticket-cleaner.

Leçon suivante : Installer et vérifier Python