WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et implémentation d'une application de vote informatique (cas de la ceni antenne Likasi)

( Télécharger le fichier original )
par Depapa Mwembo Makaba
Université Chrétienne Source de Vie - Graduat 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

EPIGRAPHE

«On ne peut pas rattraper le temps perdu Mais on peut arrêter de perdre son temps ! »

Adage.

DEDICACE

« A tous ceux qui s'intéresseront dans l'organisation des élections pourvu qu'il n'y ai pas perte de temps lord du dépouillement. »

MWEMBO MAKABA Depapa.

AVANT-PROPOS

Le travail de fin de cycle est un prolongement naturel de l'immersion de l'étudiant dans le monde professionnel, qui comme de coutume, permet à celui-ci de couronner sa dernière année au premier cycle universitaire. Notons que l'informatique et la gestion de l'information prend une place de plus en plus importante dans notre société, particulièrement en entreprises et même dans certaines institutions.

Ayant choisit la CENT antenne Likasi comme champ d'investigation, notre travail aura donc pour objectif ; de rendre le vote facile, d'automatiser le comptage des voix et bulletins de vote lors de ce processus, de minimiser le temps d'attente avant la publication des résultats définitifs, de minimiser le coût d'impression des bulletins papier,...

MWEMBO MAKABA Depapa.

REMERCIEMENTS

Grâce soient rendue à Dieu qui nous fait toujours triompher en Christ et qui repend par nous en tout lieu l'odeur de sa connaissance, tout au long de ces trois années d'étude académique.

Nous exprimons nos sincères remerciement à notre directeur de travail, le Maitre NYIRONGO BANDA pour l'assistance qu'il nous a témoigné, et nous faire bénéficier de ses rigueur sans lesquels ce travail n'aurait jamais vu jour ;

Aux autorités académiques, le Recteur de l'Université le Professeur Docteur MULOPWE DIBWE, au Secrétaire général Académique le Maitre, Chef de Travaux Ir. Erick MPIANA, au Chef des Services Académiques NYIRONGO BANDA, au Secrétaire Administratif LOTI KISWILI Eustache, à l'Administrateur de budget Aimée MWEMBO, au Secrétaire Académique Pasteur KIVUNGE, à la Secrétaire de l'Université LOLA MALOBA ; pour leurs contribution à notre formation tant intellectuelle que morale, merci infiniment ;

Au corps professoral et enseignant de l'Université Chrétienne Source de Vie pour leur formation, disons du fond du coeur Merci !

A l'Assistant Hervé KAZWIBA pour son assistance qu'il a témoigné et pour nous avoir fait bénéficier des ses connaissances pour la réalisation de ce dernier ; plus Dieu vous comble de sagesse !

Nous présentons nos très sincères remerciements à Papa MULOPWE DIBWE et MBUYU MWADI Astrid ; à Papa Félix MWEMBO et Maman Annie NGOIE et disons, veuilles l'Eternel Dieu leur montrent son Amour et Son Secours en tout temps et en tout instant.

Nos remerciements s'adressent également à vous nos frères et soeurs : Erick MPIANA, Nelly TWITE, Valérie MBUYU, Fanny MBUYU, Aimée MWEMBO, Judith MBUYU, Gracia MULOPWE, Natasha MULOPWE, Pascal MWEMBO, Dorcas MBUYU, Emilie MBUYU, John MWEMBO, Abigaël MBUYU, Shadrack MUTOMBO ; Que Dieu vous bénisse !

A vous ami(e)s et collègues : Fidel LOTI, Mylène MBUYU, Landrick MUBENGA, NKANSHAMA MADIYA,...Disons sincèrement Merci pour vos encouragements.

Nombreux nous savons que vous êtes ; difficile d'ouvrir un annuaire des noms ; dans notre coeur vous avez une place ; trouvez à travers ce travail, l'expression de notre profonde Gratitude !

TABLE DES ILLUSTRATIONS

Figure 1: Siège de la CENT Antenne Likasi 13

Figure 2: Structure opérationnelle de la CENT 14

Figure 3: Cycle de vie du processus unifié 17

Figure 4: Diagramme de Cas d'Utilisation métier 19

Figure 5: Diagramme de Cas d'Utilisation 20

Figure 6: Diagramme de Séquence système du CU: Voter et S'Authentifier 23

Figure 7: Diagramme de Séquence Système du CU: Envoyer résultat 24

Figure 8: Diagramme de classe du domaine 26

Figure 9: Diagramme de Séquence de Conception du CU: Voter et S'Authentifier 30

Figure 10: Diagramme de classe de conception du CU : Voter et S'Authentifier 32

Figure 11: Modèle logique des données 34

Figure 12: Architecture Client/ Serveur 37

Figure 13: Diagramme de déploiement 38

Figure 14: Page d'accueil coté Administrateur 42

Figure 15: Première page de l'application 42

Figure 16: Page d'activation de l'interface de vote 43

Figure 17: Pages des résultats du vote 43

Figure 18: Tnterface ou bulletin de vote 44

Figure 19: Evolution des votes 44

vi

SIGLES ET ABREVIATIONS

CD : Compact Disc

CENI : Commission Electorale Nationale Indépendante

COO : Conception Orienté Objet

CSS : Cascading Style Sheets

CU : Cas d'Utilisation

DCL: Data Control Language

DDL: Data Definition Language

DML: Data Manipulation Language

DSS : Diagramme de Séquence Système

DVD : Digital Versatil Disc (Disque Vidéo Digital)

HTML : Hyper Text Markup Language

HTTP : Hyper Text Transfer Protocol

IBM: International Business Machines

Ir. : Ingénieur

LCD: Langage de Contrôle de Données

LDD: Langage de Définition de Données

LMD: Langage de Manipulation de Données

PHP : Personal Home Page (Hypertext Preprocessor)

PU : Processus Unifié

RDC : République Démocratique du Congo

SGBD : Système de Gestion de Base des Données

SI : Système d'Information

SQL: Structured Query Language

UC: Use Case

UCSV : Université Chrétienne Source de Vie

UMK : Université Méthodiste au Katanga

UML: Unified Modeling Language

UP: Unified Process

W3C : World Wide Web Consortium

WAMP: Windows Apache MySQL et PHP

WIMP : Windows Icons Mouse Pointers

1

INTRODUCTION GENERALE

1. PRESENTATION DU SUJET

L'informatique est la science de traitement automatique de l'information. Aujourd'hui, cette science tend à s'introduire dans presque tous les domaines de la vie humaine.

L'informatique est au centre d'un secteur industriel dont les produits ont évolué avec une rapidité qui frappe l'imagination. Elle apparaît tour à tour accusée de tous les maux ou qui donne du prestige à tous les pouvoirs. De machine à rêver, l'ordinateur est devenu un outil qui a investi tant la vie privée que le monde professionnel. Cette évolution technologique a transformé au fur et à mesure ses méthodes d'utilisation et provoqué une diversification du paysage informatique.

Actuellement dans le monde, la démocratie est un processus majeur qui est recherché par plusieurs personnes et à tous les niveaux. La tâche ne leur étant pas facile, certaines personnes y laissent leurs vies, c'est-à-dire qu'elles consentent des sacrifices suprêmes pour cette démocratie.

Ayant observé le déroulement des votes dans la République Démocratique du Congo, plus précisément dans la ville de Likasi pour ce qui concerne le tour présidentiel qui est d'une grande importance pour la nation, et ayant observé également que le comptage des bulletins s'effectue manuellement avec risque de se tromper ; d'où ceci pourra ainsi conduire à la publication des faux résultats ; ceci attire notre attention et nous conduit à proposer une conception et une implémentation d'une application de vote informatique.

Le vote électronique est un système de vote dématérialisé, à comptage automatisé, notamment des scrutins, à l'aide de systèmes informatiques.1

Parlant de l'objectif de notre étude, le vote informatique aura donc pour objectif : automatiser le comptage des voix et bulletins, centraliser les résultats par circonscription électorale le plus rapidement possible, publier des résultats définitifs dans un temps record, minimiser le coût d'impression des bulletins papier, Moins de personnes nécessaires au processus électoral, toutefois, ce personnel électoral doit alors suivre une formation.

