Changes by AYMAN
This commit is contained in:
parent
74c29a5c93
commit
8202d75e48
2 changed files with 64 additions and 0 deletions
16
source/wtf/Electeur.py
Normal file
16
source/wtf/Electeur.py
Normal file
|
@ -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)
|
48
source/wtf/ExempleAutiliser.py
Normal file
48
source/wtf/ExempleAutiliser.py
Normal file
|
@ -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)
|
Loading…
Reference in a new issue