Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Lire une erreur et trouver la solution

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 50 minAucune commande

Vingt lignes rouges à l’écran

Le script qui calcule les ventes du jour s’arrête. L’écran affiche vingt lignes de texte en anglais, dont certaines en rouge.

Beaucoup de débutants ferment la fenêtre et demandent de l’aide tout de suite.

Pourtant, la réponse est souvent écrite sur une seule de ces lignes. Il suffit de savoir laquelle lire.

À la fin de cette leçon

Remarque

Je peux lire un message d’erreur et trouver la correction.

Mots-clés

MotCe que ça veut direExemple
Message d’erreurle texte qui dit pourquoi un programme s’arrête
Trace d’appelsla liste des lignes traversées jusqu’à l’erreurTraceback
Type d’erreurle nom de la famille de l’erreurZeroDivisionError
Documentationle mode d’emploi officiel d’un outil
SSHle moyen sûr d’ouvrir un terminal sur un serveur distant

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lisez la dernière ligne en premier

Quand Python s’arrête, il affiche une trace d’appels. Elle se lit de bas en haut.

La dernière ligne donne le type d’erreur et un court message. C’est la ligne qui compte le plus.

Juste au-dessus, la trace indique le fichier et le numéro de ligne où tout s’est arrêté.

Faites planter un calcul

Code: python
def prix_moyen(montants):
    total = 0
    for montant in montants:
        total = total + montant
    return total / len(montants)

# Les paniers de la journée, en euros.
print(prix_moyen([24, 31, 45]))

# Un panier vide fait planter le programme.
print(prix_moyen([]))

Exemple : des erreurs courantes et leur sens

Dernière ligneCe que cela veut direOù regarder
ZeroDivisionError: division by zeroune division par 0la ligne du calcul
KeyError: 'ville'cette clé n’existe pasl’orthographe de la clé
NameError: name 'totl' is not definedun nom inconnuune faute de frappe
FileNotFoundError: ventes.csvle fichier est introuvablele chemin et pwd

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une erreur fréquente

Attention

Beaucoup pensent que l’erreur vient toujours de la ligne indiquée. Souvent, c’est là qu’elle se voit, pas là qu’elle naît. Ici, la division échoue parce que la liste reçue est vide. Remontez vers la valeur qui arrive.

La documentation répond avant un forum

Copiez la dernière ligne de l’erreur dans un moteur de recherche. Retirez d’abord vos noms de fichiers et vos données.

Pour une commande, lancez commande --help ou man commande. Pour Python, ouvrez la documentation officielle.

La documentation dit ce qui est vrai. Un forum dit ce qui a marché pour quelqu’un.

Lisez l’aide d’une commande

Code: bash
# La plupart des commandes ont une aide intégrée.
grep --help | head -n 8

# À vous : affichez le début de l’aide de wc.

Exemple : poser une bonne question

Question vagueQuestion utile
Mon script ne marche pas.prix_moyen plante avec ZeroDivisionError quand la liste est vide.
J’ai une erreur, vous pouvez regarder ?Voici la dernière ligne, la commande lancée et ce que j’attendais.
Ça marchait hier.Ça marchait hier. Depuis, j’ai changé le fichier ventes.csv.

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

SSH vous emmène sur le serveur

Souvent, l’erreur se produit sur un serveur, pas sur votre poste. Pour y lire les journaux, on s’y connecte avec SSH.

ssh camille@srv-paie-lyon ouvre un terminal sur ce serveur, au nom de camille. Ensuite, pwd, ls et grep marchent comme d’habitude.

Le bloc suivant montre un refus, puis une connexion réussie.

Une connexion SSH, refusée puis réussie

Code: bash
$ ssh camille@srv-paie-lyon
camille@srv-paie-lyon: Permission denied (publickey).

$ ssh -i ~/.ssh/cle_travail camille@srv-paie-lyon
Welcome to Ubuntu 24.04 LTS
camille@srv-paie-lyon:~$

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.