1 fr.wikipedia.org/wiki/ en ligne le 03/12/2014 à 11h 30

2

2. PROBLEMATIQUE

La problématique est l'ensemble des questions posées dans un domaine bien déterminé en vue de la recherche de la solution, elle est aussi un ensemble des questions suscitées par le sujet d'étude.2

La problématique est une suite de préoccupation provoquée par une étude pour lesquelles les réponses nécessitent d'être apportés.3

En d'autres termes, nous disons que la problématique résume l'ensemble des questions pertinentes que l'on se pose en rapport avec son domaine d'étude.

Lors des votes précédents, étant électeur et même membre de la CENI, nous avons eu à observer de la manière dont ces votes ce sont déroulé et même interviewer quelques membres, nous disons ici que le vote manuel présente les difficultés dont les membres de la dite organisation, les observateurs, les témoins sont voués à des problèmes tel que : La fatigue, il peut ce pendant semblé difficile de pouvoir mieux effectuer le comptage des bulletins des votes, les voix pour chaque candidat bien que les témoins et observateurs y participent, cela pourra donc engendrer le risque de fraude, l'erreur lié à l'état physique des membres de la dite institution,...

Pour arriver à pallier à ces différents problèmes que pose le vote manuel, nous préconisons la mise au point d'une application de vote informatique. Pour y parvenir nous nous posons les questions suivantes :

Comment se présente le système d'information actuel de la CENI antenne Likasi ? Comment pouvons-nous arriver à concevoir notre application de vote informatique ? Quelle structure convient le mieux à cette innovation ?

2 KAZADI K. T, cours de Méthodes de recherche science, G2 Info, UCSV 2013-2014

3 MWADI K, cours de Méthodes de recherche science, G2 Info, UMK 2007

3

3. HYPOTHESE

L'hypothèse est une suite des réponses provisoire que l'on est supposé de proposer à la suite des questions que l'on sait poser dans la problématique.4

L'hypothèse est une proposition des réponses aux questions que l'on se pose de l'objet de la recherche, formulée en des termes tels que l'observation l'analyse puissant fournir une réponse.5

En d'autres termes, nous disons que, l'hypothèse est l'ensemble des réponses aux questions posé dans la partie problématique.

Ayant recouru à certains documents, nous avons pu trouvés que le vote manuel pose certaine difficultés, c'est ainsi que nous proposerons dans ce travail une solution en mettant en place une application de vote informatique qui pourra ainsi permettre d'automatiser le comptage des bulletins et voix obtenus par candidat après le vote, de centraliser le résultat obtenu aussi vite que possible par circonscription électorale.

C'est pourquoi pour y arriver nous tenterons de répondre aux précédentes questions en proposant :

Une analyse et une présentation détaillée du système actuel,

Une conception détaillée du système informatique, et

Une architecture technique et une implémentation de l'application.

4. CHOIX ET INTERET DU SUJET

1) Choix

Etudiants et future ingénieurs que nous sommes, nous avons été tentés d'aborder n'importe quelle situation pouvant nous amenés à une conception et une réalisation d'un projet informatique.

Pourquoi avons-nous donc porté notre choix sur ce sujet ? Nous pensons que tout chercheur pourra donc se posé une telle question. Ce pendant tout homme peut mieux expliquer que ce qui est dans son entourage.

Nous avons constatés de la manière que le processus des votes précédant (de 2006 et de 2011) ont étés organisés, obligeant les membres de la dite institution à passer une nuit blanche dans des mauvaises conditions pour procéder au dépouillement et comptage des voix obtenus par chaque candidat et bulletin; ce pendant connaissant que les votes prochains sont

4 MULONGOY, cours d'initiation à la recherche scientifique, G1 Info, UCSV 2012-2013

5 KAZADI K.T, cours de Méthodes de recherche science, G2 Info, UCSV 2013-2014

4

prévus pour 2016, nous avons portés notre choix sur ce sujet pour mettre en place un système de vote informatique qui pourra offrir :

Des élections plus légitimes, grâce à la réduction des erreurs liées au support papier Des résultats quasi immédiats dès la clôture du vote

Une logique de développement durable par la réduction ou suppression du support papier (coût d'impression des bulletins de vote, coût du transport, coût humains...)

2) Intérêt

Etant donné que le champ d'action de notre sujet est trop vaste, nous avons décidé de faire notre étude seulement dans le cas de la CENI antenne Likasi. Cette étude peut avoir comme :

Intérêt personnel : Il est vrai que tout étudiant qui est au terme de son premier cycle des études supérieurs ou universitaires doit ce pendant rédigé un travail de fin de cycle, il convient de signaler que lors de l'élaboration de ce travail il est dans notre intérêt : d'approuver la capacité d'avoir assimilé les matières reçues durant ces trois premières années de nos études universitaires, d'avoir une idée sur l'organisation de la CENI, l'organisation des élections. Il est à noter qu'il est dans notre intérêt en tant qu'informaticien, de pouvoir signer un contrat de quelques jours avec la CENI pour le processus de vote.

Intérêt social : dans le cadre de son devoir de garantir une forte transparence dans le processus de vote et le dépouillement des bulletins après le vote ; Les responsables de la CENI antenne Likasi pourront minimiser le temps d'attente avant la publication des résultats définitifs, minimiser le coût d'impression des bulletins papier, minimiser le coût de paiement des agents devant participé au dépouillement,...sur base d'un système informatique.

5. METHODES, TECHNIQUES ET SOURCES DES DONNEES

a. Méthodes

Selon DECARTES, la méthode est l'ensemble des règles certaines et faciles auxquelles tous ceux qui y font recours et les observent rigoureusement ne supposeront jamais vrai ce qui est faux.6

6 KALUNGA MAWAZO & KAZADI K., Les Méthodes de Recherche et d'Analyse en Sciences Sociales et Humaines, Ed. EDUPC, KINSHASA, p23

5

Quant au professeur Bienvenu KALUNGA MAWAZO et au professeur ordinaire Timothée KAZADI KIMBU, la méthode est une voie, un chemin, une démarche intellectuelle que le chercheur emprunte dans la saisie, l'analyse et l'explication de son objet d'étude.7

Pour ce qui nous concerne, nous disons que la méthode est une démarche à suivre en vue d'analyser et expliquer l'objet de l'étude.

Dans le cas de notre étude nous avons choisi de concevoir notre système d'information avec le langage de modélisation UML en utilisant la démarche UP comme méthode de développement.

L'UP est un processus de développement logiciel itératif, centré sur l'architecture et piloté par le cas d'utilisation et orienté vers la diminution des risques.8

Ces principes sont à la base du processus unifié décrit par les auteurs d'UML

présentant les avantages du développement itératif se caractérisent comme suit : les risques sont évalués et traités au fur et à mesure des itérations, les premières itérations permettent d'avoir un feed-back des utilisateurs, les tests et l'intégration se font de manière continue,

les avancées sont évaluées au fur et à mesure de l'implémentation.

Il convient de signaler que la méthode UP est une méthode orienté objet, celle-ci pourra nous guidés dans l'élaboration de notre travail partant de l'analyse à la conception jusqu'au déploiement de notre application.

b. Techniques

Les techniques sont des instruments utilisés et jugés nécessaires pour appréhender les renseignements, les informations pouvant servir à l'élaboration du travail.9

La technique est un instrument, un moyen, une voie qui nous permet de récolter les données de notre objet d'étude.10

Pour ce qui nous concernes, La technique est un procédé ou ensemble des procédés mis en oeuvre pour obtenir un résultat déterminé dans un domaine particulier.

Pour notre étude, nous allons donc utilisés les techniques suivantes :

La technique d'interview : Cette technique nous a permis de contacter et de poser différentes questions à certains agents de la CENI antenne Likasi pour arriver à

trouver des informations utiles pour la compréhension de notre domaine d'étude.

7 Op Cit. p27

8 RAMAZANI Trésor, Cours de conception orienté objet II, G3 Info, UCSV 2014-2015

9 BRIMO Albert, Les méthodes en sciences, Éd. D'ALLUR, Paris, 1972, p. 143.

10 MULONGOY, cours d'initiation à la recherche scientifique, G1 Info, UCSV 2012-2013

6

