L’Urne Virtuelle en Java

L’Urne Virtuelle web existe déjà en PHP. Elle a impeccablement fonctionné :

Cependant, PHP nécessite la disponibilité permanente de la connexion ADSL.
Son exécution côté serveur le rend vulnérable à une coupure.

D’autre part, une application PHP implique une plus forte charge serveur, qui doit :

  1. Exécuter les requêtes MySql
  2. Composer les pages web dynamiques (PHP) d’assemblage des résultats
  3. Les expédier au client (Apache)

Le client ne sait pas encoder le bulletin suivant, tant que PHP ne lui a pas expédié le formulaire d’encodage.
Il subit donc les ralentissements en direct.

En cas de panne de la connexion, l’application PHP est paralysée.

Java, par contre, permet de conçevoir une application côté client. Il ne communique avec le serveur que par des requêtes SQL.
Le soulageant du travail :

  1. De conception des pages web dynamiques par PHP
  2. D’expédition de ces pages par Apache

Le principe de l’Urne Virtuelle Java est de capter toute la configuration des élections (bulletins, partis, candidats) pour un encodage offline, et bufferisation (tampon d’attente) des bulletins pendant une éventuelle panne de web.

L’application Java vide son tampon d’attente lorsque la connexion reprend.

Cliquez sur chaque image pour la voir en pleine taille.

Gestion du bureau de dépouillement :
De gauche à droite :

  • Connexion au bureau de dépouillement
  • Urne en cours d’encodage:
    • Panneau descriptif en haut
    • Bulletins encodés en bas (file d’attente en vert, identifiant zéro)
  • Formulaire d’encodage d’un bulletin.

Le décompte des voix de préférence des candidats d’un parti

Le dépouillement des partis d’une circonscription
La grille d’Hondt désigne les élus de la circonscription

Une programmation propre, organisée en schéma Modèle-Vue-Contrôleur.
Accès à la BD MySql encapsulés dans un pattern Data Access Objects, pour nettoyer mes POJOs de toute instruction JDBC.

Le thème de l’Urne Virtuelle en Java est déjà plus proche d’une application bureautique classique :
Saisie de données, stockage en BD, restitution des résultats.

L’Urne Virtuelle Android

En projet

Android permet de pousser le principe encore plus loin : encodage direct du bulletin de vote par l’électeur.
L’électeur s’identifie au moyen de sa carte d’identité électronique, et de son code PIN.

Au lieu d’un bureau de dépouillement qui encode les bulletins papier, l’électeur encode lui-même son bulletin de vote depuis son Android, directement dans la BD.
Il n’y aura donc plus de bureau de vote, ni de dépouillement.

Les opérations électorales pourront, dès lors, se dérouler sur une plus longue période.
Au lieu d’avoir des bureaux de vote ouverts le dimanche matin, de 07:30 à 14:00, il sera possible de voter, par Android, durant toute une semaine.
Du dimanche matin, au samedi soir suivant, 24 heures par jour.

Android se connecte à la base de données par Internet.
Il sera possible de voter n’importe où dans le monde. Sans nécessiter de procédure spécifique pour voter depuis l’étranger.

L’électeur qui ne dispose pas d’un Android pourra emprunter celui d’un ami ou connaissance, s’identifier au moyen de sa carte d’identité électronique, puis émettre son vote.

L’Urne Virtuelle Android facilite la vie de l’électeur, tout en permettant de faire l’économie des bureaux de vote et de dépouillement.

Absence d’isoloir

La principale critique qu’on puisse adresser à l’Urne Virtuelle sous Android est l’absence d’isoloir.
L’électeur qui vote de chez lui pourrait être soumis à la pression de son entourage, qui le surveille et oriente (ou même, lui dicte) son vote.
Chacun doit pouvoir voter librement, et dans le plus grand secret.