💻 Tuto 14 : Sets – Des Collections Uniques ✨

Salut, jeune nomade ! Garde des trésors uniques dans des coffres cyber avec Python ! 🚀

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 :

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 !

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

  2. É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 set scan_ips commence avec deux IPs. .add() ajoute l’IP, et une if (Tuto 6) vérifie sa validité (basique). Une fonction display_ips (Tuto 11) affiche les IPs avec une boucle for. .intersection() trouve les IPs communes avec other_ips.

    Astuce : Respecte les accolades {} pour le set et l’indentation (4 espaces) après def et if !

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

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

  5. Joue avec ton code
    Change le set initial (ex. : scan_ips = {"10.0.0.1"}) ou other_ips. Modifie la fonction (ex. : ajoute print("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 :

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 :

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