Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue...

22
Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 - 2008

Transcript of Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue...

Page 1: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Vote électronique

Geoffrey ColletJamal El ChooleVincent TedescoJonathan VandeboschLaurent HueHicham Zerouali

Année académique 2007 -2008

Page 2: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Etat fédéral : Régions et communautésElections législatives

Ont lieu tous les 4 ans190 parlementaires élus

Chambre des représentants : 150Sénat : 40

Constitution d’une liste de partiNombre de candidats = Nombre à élireEcart entre candidat d’un même sexe ne peut

être >= 12 premiers candidats de sexe différent

Page 3: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Le vote en Belgique

Conditions pour être candidat – Sénat, Chambre Nationalité Belge Jouir des droits civils et politiques Agé de 21 ans Domicilié en Belgique Signatures de futurs électeurs pour s’inscrire

Chambre : 200 – 500Sénat : 5000

Les votes Tête de liste De préférence ou nominal Vote blanc Vote nul

Page 4: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Le vote en Belgique

Conditions pour être électeur Nationalité Belge Agé de 18 ans Inscrit au registre de la population d’une commune Pas d’exclusion ou suspension des droits électoraux

Certains types d’électeurs Vote par procuration Détenus à peine de prison mineure Malades mentaux, vieillards séniles et aveugles En vacances Déménagement Maison de repos Résidents à l’étranger

Page 5: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Le vote en Belgique

Vote électroniqueContrôles

Comité d’experts informatiques nommés par le gouvernement

Les partis peuvent nommer leurs propres expertsPrésident de bureau peut tester l’urne avant

l’ouvertureElecteur peut réinsérer sa carte à plusieurs

reprises pour visualiser son voteAvantages

Gain de temps du voteRapidité du résultat du dépouillagePlus de vote nulPossibilité de correction

Page 6: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Selon quelle logique est structuré un numéro national ?Le numéro national (NN) se compose de 11 chiffres répartis selon une structure bien spécifique.

6 premiers chiffres = date de naissance au format AAMMJJ

Pour les personnes qui ne sont pas en mesure de prouver par un acte leur date de naissance complète au niveau de l'administration communale et du registre national, seule l'année de naissance est prise en compte avec un ordre de suite (p.ex. 560000, 560001, 560002,…).

3 chiffres suivants = compteur journalier des naissances impair pour le sexe masculin pair pour le sexe féminin

2 derniers chiffres = check digit

Page 7: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Comment effectuer le contrôle d'un numéro national ? Pour contrôler qu'un numéro national est bien correct, il faut en fait

calculer le check digit de ce numéro.Le check digit est une suite de 2 chiffres. Ce nombre est le complément de 97 du modulo 97 du nombre formé :

soit par les 9 premiers chiffres du numéro national pour les personnes nées avant le 01/01/2000 (voir exemple 1)

soit par le chiffre 2 suivi des 9 premiers chiffres du numéro national pour les personnes nées après le 31/12/99 (voir exemple 2)

Le modulo 97 d'un nombre est le reste de la division du nombre par 97. Exemple 1:

NN = 72020290081 : 97 - (modulo 97 de 720202900) = 97 - 16 = 81

Exemple 2:NN = 00012556777: 97 - (modulo 97 de 2000125567) = 97 - 20 = 77

Page 8: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Notre projet gère un vote électronique.La liste des électeurs et la liste des candidats

sont préétablies par les autorités compétentes.Le projet doit :

Permettre la connexion de multiples clients simultanément.

Transmettre la liste des candidats à chaque client.

Assurer le vote de chaque client en l’identifiant pour assurer un vote unique.

Permettre un monitoring des élections par l’administrateur de l’application.

Transmettre le résultat final de l ’élection

Page 9: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Le résultat du vote est transmis au serveur après consultation et vote du client.

Le projet se découpe en 4 grandes étapes :

CONNECTER

CONSULTER

IDENTIFIER VOTER

Page 10: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Chaque client reçoit la liste des candidats et l’application cliente permet de naviguer parmi les listes électorales

