Implémentation d’un POC d’un système de e-voting avec la méthode Borda.
CE PROJET EST INACTIF, AUCUNE MISE À JOURS DE SÉCURITÉ N'EST EFFECTUÉ.
- Modèle de rapport de TB
- Construction de PDF indiquant les différances entre 2 commits.
- Construction uniquement d'un sous-fichier LaTeX.
- Indication du tag git de version (v[0-9]*) dans le PDF.
- Auto publication de pre-release lors du push sur main.
- Auto publication de release lors du push sur avec un tag de version.
cargo
etrust
en nightly
# installation de rustup, cargo et rustc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# passage en nightly
rustup toolchain install nightly
rustup default nightly
Le paquet texlive-full
(sous Debian/Ubuntu) contient toutes les dépendences. Une installation plus
spécifique peut fonctionner aussi, mais n'est pas documenté.
Le Makefile utilise les programmes suivants (doivent être dans le path) :
find
latexdiff
etlatexdiff-vc
sed
make
latexmk
zip
cargo
,rustc
La construction peut également se faire à travers un container docker, grâce au scipt make-on-docker.sh
qui remplace la commande make
dans les examples suivants. (Seul docker est une dépendance dans ce cas)
Lancement du serveur
cd app
cargo run --bin board
L’interface d’administration du serveur se trouve sur http://localhost:8085/, grâce à cette interface l’ajout d‘option et de votant est possible.
Lancement du client
cd app
cargo run --bin client
cd app && cargo run --release --bin nizk-phase1
cd app && cargo run --release --bin nizk-phase2
cd app && cargo run --release --bin phase-1-size
cd app && cargo run --release --bin result-1
cd app && cargo run --release --bin result-2
Attention la construction dépends dur dépôt git, voir section Dépôt git
Pour construire tout le rapport:
make report
Pour construire tout les PDFs de base:
make pdf
Pour automatiquement reconstruire le rapport lorsqu'un fichier change:
cd latex && make report.pdf.pvc
Pour construire juste une sous-partie du rapport:
cd latex && make <dir>/<subfile>.pdf