La technique d'observation : Cette technique nous a permis de voir, d'observer comment les votes précédant ont étés organiser.

c. Source des données

La documentation : Cette source a été un objet utile pour la réalisation du corps de notre travail suite à une lecture approfondie de certains documents. Elle consiste à analyser, à étudier les documents porteurs d'informations étant en relation avec notre objet d'étude.

L'internet : L'internet étant un outil indispensable pour tout chercheur, à travers les encyclopédies, articles, forum, FAQ, sites universitaires, ... nous avons fait des recherches approfondies.

6. ETAT DE LA QUESTION

Parlant du vote informatique, d'autre chercheur ont pût aborder et travailler notre dite projet, ce pendant nous allons voire de quelle façon ils ont traités le sujet de notre travail. Pour commencer :

BUKASA TSHIBUABUA Patrick et KANDE NGALAMULUME Gérard Gradués en sciences appliquées en 2011 à l'université de KINSHASA ont aussi traités notre sujet mais dans un cadre beaucoup plus électronique en mettant au point un système électronique qui donnait sur un afficheur le résultat d'un vote fait particulièrement au sénat congolais. Ils ont cependant fait l'étude des éléments essentiels du système de vote, parmi lesquels, l'additionneur a été à la base de leur étude. Ils ont donnés les différentes sortes d'additionneurs, leurs qualités et défauts ; ils ont fait le choix de celui qui a les meilleures qualités pour la réalisation de leur système.

Pour la sécurité, ils ont utilisé les capteurs d'empreintes digitales pour ne donner accès qu'aux personnes habilités à utiliser le système.11

Pour ce qui concerne notre travail, nous présenterons une application informatique tournant dans une architecture un tiers (1/3) permettant aux membres de la CENI antenne Likasi d'obtenir le résultat du vote dans un temps très minime cela veut dire juste après les opérations de vote au lieu de passer toute une nuit blanche entrain de compté les bulletins de vote.

11 www.memoireonline.com/ Conception et réalisation d'un système de vote électronique pour le parlement: "cas du sénat congolais" en ligne le 05/12/2014 à 20 h 40'

7

7. DELIMITATION DU TRAVAIL

Nous ne saurons pas traités un travail aussi très vaste comme celui-ci si nous

n'arrivons pas à le limité. Il est vrai que la CENI organise les élections sur l'ensemble du territoire Congolais dont les élections présidentielles, nationales, provinciales, urbaines et municipales. C'est ainsi que nous limiterons notre travail à l'organisation des élections présidentielles et sur une période allant du mois d'octobre 2014 au mois de juillet 2015 dans la ville de Likasi.

8. STRUCTURE DU TRAVAIL

Hormis l'introduction générale et la conclusion générale notre travail s'articulera autour des points ci - après :

Premier chapitre : « Analyse de l'architecture métier » Dans ce chapitre il sera question de présenté au préalable notre champ de travail afin d'avoir une idée générale pour bien l'analyser.

Deuxième chapitre : « Conception Détaillée du Système Informatique » Dans ce chapitre nous essaierons d'étendre la représentation des diagrammes effectués au niveau de l'analyse et d'exprimer les besoins attendus du futur système Informatique à développer.

Troisième chapitre : « Architecture technique et Implémentation » Dans ce chapitre nous essayons d'étendre la représentation des diagrammes effectués au niveau de la conception en y intégrant les aspects techniques plus proches des préoccupations physiques.

8

Chapitre I : ANALYSE DE L'ARCHITECTURE METIER

I.1.Introduction

Avant de commencer notre analyse ou étude, commençons par présenter au préalable notre champ de travail afin d'avoir une idée générale pour bien l'analyser ; cette analyse va nous permettre d'apprécier le fonctionnement du système en place avant d'envisager techniquement la solution informatique appropriée pour tenter d'améliorer le fonctionnement au dit système.

Vous constaterez avec nous que les informations recueillies et présentées dans ce travail ne sont pas complètes, cela est du au fait que certaines informations sont liées à la confidentialité de l'Administration.

Mais bien avant cela, nous commencerons par définir quelques concepts de l'informatique et du domaine d'application.

I.2.Définition des concepts

I.2.1.Théorie de l'information

L'information est un concept ayant plusieurs sens. Il est étroitement lié aux notions de contrainte, communication, contrôle, donnée, formulaire, instruction, connaissance, signification, perception être présentation.12

L'information désigne à la fois le message à communiquer et les symboles utilisés pour l'écrire ; elle utilise un code de signes porteurs de sens tels qu'un alphabet de lettres, une base de chiffres, des idéogrammes ou pictogrammes. Hors contexte, elle représente le véhicule des données comme dans la théorie de l'information et, hors support, elle représente un facteur d'organisation. On touche là à un sens fondamental, où l'information est liée à un projet. Il peut être construit, comme un programme informatique.

I.2.2.Théorie en système d'information

Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données et procédures) qui permet de regrouper, de classifier, de traiter et de diffuser de l'information sur un environnement donné.13

12 fr.wikipedia/wiki/ en ligne le 25/03/2015 à 09h 39'

13 www.additeam.com en ligne le 25/02/2105 à 12h 01'

9

L'utilisation de moyens informatiques, électroniques et la télécommunication permettent d'automatiser et de dématérialiser les opérations telles que les procédures d'entreprise. Ils sont aujourd'hui largement utilisés en lieu et place des moyens classiques tels que les formulaires sur papier et le téléphone et cette transformation est à l'origine de la notion de système d'information.

I.2.3Théorie des systèmes

Un système est un ensemble d'éléments interagissant entre eux selon certains principes ou règles.14 Un système est déterminé par :

La nature de ses éléments constitutifs ;

Les interactions entre ces derniers ;

Sa frontière, c'est-à-dire le critère d'appartenance au système (déterminant si une entité appartient au système ou fait au contraire partie de son environnement) ;

Ses interactions avec son environnement.

I.2.4.Théorie de l'interaction homme-machine

L'interaction homme-machine est l'ensemble des dispositifs matériels et logiciels permettent à un utilisateur d'interagir avec un système interactif.15

Il existe de nombreuses manières pour qu'un humain puisse interagir avec les machines qui l'entourent. Ces manières sont très dépendantes des dispositifs d'interactions et des forces ou compétences que l'être humain ne peut étendre qu'extérieurement. Pour interagir avec les machines ; nous citons quelques organes d'interaction homme-machine :

a. Organes d'entrée

Les premiers ordinateurs étaient utilisés sous forme de traitement par lots et toutes les entrées (programmes et données) étaient alimentés en entrée par des cartes perforées, des rubans perforés ou des bandes magnétiques.

Il y avait un clavier pour interagir avec le système (console système). Avec l'arrivée de la micro-informatique on a commencé à utiliser des cassettes audio et des claviers, puis des disquettes et des souris informatique avant de passer aux écrans tactiles. Un système de pointage tel la souris permettent d'utiliser un ordinateur avec le paradigme WIMP qui s'appuie sur les interfaces graphiques pour organiser la présentation d'informations à l'utilisateur.

14 fr/wikipedia/wiki/ en ligne le 20/06/2015 à 10h 35'

15 Catherine Recanti, cours d'Interaction Homme-machine, Paris 13, p5

10

b.Organes de sortie

Les premiers organes de sorties ont été les imprimantes, les perforateurs de cartes et les perforateurs de ruban secondés ensuite par bandes magnétique. La console système était équipée d'une imprimante remplacée par un écran plus tard. Avec l'arrivée de la micro-informatique on a utilisé d'abord des cassettes audio, puis des disquettes avant d'utiliser des CD puis des DVD.

c.Organes interactifs

Certaines techniques tentent de rendre l'interaction plus naturelle :

la reconnaissance automatique de la parole ou de gestes permettent d'envoyer des

informations à un ordinateur ;

la synthèse vocale permet d'envoyer un signal audio compréhensible par l'être

humain ;

les gants de données offrent une interaction plus directe que la souris ;

les visiocasques essayent d'immerger l'être humain dans une réalité virtuelle, ou

d'augmenter la réalité ;

les tables interactives permettent un couplage fort entre la manipulation directe par

l'être humain sur une surface et le retour d'information.

I.2.5. Conception

