PyVotons!
Documentation pour les utilisateurs
-
Présentation générale
PyVotons! est un logiciel en phase alpha/beta de développement : il fonctionne
pour les cas simples qui ont été testés, mais il reste sans doute un certain
nombre de bugs.
Il manque également un certain nombre de fonctions qui n'ont pas encore été implémentées
(notamment l'enregistrement des votes par des serveurs externes pour limiter au
maximum le risque de fraude, et une interface web pour permettre le vote par internet).
Les trois systèmes de vote actuellement disponibles sont expliqués sur le site wikipedia :
le vote unique
(utilisé par exemple pour l'élection présidentielle, mais ici en un seul tour et pour un ou plusieurs sièges),
le vote unique transférable,
et le vote par assentiment
(version plus complexe que celle indiquée par wikipedia puisqu'on peut noter les candidats).
PyVotons! est composé de trois logiciels principaux :
- CreerScrutin.py : un logiciel pour définir un scrutin (candidats, électeurs, méthode de vote, nombre de sièges...);
- Vote.py : un logiciel pour bureau de vote qui permet aux électeurs de voter;
- CalculResultats.py : un logiciel pour calculer les résultats d'un scrutin.
-
Installation
PyVotons! n'est actuellement pas très simple à installer pour un non-informaticien.
La création de packages d'installation n'est pas la priorité actuellement, mais
s'il y a des volontaires vous êtes les bienvenus (il suffit sans doute de lancer
py2exe pour windows, py2app sous MacOs, cx_freeze sous Linux...).
PyVotons! dépend de trois outils : Python, Qt4, et PyQt4.
Ces trois logiciels fonctionnent sous Linux, Mac Os X et Windows.
Linux
La plupart des distributions linux disposent des trois outils dans les packages standards.
Reportez-vous à la documentation de votre distribution pour les installer.
Vous pouvez ensuite récupérer la dernière version de PyVotons!,
et la décompresser.
Vous pouvez alors lancer les trois outils en cliquant sur CreerScrutin.sh, Vote.sh et CalculResultats.sh
Mac Os X
Python est disponible pour Mac Os X.
Il faut aussi installer Qt4 et PyQt4
Récupérez la dernière version de PyVotons!,
et décompressez-la.
Vous pouvez alors lancer les trois logiciels CreerScrutin.py, Vote.py et CalculResultats.py avec Python.
Si vous avez plus de détails (je n'ai pas de Mac pour tester), j'apprécierais une description plus détaillée
Microsoft Windows
Vous devez installer Python, puis
le "binary package" PyQt4 pour Windows qui
contient Qt4 et PyQt4.
Vous pouvez ensuite récupérer la dernière version de PyVotons!,
et la décompresser (avec WinZip, 7-Zip...).
Vous pouvez alors lancer les trois outils en cliquant sur CreerScrutin.bat, Vote.bat et CalculResultats.bat.
Si vous avez plus de détails (je n'ai pas de PC sous Windows pour tester), j'apprécierais une description plus détaillée
-
Utilisation
Créer un scrutin
Lancez le logiciel CreerScrutin.
L'interface s'affiche
L'interface est simple d'utilisation :
- vous choisissez la date et l'heure de début et de fin du scrutin;
- vous rentrez un par un les identifiants des électeurs (entrez le nom dans la ligne de texte
au-dessus de la liste des électeurs puis cliquez sur le bouton "Ajouter";
- vous faites de même pour les noms des candidats;
- vous choisissez le type de scrutin et vous réglez les paramètres qui s'affichent;
- vous sauvez votre scrutin dans un fichier nommé par exemple electionsLocale.scrutin;
C'est terminé !
Lancer un vote et voter
Le logiciel Vote est prévu pour une utilisation dans un bureau de vote : un ordinateur sécurisé
(pas de possibilité physique d'y brancher quoi que ce soit) contient un exemplaire de PyVotons!
une liste de serveurs de votes (pas encore fonctionnel) et le fichier scrutin electionsLocale.scrutin créé avec CreerScrutin.
Trois personnes (par exemple le président du bureau et deux assesseurs) disposent chacun d'un mot
de passe (une clef) différents.
Le déroulement du vote est le suivant :
- le président lance le logiciel Vote qui lui présente l'interface d'administration;
- il suit les instructions ligne par ligne en commençant par charger le fichier de scrutin electionsLocale.scrutin ;
- Les fonctions liées à la connexion réseau ne sont pas encore en place (vérification que le logiciel est conforme, connexion aux serveurs);
- On choisit le nom du fichier de sauvegarde des votes (par exemple Bureau31.votes)
- Le président et les deux assesseurs rentrent chacun leur clef, puis ils ouvrent le scrutin
- Une fenêtre de vote s'ouvre en plein écran. Son apparence dépend du type de scrutin.
Vote Unique (le vote classique)
Vote unique transférable : on classe les candidat dans l'ordre de préférence
Vote par assentiment : on note chaque candidat
- Chaque électeur rentre son identifiant qui lui a été transmis au moment de la
création du scrutin (composé par exemple de son prénom, de son nom et d'un numéro aléatoire),
fait son choix et clique sur Voter.
Il clique sur "Ok" dans la confirmation de vote qui s'affiche, ce qui remet la fenêtre de vote
à son point de départ (pour que le suivant ne voit pas son vote).
- Lorsque tous les électeurs sont passés ou que l'heure de fin du scrutin arrive,
le président et les assesseurs repassent sur la fenêtre d'administration (touches Alt-Tab sous Linux et Windows)
et rentrent à nouveau leurs clefs.
Ils sont alors autorisés à fermer le scrutin, puis à quitter le logiciel.
- Le logiciel a généré deux fichiers : Bureau31.votes qui contient les votes anonymes, et
Bureau31.registre qui contient les identifiants des électeurs ayant voté sans lien avec leur
vote. Le registre permet de détecter une tentative de fraude (un électeur qui vote dans deux bureaux différents).
Ces deux fichiers doivent être copiés sur des supports non modifiables (CD-ROM).
- PAS ENCORE VALABLE : Lorsque les fonctions réseau seront mises en place, les votes seront de toute façon transmis en temps
réel à plusieurs serveurs (de façon à ce que les administrateurs d'un serveur n'aient pas la capacité
de truquer l'élections)
- PAS ENCORE VALABLE : Fonction prévue mais pas mise en place : impression automatique d'un bulletin papier à chaque vote,
que l'électeur peut lire pour vérifier et qu'il remettra dans une urne classique pour permettre un recomptage
manuel des voix du bureau de vote en cas de doute sur l'honnêteté du scrutin.
- PAS ENCORE VALABLE Le développement d'une interface Web permettra de
lancer le vote depuis un serveur et de voter par internet (avec envoi du vote à
des serveurs multiples pour les risques de fraude)
Calculer et afficher les résultats
Le logiciel CalculResultats est également simple d'utilisation.
Le bouton Charger permet de
charger les fichiers .votes (et .registre bien sûr) d'un ou plusieurs bureaux,
et le bouton Calculer permet de calculer le résultat de l'élection (affiché
à droite) mais aussi de connaître le détail du calcul (dans le cadre en bas).
Pour une publication simple des résultats, il suffit d'appuyer sur le bouton "Exporter en html"
pour obtenir une page Web avec le détail des calculs.
Ces logiciels sont toujours en développement
N'hésitez pas à faire part de vos critiques, commentaires, souhaits...