48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
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)
|