La conception est une action d'élaborer quelque chose dans son esprit.16 La conception est un processus créatif et rigoureux, elle ne se contente pas d'identifier le problème mais elle tente d'y apporter une solution valide.

I.2.6. Implémentation

Une implémentation se situe toujours sur une plate-forme particulière, et est faite par un programmeur (ou une équipe) donné. Implémenter, le verbe associé, implique le développement d'un nouveau code source réalisé «à partir de rien» (ou étendant un existant afin d'y ajouter des fonctionnalités).17

L'implémentation est la mise en oeuvre des choix issus de la conception. L'implémentation doit pouvoir répondre aux contraintes de réalisation sans mettre en cause les choix de conception.18

L'implémentation a pour synonyme : adaptation, exécution, fabrication, réalisation.

16 Le petit Larousse 2010

17 jargonf.org/wiki/ en ligne le 17/08/2015 à 14h 30'

18 Stefano Zacchiroli, Cours de Génie Logiciel Avancé, Université de Paris, p7

11

I.2.7. Application

Une application est un ensemble d'objets (fenêtres, champs, ...) organisés dans un but précis (par exemple suivre les ventes des produits d'une entreprise).19

Pour notre future solution nous mettrons en place une application web. Une application web est un logiciel applicatif, d'où son nom, hébergé sur un serveur et accessible via les navigateurs Internet (Explorer, Mozilla Firefox, Safari...) ou sur un réseau intranet.20 Contrairement à un logiciel classique, les applications web n'ont pas besoin d'être installées sur les ordinateurs de leurs utilisateurs : il leur suffit en effet de se connecter à l'application à l'aide de leurs navigateurs favoris pour pouvoir y accéder. Leur but est d'offrir une expérience à l'utilisateur et des fonctionnalités équivalentes aux logiciels habituellement installés sur les ordinateurs, en utilisant de technologies de développement identiques à celles employées habituellement dans la création des sites internet.

I.2.8. Vote

