from source.Card import Card from source.wtf.Electeur import Electeur from source.wtf.Machine2 import Machine2 if __name__ == "__main__": # Création d'un électeur electeur1 = Electeur("Alice", "Dupont", "empreinte_alice123") electeur2 = Electeur("Bob", "Martin", "empreinte_bob456") # Création de cartes d'élection pour les électeurs carte1 = Card(electeur1, "cle_publique_alice") carte2 = Card(electeur2, "cle_publique_bob") # Activation des cartes avec un code PIN carte1.activer("cle_privee_chiffree_alice", "code_pin_chiffre_alice") carte2.activer("cle_privee_chiffree_bob", "code_pin_chiffre_bob") # Attribution des cartes aux électeurs electeur1.recevoir_carte_election(carte1) electeur2.recevoir_carte_election(carte2) # Définition des codes PIN electeur1.definir_code_pin("1234") electeur2.definir_code_pin("5678") # Création d'une machine à voter avec un certificat certificat_machine = "certificat_de_la_machine" machine = Machine2(certificat_machine) # Chargement de la liste électorale dans la machine liste_electorale = { "cle_publique_alice": electeur1.nom, "cle_publique_bob": electeur2.nom } machine.charger_liste_electorale(liste_electorale) # Authentification et vote d'un électeur if machine.authentifier_electeur(electeur1): preuve_vote = { "vote": "Choix d'Alice", "preuve": "Preuve de vote d'Alice" } machine.enregistrer_vote(preuve_vote) # Fin du vote et publication des résultats machine.fin_de_vote() resultats = machine.publier_resultats() print("Résultats publiés:", resultats)