Les sets, c’est quoi ?
Yo, prêt à devenir un gardien de données uniques ? Dans Tuto 13, t’as appris à organiser des paires avec des dictionnaires. Maintenant, on va découvrir les sets, des collections qui stockent des éléments uniques sans doublons, comme un coffre au trésor qui ne garde qu’un exemplaire de chaque gemme. Chaque set a une âme pure qui élimine les redondances ! 💎
Pour un hacker éthique, les sets sont super utiles : ils permettent de supprimer les doublons, comme nettoyer une liste d’IPs d’un scan Nmap. Mais on reste responsable : on code pour apprendre, pas pour causer des problèmes !
Astuce Éthique : Tes sets sont comme des filtres NarcoShield. Utilise-les pour purifier, pas pour nuire !
Comment marchent les sets ?
Un set est créé avec des accolades {} ou set(), contenant des éléments uniques. Tu peux ajouter avec .add(), supprimer avec .remove(), et effectuer des opérations comme .union() ou .intersection(). Les sets n’ont pas d’ordre, et tu peux les parcourir avec une boucle (Tuto 7). Exemple :
ips = {"192.168.1.1", "192.168.1.2"}
ips.add("192.168.1.1") # Pas de doublon !
ips.remove("192.168.1.2") # Supprime
for ip in ips:
print("IP :", ip)
Analogie : Un set, c’est comme un coffre au trésor cyber. Tu ne peux y mettre qu’un exemplaire de chaque gemme (élément). Tu peux en ajouter, en retirer, ou comparer avec un autre coffre (union, intersection). La boucle, c’est compter tes trésors !
Hacking tie-in : Un hacker éthique utilise des sets pour nettoyer des données, comme éliminer les IPs redondantes d’un scan ou comparer des listes de ports.
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 précision : Prêt à garder tes données uniques !
Si Python ou IDLE coince, check Tuto 1 pour l’installation. Demande à un adulte si besoin !
Astuce : Ouvre IDLE et prépare-toi à remplir ton coffre cyber !
Créer un programme avec des sets, étape par étape
Suis ces étapes pour coder un programme qui gère un set d’IPs scannées et compare avec un autre set. C’est comme trier des gemmes dans un coffre cyber !
-
Ouvre IDLE
Lance IDLE et clique sur Fichier > Nouveau Fichier pour ouvrir une fenĂŞtre vide, ton nouveau coffre-fort 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_ips(ip_set): print("IPs uniques :") for ip in ip_set: print("- ", ip) name = input("C’est quoi ton nom ? ") scan_ips = {"192.168.1.1", "192.168.1.2"} print("Salut,", name, "! IPs initiales :", scan_ips) new_ip = input("Ajoute une IP (ex. : 192.168.1.3) : ") scan_ips.add(new_ip) if len(new_ip) < 7: # Simple check pour IP non vide print("IP invalide, on l’ignore !") scan_ips.remove(new_ip) other_ips = {"192.168.1.2", "192.168.1.4"} common_ips = scan_ips.intersection(other_ips) display_ips(common_ips)Explication :input()(Tuto 5) demande un nom et une IP. Le setscan_ipscommence avec deux IPs..add()ajoute l’IP, et uneif(Tuto 6) vérifie sa validité (basique). Une fonctiondisplay_ips(Tuto 11) affiche les IPs avec une bouclefor..intersection()trouve les IPs communes avecother_ips.
Astuce : Respecte les accolades
{}pour le set et l’indentation (4 espaces) aprèsdefetif! -
Sauvegarde ton programme
Clique sur Fichier > Enregistrer. Nomme-le “sets.py” et sauve-le dans un dossier (ex. : “Mes Documents”). Note l’emplacement !
Astuce : Choisis un nom simple sans espaces (ex. : “sets.py”).
-
Lance ton programme
Clique sur Exécuter > Exécuter le Module (or F5). Une fenêtre s’ouvrira, demandant nom et IP. Essaye (ex. : “Jonathan”, “192.168.1.3”):C’est quoi ton nom ? Jonathan Salut, Jonathan ! IPs initiales : {'192.168.1.1', '192.168.1.2'} Ajoute une IP (ex. : 192.168.1.3) : 192.168.1.3 IPs uniques : - 192.168.1.2Teste avec une IP existante (ex. : “192.168.1.2”) ou invalide (ex. : “”). Si ça marche, t’as trié ton coffre cyber ! Si non, passe à “Si ça coince”.
Astuce : Teste plusieurs IPs pour voir les doublons disparaître !
-
Joue avec ton code
Change le set initial (ex. :scan_ips = {"10.0.0.1"}) ouother_ips. Modifie la fonction (ex. : ajouteprint("Total :", len(ip_set))). Change la vérification (ex. :len(new_ip) < 9). Essaye.union()au lieu de.intersection(). Relance (F5) pour tester. Amuse-toi !
Astuce : Essaye des IPs fun, comme “127.0.0.1” !
Pourquoi c’est important pour le hacking ?
Les sets sont les purificateurs de tes programmes cyber :
- Nettoyer : Élimine les doublons, comme des IPs ou ports redondants.
- Comparer : Trouve des éléments communs ou uniques entre scans avec
.intersection()ou.union(). - Construire : Les sets sont la base pour des scripts efficaces, comme des analyseurs de données.
Hacking tie-in : Un hacker éthique utilise des sets pour nettoyer des résultats de Nmap, comme extraire des IPs uniques ou comparer des scans.
Si ça coince : que faire ?
Pas de panique, nomade, les sets peuvent ĂŞtre un peu taquins ! Voici des astuces :
- Rien ne s’affiche ? : Vérifie que t’appelles la fonction (
display_ips(common_ips)) et que l’indentation est correcte (4 espaces aprèsdef,if,for). Relance avec F5. - Erreur “KeyError” ? : Les sets n’utilisent pas d’index, seulement
.add()ou.remove(). Vérifie que t’as utilisénew_ip in scan_ips. - “ValueError” ? : Si
.remove()échoue, assure-toi que l’élément existe dans le set (ex. :new_ip). - Perdu ? : Relis lentement ou pose une question à Bot-Y. Il est ton guide cyber !
🎯 Mission 14 : Trie ton coffre cyber !
Suis les étapes pour créer un programme qui gère un set d’IPs avec ajout et intersection. Ouvre un fichier texte (Bloc-notes ou autre, pas Python). Crée un fichier nommé “code14.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 set].” Exemple : “J’ai codé un programme qui demande nom et IP et affiche IPs uniques : - 192.168.1.2.” C’est ton quatorzième trophée de nomade !
Astuce Éthique : Choisis des IPs et messages respectueux pour ton coffre !
PrĂŞt pour la suite ?
Bravo, t’es un gardien cyber des sets ! T’as appris à gérer des collections uniques comme un pro. Dans le Tuto 15, on va explorer les fichiers pour sauvegarder et lire des données. Ouvre IDLE, jeune nomade, et continue à coder comme un hacker éthique ! 💖