Le vote (terme dérivé de l'anglais vote, provenant du latin votum signifiant « voeu ») désigne une méthode permettant à un groupe une prise de décision commune. La pratique du vote vise à donner une légitimité à la décision en montrant qu'elle ne vient pas d'un individu isolé.21

Notons que l'élection est la désignation, par le vote d'électeurs.

I.2.9. Informatique

Le terme « informatique » résulte de l'association des trois premières syllabes du terme « information » et des deux dernières syllabes du terme « automatique » ; il désigne à l'origine l'ensemble des activités liées à la conception et à l'emploi des ordinateurs pour traiter des informations.22 En d'autre terme, nous disons que l'informatique est une science de traitement automatique de l'information.

19 www.pcsoft.fr en ligne le 17/08/2015 à 13 h 24'

20 www.idnext.net en ligne le 17/08/2015 à 13 h 28

21 fr.wikipedia.org/vote en ligne le 17/08/2015 à 13 h 20'

22 fr.wikipedia/wiki/ en ligne le 05/02/2015 à 10h 17'

12

I.3.Présentation de l'Existant

I.3.1.Description du domaine

I.3.1.1.Historique

La Commission Electorale Nationale Indépendante (CENI) est une Institution d'Appui à la Démocratie, consacrée par la loi Organique n° 10/013 du 28 juillet 2010 portant organisation, attributions et fonctionnement de Cette Institution.23

I.3.1.2.Présentation de l'organisation

La Commission Electorale Nationale Indépendante a pour mission de garantir la neutralité et l'impartialité dans l'organisation d'élections libres, démocratiques et transparentes. Elle contribue à l'élaboration des cadres juridiques relatifs aux processus référendaire et électoraux. Elle est chargée de préparer, d'organiser, de gérer et de contrôler, en toute indépendance et transparence, les processus référendaire et électoraux pendant la transition.

A ce titre, la Commission réalise notamment:

L'identification et enrôlement des électeurs ;

Enregistrement des candidats pour différents scrutins ;

L'élaboration des listes électorales;

Le vote ;

Le dépouillement;

L'annonce des résultats provisoires;

La passation des marchés afférents à ces opérations conformément aux procédures en vigueur.

Elle élabore les prévisions budgétaires et le calendrier relatifs à l'organisation des processus référendaire et électoraux. Elle reçoit, agrée et publie la liste des candidats. Elle accrédite les observateurs nationaux et internationaux et reçoit les listes des témoins désignés par les candidats et les partis politiques.

23 www.ceni-rdc.org en ligne le 05/02/2015 à 10 h 40'

13

I.3.1.3.Situation géographique

Pour ce qui est de notre étude nous allons nous limités à la CENT antenne Likasi qui se trouve au numéro 160, sur le Boulevard KAMANYTOLA dans la commune de Likasi.

Figure 1: Siège de la CENI Antenne Likasi

Source : Google Earth.

14

I.3.1.4.Organigramme opérationnel

Figure 2: Structure opérationnelle de la CENI

Source : Plan opérationnel, fiabilisation du fichier électoral et stabilisation des

cartographies opérationnelles

15

I.4.Modélisation du processus métier cible

La modélisation du métier vise à mieux connaître le fonctionnement et les règles qui régissent le système organisationnel dans lequel on envisage implanter un nouveau système informatisé. Si l'on souhaite que le système informatique à concevoir corresponde aux exigences réelles du métier ciblé, il est vital de bien identifier les objectifs, les priorités, les règles de gestion et les processus clés de l'organisation avant toute tentative d'informatisation. C'est ainsi que nous allons commencer par présenté le langage de modélisation qui n'est autre qu'UML et en suite la démarche UP :

Présentation du langage de modélisation UML

UML (Unified Modeling Language) se définit comme un langage de modélisation graphique et textuel destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue.24

UML n'est pas une méthode (une description normative des étapes de la modélisation) : ses auteurs ont en effet estimé qu'il n'était pas opportun de définir une méthode en raison de la diversité des cas particuliers. Ils ont préféré se borner à définir un langage graphique qui permet de représenter, de communiquer les divers aspects d'un système d'information. UML est donc un métalangage car il fournit les éléments permettant de construire le modèle qui, lui, sera le langage du projet.

UML en sa version 2 s'articule autour de treize types de diagrammes, chacun d'eux étant dédié à la représentation des concepts particuliers d'un système logiciel. Ces diagrammes sont regroupés dans deux grands ensembles: les diagrammes structurels et les diagrammes comportementaux. Ces types de diagrammes sont répartis en deux grands groupes :

Les six diagrammes structurels :

Diagramme de classes : il montre les briques de base statiques : classes, associations, interfaces, attributs, opérations, généralisations, etc. Diagramme d'objets : il montre les instances des éléments structurels et leurs liens à l'exécution.

Diagramme de packages : il montre l'organisation logique du modèle et les relations entre packages.

Diagramme de structure composite : il montre l'organisation interne d'un élément statique complexe.

24 Pascal ROQUES, UML2 Modéliser une application Web, Ed. EYROLLES, p22.

16

Diagramme de composants : il montre des structures complexes, avec leurs interfaces fournies et requises.

Diagramme de déploiement : Il montre le déploiement physique des « artefacts » sur les ressources matérielles.

Les sept diagrammes comportementaux :

Diagramme de cas d'utilisation : il montre les interactions fonctionnelles entre les acteurs et le système à l'étude.

Diagramme de vue d'ensemble des interactions : il fusionne les diagrammes d'activité et de séquence pour combiner des fragments d'interaction avec des décisions et des flots.

Diagramme de séquence : il montre la séquence verticale des messages passés entre objets au sein d'une interaction.

Diagramme de communication : il montre la communication entre objets dans le plan au sein d'une interaction.

Diagramme de temps : il fusionne les diagrammes d'états et de séquence pour montrer l'évolution de l'état d'un objet au cours du temps.

Diagramme d'activité : il montre l'enchaînement des actions et décisions au sein d'une activité.

Diagramme d'états : il montre les différents états et transitions possibles des objets d'une classe.

La demarche UP (Unified Process)

Processus unifié (PU ou UP en anglais pour Unified Process) est une méthode de prise en charge du cycle de vie d'un logiciel et donc du développement, pour les logiciels orientés objets. Le Processus Unifié (UP, pour Unified Process) est un processus de développement logiciel itératif et incrémental, centré sur l'architecture, conduit par les cas d'utilisation et piloté par les risques.25

Le processus unifié se déroule en quatre phases, incubation, élaboration, construction et transition. Chaque phase répète un nombre de fois une série d'itérations. Et chaque itération est composée de cinq activités : capture des besoins, analyse, conception, implémentation et test.

25 RAMAZANI Trésor, Cours de conception orienté objet II, G3 Info, UCSV 2014-2015

17

Figure 3: Cycle de vie du processus unifié

Source : Cours de COO II, G3 Info, UCSV 2014-2015

Les quatre phases du processus unifié sont :

1. Création

C'est la première phase du processus unifié. Il s'agit de délimiter la portée du système, c'est-à-dire tracer ce qui doit figurer à l'intérieur du système et ce qui doit rester à l'extérieur, identifier les acteurs, lever les ambiguïtés sur les besoins et les exigences nécessaires dans cette phase. Il s'agit aussi d'établir une architecture candidate, c'est-à-dire que pour une première phase, on doit essayer de construire une architecture capable de fonctionner. Dans cette phase, il faut identifier les risques critiques susceptibles de faire obstacles au bon déroulement du projet.

2. Elaboration

C'est la deuxième phase du processus. Après avoir compris le système, dégagé les fonctionnalités initiales, précisé les risques critiques, le travail à accomplir maintenant consiste à stabiliser l'architecture du système. Il s'agit alors de raffiner le modèle initial de cas d'utilisation, voire capturer de nouveaux besoins, analyser et concevoir la majorité des cas d'utilisation formulés, et si possible implémenter et tester les cas d'utilisation initiaux.

18

3. Construction

Dans cette phase, il faut essayer de capturer tous les besoins restants car il n'est pratiquement plus possible de le faire dans la prochaine phase. Ensuite, continuer l'analyse, la conception et surtout l'implémentation de tous les cas d'utilisation. A la fin de cette phase, les développeurs doivent fournir une version exécutable du système.

4. Transition

C'est la phase qui finalise le produit. Il s'agit au cours de cette phase de vérifier si le système offre véritablement les services exigés par les utilisateurs, détecter les défaillances, combler les manques dans la documentation du logiciel et adapter le produit à l'environnement (mise en place et installation).

Dans notre étude le processus cible est le vote présidentielle ainsi que dépouillement des résultats après le vote. Pour ainsi arriver à modéliser notre processus cible qui est le vote et le dépouillent (comptage des voix) après le processus de vote, nous utiliserons les diagrammes suivants :

Diagramme de Cas d'utilisation métier

C'est un diagramme qui représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. C'est le premier diagramme du modèle UML, est celui où s'assure la relation entre l'utilisateur et les objets que le système met en oeuvre.26

Cette phase va nous permettre d'identifier les différents cas d'utilisations de notre métier. Par le biais des cas d'utilisation, nous serons en contact permanent avec les acteurs du système en vue de définir les limites de celui-ci, et ainsi éviter de trop s'éloigner des besoins réels de l'utilisateur final.

Le diagramme de CU présenté ci-dessous ne présente pas la totalité des cas d'utilisation du processus métier cible, ce pendant nous avons présentés quelques cas d'utilisation afin de mieux analysé notre système en vue d'y apporter notre future solution.

26 Laurent AUDIBERT, cours UML 2.0, Paris 2006, p 26

19

Figure 4: Diagramme de Cas d'Utilisation métier

System

Présenter Carte

Verification Carte

Sec Bureau de Vote

Reçevoir Bulletin de Vote

Voter

Votant

Placer Bulletin dans l'urne

Retirer Carte d'Elect

Chef_antenne

Envoyer resultat

Source : l'auteur

I.5.Analyse des besoins

La première étape de la conception consiste à analyser la situation pour tenir compte des contraintes, des risques et de tout autre élément pertinent et assurer un ouvrage ou un processus répondant aux besoins du client.

L'étape de l'analyse des besoins est la deuxième phase de cycle de vie du Processus Unifié et l'une des étapes les plus importantes à considérer ; en effet si les besoins sont mal spécifiés et exprimés, ou mal analysés, toute la suite devra être refaite, d'où l'importance accordée à cette activité.

Notre objectif dans cette étape est donc d'exprimer les besoins attendus du futur système Informatique à développer.

20

Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation décrit les grandes fonctions d'un système du point de vue des acteurs, mais n'expose pas de façon détaillée le dialogue entre les acteurs et les cas d'utilisation. C'est le premier diagramme du modèle UML, est celui où s'assure la relation entre l'utilisateur et les objets que le système met en oeuvre.

Un cas d'utilisation est une unité cohérente représentant une fonctionnalité visible de l'extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur qui l'initie. Un cas d'utilisation modélise donc un service rendu par le système, sans imposer le mode de réalisation de ce service.27

Figure 5: Diagramme de Cas d'Utilisation

Chef_antenne

<<include>>

System

Voter

Votant

<<include>>

S'authentifier

Envoyer resultat

Informaticien

Source : l'auteur

27 Laurent AUDIBERT, Op.cit., Page26

21

Description textuelle de Diagramme de cas d'utilisation

Dans cette partie du travail, nous aurons à décrire les différents cas d'utilisation de notre système :

a. CU : Voter

1. Nom du Cas d'utilisation : Voter

2. Objectif : Exprimer son opinion

3. Acteurs : Votant

4. Pré condition : s'authentifier

5. Post condition : Néant

6. Scenario nominal :

· Pointer sur la photo du candidat et valider

· Enregistrer la voix

· Auto validation après une minute sans action sur le formulaire des candidats

· Détruire l'interface de vote

7. Scenario alternatif : Néant

b. CU : S'authentifier

1. Nom du cas d'utilisation : S'authentifier

2. Objectif : sécuriser chaque votant enrôlé pour éviter la fraude ou le piratage

3. Acteurs : Votant, Chef d'antenne

4. Pré condition : Etre enrôlé ou identifier dans le système

5. Post condition : Voter

6. Scenario nominal :

· L'informaticien saisi les coordonnées du votant

· Vérification des coordonnées par le système

· Activer l'interface (bulletin) de vote

· Voter et valider puis détruire l'interface

7. Scenario alternatif :

· Vérification coordonnées (avec erreur) ; si vrai, activer l'interface sinon erreur ; saisir les coordonnées.

22

c. CU : Envoyer résultat

1. Nom du cas d'utilisation : Envoyer résultat

2. Objectif : centraliser le résultat obtenu pour la publication.

3. Acteurs : Chef d'antenne

4. Pré condition : S'authentifier

5. Post condition : compiler le résultat reçu et publier le résultat définitif

6. Scenario nominal :

· Le chef d'antenne saisi les coordonnées

· Vérification des coordonnées par le système

· Afficher l'interface de résultat

· Envoyer résutat

7. Scenario alternatif :

· Vérification coordonnées (avec erreur) Si vrai, afficher l'interface ; sinon erreur, saisir les coordonnées.

Loop

Alt

6 : Votant non-enregistrer

1 : Saisir num carte()

4 : Interface activé 5 : Veuillez selectionner votre candidat

2 : Valider()

8 : Enregistrer()

3 : Verifier()

9 : Vote éffectué avec succès

7 : Voter et Valider()

Source : l'auteur

23

Diagramme de séquence système

Décrire le comportement du système par des diagrammes de séquence système (DSS) où le système est vu comme une boîte noire. Le système est donc vu de l'extérieur par les acteurs sans préjuger de comment il sera réalisé. La boîte noire sera ouverte (décrite) seulement en conception.

Le fonctionnement d'un cas d'utilisation est notamment décrit sous la forme d'une séquence de messages échangés entre les acteurs et le système.

Pour notre future application nous allons décrire le cas d'utilisation Voter qui sera fusionné au cas d'utilisation S'authentifier et enfin le cas d'utilisation Publier résultat.

Figure 6: Diagramme de Séquence système du CU: Voter et S'Authentifier

Sytème

: Votant

: Informaticien

24

Figure 7: Diagramme de Séquence Système du CU: Envoyer résultat

/Système

/ : Chef_Antenne

1 : Saisir le numero Matricule()

3 : Saisir le mot de passe et Valider()

2 : Verification()

Alt

4 : Connexion

5 : Erreur connexion

6 : Resultat affiché

7 : Envoyer resultat()

8 : Resultat envoyer avec succès

Source : l'auteur

25

I.6.Description de données

Pour la description de données nous avons eu à utiliser quelques documents, dont : La carte d'électeur : est un document imprimé, prouvant l'identité d'une personne ou permettant d'exercer certains droits. Cette carte nous a permis d'avoir certaines informations dont : le numéro de la carte et le nom de la personne détentrice de celle-ci. Le bulletin de vote : est un billet ou feuille servant à exprimer un vote. Ce dernier nous a permis d'avoir quelques informations pour une bonne conception de notre future solution, dont : le nom, le parti politique, le numéro d'ordre selon l'identification du candidat à l'élection

26

Diagramme de classe du domaine

Le diagramme de classes est le point central dans un développement orienté objet. En analyse, il a pour objet de décrire la structure des entités manipulées par les utilisateurs.28

Figure 8: Diagramme de classe du domaine

1

1

Centre de vote

-Nomcentre -Adresse -Id_centre

-Ajouter() -Modifier() -Supprimer()

Votant

CarteElecteur

-numvotant -DateEnreg

1

-NumCarte -Nom -Postnom

1..*

1

-Enregistrer() -Modifier() -Supprimer()

1

-Modifier() -Ajouter()

1

1

1..*

-NumBul -Date

Candidat

1..*

-Sauvegarder() -Supprimer()

1

-NumCand -Nomcand -Postnom -Prenom -Parti -Province

1

Bulletin de Vote

-Ajouter() -Modifier() -Supprimer()

Chef centre

-MatChef -NomChef -Postnom -Prenom

-Ajouter() -Modifier()

Source : l'auteur

28 Pascal ROQUES, UML2 Modéliser une application Web, Ed. EYROLLES, p22-23.

27

I.7.Critique de l'existant

Cette étape a pour objet l'élaboration, après analyse du domaine d'étude, d'un diagnostic sur les procédures existantes dans le but d'en dégager les points positifs et les points à amélioré.

a. Points positifs

Notons que la CENI fourni toute l'équipement nécessaire à l'enrôlement ou à l'indentification des électeurs et candidats.

b. Points à améliorés

Nous sommes sans ignorer que toute oeuvre humaine ne manque jamais d'imperfection, de ce fait la CENI n'a pas échappée à cette règle.

Les problèmes que présentent la CENI sont multiples, mais notre curiosité s'est attelé sur le comptage des bulletins de vote pour y apporter une solution en tant que futur ingénieur ayant l'obligation de produire un travail scientifique de fin cycle qui devra contribuer à l'apport d'une solution adéquate sur un problème bien spécifique, voila au moins la raison d'être de ce travail.

I.8.Proposition de la solution nouvelle

Après avoir fait une critique du système actuel, nous avons proposés qu'à la fin de ce travail nous présenterons une application informatique tournant dans une architecture un tiers (1/3) permettant aux membres de la CENI Likasi d'obtenir le résultat du vote dans un temps très minime cela veut dire juste après les opérations de vote au lieu de passer toute une nuit blanche entrain de compté les bulletins de vote.

I.9. Conclusion Partielle

Cette première partie nous avons non seulement eu une vue détaillée de l'état actuel de l'organisme, mais aussi de nous familiariser avec les différentes activités et traitements qui se font au sein de la CENI. Il faut noter que le diagramme de cas d'utilisation réalisé au niveau de cette étape nous a donné déjà un premier aperçu sur l'application à concevoir, ouvrant ainsi la porte à la deuxième partie «Conception Détaillée du Système Informatique», que nous allons détaillés dans le second chapitre de notre travail.

28

Chapitre II. CONCEPTION DETAILLEE DU SYSTEME
INFORMATIQUE

II.1. Introduction

Dans la démarche du Processus Unifié, la phase de conception suit immédiatement la phase d'Analyse, par ailleurs la conception de logiciel est un art qui nécessite de l'expérience, et elle consiste à traduire les besoins en spécifiant comment l'application pourra les satisfaire avant de procéder à sa réalisation. En effet, dans ce chapitre nous essaierons d'étendre la représentation des diagrammes effectués au niveau de l'analyse et d'exprimer les besoins attendus du futur système Informatique à développer.

29

II.2. Diagramme de Séquence de Conception

Décrit le diagramme des appels de méthodes et de la coopération entre instances et méthodes.

Le diagramme de séquence de conception permet de donner une vue « en largeur » du déroulement d'une opération.

Le diagramme suivant montre comment le processus de vote se déroule dans notre futur système.

30

Figure 9: Diagramme de Séquence de Conception du CU: Voter et S'Authentifier

Authentification Vote Ctrl Vote

Ctrl Authentification Carte electeur Vote

Votant

1 : Saisir num carte()

2 : Verification()

3 : Verifier info()

Alt

4 : Reponse

Msg erreur

5 : Affichage

6 : Activer

7 : Voter()

9 : Inserer()

Confirmation

11<<destroy>>

10 : Reponse

12 : Afficher

8 : Valider()

: Informaticien

: Votant

Source : l'auteur

31

II.3. Diagramme de Classe de Conception

Le diagramme de classes de conception est un document indispensable qui représente la vue de la conception statique d'un système. En conception, le diagramme de classes représente la structure d'un code orienté objet.

32

1

1

-NumCarte: integer -Nom: string -NumVotant: integer

<<entity>>

VOTANT

-NumCarte: integer -Nom: String

Informaticien

<<control>>

Ctrl Authentification

-Annuler()

Votant

-Verifier()

-Info: String

1

-NumVotant: integer -NumCandidat: integer

<<boundary>> VOTE

<<control>> Ctrl Vote

-NumCand: integer -NomCand: String -Photo: String -Parti: String

-Valider()

-Selectionner()

1

-Verifier() -Activer()

-Msg: String

-Ok()

<<entity>>

Carte Electeur

<<boundary>>

Authentification

-NumCarte: integer

<<boundary>>

Msg Erreur

<<entity>>

Vote

<<boundary>>

Confirmation

Source : l'auteur

Figure 10: Diagramme de classe de conception du CU : Voter et S'Authentifier

33

II.4. Modèle Logique des données

Nous décrivons dans cette phase les transformations à effectuer afin de dériver un schéma logique relationnel ou objet.

Le modèle relationnel est à l'origine du succès que connaissent aujourd'hui les grands éditeurs de SGBD (système de gestion de bases de données), à savoir Oracle, IBM, Microsoft, Informix, Sybase et CA-Ingres. Le but initial de ce modèle était d'améliorer l'indépendance données/ traitements.29

29 Christian SOUTOU : UML2 pour les Bases de données, Ed. EYROLLES, p 103-104

34

1

1

-MatrChef: String{Pk} -NomChef: String -Postnom: String -Prenom: String

<<table>>
Resultat

-Idresultat: integer{Pk} -NumCand: integer{Fk} -NombreVoix: integer -Pourcent: double -Decision: String

<<table>> Votant

-NumCarte: integer{Pk} -Nom: String

-Postnom: String -Id_Centre: String

<<table>> Bulletin Vote

<<table>> Centre Vote

-Id_Centre: String{Pk} -MatrChef: String{Fk} -NomCentre: String -Adresse: String

-NumBul: integer{Pk} -NumCand: integer{Fk} -NumVotant: integer{Fk} -Date: date

-IdCentre: String

<<table>>
Chef Centre

1

1

1

1..*

1..*

1

1

1

1

1

1

1..*

-NumVotant: integer{Pk} -NumCarte: integer{Fk} -DateEnreg: date

<<table>>
Candidat

-NumCand: integer{Pk} -NomCand: String -Postnom: String -Prenom: String -Parti: String -Province: String

<<table>>
Carte Electeur

Source : l'auteur

Figure 11: Modèle logique des données

35

II.5. Conclusion Partielle

Dans ce chapitre, nous avons décrit brièvement le processus de réalisation de notre application de vote informatique. En effet, nous avons le diagramme de séquence de conception pour le cas d'utilisation s'authentifier et voter pour voir comment l'application fonctionnera ; ouvrant ainsi la porte à la troisième partie de notre travail «Architecture Technique et Implémentation», que nous allons détailler dans le troisième chapitre.

36

Chapitre III. ARCHITECTURE TECHNIQUE ET IMPLEMENTATION

III.1.Introduction

Dans la démarche de Processus Unifié, la phase de conception suit immédiatement la phase d'Analyse, par ailleurs la conception de logiciel est un art qui nécessite de l'expérience, et elle consiste à traduire les besoins en spécifiant comment l'application pourra les satisfaire avant de procéder à sa réalisation. En effet, dans ce chapitre nous essayons d'étendre la représentation des diagrammes effectués au niveau de la conception en y intégrant les aspects techniques plus proches des préoccupations physiques.

III.2. Architecture technique

En informatique, architecture désigne la structure générale inhérente à un système informatique, l'organisation des différents éléments du système (logiciels et/ou matériels et/ou humains et/ou informations) et des relations entre les éléments. Cette structure fait suite à un ensemble de décisions stratégiques prises durant la conception de tout ou partie du système informatique. L'architecte technique décrit comment les composants logiciels sont déployés sur les composants matériels et aussi les interfaces et flux entre les divers composants.

III.2.1. Environnement client / serveur du système d'information

Présentation de l'architecture client/serveur

L'environnement client-serveur désigne un mode de communication à travers un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l'ordinateur sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur.

En général, les serveurs sont des ordinateurs dédiés au logiciel serveur qu'ils abritent, et dotés de capacités supérieures à celles des ordinateurs personnels en termes de puissance de calcul, d'entrées-sorties et de connexions réseau. Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette), mais pas systématiquement. Un serveur peut répondre aux requêtes d'un grand nombre de clients.

