💻 Tuto 17 : Gestion des Erreurs – Éviter les Bugs ✨

Salut, jeune nomade ! Protège ton code Python avec des boucliers cyber ! 🚀

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 :

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 !

  1. 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 “>>>”.

  2. É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 bloc try/except gère les erreurs de conversion (ValueError) pour le port. Une fonction read_log_file (Tuto 11) lit un fichier (Tuto 15) avec un try/except pour FileNotFoundError. Une if (Tuto 6) vérifie la validité du port. Une boucle for (Tuto 7) affiche les logs.

    Astuce : Respecte l’indentation (4 espaces) après try, except, if, for, et with !

  3. 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”).

  4. 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 !

  5. Joue avec ton code
    Change le nom du fichier (ex. : "hack_log.txt") ou les messages d’erreur (ex. : print("Port non valide !")). Ajoute un except (ex. : except IOError pour 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 :

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 :

🎯 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 ! 💖