Les dictionnaires, c’est quoi ?
Yo, prêt à devenir un maître de l’organisation cyber ? Dans Tuto 12, t’as appris à manipuler des chaînes comme un scribe. Maintenant, on va découvrir les dictionnaires, des structures qui stockent des données en paires clé-valeur, comme un livre magique où chaque mot (clé) a une définition (valeur). Chaque dictionnaire a une âme ordonnée qui garde tes infos bien rangées ! 📚
Pour un hacker éthique, les dictionnaires sont puissants : ils organisent des données complexes, comme associer des ports à des services dans un scan Nmap. Mais on reste responsable : on code pour apprendre, pas pour causer des problèmes !
Astuce Éthique : Tes dictionnaires sont comme des archives NarcoShield. Remplis-les de données utiles, pas de chaos !
Comment marchent les dictionnaires ?
Un dictionnaire est créé avec des accolades {}, contenant des paires clé: valeur. Tu peux accéder à une valeur via sa clé, modifier, ajouter, ou supprimer des paires, et parcourir les clés ou valeurs avec une boucle (Tuto 7). Exemple :
scan = {"port80": "HTTP", "port443": "HTTPS"}
print(scan["port80"]) # Affiche "HTTP"
scan["port22"] = "SSH" # Ajoute une paire
del scan["port443"] # Supprime une paire
for key in scan:
print(key, ":", scan[key])
Analogie : Un dictionnaire, c’est comme une bibliothèque cyber. Chaque livre (clé) a un contenu (valeur). Tu peux ouvrir un livre, en ajouter un, ou en retirer un. La boucle, c’est feuilleter chaque livre !
Hacking tie-in : Un hacker éthique utilise des dictionnaires pour stocker des résultats, comme associer des IPs à des services ou des ports à des états (ouvert/fermé).
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 l’ordre : Prêt à ranger tes données comme un pro !
Si Python ou IDLE coince, check Tuto 1 pour l’installation. Demande à un adulte si besoin !
Astuce : Ouvre IDLE et prépare-toi à organiser ta bibliothèque cyber !
Créer un programme avec des dictionnaires, étape par étape
Suis ces étapes pour coder un programme qui gère un dictionnaire de scan réseau. C’est comme cataloguer des données dans une bibliothèque cyber !
-
Ouvre IDLE
Lance IDLE et clique sur Fichier > Nouveau Fichier pour ouvrir une fenĂŞtre vide, ton nouveau rayonnage 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 display_scan(scan_data): print("Résultats du scan :") for port in scan_data: print("Port", port, ":", scan_data[port]) name = input("C’est quoi ton nom ? ") scan = {"80": "HTTP", "443": "HTTPS"} print("Salut,", name, "! Dictionnaire initial :", scan) new_port = input("Ajoute un port (ex. : 22) : ") new_service = input("Service pour ce port (ex. : SSH) : ") if new_port in scan: print("Ce port existe déjà !") else: scan[new_port] = new_service display_scan(scan)Explication :input()(Tuto 5) demande un nom, un port, et un service. Le dictionnairescancommence avec deux paires. Une fonctiondisplay_scan(Tuto 11) affiche les paires avec une bouclefor(Tuto 7). Uneif(Tuto 6) vérifie si le port existe avant d’ajouter.
Astuce : Respecte les accolades
{}pour le dictionnaire et l’indentation (4 espaces) aprèsdefetif! -
Sauvegarde ton programme
Clique sur Fichier > Enregistrer. Nomme-le “dictionnaires.py” et sauve-le dans un dossier (ex. : “Mes Documents”). Note l’emplacement !
Astuce : Choisis un nom simple sans espaces (ex. : “dictionnaires.py”).
-
Lance ton programme
Clique sur Exécuter > Exécuter le Module (ou F5). Une fenêtre s’ouvrira, demandant nom, port, et service. Essaye (ex. : “Jonathan”, “22”, “SSH”):C’est quoi ton nom ? Jonathan Salut, Jonathan ! Dictionnaire initial : {'80': 'HTTP', '443': 'HTTPS'} Ajoute un port (ex. : 22) : 22 Service pour ce port (ex. : SSH) : SSH Résultats du scan : Port 80 : HTTP Port 443 : HTTPS Port 22 : SSHTeste avec un port existant (ex. : “80”) ou d’autres services (ex. : “FTP”). Si ça marche, t’as organisé ta bibliothèque cyber ! Si non, passe à “Si ça coince”.
Astuce : Teste plusieurs ports pour remplir ton dictionnaire !
-
Joue avec ton code
Change le dictionnaire initial (ex. :scan = {"21": "FTP"}) ou la fonction (ex. : ajouteprint("Total :", len(scan_data))). Modifie la vérification (ex. : ajouter sinew_service == ""). Supprime une paire (ex. :del scan["80"]). Relance (F5) pour tester. Amuse-toi !
Astuce : Essaye des services fun, comme “Telnet” !
Pourquoi c’est important pour le hacking ?
Les dictionnaires sont les archives de tes programmes cyber :
- Organiser : Stocke des données associées, comme des ports et leurs services.
- Accéder : Récupère des valeurs rapidement via des clés, comme chercher une IP.
- Construire : Les dictionnaires sont la base pour des scripts complexes, comme des analyseurs de scan.
Hacking tie-in : Un hacker éthique utilise des dictionnaires pour gérer des résultats de Nmap, comme associer des ports à des états ou des IPs à des hôtes.
Si ça coince : que faire ?
Pas de panique, nomade, les dictionnaires peuvent être un peu désordonnés ! Voici des astuces :
- Rien ne s’affiche ? : Vérifie que t’appelles la fonction (
display_scan(scan)) et que l’indentation est correcte (4 espaces aprèsdef,if,for). Relance avec F5. - Erreur “KeyError” ? : Si tu accèdes Ă
scan["80"], assure-toi que la clé existe (ex. : vérifié parnew_port in scan). - “SyntaxError” ? : Vérifie les accolades
{}, les deux points (:) pour les paires, ou la syntaxe des clés/valeurs. - Perdu ? : Relis lentement ou pose une question à Bot-Y. Il est ton guide cyber !
🎯 Mission 13 : Catalogue ta bibliothèque cyber !
Suis les étapes pour créer un programme qui gère un dictionnaire de scan avec ajout et affichage. Ouvre un fichier texte (Bloc-notes ou autre, pas Python). Crée un fichier nommé “code13.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 [le résultat du dictionnaire].” Exemple : “J’ai codé un programme qui demande nom, port, service et affiche Résultats du scan : Port 80 : HTTP Port 443 : HTTPS Port 22 : SSH.” C’est ton treizième trophée de nomade !
Astuce Éthique : Choisis des ports et services respectueux pour ton catalogue !
PrĂŞt pour la suite ?
Bravo, t’es un bibliothécaire cyber des dictionnaires ! T’as appris à organiser des données comme un pro. Dans le Tuto 14, on va explorer les sets pour gérer des collections uniques. Ouvre IDLE, jeune nomade, et continue à coder comme un hacker éthique ! 💖