37

De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie que des machines clientes (des machines faisant partie du réseau) contactent un serveur, une machine généralement très puissante en termes de capacités d'entrée-sortie, qui leur fournit des services. Ces services sont des programmes fournissant des données telles que l'heure, des fichiers, une connexion, etc. 30

Figure 12: Architecture Client/ Serveur

Source : Encyclopédie Comment ça marche

Il est à noté qu'une architecture physique ou architecture technique est conçue de manière à

répondre à des exigences.

Ces exigences recouvrent de nombreuses notions :

Exigences fonctionnelles

Disponibilité / Fiabilité / plage d'ouverture

Reprise de service en cas d'incident

Sécurité (Disponibilité, Intégrité, Confidentialité, Traçabilité)

Niveaux de performance

Scalabilité (montée en charge)

Conservation des données

Modifiabilité (évolutivité)

Utilisabilité (interaction avec les utilisateurs)

III.2.2. Diagramme de déploiement du système d'information

Dans cette partie nous allons décrire l'implantation physique de notre application grâce à un diagramme proposé par UML : le diagramme de déploiement.

30 www.commentcamarche.com

en ligne le 05/05/2015 à 13 h30'

38

Le diagramme de déploiement permet de représenter l'architecture physique supportant l'exploitation du système. Cette architecture comprend des noeuds correspondant aux supports physiques (serveurs, routeurs...) ainsi que la répartition des artefacts logiciels (bibliothèques, exécutables...) sur ces noeuds. C'est un véritable réseau constitué de noeuds et de connexions entre ces noeuds qui modélise cette architecture.

