PyVotons! est un logiciel libre pour l’organisation de scrutins.
Il fait partie d’un projet plus large (Propositions) dont le but est de permettre le travail en commun, l’élaboration de propositions, le débat et la prise de décision collective.
Au cours des réflexions sur ces thématiques, nous avons pensé à développer un logiciel permettant de voter par internet en utilisant des méthodes de votes alternatives.
Comme je n’avais pas les compétences (et surtout l’intérêt) pour la réalisation d’une interface de vote web, j’ai réalisé un prototype simple d’un système de vote pour l’élection de candidats qui nécessite l’utilisation de bureaux de votes ou l’installation du logiciel chez chaque personne souhaitant voter. C’est la version classique de PyVotons, utilisable bien qu’incomplète.
La nouvelle version Web de PyVotons est en cours de développement. Elle permettra à chaque électeur de voter sur le site internet où sera installé PyVotons!
-
Objectifs de PyVotons!
Le but de ce logiciel est de :
- démontrer la faisabilité d’un système de vote par internet pour une démocratie plus directe au sein d’une association ou d’un parti politique.
- permettre d’expérimenter des systèmes de vote plus représentatifs des opinions des électeurs que ceux en vigueur dans nos démocraties
-
Téléchargement
La version web est encore incomplète mais commence à fonctionner. Consultez la documentation pour plus de détail.
Quelques pages présentant la nouvelle interface sont accessibles ici.
-
Anciennes versions
Seul le code source est disponible (pas de paquetage ou d’exécutable).
Le programme doit fonctionner sous Linux, Windows et MacOS, mais seul Linux a été testé.
Pour utiliser le logiciel, il faut avoir une installation fonctionnelle de Qt 4, PyQt 4 et Python.
Téléchargez la dernière version locale de PyVotons!, puis décompressez le fichier dans un répertoire.
Vous pouvez alors exécuter CreerScrutin.py, Vote.py, et CalculResultatsDialog.py pour démarrer un scrutin, enregistrer les votes et calculer les résultats. Pour plus de détails, reportez-vous à la documentation.
-
Documentation (ancienne version)
-
Outils, licence et copyright
Ce logiciel fonctionne grâce à d’excellents outils libres qui ont permis un développement rapide et efficace :
- Le langage Python;
- La bibliothèque Qt développée par Trolltech puis Nokia pour l’interface graphique et le réseau;
- PyQt qui permet d’utiliser la librairie C++ Qt avec Python, par Riverbank computing
- Pyjamas pour la version web.
PyVotons! est un logiciel libre, développé entre 2009 et 2014 par Manik Bhattacharjee (manik-listes at altern.org), diffusé sous la licence GNU GPL version 3 (version locale) et Affero GPL version 3 (version web)
-
Développements futurs
Fonctionnalités à ajouter et suggestions :
- CreerScrutin ne permet pas de rentrer un titre et des commentaires (pourtant stockés dans les fichiers).Il faut ajouter cette possibilité dans l’interface
- Impression du bulletin de vote pour permettre un recomptage manuel des voix
- Serveur d’enregistrement des votes et protocole de communication avec les bureaux de vote
- Ajouter d’autres méthodes de vote
- Revoir les formats de fichier
- Modification du code (noms des variables et des fonctions) vers l’anglais pour permettre une diffusion internationale du logiciel
- Utiliser les fonctions de traduction de PyQt pour pouvoir afficher une version anglaise et une française.
PyVotons! is a free software to organize polls (online voting system).
It is part of a larger project (Propositions) which aims to bring the tools to work together, elaborate propositions, debate and for collective decision-making.
Developing a software for voting was needed to experiment alternative voting methods.
As I had neither qualification nor interest in web interface development using AJAX technologies, I wrote a simple prototype for a polling software to elect candidates to an election. This classical version of PyVotons! must be used in a polling station (installed on a local voting computer), it is incomplete but usable.
The next version of PyVotons! will be a web version. All voters will be able to vote on a website where PyVotons! will be installed.
The technology used will be python/pyjamas for the user interface (code is written in python, and compiled to javascript/html/css), a SQL database on the server, and a server software in python (or another language depending on the server).
-
PyVotons! main goals
- demonstrate that a web voting system system is a realistic way of implementing direct democracy for use in an association or political party.
- experiment voting systems that represent the opinion of voters better than those in use in our democracies.
-
Downloads
The web version is not functional yet. UI elements, a database structure were developed. A GIT repository is used to keep track of the development. It is not available online at the moment. Any volunteer is welcomed to contact us to help.
Some pages show the graphical elements here.
-
Older versions
Only the source code is available (no package, no binary).
The software should run on Linux, Windows and MacOS, but was tested only on Linux.
To use it, a working version of Qt 4, PyQt 4 and Python is necessary.
Download the last local version of PyVotons!, extract it in a directory.
You can run CreerScrutin.py, Vote.py, and CalculResultatsDialog.py to start a poll, register votes and compute the results. For more details, please refer to the documentation (french).
-
Documentation
-
Tools, license and copyright
This software uses these outstanding free software tools :
- Python language;
- Qt toolkit by Trolltech (now Nokia) for the UI of the local version
- PyQt to use Qt with Python, by Riverbank computing
- Pyjamas for the web version.
PyVotons! is a free software written in 2009, 2010 and 2011 by Manik Bhattacharjee (manik-listes at altern.org), distributed under GNU GPL license version 3 (for local version) and Affero GPL version 3 (web version)