La gestion des erreurs, c’est quoi ?
Yo, prêt à rendre tes programmes incassables ? Dans Tuto 16, t’as appris à booster ton code avec des modules. Maintenant, on va découvrir la gestion des erreurs, qui utilise try et except pour attraper les bugs et éviter que ton programme plante. Chaque gestion d’erreur est un bouclier cyber qui protège l’âme de ton code ! 🛡️
Pour un hacker éthique, gérer les erreurs est crucial : ça permet à un script de continuer même si une entrée est mauvaise, comme lors d’un scan Nmap. Mais on reste responsable : on code pour apprendre, pas pour causer des problèmes !
Astuce Éthique : Tes boucliers sont comme des défenses NarcoShield. Utilise-les pour protéger, pas pour nuire !
Comment gérer les erreurs ?
En Python, tu places le code risqué dans un bloc try et gères les erreurs dans un bloc except. Tu peux cibler des erreurs spécifiques, comme ValueError ou FileNotFoundError. Exemple :
try:
number = int(input("Entre un nombre : "))
print("Carré :", number * number)
except ValueError:
print("Ce n’est pas un nombre valide !")
Analogie : La gestion des erreurs, c’est comme un bouclier cyber. Tu testes une action risquée (try), et si un piège (erreur) apparaît, ton bouclier (except) te protège en affichant un message au lieu de planter !
Hacking tie-in : Un hacker éthique utilise try/except pour éviter qu’un script de scan Nmap s’arrête si une IP est invalide.
De quoi t’as besoin ?
T’as tout prêt si t’as suivi les tutos précédents :
- Un ordinateur : Avec Python installé (python.org).
- IDLE : Ton atelier pour coder et tester.
- De la vigilance : Prêt à protéger ton code des bugs !
Si Python ou IDLE coince, check Tuto 1 pour l’installation. Demande à un adulte si besoin !
Astuce : Ouvre IDLE et prépare-toi à activer tes boucliers cyber !
Créer un programme avec gestion des erreurs, étape par étape
Suis ces étapes pour coder un programme qui gère les erreurs lors de la lecture d’un fichier et de la conversion d’entrée utilisateur. C’est comme équiper ton code d’une armure cyber !
-
Ouvre IDLE
Lance IDLE et clique sur Fichier > Nouveau Fichier pour ouvrir une fenêtre vide, ton nouveau bunker cyber.
Astuce : Vérifie que t’es dans une nouvelle fenêtre, pas l’interpréteur “>>>”.
-
Écris ton code
Tape ce code dans la fenêtre :def read_log_file(filename): try: with open(filename, "r") as file: return file.readlines() except FileNotFoundError: return ["Fichier introuvable !"] name = input("C’est quoi ton nom ? ") try: port = int(input("Entre un port à vérifier (ex. : 80) : ")) if port < 1 or port > 65535: print("Port invalide, choisis entre 1 et 65535 !") else: print(f"Salut, {name} ! Vérification du port {port}...") logs = read_log_file("scan_log.txt") print("Logs précédents :") for log in logs: print("- ", log.strip()) except ValueError: print("Erreur : entre un nombre valide pour le port !")Explication :input()(Tuto 5) demande un nom et un port. Un bloctry/exceptgère les erreurs de conversion (ValueError) pour le port. Une fonctionread_log_file(Tuto 11) lit un fichier (Tuto 15) avec untry/exceptpourFileNotFoundError. Uneif(Tuto 6) vérifie la validité du port. Une bouclefor(Tuto 7) affiche les logs.
Astuce : Respecte l’indentation (4 espaces) après
try,except,if,for, etwith! -
Sauvegarde ton programme
Clique sur Fichier > Enregistrer. Nomme-le “erreurs.py” et sauve-le dans un dossier (ex. : “Mes Documents”). Note l’emplacement ! Le fichier “scan_log.txt” doit exister pour la lecture (crée-le manuellement avec un texte, ex. : “Scan 80: OK” si tu veux tester).
Astuce : Choisis un nom simple sans espaces (ex. : “erreurs.py”).
-
Lance ton programme
Clique sur Exécuter > Exécuter le Module (ou F5). Une fenêtre s’ouvrira, demandant nom et port. Essaye (ex. : “Jonathan”, “80” sans fichier):C’est quoi ton nom ? Jonathan Entre un port à vérifier (ex. : 80) : 80 Salut, Jonathan ! Vérification du port 80... Logs précédents : - Fichier introuvable !Teste avec une entrée invalide (ex. : “abc” pour le port) ou un port hors limite (ex. : 70000). Si ça marche, t’as protégé ton code cyber ! Si non, passe à “Si ça coince”.
Astuce : Crée “scan_log.txt” avec quelques lignes pour voir les logs s’afficher !
-
Joue avec ton code
Change le nom du fichier (ex. :"hack_log.txt") ou les messages d’erreur (ex. :print("Port non valide !")). Ajoute unexcept(ex. :except IOErrorpour d’autres erreurs de fichier). Modifie la vérification (ex. :port < 0). Relance (F5) pour tester. Amuse-toi !
Astuce : Essaye des ports fun, comme 1337, ou des erreurs exprès !
Pourquoi c’est important pour le hacking ?
La gestion des erreurs rend tes programmes robustes :
- Protéger : Évite les plantages sur des entrées invalides, comme une IP mal formatée.
- Continuer : Permet à un script de poursuivre, comme ignorer un port inaccessible.
- Construire : Les try/except sont la base pour des scripts fiables, comme des analyseurs de logs.
Hacking tie-in : Un hacker éthique utilise try/except pour stabiliser un script Nmap, gérant les erreurs comme des fichiers manquants ou des données incorrectes.
Si ça coince : que faire ?
Pas de stress, nomade, les boucliers peuvent avoir des failles ! Voici des astuces :
- Erreur non gérée ? : Vérifie que t’as un
exceptpour l’erreur (ex. :ValueErrorpourint(),FileNotFoundErrorpouropen()). - Rien ne s’affiche ? : Vérifie l’indentation (4 espaces après
try,except,if,for) et que la fonction est appelée (read_log_file). Relance avec F5. - Fichier introuvable ? : Assure-toi que “scan_log.txt” existe ou que
FileNotFoundErrorest géré. Crée le fichier si besoin. - Perdu ? : Relis lentement ou pose une question à Bot-Y. Il est ton guide cyber !
🎯 Mission 17 : Active tes boucliers cyber !
Suis les étapes pour créer un programme qui gère les erreurs lors de la lecture d’un fichier et de la conversion d’un port. Ouvre un fichier texte (Bloc-notes ou autre, pas Python). Crée un fichier nommé “code17.txt” dans le dossier “CyberForge” (dans toutpartdela/programmation/, créé dans Tuto 1). Écris dedans : “J’ai codé un programme qui demande [tes questions] et affiche [un exemple de résultat ou message d’erreur].” Exemple : “J’ai codé un programme qui demande nom et port et affiche Salut, Jonathan ! Vérification du port 80... Fichier introuvable !” C’est ton dix-septième trophée de nomade !
Astuce Éthique : Choisis des messages respectueux pour ton programme protégé !
Prêt pour la suite ?
Bravo, t’es un protecteur cyber des erreurs ! T’as appris à rendre tes programmes robustes comme un pro. Dans le Tuto 18, on va créer une aventure textuelle, un projet fun pour tout combiner. Ouvre IDLE, jeune nomade, et continue à coder comme un hacker éthique ! 💖