Afin de s’assurer qu’une personne ne vote qu’une fois, le client devra transmettre son numéro de registre national en même temps que son vote.

CONNECTER

CONSULTER

VOTERIDENTIFIER

Page 11: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Accusé réceptio

n

Déconnexion

Echec

Diagramme fonctionnel

Page 12: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

La liste des candidats sera un tableau ayant la structure suivante : Struct candi {

- int matricule;- char nom [80];- char prenom [80];- char parti [8];- int position;}

Le vote aura la structure suivante : Struct vote {

- int NumNat;- int matricule;}

Les électeurs seront dans un tableau ayant la structure suivante: Struct electeur{

- int NumNat; (Peut être l’indice du tableau)

- boolean A_voter;}

Page 13: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Thread _x

Thread _y

La communication inter thread se fera via l’utilisation de message queue.

Thread_1 : gestion des connexions entrantes, orientation vers la consultation (thread_2) ou le vote (thread_3) via une message queue spécifique.

Thread_2 : prend les demandes depuis la message queue dédiée, gestion du tableaux des candidats, place dans message queue de sortie.

Thread_3 : réception des votes depuis la message queue dédiée, contrôle du numéro national et booléen A_voter , place le vote dans une message queue dédiée avec un pointeur sur l’électeur.

Thread_4 : récupération des votes depuis la message queue dédiée, Sémaphore pour l’enregistrement du vote et validation A_voter, envoi dans la message queue de sortie.

Thread_5 : gestion de la file d’envoi, connexion sortante

Message queue

Page 14: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Structure en arbre.Division de l’ensemble des électeurs en sous-

groupe homogène.Pour connaître le nombre maximum d’étapes

pour la recherche :Base bNombre d’électeur nEtape maximum mb√n * b = m. Si arbre ternaire, m = 45 nombre

optimal.

Page 15: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Structure d’une cellule :• 1er numéro national• dernier numéro national• Pointeur sur la tableau de niveau inférieur.• Pointeur sur la structure candidat

Page 16: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.
Page 17: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Acteur : l’électeur, l’administrateur de l’applicationHardware : 1 serveur, 1 client, 1 station de monitoring

(administrateur) et 1 pc de test.Monitoring du thread_4 : fichier de sauvegarde permettant de

reconstituer le déroulement du vote en cas de défaillance hardware et/ou software.

Communication : protocole TCP/IP

Page 18: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Diagramme De Déploiement

Application cliente

Application serveur

Log file

Benchmark

Administrateur

Page 19: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Subversion est un logiciel libre de gestion de version

permettant la centralisation du code.Possibilité d’hébergement gratuit sur google project.Accessible via Internet en modification en https pour tout

utilisateur autorisé.Opération de base: checkout, update, commit.

Outils de collaboration: SVN

Page 20: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Monitoring de l’applicationMonitoring du systeme: Monit, récupération

des données systeme comme les I/O ou utilisation du processeur, et interprétation graphique en html, afin d’évaluer les performances

Monitoring de l’application, 3possibilités a évaluer:Syslog:centralisation du logging sur un

serveur, utilisation d’un standard, avantage: archivage des donnée sur un autre serveur que celui ou tourne l’applicatif.

Logging standard sur disque. Création d’un serveur ad hoc distant

réceptionnant les logs.

Page 21: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

Profiling de l’application

Permet de mesurer le temps d’exécution de chaque fonction ou procédure.

Utilisation: Génération du log de profiling grâce au switch « -

pg » lors de la compilation avec gcc. Interprétation du log avec gprof.

Page 22: Vote électronique Geoffrey Collet Jamal El Choole Vincent Tedesco Jonathan Vandebosch Laurent Hue Hicham Zerouali Année académique 2007 -2008.

L’utilisation d’un fichier makefile permet de :

• Simplifier la compilation d’un programme en regroupant les commandes dans un seul fichier•Ne recompiler que les fichiers modifié(gain de temps) automatiquement.