# -*- coding: utf-8 -*- # Copyright 2009 Manik Bhattacharjee (manik-listes at altern.org) # # This file is part of PyVote. # # PyVote is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # PyVote is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with PyVote. If not, see <http://www.gnu.org/licenses/>. # Logiciel de vote générique. # # Utilisation normale : # Les responsables du bureau de vote chargent le fichier SCRUTIN # qui décrit le scrutin, donnent leurs identifiants et codes, # Le programme vérifie la validité de son code par rapport aux hashs # MD5 et SHA1 stockés localement, puis se connecte aux serveurs # de vote (ssh ou équivalent), qui confirment les signatures MD5/SHA1 # y compris celui du fichier SCRUTIN. # L'heure de démarrage est transmise par les serveurs et stockée par # le programme. # A chaque vote, deux fichiers sont sauvés : le registre des votants # classé par ordre alphabétique, et l'urne (fichier "votes"). Ce # dernier est transmis à tous les serveurs qui doivent toujours # confirmer la réception du vote avant la fenetre de confirmation # à l'utilisateur # A la cloture du vote, l'information est transmise aux serveurs # qui renvoient l'horaire de cloture et reçoivent le registre. import sys, PyQt4 from PyQt4 import QtGui, QtCore #from VoteAssentimentDialog import VoteAssentimentDialog #from VoteUniqueDialog import VoteUniqueDialog #from VoteUniqueTransferableDialog import VoteUniqueTransferableDialog from VoteAdminDialog import VoteAdminDialog from ScrutinIO import Scrutin, Votes, Registre if __name__ == "__main__": app = QtGui.QApplication(sys.argv) # Interface pour les administrateurs du bureau de vote admin = VoteAdminDialog() admin.show() sys.exit(app.exec_()) ## Interface de vote pour les électeurs #window = None #if scrutin["Type Scrutin"] == "Vote unique": #window = VoteUniqueDialog() #elif scrutin["Type Scrutin"] == "Vote unique transferable": #window = VoteUniqueTransferableDialog() #elif scrutin["Type Scrutin"] == "Vote par assentiment": #window = VoteAssentimentDialog() #else: #print "Type de scrutin non reconnu !!" #sys.exit()