La tenue d'un processus électoral pose des questions de confiance et de transparence épineuses. Le compte des voix fait appel à des assesseurs, ce qui en fait un travail avec peu de garanties de fiabilité. De plus, un candidat ne peut pas vérifier à posteriori que sa voix a été comptabilisée chez le bon candidat. Le processus peut aussi éprouver un manque d'ergonomie (par exemple, en ne proposant pas de vote par correspondance).
Notre objectif est donc de réfléchir sur les protocoles et les structures de données à mettre en place pour permettre d'implémenter efficacement le processus de désignation du vainqueur de l'élection, tout en garantissant l'intégrité, la sécurité et la transparence de l'élection.
Utilisez la commande make
pour compiler le projet.
Utilisez le script launcher.sh
dans la racine du projet ou démarrez manuellement
les mains du répertoire de chaque exercice (ex : Partie1/Exercice1/main
).
Exécutez tout dans le même répertoire de travail, sinon les main ne pourront
pas retrouver les fichiers nécessaires.
Droits privés.
Electoral processes often raise difficult questions surrounding trust and transparency. Tellers are required to count ballots, which can make the process unreliable. Furthermore, a candidate is unable to verify if their vote was counted correctly. The process can also be inconvenient (for example, by not offering a postal vote).
Our objective is to reflect on the protocols and data structures needed to implement the process for deciding the winner of an election, all while guaranteeing the integrity, security and transparency of the election.
Use make
to compile the project.
Either make use of launcher.sh
script in project root or launch main for each folder (e.g. Partie1/Exercice1/main
).
Please make sure to execute everything in the same repository so that
all files are detected properly.
All rights reserved.