Flux du processus de vote
Créateur → Scrutateurs → Votants → Responsable / Système → Dépouillement
Créateur connecté
ScrutinsController::add
- Crée un
scrutin(statut = brouillon) - Crée les invitations pour les
scrutateurs(phase de préparation) - Crée les invitations de
vote(non encore envoyées) - Génère les
clés des scrutateurs(méthode Shamir ou mot de passe)
Mail : scrutateurSetup()
Envoi d’un lien setupPassphrase aux scrutateurs pour configurer leur clé.
Scrutateurs
ScrutinsController::setupPassphrase
- Vérifie l’invitation (
type = scrutateur_setup) - Enregistre la clé ou le mot de passe du scrutateur
- Marque l’invitation comme utilisée (
invitation.used = 1)
Si tous les scrutateurs ont confirmé :
scrutin.status = ouvert- Génère les jetons de vote
- Envoie les courriels
voterLink()aux votants
Mail : voterLink()
Envoi du lien de vote aux votants.
Votants
ScrutinsController::vote
- Vérifie que le
scrutinest bienouvert - Vérifie l’invitation de type
vote - Chiffre le bulletin et l’enregistre sous forme de
Bulletin - Marque l’invitation comme utilisée (
invitation.used = 1)
Si tous les votants ont voté :
- Envoi du courriel
tousVotesRecus()
Le scrutin reste ouvert tant qu’il n’est pas clôturé.
Responsable / Système
ScrutinsController::close
- Vérifie les conditions (fin du délai ou tous les votes reçus)
scrutin.status = fermé- Si mode Shamir : génère des invitations
scrutateur_tallyet envoie les courriels associés
Mode mot de passe
ScrutinsController::tally
- Les scrutateurs saisissent leur mot de passe
- Les bulletins sont déchiffrés
- Les résultats sont regroupés →
RésultatsScrutin - Les
Bulletinssont supprimés scrutin.status = dépouillé
ScrutinsController::results
Affiche les résultats finaux du scrutin.
Mode Shamir
ScrutinsController::tallyPassphrase
- Chaque scrutateur fournit sa part de clé
- Lorsque le seuil est atteint →
shamirDepouillement():
- Combine les parts
- Déchiffre les bulletins
- Regroupe les résultats →
RésultatsScrutin - Supprime les
Bulletins scrutin.status = dépouillé
ScrutinsController::results
Affiche les résultats finaux du scrutin.