Figure 13: Diagramme de déploiement

Serveur d'Application (Apache)

Serveur de BDD (Mysql)

Application de Vote

Hote Serveur

Navigateur Web

Navigateur WEB

Pc Informaticien

Pc Votant

Source : l'auteur

39

III.3. Programmation

Pour arrivé à réaliser notre future application, nous avons fait appel à la programmation web. Ce pendant nous avons utilisés des langages tel que :

~ Le HTML : L'Hypertext Markup Language, généralement abrégé HTML, est le format de données conçu pour représenter les pages web. C'est un langage de balisage permettant d'écrire de l'hypertexte, d'où son nom.31 Nous avons choisit ce langage pour présenter les pages de notre future solution ; Le HTML est facile à manipuler pour la présentation des pages.

~ Le CSS : Les feuilles de style en cascade, généralement appelées CSS de l'anglais Cascading Style Sheets, forment un langage informatique qui décrit la présentation des documents HTML et XML. Les standards définissant CSS sont publiés par le World Wide Web Consortium (W3C). CSS devient couramment utilisé dans la conception de sites web et bien pris en charge par les navigateurs web.32 CSS est si simple et facile pour la définition de mise en forme des pages de notre application.

~ Le PHP : Hypertext Preprocessor, plus connu sous son sigle PHP (acronyme récursif), est un langage de programmation libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale.33 PHP possède plusieurs avantages ; qui ont retenus notre attention, sa performance, son adaptabilité, sa simplicité d'utilisation et son apprentissage, son faible coût, sa portabilité,...

~ Le JavaScript : JavaScript est un langage de de scripts principalement employé dans les pages web interactives mais aussi pour les serveurs.34

> SQL : SQL (Structured Query Language, traduit Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML, Data Manipulation Language), et un langage de contrôle de données (LCD, ou en anglais DCL, Data Control Language), pour les bases de données relationnelles. 35

31 fr.wikipedia.org/wiki/Hypertext_Markup_Language en ligne le 25/08/2015 à 11h 47'

32 fr.wikipedia/wiki/Feuilles_de_style_en_cascade en ligne le 25/08/2015 à 11h 54'

33 fr.wikipedia/wiki/PHP en ligne le 25/08/2015 à 12h 20'

34 fr.wikipedia/wiki/JavaScript en ligne le 25/08/2015 à 12h 30'

35 Encyclopédie : Comment ça marche

40

Ce pendant nous avons utilisés quelques outils d'administration tels que :

~ Notepad++ : est un éditeur de code source qui prend en charge plusieurs langages. Ce programme, codé en C++, a pour vocation de fournir un éditeur de code source de taille réduite mais très performant.36 Nous avons choisit Notepad++ en optimisant de nombreuses fonctions tout en conservant une facilité d'utilisation et une certaine convivialité.

~ EasyPHP : Il s'agit d'une plateforme de développement Web, permettant de faire fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. EasyPHP n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (un serveur web Apache et un serveur de bases de données MySQL), un interpréteur de script (PHP), ainsi qu'une administration SQL phpMyAdmin. Il dispose d'une interface d'administration permettant de gérer les alias (dossiers virtuels disponibles sous Apache), et le démarrage/arrêt des serveurs.37

Nous avons portés notre choix sur EasyPHP du fait qu'il est simple, facile à utiliser pour le déploiement de notre application.

36 notepad-plus-plus.org/fr/ en ligne le 27/08/2015 à 08h40'

37 fr.wikipedia.org/wiki/EasyPHP en ligne le 27/08/2015 à 08h 50'

41

III.3.1. Choix de la plate-forme

Une plate-forme est un ensemble constitué par un système d'exploitation et un ordinateur.

Pour notre application, nous avons choisi la plate-forme Windows. Son adaptabilité, sa simplicité dans son utilisation, sa popularité fait que nous puissions optés pour cette dernière.

III.3.2. Choix du système de gestion de base de données

Le logiciel qui gère une base de données s'appelle un système de gestion de base de données. Tous les SGBD présentent à peu près les mêmes fonctionnalités. Ils se distinguent par leur coût, par le volume de données qu'ils sont capables de gérer, par le nombre d'utilisateurs qui peuvent interroger la base simultanément, par la facilité avec laquelle ils s'interfacent avec les autres logiciels d'application utilisés par l'entreprise, De nombreux SGBD sont disponibles sur le marché, partant des SGBD gratuits jusqu'aux SGBD destinés spécialement aux professionnels, comportant de plus nombreuses fonctionnalités, mais plus coûteux.

MySQL est un Système de Gestion de Base de Données (SGBD) parmi les plus populaires au monde. Ce système est particulièrement connu des développeurs pour faire partit des célèbres : WAMP (Windows, Apache, MySQL et PHP). L'une des spécificités de MySQL c'est qu'il inclut plusieurs moteurs de bases de données et qu'il est par ailleurs possibles au sein d'une même base de définir un moteur différent pour les tables qui composent la base.38 MySQL est si populaire et simples à mettre en oeuvre, il est largement connu et exploité comme système de gestion de base de données pour des applications utilisant PHP. C'est d'ailleurs pour cette raison que nous l'avons choisit du fait que la plupart des hébergeurs web proposent PHP et MySQL. Nous l'avons également choisit pour sa facilité de déploiement, sa rapidité et sa portabilité.

