diff --git a/source/wtf/Electeur.py b/source/wtf/Electeur.py new file mode 100644 index 0000000..1352c99 --- /dev/null +++ b/source/wtf/Electeur.py @@ -0,0 +1,16 @@ +class Electeur: + def __init__(self, nom, prenom, empreinte_digitale): + self.nom = nom + self.prenom = prenom + self.empreinte_digitale = empreinte_digitale + self.carte_election = None + self.code_pin = None + + def recevoir_carte_election(self, carte_election): + self.carte_election = carte_election + + def definir_code_pin(self, code_pin): + self.code_pin = code_pin + + def authentifier(self): + return self.carte_election.est_authentique(self.empreinte_digitale, self.code_pin) diff --git a/source/wtf/ExempleAutiliser.py b/source/wtf/ExempleAutiliser.py new file mode 100644 index 0000000..8cdc0d2 --- /dev/null +++ b/source/wtf/ExempleAutiliser.py @@ -0,0 +1,48 @@ +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)