-- Programme de sécurité pour Manipulateur de carte magnétique (More Peripherals) -- Auteur : AgenceATX -- Version : 1.0 -- Liste des identifiants autorisés (à personnaliser) local authorizedIDs = { ["user123"] = true, ["admin456"] = true, ["guest789"] = true } -- Fonctions utilitaires local function waitForCard() print("Insérez une carte...") while not hasCard() do sleep(0.5) end end local function secureWriteCard(id, label, hideData) writeCard(id) setLabel(label or "Sécurisée") setSecure(hideData or false) print("Carte écrite et sécurisée.") end local function checkCard() if not hasCard() then print("Aucune carte détectée.") return false end local data = readCard() local label = getLabel() print("Carte détectée : " .. (label or "Sans étiquette")) print("Données lues : " .. (data or "Vide")) if authorizedIDs[data] then print("Accès autorisé ! Bienvenue, " .. label) return true else print("Accès refusé. Carte non reconnue.") ejectCard() return false end end -- Menu principal while true do print("\n=== Système de Sécurité ===") print("1. Vérifier une carte") print("2. Enregistrer une carte") print("3. Lire le label d'une carte") print("4. Masquer/afficher l'infobulle des données") print("5. Quitter") io.write("Choix : ") local choix = io.read() if choix == "1" then waitForCard() checkCard() elseif choix == "2" then io.write("Entrer l'ID à écrire : ") local id = io.read() io.write("Entrer un label : ") local label = io.read() io.write("Masquer les données ? (oui/non) : ") local hide = io.read() == "oui" waitForCard() secureWriteCard(id, label, hide) elseif choix == "3" then waitForCard() print("Label de la carte : " .. (getLabel() or "Aucun")) elseif choix == "4" then waitForCard() io.write("Masquer les données ? (oui/non) : ") local hide = io.read() == "oui" setSecure(hide) print("Infobulle mise à jour.") elseif choix == "5" then print("Arrêt du programme.") break else print("Choix invalide.") end end