38 sql.sh/sgbd/mysql en ligne le 27/08/2015 à 10h 50'

42

III.4.Description de l'Application

Dans cette partie nous allons donner certaines vues importante de notre application :

Il est à noté que nous allons commencés par présenter notre application du coté

Administrateur et en suite du côté utilisateur (votant).

A. Administrateur

Figure 14: Page d'accueil coté Administrateur

Source : l'auteur

Cette page est la première à voir une fois on accède à notre application ; elle permet à l'administrateur de notre système de s'authentifier et ainsi avoir accès aux services rendus par le système.

Figure 15: Première page de l'application

Source : l'auteur Cette première page de notre application, est celle qui nous permettra de lancer différents processus que présente notre application entre autre : l'enregistrement des candidats et des électeurs, le processus de vote, voire le résultat final après le vote.

43

Figure 16: Page d'activation de l'interface de vote

Source : l'auteur Cette page est celle permettant de saisir le numéro unique de la carte d'électeur pour activer l'interface ou bulletin de vote, ainsi donné accès au votant de pouvoir voter le candidat unique de son choix.

Figure 17: Pages des résultats du vote

Source : l'auteur

Cette page nous présente les résultats ou nombre de voix obtenus par chaque candidat et le résultat en pourcentage.

44

B. Côté utilisateur (Votant)

Figure 18: Interface ou bulletin de vote

Source : l'auteur

Cette interface présente les différents candidats au vote et présente également le bulletin de vote, sur lequel chaque votant pourra cliquer juste sur la photo du candidat de son choix.

Figure 19: Evolution des votes

Source : l'auteur

Cette interface nous présente une vue globale de l'évolution des votes.

45

III.4. Conclusion Partielle

En effet, nous avons achevé l'implémentation tout en respectant les diagrammes présentés au niveau de la partie conception. En d'autres termes, nous détenons la version finale de notre application, installée sur la plate-forme choisit.

46

CONCLUSION GENERALE

Au terme de ce travail, nous avons pu exploiter nos connaissances théoriques et pratiques pour mettre en place une application de vote informatique.

Notons que ce travail nous a permis de nous rendre compte des difficultés de comptage des bulletins et voix de chaque candidat qu'éprouve la CENT antenne Likasi.

Pour arriver à solutionner un problème de ce genre, en informatique, on procède à plusieurs phases d'essai et jusqu'à la solution finale, c'est ainsi qu'après notre analyse, nous avons réalisé une application juste pour simuler quelques parties du déroulement de notre domaine d'étude. Nous pouvons ainsi souligner que l'implémentation que nous avons faite est à titre illustratif et nous laissons le travail ouvert à toutes personnes pouvant en faire objet d'une étude approfondie.

Néanmoins nous pouvons dire que les solutions que nous avons proposées dans notre travail d'analyse, portent solutions à notre problématique et optimisent les résultats des opérations de vote.

Mais étant donné qu'il s'agit d'un travail scientifique, nous ne pouvons pas estimer avoir tout épuisé pour ce qui concerne ce sujet vu le domaine dans lequel il est traité, vu sa complexité et vu l'intérêt qu'il présente.

Ainsi, nous laissons le libre arbitre à toutes personnes qui se sentiraient intéressées de traiter encore davantage ce sujet en vue d'une quelconque amélioration.

47

BIBLIOGRAPHIE

1. Ouvrages

~ BRIMO ALBERT, Les Méthodes en sciences, Ed. D'ALLUR, Paris, 1972

~ Pascal ROQUES, UML 2 Modéliser une application web, Ed. EYROLLES

~ Christian SOUTOU, UML 2 pour les bases de données, Ed. EYROLLES

~ KALUNGA MAWAZO & KAZADI KIMBU, Les Méthodes de Recherche et

d'analyse en sciences sociales et humaines, Ed. EDUPC, KINSHASA

2. Cours

~ KAZADI K.T, cours de Méthodes de recherche scientifique, G2 Info, UCSV

2013-2014

~ MWADI K, cours de Méthode de Recherche Scientifique, G2 Info, UMK 2007

~ MULONGOY, cours d'Initiation à la Recherche Scientifique, G1 Info, UCSV

2012-2013

~ RAMAZANI T, cours de Conception Orienté Objet II, G3 Info, UCSV 2014-2015

~ Catherine RECANTI, cours d'Interaction Homme-machine, Paris 13

~ Stefano ZACCHIROLI, cours de Génie Logiciel Avancé, Université de Paris

~ Laurent AUDIBERT, cours d'UML 2.0, Paris 2006

3. Webographie

~ www.wikipedia.org

~ www.memoireonline.com

~ www.additeam.com

~ www.jargonf.org

~ www.pcsoft.fr

~ www.idnext.net

~ www.ceni-rdc.org

~ www.commentcemarche.com

~ www.notepad-plus-plus.org

~ www.sql.sh

4. Encyclopédie

~ Le petit Larousse 2010 ~ Comment ça marche

48

TABLE DE MATIERE

EPIGRAPHE i

DEDICACE ii

AVANT-PROPOS iii

REMERCIEMENTS iv

TABLE DES ILLUSTRATIONS v

SIGLES ET ABREVIATIONS vi

INTRODUCTION GENERALE 1

1. PRESENTATION DU SUJET 1

2. PROBLEMATIQUE 2

3. HYPOTHESE 3

4. CHOIX ET INTERET DU SUJET 3

1) Choix 3

2) Intérêt 4

5. METHODES, TECHNIQUES ET SOURCES DES DONNEES 4

a. Méthodes 4

b. Techniques 5

c. Source des données 6

6. ETAT DE LA QUESTION 6

7. DELIMITATION DU TRAVAIL 7

8. STRUCTURE DU TRAVAIL 7

Chapitre I : ANALYSE DE L'ARCHITECTURE METIER 8

I.1.Introduction 8

I.2.Définition des concepts 8

I.2.1.Théorie de l'information 8

I.2.2.Théorie en système d'information 8

I.2.3Théorie des systèmes 9

I.2.4.Théorie de l'interaction homme-machine 9

I.2.5. Conception 10

I.2.6. Implémentation 10

I.2.7. Application 11

I.2.8. Vote 11

I.2.9. Informatique 11

I.3.Présentation de l'Existant 12

I.3.1.Description du domaine 12

I.3.1.1.Historique 12

I.3.1.2.Présentation de l'organisation 12

I.3.1.3.Situation géographique 13

I.3.1.4.Organigramme opérationnel 14

I.4.Modélisation du processus métier cible 15

Diagramme de Cas d'utilisation métier 18

49

I.5.Analyse des besoins 19

Diagramme de cas d'utilisation 20

Description textuelle de Diagramme de cas d'utilisation 21

Diagramme de séquence système 23

I.6.Description de données 25

Diagramme de classe du domaine 26

I.7.Critique de l'existant 27

I.8.Proposition de la solution nouvelle 27

I.9. Conclusion Partielle 27

Chapitre II. CONCEPTION DETAILLEE DU SYSTEME INFORMATIQUE 28

II.1. Introduction 28

II.2. Diagramme de Séquence de Conception 29

II.3. Diagramme de Classe de Conception 31

II.4. Modèle Logique des données 33

II.5. Conclusion Partielle 35

Chapitre III. ARCHITECTURE TECHNIQUE ET IMPLEMENTATION 36

III.1.Introduction 36

III.2. Architecture technique 36

III.2.1. Environnement client / serveur du système d'information 36

III.2.2. Diagramme de déploiement du système d'information 37

III.3. Programmation 39

III.3.1. Choix de la plate-forme 41

III.3.2. Choix du système de gestion de base de données 41

III.4.Description de l'Application 42

III.4. Conclusion Partielle 45

CONCLUSION GENERALE 46

BIBLIOGRAPHIE 47

1. Ouvrages 47

2. Cours 47

3. Webographie 47

4. Encyclopédie 47

TABLE DE MATIERE 48






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry