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
|