TFC Kaiche2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 73

I

EPIGRAPHE

« Celui qui sait qu’il ne sait pas il saura, mais celui qu’il ne sait pas qu’il ne sait pas ne saura
jamais »

CHEICK ANTA DIOP


II

DEDICACE

« A tous ceux qui ont contribué à l’évolution de ce travail, à tous les chercheurs en
sciences informatiques, à toute la communauté estudiantine de l’Université Liberté, ainsi
qu’à tous ceux qui se sont battu pour amener cette science encore de l’avant »

PIERRE KAICHE
III

IN MEMORIAM

« A MBULA KASONGO Candice qui nous a quittée au cours de cette année sans
décrocher son grade d’ingénieur son nom sera gravé dans nos mémoires à jamais »

PIERRE KAICHE
IV

REMERCIEMENTS

Ce travail est l’aboutissement d’un long cheminement au cours duquel j’ai bénéficié
de l’encadrement, des encouragements et du soutien de plusieurs personnes, à qui je tiens à
dire profondément et sincèrement merci.
Mes sentiments de reconnaissance vont en premier lieu à l’endroit de mes encadreurs
je cite mon directeur de recherche le Professeur BLAISE FYAMA MWEPU, l’assistant
LARRY MPATA et l’ingénieur SANGWA AMENE VINCENT qui n’ont pas hésité à
me soutenir dès le départ et à accepter d’endosser la charge malgré leurs nombreuses
occupations. Leurs encouragements m’ont beaucoup édifié, et leur encadrement scientifique a
toujours été pour moi une lumière pour comprendre un peu plus de ces merveilles que le
monde scientifique porte en lui.
A cet égard je remercie tout particulièrement l’ingénieur SANGWA AMENE
Vincent pour ce qu’il a fait pour m’encadrer. Il a codirigé et accompagné de très près ce
travail, à vrai dire pas à pas, jour par jour, et avec beaucoup de patience, la longue et lente
rédaction de ce travail. L’appui, le soutien et l’encouragement qu’il m’a apportés tout au
long de mes recherches et de ma formation, son zèle, son attention aiguë aux tout petits
détails, sa stimulation, sa rigueur fort utile mais toujours bien assortie de ses nombreuses
autres qualités humaines, ont apporté une plus-value inappréciable et déterminante dans
l’achèvement de ce projet qui est KAICHE-RECENSE.
Je ne manquerais jamais de remercie ma famille qui m’a accompagné tout au long de
mes études, de m’avoir soutenu moralement et financièrement mes sentiments de
reconnaissances vont en premier lieu à mes très chers parents qui m’ont aimé, chéri, je cite
mon père : LUMBWE MUMBA et ma mère : THERESE MWEWA sans oublié mes
frères et sœurs : MITONGA JOULIAS Michael, WADE LUBWE, HANS TSHANDA,
GRACIA MITONGA et CHRISTINE MWAMBA vous avoir comme famille est le beau
cadeau que le très haut m’ai offert.
A tous les autres membres de ma famille particulièrement GERARD MUKUSA,
ISSA RASHIDI Steve, ARISTA FURAH, PATRICK KANYEMBO, DANNY
KATETA, THERSIA MUJINGA sans oublié la famille AMENE.
V

A tous les amis, compagnons et collègues qui d’une manière ou d’une autre ont
contribué à l’élaboration de l’actuel projet et qui ont fait que mes jours à L’université
Liberté soient angéliques mes remerciements vont tout droit à mon groupe QLF (Que La
Famille à l’infini) sans oublié SARAH KALABA, SAGESSE KABWICK, LESLY
MULEKA, OLIVIA ALIMASI, SERGE NSENGA, LANDRY KILEMBI, PARFAIT
MUTSHIPAYI, ORLIANE CHIBELUSHI et VANESSA KABONGO.
A tous ceux qui savent et ceux qui ne savent pas que je les aime.
A tous ceux qui ont cru en moi et à ceux qui n'ont pas voulu y croire.
Ainsi nous remercions le corps professoral de la faculté des sciences informatiques
pour le souci qu’il a de nous rendre meilleurs pour leur enseignement et leur rigueur.
Et tous ceux qui m’ont encouragé et soutenu. Je ne saurais citer chacun par son
nom. Que tous trouvent ici l’expression de ma franche et profonde reconnaissance !

PIERRE KAICHE
VI

LISTE DES ABREVIATIONS

MACAO : Méthode d’Analyse et de Conception d’Applications Orientées Objets

GSM : Global System for Mobile communications

SMS : Short Message Service

IHM : Interface Homme-Machine

UML : Unified Modeling Langage

MLD : Modèle Logique des Données

IP : Internet Protocol

HTTP : HyperText Transfert Protocol

HTML : HyperText Markup Langage

CSS : Cascade Style Sheet

AJAX : Asynchronous JavaScript and XML

XML : Extensible Markup Langage

APK : Android Package Kit

SQL : Structured Query Langage

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

WAMP : Windows MySQL Apache PHP

PDO : PHP Data Object

DAO : Data Access Object

SNI : Schéma de Navigation des IHM

PHP : HyperText Preprocessor


VII

LISTE DES ILLUSTRATIONS

Figure 1 : Diagramme de contexte ...................................................................... 22


Figure 2: Diagramme de cas d'utilisation métier ................................................. 22
Figure 3 : Diagramme de cas d'utilisation système Agent .................................. 23
Figure 4 : Diagramme de cas d'utilisation système Population .......................... 23
Figure 5 : Diagramme de cas d'utilisation système Chef du bureau central ....... 24
Figure 6 : Diagramme de cas d'utilisation système ............................................. 24
Figure 7 : Diagramme de séquence S’Authentifier ............................................. 28
Figure 8 : Diagramme de séquence Décliner identité ......................................... 29
Figure 9 : Diagramme de séquence Remplir formulaire ..................................... 29
Figure 10 : Diagramme de séquence Remettre rapport ....................................... 30
Figure 11 : Diagramme de séquence Collecter Rapport ..................................... 31
Figure 12 : Diagramme de séquence Analyser Rapport ...................................... 32
Figure 13: Diagramme d'activité ......................................................................... 33
Figure 14 : Diagramme de classe ........................................................................ 34
Figure 15: Passage du diagramme de classe vers le MLDR ............................... 35
Figure 16: Réseau de Communication ................................................................ 38
Figure 17: Illustration Script HTML ................................................................... 43
Figure 18: Activité principale XML .................................................................... 44
Figure 19: Création base de données avec MySQL ............................................ 46
Figure 20: Création base de données avec SQLite .............................................. 47
Figure 21: Connexion à la base de données avec PDO MySQL ........................ 48
Figure 22: Connexion à la base de données avec DAO SQLite ......................... 50
Figure 23: AndroidManifest ................................................................................ 51
Figure 24: Activité de lancement de l'application ............................................... 52
Figure 25: Schéma de navigation des IHM ......................................................... 55
Figure 26: Logo SMS Gateway ........................................................................... 57
Figure 27: Page d'authentification ....................................................................... 59
Figure 28: Page d'accueil ..................................................................................... 59
Figure 29: Page des statistiques........................................................................... 60
Figure 30: Formulaire de recensement ................................................................ 61
Figure 31 : Configuration SMS Gateway ............................................................ 62
VIII

LISTE DES TABLEAUX

Tableau 1: Tableau Analytique ............................................................................. 9


Tableau 2: Recensement des rubriques ............................................................... 10
Tableau 3: Circulation des informations ............................................................. 10
Tableau 4 : Devis au niveau national .................................................................. 40
1

INTRODUCTION

Il est d’une évidence universelle qu’un Etat ne peut exister que s’il y a un espace sur
lequel vivent des hommes. C’est pourquoi, on ne peut parler d’Etat s’il n’y a pas d’hommes
organisés pour des intérêts communs, lesquels des hommes ayant des comptes à rendre à une
petite communauté restreinte d’individus chargés de la gestion des autres hommes et leurs
biens.
Dès lors que nous parlons de la gestion des hommes, une des premières idées qui nous
montent naturellement à l’esprit est le dénombrement de la population, d’où le mot
« RECENSEMENT ». Un recensement est considéré comme une première obligation d’un Etat
organisé, car les autorités doivent connaitre combien d’hommes, femmes et enfants vivent sur
leur territoire pour par exemple lever des impositions et protéger l’espace sur lequel vivent
ceux-ci.
Or si dénombrer les membres d’une famille est très simple à faire, il n’en est pas de
même pour une ville encore moins pour un territoire national, car ces étendues sont vastes et
perpétuellement dynamiques compte tenu du mouvement libre de la population.
Ainsi, pour contourner ces difficultés, un recensement nécessite la mobilisation d’un
budget très important pour la logistique et la motivation du personnel qui sera commis à la
collecte et confrontation des données devant s’effectuer sur une longue période.
Notre travail de fin de cycle ayant comme sujet : « Conception et développement d’une
application mobile pour le recensement général de la population dans une ville (Cas de la ville
de Lubumbashi) » est notre prise de décision en vue de l’obtention du titre de gradué en Sciences
Informatiques option Réseaux et Télécommunication et par surcroit de démontrer notre capacité
de pouvoir intégrer le monde du travail en prouvant comment concilier théories et pratiques
d’auditoire à la réalité exigée dans la société pour l’améliorer.
Dans le sens du traitement rationnel des informations, notamment par des machines
automatiques appelées ordinateur et actuellement les smartphones, les smart TV, les smart
Home, la science informatique est alors considérée comme le support de connaissance, de
communication ainsi que du développement dans tous les domaines classiques.
Depuis pas trop longtemps, la tendance est à rapetisser ce qui est grand « plus c’est
petit, plus c’est mieux ». En outre la dématérialisation est devenue mode presque partout.
L’homme ne veut plus d’un bureau plein de paperasse et classeurs dans lesquels trouver une
simple information peut prendre un temps précieux. L’heure est au « clic »
2

En République Démocratique du Congo, nous sommes à l'étape de la mobilisation et


levée de fonds pour réduire le gouffre numérique. Le recensement étant du devoir des
institutions publiques, l’Etat se trouve confronté à la réalité des déficits budgétaires à répétition.
C’est pourquoi, nous devons, entant que futurs ingénieurs définir des stratégies ad hoc pour que
notre pays ne puisse pas rater le train pris par tous les Etats respectables, car le dernier
recensement général connu remonte à 1987.
La conception de nouveaux systèmes d'information, adaptée au contexte congolais, est
nécessaire dans la perspective d'une respectabilité réussie et d’une sécurisation de notre identité
qui nous est chère, puisqu’à ces jours nous ne sommes pas capables de savoir qui est congolais
et à combien nous sommes.
Certes, nous ne pourrions pas être surpris de savoir que l’Etat congolais puisse poser
des réticences à l’adoption du projet en évoquant le problème de moyens pour se doter d'une
technologie de pointe. Il est nécessaire, en ingénieur averti de comprendre que c'est le système
d'information qui définit les besoins en ressources nécessaires et suffisantes mais pas le
contraire. C’est pourquoi des alternatives très moins chères et accessibles à tous tenant compte
du rapport qualité/prix s’avèrent opportunes pour permettre un recensement général à moindre
coût.
L’efficacité d’un système de recensement est étroitement liée à la quantité et à la
qualité des informations reçues. Il est donc nécessaire de comprendre le rôle important que joue
la télécommunication sur notre territoire national surtout dans les milieux ruraux où internet
n’existe pas pour communiquer. D'où la nécessité de la mise en place d'un système permettant
aux agents de terrain de bien communiquer via le media n’exigeant pas trop de ressources et
déjà beaucoup plus déployé qu’internet, il s’agit en effet de Short Message Service dit SMS,
service GSM présent dans les téléphones mobiles.
Il est rare qu’un sujet dans un domaine n’ait jamais fait l’objet d’une recherche
scientifique ou d’une publication. Plusieurs recherches ont déjà été effectuées sur ce sujet, qui
servira de référence bien que le nôtre fait l’objet d’une originalité. Mais cela ne nous a pas
empêché de jeter un œil de curieux et d’apprentis dans des travaux parmi lesquels nous pouvons
citer :
- MULONGOY MULUNDA Jean-Paul, Université Liberté, 2016-2017 : Dans
son travail intitulé « Suivie automatisé de la gestion des frais scolaires au moyen du service
WEB REST » (cas du CS OASIS DES JUNIORS), Monsieur MULONGOY use de la
méthodologie et technique Orientée Objet pour présenter un système qui permet aux parents
3

d’être informer en temps réel par rapport aux frais et de pouvoir les payer via le service mobile
money alors que le système génère de son coté des reçus. Un projet très innovant dans lequel
notre ainé a pu innover dans le modèle de pouvoir faire communiquer les ordinateurs et des
téléphones mobiles grâce aux SMS (Short Message Service). Ce travail nous été d’un grand
modèle par son fond et sa forme en nous inspirant du mode de communication par SMS.
- KAZY-A-MUTEB, Institut Supérieur d’Informatique et Programmation
Appliquée ISIPA, 2008-2009 : « Gestion des informations relatives au recensement d’une
population urbaine (Cas de la ville de Matadi) ». Cette informatisation a consisté à
l’enregistrement de toutes les informations liées au dénombrement de la population d’une ville
(noms, date de naissance, sexe, adresse, etc.). Ce travail nous a permis d’entrer dans la tête du
concepteur afin de voir étape par étape quels ouvrages, sites web, institution avait-t-il sollicité
pour la réalisation de son travail.

Pour ce qui nous concerne, un mélange savant des idées de ces deux travaux
précédemment plébiscités, nous avons pu trouver un moyen absolument faisable permettant de
recenser la population dans la ville de Lubumbashi en utilisant des simples smartphones dont
les données enregistrées sont en temps réel collectées par une base de données centrale grâce
au Short Message Service.
La consistance du sujet de notre projet est une preuve que nous avons opté pour la
culture de se mesurer à une difficulté pour voir à quel niveau nous sommes. L’obtention du
titre de gradué en informatique ne devra jamais être pris à la légère comme c’est le cas de nos
jours dans certaines institutions.
Par ailleurs, il est indéniable de dire que ce projet est une opportunité pour les
décideurs de l’institution étatique en charge du recensement (nous citons ici le Bureau Central
du Recensement) de pouvoir se doter d’une technologie moins onéreuse pouvant permettre de
réaliser des recensements en peu de temps sans trop dépenser et sans aucun doublons.
En outre, pour faire court, notre projet possède quatre volets d’intérêt qui sont :
 Le volet scientifique : Nous osons croire en toute humilité que notre actuel projet
constituerait une clé de référence pour d’autres étudiants finalistes et chercheurs qui iront
sniffer dans le domaine d’automatisation des recensements ou qui auront juste envie de mettre
un œil curieux sur la technologie utilisée tout en mettant en pratique toutes les connaissances
acquises au cours de notre formation pendant trois ans afin d’ajouter une pierre à la construction
de cette édifice qu’un monde meilleur.
4

 Volet pratique : Pratiquement, il nous sera question d’accomplir le devoir qu’a


tout étudiant en général et tout futur ingénieur réseaux en particulier au terme de son cycle,
le défi sera celui de réaliser un projet, en implémentant un système informatique pouvant
permettre une simulation de mise en réseaux des appareils informatiques.
 Volet personnel : Il est ici question de découvrir ce que nous avons pu acquérir
tout au long de notre premier cycle d’étude universitaire en informatique, option : Réseaux et
Télécommunication. Un intérêt pour nous d’enfin obtenir le titre d’ingénieur Réseaux.
 Volet social : L’intérêt social de l’actuel projet est d’une démesure inouïe au
point qu’il pourra permettre une fois pour toute à la nation congolaise d’exister entant que telle
et de protéger notre identité qui est au vue de tous volées par tous nos voisins et expatriés mal
intentionnés. L’intérêt social d’une technologie pour des recensements moins couteux et très
rapide est de permettre à l’Etat de pouvoir lever des impositions pour son bon fonctionnement.

Le dernier recensement général remonte à 1987 alors que plusieurs d’entre nous
n’étaient pas encore nés. Une réalité triste qui fait de notre pays un Etat par le nom et non par
des faits réels. La population née après 1987 sur le sol congolais reste apatride parce que son
Etat ne la connaît pas.
Etant donné que le recensement exige une mobilisation forte de budget, notre Etat
ayant toujours des déficits budgétaires ne pourra en aucun cas réaliser des recensements sans
que le bon fonctionnement des institutions n’en souffre. D’où, de ce soucis financier que nous
est venue l’idée d’user d’une technologie moins couteuse et permettant de réduire sensiblement
le personnel, ainsi le but poursuivi est de réduire par mille le cout d’un recensement classique.
a) Objectifs généraux
 Mener une enquête et analyser les besoins en matière des recensements.
 Mettre en place une application avec interface conviviale et ergonomique
capable de fonctionner sur des appareils mobiles tels les tablettes numériques.
 Mettre en place un système pouvant déclencher des envois automatiques des
SMS en arrière-plan.
 Réaliser une base de données centrale sur un ordinateur
 Utiliser une architecture client-serveur pour supporter cette implémentation.
 Placer un système d’écoute de SMS entrant du coté serveur de base de données
pour enregistrer les informations envoyées par les tablettes sur terrain.
5

b) Objectifs spécifiques
Objectifs internes au service
 Gérer les empreintes digitales comme identifiant de chaque enregistré.
 Renvoyer via SMS en temps réel toutes les données qui sont traitées au serveur
de base de données en vue d’éviter toute duplication.

Objectifs administratifs
 Permettre de connaitre le nombre de la population au fur et à mesure que les
opérations de recensement se réalisent.
 Contrôler facilement le mouvement de la population.

Objectifs sécuritaire
 Ceci permettra à l’identité congolaise d’être protégée et l’Etat pourra envisager
l’octroi.
 Les empreintes étant associées à chaque recensé, un délit public pourra
facilement être enquêté par une police scientifique bien formée.

Pour ce qui nous concerne, le cout élevé d’un recensement est dû beaucoup plus à la
logistique mais le transport pour collecter les données devient aussi tout de suite très dérangeant
au point qu’une opération de cette envergure peut échouer juste pour une mauvaise qualité de
transport.
En effet, entre le bureau central et les agents de terrain il doit y avoir communication
et rapport, généralement, ces rapports sont transmis fidèlement au moyen d’une paperasse
transportée d’un poste de terrain au bureau central. Nous constatons tout de suite qu’aussi
longtemps le transport est assuré, la collecte des données se fait sans problème. Cependant, en
cas de coupure de route ou un accident, le dur labeur peut en une seconde s’en aller comme le
vent emporte la balle d’abattage, en outre vu l’état de notre infrastructure de transport, un retard
d’arrivée peut alourdir tout le processus de recensement.
C’est de là que nous est venue l’idée de mettre en œuvre un système informatisé
pour les opérations des recensements pouvant ignorer l’aspect transport tout en réduisant le cout
sur la logistique.
Dans nos différentes recherches et constats avec les responsables commis à ce service
et lors de notre visite sur terrain nous avons fait le constat qu’en cas de recensement au niveau
de la ville de Lubumbashi, l’opération sera butée tout de suite à des problèmes ci-après :
6

 La lenteur sur la collecte des données en cas d’un simple problème de transport
que ce soit inondation par la pluie ou bouchon de trafic routier ;
 Pour que le bureau central puisse faire la collecte des données, il faudra attendre
le retour physique des agents sur terrain, ce qui alourdi le temps de service ;
 L’enregistrement devant se faire sur papier, les difficultés se présentent tout de
suite quand un agent est rempli une longue liste tout en la numérotant, d’où risque de doublon
de numéro.

Eu égard à ce qui vient d’être décortiqué tout au long de notre actuel projet des
propositions vont être progressivement fournies en réponses aux questions soulevées dans cette
problématique :
 L’application des méthodes et techniques informatiques seront-t-elles
avantageuse pour éviter la lenteur sur la collecte des données ?
 L’utilisation des outils informatiques, des terminaux et les tablettes serait-t-elle
efficace pour éradiquer les problèmes de l’enregistrement des recensés ?
 Est-ce qu’en usant d’un système informatique partagé, serait-il possible d’éviter
les doublons ?

L’hypothèse étant l’ensemble de réponses anticipatives aux questions du départ en


d’autre terme elle est une réponse à la problématique.
Les hypothèses ci-après sont formulées en guise des réponses provisoires aux
questions ci-haut posées :
 L’application des méthodes et techniques informatiques s’avère d’une
importance capitale pour éviter la lenteur dans certaines tâches manuelles entre les différents
acteurs qui communiquent entre eux ;
 Une application avec interface conviviale et ergonomique utilisant une base de
données partagée permettra de bien enregistrer les informations tout en réalisant une collecte
en temps réel ;
 L’usage des SMS comme moyen de communication permettra de gagner en
temps à moindre coût et pourra tourner partout où se trouve la couverture GSM ;
 Grâce au fait que la base de données sera partagée en temps réel, toutes les
tablettes sur terrain seront en mesure de signaler une duplication et de bloquer tout
enregistrement au moyen des empreintes digitales.
7

Toute activité humaine sans limite dans le temps n’est qu’une absurdité inutile pouvant
rendre fou.
C’est pourquoi, dans l’optique de ce qui nous concerne, notre travail se veut un fruit
d’une formation de trois années à l’Université Liberté, cependant la grande partie du travail
sera concentrer de la période allant de la seconde quinzaine du mois de Janvier 2018 à Mai
2018.
Etant donné que chaque discipline scientifique possède sa propre méthodologie, les
méthodes correctes doivent permettre de construire des modèles à partir d’éléments de
modélisation qui constituent des concepts fondamentaux pour la représentation du système ou
de phénomènes. Elles permettent en outre d’élaborer un travail pour lequel la réussite ne sera
pas le fruit du hasard ou d’un coup de chance.
Pour toute réalisation informatique, l’ingénieur au centre a besoin de faire recours aux
méthodes et techniques dans le but de cerner les contours de l’expression des besoins du
système d’information étudié. Pour notre projet, la méthode et la technique suivantes ont été
utilisées :
 La méthode d’analyse et de conception d'applications orientées objets (dite
MACAO) : Fondée sur une démarche participative par prototypage incrémental (processus
itératif) permet aux utilisateurs d'intervenir très tôt dans le processus de développement du
logiciel. MACAO utilise la notation UML afin de définir la structure du logiciel en termes de
classes et de composants ainsi que pour modéliser sa dynamique à l'aide de diagrammes
d'interactions ou d'états-transitions

Dans notre projet scientifique nous avons recouru à la technique Orientée Objet :
La programmation en informatique est l’ensemble d’activité qui permet l’écriture des
programmes informatiques, un programmeur peut recourir à la technique structurée qui consiste
écrire le code de sorte que le processeur puisse exécuter le code ligne par ligne ou peut faire
usage de technique objet qui fait appel à la nôtre des objets comme c’est le cas dans la nature.

Sans compter l’introduction et la conclusion générale notre projet est subdivisé en


trois chapitres à savoir :
1. Chapitre premier : Présentation des problèmes et proposition des pistes de solution;
2. Chapitre deuxième : Modélisation par la démarche Macao et étude réseaux;
3. Chapitre troisième : Réalisation des IHM et système de partage des ressources.
8

CHAPITRE I. PRESENTATION DES PROBLEMES ET


PROPOSITION DES PISTES DE SOLUTION

Partie I : Analyse globale et critique de la cible


I.1.1. Analyse globale de la cible
Dans le deuxième pays le plus vaste du continent, où les infrastructures, notamment
routières, sont dans un état déplorable après deux décennies de guerres et d’instabilité, parvenir
à identifier chacun des quelques 80 millions de Congolais jusque dans les plus denses forêts est
un défi logistique considérable [1].
En principe, les Nations Unis (ONU) recommandent à chaque Etat d’organiser un
recensement général de la population et de l’habitat tous les dix ans. Elles préconisent aussi
l’amélioration des statistiques de routine produites journalièrement par les administrateurs
publiques et privés. Mais cette périodicité n’est pas évidente dans la plupart des pays africains.
Tout en mettant en exergue la considération de l’usage qu’on fait des données récoltées
lors des opérations, on peut distinguer plusieurs types de recensement en tenant compte de leur
caractère général ou sélectif. Il est général lorsqu’il s’agit du comptage de tous les membres
d’une communauté vivant au sein d’un territoire donné sans distinction de nationalité, d’âge,
de sexe, etc. il est sélectif lorsqu’il se limite à une couche déterminée de cette communauté à
l’exclusion des autres. C’est ainsi qu’on parle par exemple de :

 Le Recensement agricole ;
 Le Recensement médical ;
 Le Recensement des Electeurs ;
 Le Recensement des contribuables ;
 Le Recensement Scientifique ;
 Le Recensement administratif (Général) consiste au dénombrement des habitants
d’une entité entrepris périodiquement par l’Etat et détaillé par âge, sexe, par nationalité et un
relevé statistique de certaines caractéristiques de cette population.
En 2015, l’ONIP avait estimé le recensement général de la population avec un cout de
500 Millions de dollars américains alors que nous avons un budget moyen annuel au niveau
national d’à peine 5 Milliards de dollars américains [1].
L’entreprise ciblée pour couvrir les opérations est l’entreprise chinoise HUAWEI alors
que celle-ci n’avait pas encore décanté le souci financier même si on parlait de la China Exim
Bank [1].
9

D’un autre côté, le temps que pourra prendre ces opérations laisse à désirer, car un
observateur indépendant et expérimenté parlait de trois ans pour effectuer le recensement au
niveau national.
En considérant le texte ci-haut, nous pouvons représenter un tableau analytique que
voici :
Pays Superficie Provinces Population Cout Temps
RDC 2 345 000 km2 26 80 000 000 500 Millions 3 ans
Tableau 1: Tableau Analytique

A part l’analyse générale d’une opération de recensement, il y aussi l’aspect


informations traitées lors des recensements qui peut être reproduit dans le tableau dit
recensement des rubriques que voici :
Information Explication Type Taille
Nom Nom propre de la Alphabétique 15
personne identifiée
Post-Nom Post-Nom de la Alphabétique 15
personne identifiée
Prénom Prénom de la personne Alphabétique 15
identifiée
Date de Naissance Date à laquelle Date 15
l’identifié est né
Sexe Le genre de l’identifié Alphabétique 1
Province d’origine Province d’origine de Alphabétique 15
l’identifié
Territoire d’origine Territoire d’origine de Alphanumérique 15
l’identifié
Niveau d’éducation Niveau d’étude de Alphabétique 10
l’identifié
Village d’origine Village d’origine de Alphanumérique 15
l’identifié
Nom du père Nom du père de Alphabétique 15
l’identifié
Nom de la mère Nom de la mère de Alphabétique 15
l’identifié
Emploi Type d’emploi Alphabétique 15
l’identifié
Etat-civil Etat-civil de l’identifié Alphabétique 10
Adresse Adresse de l’identifié Alphanumérique 35
Nombre enfant Nombre d’enfant de Numérique 2
l’identifié
10

Id du recensement Id de chaque recenser Numérique 5


Date du recensement Date à laquelle le Date 15
recensement s’est
déroulé
Logement Type de logement du Alphabétique 15
recensé
Agent recenseur Nom de l’agent Alphabétique 15
recenseur
Tableau 2: Recensement des rubriques

Ayant recensé toutes les informations entrant en jeu pour un recensement, nous
pouvons considérer un autre aspect dans ce domaine : C’est celui des acteurs qui entre en jeu
pour réaliser un recensement ainsi que la circulation des informations :
N° Acteur Document Rôle Type
1 Agent - Fiche de  Cet agent se charge de Interne
recenseur recensement présenter la fiche de
- Registre des recensement à une personne
recensés donnée pour que celle-ci
puisse la remplir ou soit lui-
même puisse la remplir.
 A chaque recensement
réalisé, l’agent est sensé
remplir un registre
signifiant l’avancée des
opérations.
2 Personne Fiche de Bien qu’elle soit externe au Externe
identifiée recensement système, la personne
identifiée constitue le socle
de l’identification lors du
recensement
3 Chef du Fichier général Le chef du bureau central se Interne
Bureau de recensement charge de la coordination de
central toutes les activités du terrain
et collecte les données puis
analyse.
Tableau 3: Circulation des informations
11

I.1.2. Critique du système


L’actuel point est dédié aux critiques à apporter au système. Comme toute réalisation
humaine comporte toujours deux points : Points forts et points faibles afin de mettre en exergue
les forces du système et de réduire sensiblement les faiblesses qu’il représente.
a. Points forts
Dans ce système nous pouvons dire que les points forts sont :
 Aucune dépendance technologique, car il suffit pour des agents recenseur de
descendre sur terrain et de collecter les informations sur du papier ;
 Etant donné que tout s’encode sur du papier, les agents peuvent s’en passer de
l’énergie électrique ;
 Aucun soucis d’intrusion par cybercriminalité parce que même les ordinateurs
du bureau central sont isolés d’internet.
b. Points faibles
Pour ce qui est des faiblesses que présente ce système, nous avons pu déceler ceci :
 Etant donné que les agents usent d’encodage sur du papier, une simple
intempérie peut mettre toute une opération en échec ;
 Pour que le bureau central puisse faire la collecte des données, il faudra attendre
le retour physique des agents sur terrain, ce qui alourdi le temps de service ;
 Une erreur humaine pourrait entrainer beaucoup d’informations erronées.
12

Partie II : Concepts sur la réalisation des logiciels et partage des ressources


I.2.1. Introduction
La conception de logiciel met en œuvre un ensemble d'activités qui à partir d'une
demande d'informatisation d'un processus (demande qui peut aller de la simple question orale
jusqu'au cahier des charges complet) permettent la conception, l'écriture et la mise au point d'un
logiciel (et donc de programmes informatiques) jusqu'à sa livraison au demandeur [2].
Le domaine dédié à l'étude, la conception et le développement de logiciels
informatiques est nommé le génie logiciel. Il est très souvent défini comme un ensemble
composé d'une méthode, d'outils de développement, de maintenance, et de critères d'évaluation
de la qualité, permettant à un maître d'œuvre(MOE) de produire un logiciel répondant aux
besoins exprimés par un maître d'ouvrage(MOA).
Tandis que, le partage de ressource est une technique de transfert de fichier qui permet
de partager des fichiers, des périphériques tel qu'une imprimante ou encore des services
d'applications sur un réseau informatique [2].
Pour ce qui nous concerne, entant qu’aspirant ingénieur Réseaux et
Télécommunication, il nous est plus important d’implémenter un système capable de
communiquer vite. En d’autres termes, un logiciel qui sera en mesure d’être déployé sur les
réseaux pour que les usagers puissent échanger les informations sans se déplacer.
Plus récemment, grâce aux signaux radio et à la démocratisation des smartphones, la
mobilité est devenue une normalité au point qu’un usager X peut se trouver dans un véhicule
en marche et communiquer sans problème avec un usager Y.
Ainsi, eu égard à ce qui vient d’être écrit, notre sens d’aspirant ingénieur en Réseaux
et Télécommunications nous pousse à être convaincu et convaincant que la mise en association
du génie logiciel et de la technologie GSM (Global System for Mobile) comme moyen de
télécommunication permettrait au Bureau Central de Recensement(BCR) de réaliser le
dénombrement de la population en un temps record avec un cout sensiblement réduit.

I.2.2. Modélisation
Selon l’encyclopédie libre en ligne Wikipédia, la modélisation est l’action de
concevoir un modèle. Selon l’objectif poursuivi et le moyen utilisé, la modélisation peut être
mathématique, géométrique, chimique, architecturale, etc. Ainsi pour ce qui nous concerne,
notre modélisation est à point nommé « modélisation informatique ».
13

Ainsi, sachant qu’à chaque discipline sa propre modélisation, modéliser un problème


est une façon de faire habituelle pour tous les projets de fabrication industrielle. Il serait
inconcevable de construire un nouvel avion ou une nouvelle automobile sans les avoir
préalablement modélisés de différentes manières [3].
C'est une abstraction de quelque chose de réel qui permet de comprendre avant de
construire. Il est plus aisé de se référer à un modèle qu'à l'entité d'origine car le modèle simplifie
la réalité en offrant des points de vue et des niveaux d'abstractions plus ou moins détaillés selon
les besoins.
En sciences informatiques, nous utilisons la modélisation pour permettre de :

 De simplifier la réalité ;
 De Représenter juste un aspect d'un problème ;
 De mieux comprendre un problème complexe ;
 De communiquer les connaissances

I.2.3. Démarche
Développer une nouvelle application informatique exige de suivre une certaine
logique. Il est impérieusement normal de prendre connaissance des besoins des utilisateurs ainsi
que des contraintes naturelles avant de concevoir un système informatique. Par ailleurs, nous,
en aspirant ingénieurs qui devront concevoir la solution informatique avons besoin d'être guidés
dans notre travail pour effectuer dans le bon ordre toutes les tâches qui nous permettrons
d'aboutir au logiciel désiré. A titre d'exemple nous prendrons le cas du montage d'un meuble en
kit que l'on peut acheter dans certains magasins spécialisés. Avec les pièces et accessoires est
livré un plan de montage qui comporte généralement trois aspects : une liste des pièces
constitutives du meuble, des schémas montrant la manière avec laquelle les pièces doivent être
assemblées (les modèles) et une succession d'opérations élémentaires numérotées que le client
doit exécuter dans le bon ordre (la démarche) [3].

I.2.4. Présentation de la conception de logiciels informatiques


a. Généralités sur les cycles de développement logiciel
Un cycle de vie d'un projet informatique est l'ensemble des phases qui se déroulent
depuis le moment où le client commande une application auprès d'un quelconque fournisseur
jusqu'à la livraison et l'exploitation de la solution par les utilisateurs [3].
14

Pour ce qui nous concerne, nous pouvons dire que le cycle de vie de notre projet
constitue toutes les étapes comprises entre la validation du sujet (projet) par la commission
académique et la réalisation du logiciel KAICHE RECENSE.
Dans notre domaine, un cycle est constitué généralement des phases suivantes :
b. Phases d'expression et de présentation des besoins
Cette phase de notre cycle de vie du projet s’est affichée dès lors que nous avons
compris l’importance de recensement dans un Etat bien organisé.
Ainsi, comprenant que c’est suite au budget déficitaire que notre pays n’a jamais
réaliser un seul recensement depuis lors alors que le Royaume-Uni (à titre d’exemple) organise
le recensement général (humains, animaux, immeubles, agricole) tous les quatre ans ; nous
avons fait expression des besoins dans ce domaine.
En outre, comme capture des exigences : Compte tenu des infrastructures de
télécommunication limitées, nous avons fait notre cheval de bataille le GSM (Global System
for Mobile Communications) comme moyen de communication plutôt que l’internet avec sa
3G, enfin pour ce qui est du matériel, nous avons opté pour l’utilisation des tablettes numériques
et smartphones suite à la mobilité et au cout.
c. Phase d'analyse
La phase d’analyse est une étape très importante qui permet de comprendre en sois le
domaine pour lequel nous voulons apporter le système informatique. Analyser consiste tout
d’abord à observer le système classique tout en mettant en exergue les forces et les faiblesses
d. Phase de conception
La phase de conception consiste à la modélisation du système amélioré après critique
du système classique lors de l’analyse. A ce stade, nous vous présenterons la vue d’ensemble
de l’application ainsi que ses fonctionnalités. Cette phase intervient en profondeur au chapitre
II de l’actuel travail.
e. Phase de développement
Cette phase est l’étape à laquelle interviennent les algorithmes, la programmation
(traitements et IHM), le choix de la base de données ainsi que la technologie pour le
déploiement réseau. C’est à ce niveau que nous ferons le choix du langage de programmation
en vue d’implémenter ce qui a été décidé au niveau de la phase de conception.
f. Phase de tests et de validation
Le test et la validation est l’étape ultime, car c’est la phase qui certifie l’utilisabilité du
nouveau logiciel, des erreurs à ce stade oblige l’ingénieur de corriger avant la sortie officielle.
15

g. Phase de maintenance
La phase de maintenance est plus réservée aux ingénieurs exerçant déjà la profession.
Etant une œuvre humaine, un système informatique est soumis à des erreurs et critiques virulent
au point qu’il lui faut une maintenance capable de le garder plus convivial.
Cette phase permet :

 Les modifications correctives suite aux bogues résiduels découverts par les
utilisateurs.
 Les modifications évolutives se produisant lors de modifications de
l'environnement fonctionnel tel qu'un changement des besoins des utilisateurs, un changement
de structure de l'organisation ou des méthodes de gestion.
 Le Refactoring qui est un générique regroupant les évolutions sans modifications
des fonctionnalités.
La phase de maintenance s’arrête le jour où le logiciel n’est plus utilisé.

I.2.5. Les approches du génie logiciel


a. Introduction
Le mot « approche » peut se définir comme un ensemble des manœuvres réalisé en
vue d’atteindre un but précis ou en terme plus précis, une manière d’aborder un problème en
vue de sa solution. En génie logiciel, il s’agit d’un ensemble de procédé pouvant mener
l’ingénieur à la réalisation d’un logiciel d’une façon méthodique et facilement reproductible.
Ainsi, il existe plusieurs façons d’approcher un problème en génie logiciel, mais pour
ce qui nous concerne, nous parlerons uniquement de trois mode d’approche dont une seule est
notre choix pour ce projet : L’approche en spirale.
b. L'approche en spirale
Cette manière de faire se base sur le système de prototypage. En effet un prototype en
programmation est une facette incomplète du futur logiciel.
Cette approche veut que l’ingénieur puisse avancer dans le développement tout en
présentant des parties incomplètes du logiciel en vue de ses éventuelles corrections pour
lesquelles il y revient enfin de proposer encore la partie améliorée et ainsi de suite.
Cependant il a comme avantages : Le fait de travailler de façon séquentielle,
l’ingénieur a la maitrise de la gestion de risque, ce modèle permet l’adaptabilité à tout type de
changement, le fait de travailler par prototypage, l’estimation des couts s’avère très facile.
16

Mais, par contre, comme toute œuvre humaine, cette approche présente aussi des
inconvénients tels que : la lourdeur sur le temps, car à chaque prototype une expertise est exigée
pour avancer.
Dans cette approche, nous pouvons dire que l’utilisateur final intervient plusieurs fois
tout au long du cycle de vie du logiciel.
c. L’approche en cascade
L’approche en cascade est la façon la plus ancienne de toutes d’appréhender un
problème en génie logiciel. Il s’agit d’une approche très facile employant une méthode
systématique et orthodoxe. Cependant, n’étant pas itératif, on ne peut jamais faire un saut
d’étape et par conséquent la découverte des bugs ne peut être possible qu’au niveau de test et
validation entrainant ainsi une réfection totale du cycle de vie [3].
Dans cette approche, l’utilisateur final n’intervient pas tout au long de la conception
du logiciel.
d. L'approche en V
Le modèle du cycle en V a été imaginé suite aux limites que présente le modèle du
cycle en cascade. Il permet en cas d’anomalie de ne pas faire un retour complet de cycle mais
de corriger uniquement l’étape problématique.
Dans cette approche, l’utilisateur final n’intervient pas tout au long de la conception
du logiciel.

I.2.6. Méthodologie d'analyse et de conception


a. Généralités
Généralement, la méthodologie se défini comme un ensemble des procédés propres à
une discipline pour modéliser une solution à un problème soulevé.
En informatique, il s’agit d’un procédé au moyen duquel l’ingénieur peut formaliser
les étapes préliminaires au développement de l’application tout en gardant fidèlement le besoin
exprimé par le client ou le maitre d’ouvrage.
Etant donné qu’on peut se dire qu’il y a une infinité de méthodes en informatique, nous
nous contenterons de parler uniquement de la méthodologie ascendante, de la méthodologie
descendante, de la méthodologie orientées-objets ainsi que de la méthodologie agile.
b. Méthodologie ascendante
Dite « Buttom-Up », cette méthodologie se base d’un procédé allant du bas vers le haut
et s’exprime comme un procédé propre au système de programmation procédurale et s’affiche
17

comme la plus vieille des méthodologies, car a vu le jour à l’aube de la programmation


informatique.
c. Méthodologie descendantes
La méthodologie dite descendante ou systématique est l’antonyme de la précédente,
car elle se base sur la logique du « top-down » en ce sens qu’elle va du haut vers le bas. Elle
permet de délimiter et de conceptualiser très rapidement le projet et de le diviser en des sous-
parties facilement manipulables. Cette méthodologie use du principe de « Diviser pour mieux
régner ».
Parmi les différentes méthodes usant de l’approche descendante, nous pouvons citer :
MERISE, SADT et SART
d. Méthodologie orientées-objets
Influencée par l’apparition du langage de programmation ADA et surtout par le
développement du langage C implémentant le concept objet.
Cette méthodologie permet d’associer le traitement et les données elle-même en
emmenant le concept des classes et des objets permettant ainsi une réutilisabilité et une
maintenance plus facile.
Parmi les méthodes objets, nous pouvons citer : OMT, BOOCH, OOSE, etc.
e. Méthodologie agile
Il s’agit d’une méthodologie objets de dernière génération se basant sur la souplesse et
l’adaptabilité de besoin du client et de la technologie. Elle permet de s’adapter à l’évolution de
besoin exigé au point qu’elle est très itérative.
Parmi les méthodes agiles nous pouvons citer : Adaptive software development
(ASD), Dynamic systems development method (DSDM), Extreme programming (XP), etc.
f. Notre choix de méthodologie
Après avoir passé en revue les quelques méthodologies, une seule doit être retenue
pour la suite de notre travail. Pour parvenir au bon choix, nous avons essayé de faire un
comparatif de toutes celles-ci : Les Méthodologies ascendante et descendante présentent des
avantages et des inconvénients, mais étant donné que la première est vieille et que toutes deux
utilisent une approche en cascade (bien que la seconde use souvent de l’approche en V) ne
peuvent nous intéresser car vue la complexité de notre projet, nous tenons à une approche en
spirale.
18

D’autres parts, la méthode orientées-objets nous intéresse par le fait qu’elle est
itérative. Cependant, cette méthodologie, cachant plusieurs méthodes au sein d’elle, un seul
choix parmi toutes ces méthodes objets est impératif.
De toutes les méthodes objets citées précédemment, UML se démarque depuis les
années 1990 par le fait qu’il est un fruit d’une prise de conscience de la part des pro du génie
logiciel voulant avoir un langage de modélisation unifié typiquement orienté objet. Car, OMT,
BOOCH et les autres se disputaient la prééminence.
UML, acronyme d’Unified Modeling Langage est né d’une association de plusieurs
autres méthodes objets dont OMT, OOSE, BOOCH. Il est devenu un standard dans l’entreprise
du génie logiciel tout en faisant recours au diagramme pour solutionner un problème.
Cependant, UML n’est pas une méthode à proprement dite mais il s’agit d’un langage
de modélisation ayant des méthodes aussi de lui pour formaliser une solution logicielle. Parmi
les méthodes implémentant le langage UML nous pouvons citer UP (Unified Process ou
Processus Unifié), MACAO (Méthode d’Analyse et de Conception des Applications Orientées
Objets), Agile, etc.
UML use de 13 diagrammes en général pour formaliser une application.
Etant donné que la méthode dite processus unifié est une déclinaison de la méthode
Agile alors que MACAO s’avère être un fruit de 30 ans de recherche et que c’est une méthode
capable de solutionner un important nombre de problèmes techniques usant le plus souvent des
techniques les plus récentes en matière de conception.
MACAO est une méthode participative et interactive originale qui apporte des
concepts novateurs notamment par le fait de placer l'utilisateur final au centre de l'étude, par
son analyse détaillée de l'aspect IHM, par sa réalisation de prototypes incrémentaux, par ses
règles de non régression entre prototypes.
19

L’objectif de cette méthode est de :


 Aider l’informaticien dans la recherche de toutes les informations nécessaires à la
conception et au développement d'un logiciel.
 Concevoir la structure globale et détaillée du logiciel en termes de classes d'objets.
 Définir l'IHM la mieux adaptée aux besoins des utilisateurs.
 Développer des programmes orientés-objets fiables, évolutifs et réalisés dans les délais
prévus.
 Optimiser la maintenance du logiciel livré.
MACAO s’affichant comme une solution complète et novatrice très itérative, notre
choix se porte sur cette méthode.
20

CHAPITRE II. MODELISATION PAR LA DEMARCHE


MACAO ET ETUDE RESEAUX
II.1. Introduction
Comme expliquer précédemment, notre objectif est de parvenir à réaliser un système
informatique capable de simuler toutes les opérations du recensement général de la population
tout en diminuant les couts qu’un recensement classique exige comme par exemple au niveau
de la logistique.
Ce chapitre est consacré à la modélisation du futur logiciel, étant donné que nous
réalisons ceci non d’une façon hasardeuse mais d’une façon scientifique suivant des procédés
pouvant permettre à ceux qui viendront après nous de pouvoir reproduire l’environnement et
au besoin de l’améliorer.
Outre l’aspect de modélisation, ce chapitre touche aussi la partie d’étude de la future
plate-forme en charge du réseau et télécommunication en vue de pouvoir partager les ressources
et les données en temps réel.

II.2. Modélisation
Dans notre domaine tout comme dans d’autres, la modélisation est une étape cruciale
et preneuse de temps du cycle de vie du projet, car une simple erreur à ce stade peut s’avérer
catastrophique pour tout le projet et par surcroit risque de couler celui-ci à l’eau.
Modéliser fait appel au générique « procédé » qui est un ensemble d’activités ou
opérations mises ensemble de façon bien organisée et systématique en vue d’obtenir un résultat
attendu.
Au chapitre précédant, nous avons parlé de la modélisation et avons épinglé quelques
façons particulières de modéliser un système informatique.
De tous les types de modélisation que nous avons brossée, le choix pour ce projet a été
porté sur la modélisation implémentant la technologie Orientée-Objet, nous parlons d’UML.
II.2.1. Généralité sur la notation UML
Le langage de modélisation unifié ou UML comme acronyme anglophone de Unified
Modeling Langage n’est pas en soi une méthode mais plutôt une sorte de langage permettant la
modélisation d’un système informatique donné tout en suivant une méthode spécifique
implémentant le langage UML et pour ce qui nous concerne notre méthode s’avère être la
« Méthode d’Analyse et de Conception d’Applications Orientée-Objet » MACAO en sigle.
21

UML né de la fusion de plusieurs méthodologies objets dans les années quatre-vingt-


dix(1990) possède sa notation très particulière usant d’un total de 13 diagrammes dont l’usage
est fonction du besoin du système que nous voulons informatiser.
Pour question de besoin par rapport à notre actuel projet, nous avons compris qu’une
utilisation de 4 (quatre) diagrammes d’UML pourraient facilement nous aider à la modélisation
de notre futur logiciel. Nous parlerons entre autre de :

 Diagramme de cas d’utilisation


 Diagramme de séquence
 Diagramme d’activité
 Diagramme de classe
II.2.2. Diagramme de cas d’utilisation
Le diagramme de cas d’utilisation est une représentation globale du système ou une
vue d’ensemble de ce qui se passe au sein de l’entité à informatiser. Grace à cette représentation
graphique nous pouvons avoir une vue globale du comportement fonctionnel de notre futur
logiciel.
En effet pour question de compréhension soutenue, nous utiliserons deux types de
diagramme de cas d’utilisation dans notre projet : Il s’agit du diagramme se chargeant de nous
définir l’aspect métier de notre domaine d’étude ainsi que de celui qui se chargera de l’aspect
système.
Très souvent c’est un diagramme qu’il ne faut pas confondre avec le générique « cas
d’utilisation » et est souvent remis par le maitre d’ouvrage (MOA) en d’autre terme le client
pour que l’ingénieur ou maitre d’œuvre(MOE) puisse avoir une idée sur le besoin global
exprimé par le MOA [4].

 Diagramme de contexte
Ce diagramme exprime l’environnement du système dans une situation donnée. Le
diagramme de contexte permet donc de définir les frontières de l’étude et de préciser la phase
du cycle de vie dans laquelle on situe l’étude. Il répond à la question : « quels sont les acteurs
et éléments environnants au système ? Il se présente comme suit :
22

Figure 1 : Diagramme de contexte

 Diagramme de cas d’utilisation métier


Le diagramme de cas d’utilisation métier est utilisé pour donner une vision globale
du comportement fonctionnel d’un système. Il se présente comme suit :

Figure 2: Diagramme de cas d'utilisation métier


23

 Diagramme de cas d’utilisation système


Ce type de graphique permet d’avoir une vision global du comportement du système
tout en mettant en exergue l’aspect informatique ou logiciel. Ici viennent les notions de
contrainte pour l’utilisation d’un cas spécifique.

Figure 3 : Diagramme de cas d'utilisation système Agent

Explication
Ici nous voyons que l’agent de terrain doit au préalable s’authentifier sur le système
avant toute opération. Il use de son compte utilisateur et de son mot de passe pour pouvoir
remplir les formulaires qui sont un résultat de la collecte des informations lors de l’identification
d’un individu.
En même temps qu’il doit recenser la population, un rapport de sa part utilisant son
privilège dans le système se réalise en background.

Figure 4 : Diagramme de cas d'utilisation système Population

Explication
A ce niveau, l’acteur est la population ou l’individu tout simplement qui accepte de
s’identifier auprès de l’agent de recensement. L’acteur doit décliner son identité alors que
l’agent se charge de l’encoder.
24

Figure 5 : Diagramme de cas d'utilisation système Chef du bureau central

Explication
Ce diagramme nous montre tout simplement comment le chef du bureau central
intervient dans le système dans le sens qu’il vient pour la collecte de tous les rapports envoyés
par différents agents tout en faisant une analyse synchrone des données pour éviter toute
duplication ou information erronée.
Tout en considérant ce qui vient d’être expliqué, nous pouvons sur base de ces
différents diagrammes de cas d’utilisation réaliser un seul et unique diagramme comme ci-
dessous :

Figure 6 : Diagramme de cas d'utilisation système


25

Description textuelle des cas d’utilisation

La description textuelle permet d’expliciter d’une manière détaillée le fonctionnement


d’un cas d’utilisation.

a. Cas d’utilisation : S’Authentifier

Acteur Agent et Chef du bureau central

Objectif Bien que ce ne sont pas tous les acteurs qui doivent
s’authentifier dans ce système. Mais l’agent de terrain et
le chef du bureau central doivent, pour accéder
respectivement au formulaire ou à la collecte et analyse
des informations doivent préalablement s’authentifier sur
le système.
Précondition - Les champs sont à remplir obligatoirement ;
- Un compte doit au préalable exister dans la base de
données.
Scénario nominal L’acteur rempli les informations concernant son
authentification sur un formulaire pour se connecter.

Post-condition L’acteur s’est connecté et peut accéder.


Alternatives Le système affiche un message d’erreur.

b. Cas d’utilisation : Décliner Identité

Acteur Population

Objectif L’individu faisant parti de la population décline son


identité et le processus de recensement commence à ce
niveau.
Précondition - L’individu doit être physiquement en contact avec
l’agent ;
- L’individu doit accepter de coopérer.
Scénario nominal L’acteur rempli les informations en rapport avec son
identité sur un formulaire ou le fait via l’oral.

Post-condition L’individu est recensé


Alternatives L’individu ne coopère pas et aucun processus
n’est déclenché.
26

c. Cas d’utilisation : Remplir formulaire

Acteur Agent de recensement

Objectif Ici l’acteur, sur base des informations identitaires


déclinées par l’individu (population) se charge
d’encoder dans la base de données via un formulaire.
Précondition - L’individu (population) doit déjà avoir décliné son
identité ;
- L’acteur de ce cas d’utilisation doit au préalable
s’authentifier.
Scénario nominal L’acteur rempli les informations concernant l’individu
dans un formulaire puis les sauvegarde dans la base de
données.
Post-condition L’acteur a accès au formulaire et rempli le formulaire.
Alternatives Les informations erronées produisent une
erreur système et affiche un message d’erreur.

d. Cas d’utilisation : Remettre rapport

Acteur Agent de recensement

Objectif Ce système de remise de rapport fait intervenir la notion


de réseaux et télécommunication. Ceci se fait en arrière-
plan sans même que l’acteur ne s’en rende compte.
Précondition - Les données sont enregistrées dans la base de données ;
- Une connectique est établie entre la station de terrain
et le bureau central.
Scénario nominal Aucun

Post-condition Le rapport est envoyé et la mise à jour s’est faite.


Alternatives Le réseau connait des problèmes et le rapport
est décalé.
27

e. Cas d’utilisation : Collecter rapport

Acteur Chef du bureau central

Objectif La collecte des rapports en temps réel permet de faire


une récupération et une sauvegarde des données dans la
base de données centrale.
Précondition - La connectique est effective ;
- L’acteur s’est déjà authentifié.
Scénario nominal L’opération, grâce au réseau et télécommunication se
fait de façon synchronisée avec la base.
Post-condition Toutes les informations épurées sont enregistrées dans
la base de données.
Alternatives Un problème de réseaux peut retarder la
collecte.

f. Cas d’utilisation : Analyser rapport

Acteur Chef du bureau central

Objectif L’analyse se faisant aussi en temps réel permet de


supprimer des doublons ainsi que des informations
erronées.
Précondition - La connectique est là ;
- Les informations sont présentes au système
Scénario nominal Aucun

Post-condition Les informations erronées ainsi que les doublons sont


supprimés
Alternatives Aucune analyse en cas de non connectivité.
28

II.2.3. Diagramme de séquence

C’est une représentation graphique permettant de voir les échanges des messages
représentés par des flèches entre composant du système tout en mettant en exergue l’aspect
chronologique défini par la ligne de vie représentée par une ligne discontinue verticale, par le
sens du temps représenté par un rectangle en position verticale [5].
Ainsi, nous pouvons, comme à l’image de cas d’utilisation avoir six diagrammes de
séquence comme ci-dessous :
 Diagramme de séquence S’authentifier

Figure 7 : Diagramme de séquence S’Authentifier


29

 Diagramme de séquence Décliner Identité

Figure 8 : Diagramme de séquence Décliner identité

 Diagramme de séquence remplir formulaire

Figure 9 : Diagramme de séquence Remplir formulaire


30

 Diagramme de séquence remettre rapport

Figure 10 : Diagramme de séquence Remettre rapport


31

 Diagramme de séquence Collecter rapport

Figure 11 : Diagramme de séquence Collecter Rapport


32

 Diagramme de séquence Analyser rapport

Figure 12 : Diagramme de séquence Analyser Rapport

II.2.4. Diagramme d’activité


Le diagramme d’activité est une représentation graphique de la notation UML nous
permettant d’avoir une vision claire des enchainements des procédures ou d’opérations
s’effectuant dans un système donné.
Le diagramme d’activité est un schéma comportemental d’UML permettant de
représenter l’évènement en fonction des états du système et de modéliser des comportements
dits multiprocessus. Ils mettent l’accent sur les traitements adaptés à la modélisation du
cheminement des flots de contrôle et des flots de données.
Pour le cas de notre domaine d’étude, nous aurons un diagramme comme celui-ci :
33

Figure 13: Diagramme d'activité

II.2.5. Diagramme de classe


Ce type de graphique nous permet d’avoir une vision claire de notre interface système
ainsi que des classes qui nous aiderons à réaliser nos futurs objets lors de la programmation.
C’est en effet grâce à ce graphe que nous avons une idée claire de notre future base de données
car le diagramme de classe se charge de l’aspect statique du système tout en flouant sur la partie
temporelle.
Pour le cas type de notre actuel projet, nous avons un diagramme de classe à peu près
comme celui-ci :
34

Figure 14 : Diagramme de classe

II.2.6. Passage du diagramme de classe vers le MLDR


Ayant réalisé le diagramme de classe, nous avons une vision claire de l’aspect statique
et pouvons désormais imaginer un modèle logique des Données pouvant nous emmener tout
droit vers le modèle physique pour une réalisation de notre future base de données.
Cependant, pour un passage en douceur respectant les contraintes techniques, des
principes ont été élaborés comme suit :
 Chacune des entités et associations du diagramme deviennent des relations pour
le MLD ;
 Chaque élément utilisé comme attribut dans le diagramme devient alors un
attribut pour les relations du MLD ;
 Les identifiants dans le diagramme deviennent des clés primaires dans le MLD.
Cependant, pour ce qui est de transformer les associations du diagramme en relations
pour le MLD, certaines règle doivent être observées.
En effet, si une association au niveau du diagramme est de type :
35

 Un-à-un (1 1) : la clé primaire d’une relation de l’une de deux relations doit


figurer dans l’autre comme clé étrangère ;
 Zéro-à-plusieurs (0 1…*) et une association un-à-plusieurs : nous mettons la clé
primaire de la relation père dans la relation fille comme clé étrangère;
 Plusieurs-à-plusieurs (0,1…* 0,1…*): l’association qui relie les deux relations
devient une nouvelle table dont la clé primaire est la concaténation de la clé primaire de ces
deux relations.
Ayant toutes les règles avec nous, nous pouvons avoir un passage comme celui-ci :

Figure 15: Passage du diagramme de classe vers le MLDR


36

II.3. Etude réseaux


II.3.1. Introduction
Le besoin de communication est une nécessité chez l’homme. Ainsi, nous avons à
notre époque contemporaine acquis un éventail d’outils et technologies dont le choix ne peut
qu’être un embarras.
En informatique, il s’agit de réseau informatique, qui consiste en une technique de
transfert de fichier qui permet de partager des fichiers, des périphériques tel qu'une imprimante
ou encore des services d'applications sur un réseau informatique [2].
En effet, pour ce qui nous concerne, en informatique le réseau est un moyen technique
par lequel les ingénieurs cherchent à partager des ressources entre plusieurs postes d’appareils
intelligents. Notre étude du projet se posant dans le domaine de recensement, nous comprenons
tout de suite que ces opérations exigent aux agents d’aller aux plus confins d’un territoire donné.
Cependant, ayant un outil de dernière génération en main, deux moyens de faire
communiquer ces appareils s’avèrent intéressants, il s’agit de :
II.3.2. Moyen de communication par internet
Internet est un acronyme d’International Network, qui est un moyen de communication
de récente génération qui envisage un modèle de trafic irrégulier, contrairement à la
communication par téléphonie, car plusieurs types des données entre en jeux.
Internet exige une antenne ayant une double fonctionnalité, celle-ci doit être en mesure
de recevoir et d’émettre le signal. D’où la notion des outils tels que MODEM (Modulateur-
Démodulateur), des VSAT ayant deux sorties Radiofréquences, une pour la réception et une
autre pour l’émission.
Internet, va de la logique que tous les ordinateurs ou autres appareils intelligents
doivent être interconnectés et échanger des ressources telles que les pages web, les applications,
etc. Ainsi sur ce type de réseaux, chaque ordinateur est identifié par son adresse unique qui
l’identifie dans la maille des interconnexions. Cette adresse unique qui identifie chaque
ordinateur ou appareil intelligent est appelée Internet Protocol ou adresse IP.
Pour qu’internet puisse passer chez un tiers, il faudrait que l’appareil puisse être
connecté à une antenne gérée par un agent dit Fournisseur d’Accès Internet ou FAI, lequel est
lui-même connecté au satellite via une antenne VSAT.
Le fournisseur d’accès internet use d’une des plusieurs technologies pour fournir le
signal qu’il capte à ses clients tout en allouant une certaine bande passante selon le besoin.
37

Parmi les technologies, nous pouvons citer la technologie câblée ou la technologie hertzienne
qui fait recours aux antennes WIMAX, 3G, 4G, 5G, etc.
D’autres parts, le progrès le plus marquant dans ce mode de communication est
l’introduction de la mobilité, un tiers ayant un appareil connecté au réseau pourra sans problème
visiter des pages WEB tout en voyageant dans un train sans qu’il y ait détérioration du signal.
Cependant, malgré le progrès que présente cet outil, de nombreux pays en voie de
développement, en occurrence le nôtre présentent encore des problèmes par rapport à la
connectivité. Internet reste encore un luxe pour la majorité de nos compatriotes ; suite à des
fournisseurs défectueux et aussi à une population pauvre, nous avons encore des endroits dans
la périphérie des grandes villes comme Lubumbashi ou Kinshasa où la connexion internet est
inexistante alors qu’aux grands centre, elle est de piètre qualité.
II.3.3. Moyen de communication par SMS
Le réseau GSM ou Global System Mobile de Vodafone est à l’origine de l’utilisation
de SMS depuis le début des années 90. Le SMS est un acronyme de Short Message Service, qui
est depuis lors intégré dans le service de presque toutes les entreprises fournissant le service de
téléphonie mobile.
Leurs coûts très renduits et leur taux élevé de lecture (allant jusqu’à 95% alors que les
statuts Facebook vont à peine à 22%) ont fait des SMS un outil incontournable dans la
communication. Certains marqueteurs l’utilisent même pour faire la publicité.
Pour ce qui nous concerne, avec l’arrivée de forfaits SMS, nous pouvons estimer un
coût moyen du SMS approximativement à 1,8 FC chez l’opérateur Airtel.
Considérant, son prix et son implémentation plus vaste que la couverture internet, le
SMS est notre choix de communication pour échanger les informations en temps réel avec le
bureau central de recensement.
Pour que le SMS tourne comme un outil intégré au système, il ne faudrait pas que
l’utilisateur puisse se déranger tout le temps pour envoyer un SMS à chaque recensement, ou
sinon cela peut produire une lenteur qui mettrait en cause notre hypothèse.
Une passerelle est prévue pour que l’application puisse communiquer avec dans le but
de générer automatiquement des SMS et de les envoyer alors que de l’autre côté du système la
passerelle communique avec la base de données via une adresse http ou Hypertexte Transfert
Protocol.
Ainsi, nous pouvons présenter un graphique comme celui-ci présentant plus
brièvement notre réseau de communication :
38

SMS HTTP

BDD AGENT BDD BUREAU C

Figure 16: Réseau de Communication

Dans ce graphique :
 La « BDD Agent » constitue toutes les informations insérées dans la base de
données par l’agent de terrain via son formulaire ;
 Ces informations transitent de la base au ressources SMS via l’adresse IP du
téléphone en charge de faire l’envoie ;
 Le téléphone ou la tablette de l’agent fait l’envoie instantanée du SMS alors que
le téléphone au bureau central fait la réception ;
 Le téléphone du bureau central envoie les SMS reçus à la base de données au
moyen du protocole http.

II.4. Coût de l’opération


Pour toute opération réalisée par l’ingénieur, l’aspect coût est une étape très importante
dans la réalisation d’un projet. Une ambiguïté à ce niveau mettrait en cause le savoir-faire de
toute une équipe.
C’est pourquoi, un calcul assidu est plus que nécessaire et pour ce qui nous concerne
nous pouvons nous représenter un scenario comme celui-ci :
 Nous avons une superficie de 2 345 000 Km2 ;
 Un pays divisé en 26 provinces ;
 Un nombre total de 145 territoires et 30 villes notables techniquement regroupés
en 246 sites;
 Une population estimée par excès à 90 000 000 de personnes ;
 Un agent moyennement aguerri peut réaliser l’opération de recensement en 10
minutes ;
 Pour parvenir à un recensement d’un jour, il faudra faire ce calcul : 8 Heures de
travail multiplié par 6 (une heure divisée par 10 minutes des recensements) font 48 personnes
recensable par jour et par agent ;
39

 Pour que l’opération prenne un jour, il faudra prendra 90 000 000 divisés par 48
qui donne 1 875 000. Ce qui veut dire il faudra 1 875 000 agents pour recenser en un jour ;
 S’il faudra rabattre l’opération en 3 mois, nous aurons 1 875 000 agents divisés
par 78 (jours de travail pendant 3 mois) : 24 038 agents ;
 Une motivation allant jusqu’à 500 dollars par mois et par agent est envisageable
pour cette opération, ce qui donne 24 038 à multiplier par 500 fois 3 mois faisant 36 057 000
dollars ;
 Un fournisseur raisonnable pourra fournir une tablette numérique 7 pouces ayant
une option de capture d’empreinte digitale à plus ou moins 300 dollars ;
 Pour chacun des agents utilisant une tablette, nous aurons 300 dollars multipliés
par 24 038 qui feront 7 038 300 dollars ;
 L’achat de deux ordinateurs par site pouvant faire office de serveur WEB et des
données pour le bureau central de recensement de marque iMac demanderait plus ou moins
3 000 dollars * 246 *2 pour un total de 1 476 000 dollars;
 Un smartphone de 100 dollars par bureau secondaire de villes et territoire pour
100* 246 font 24 600 dollars ;
 Connexion internet par Site par l’achat d’un fly-box de 100 dollars qui font 24
600 dollars ;
 Souscription au forfait internet 3G pour 50 dollars pendant 3 mois qui donne 12
300* 3 pour un total de 36 900 dollars ;
 Un mainframe au niveau du bureau central pouvant faire office de serveur WEB
et des données de marque IBM modèle z9 BC ayant une mémoire vive de 64 GB à 250 000
dollars [6];
 Une antenne Vsat à 5000 dollars pour le bureau central de Kinshasa ;
 Deux smartphones au niveau du bureau central pour 200 dollars ;
 Allouer une bande passante dédiée sur satellite de télécommunication ;
 Autant des tablettes autant des cartes SIM pour la connexion au réseau de
téléphonie pour 24 038 tablettes multiplié par 500 FC qui font 12 019 000 FC que nous divisons
par 1 600 qui donnent 7 511 dollars ;
 Pour ce qui concerne le coût d’un SMS, il en sera d’un recensement pour 1 SMS
envoyé au bureau central, donc 90 000 000 multipliés par 1,8 FC qui font 162 000 000 FC puis
divisés par 1 600 ce qui donne 101 250 dollars.
40

Tout en considérant toutes les informations ci-haut renseignées, nous pouvons réaliser
un tableau à peu près comme celui-ci que nous appellerons tableau des coûts ou devis de
l’ingénieur :

Libellé Quantité (Chiffre) Coût


Territoire national 2 345 000 km2
Province 26
Territoire 145
Villes 30
Sites de recensement 246
Population ±90 000 000
Agent 24 038 * 500 dollars *3 36 057 000 dollars
Tablettes 24 038 * 300 dollars 7 038 300 dollars
Ordinateur 246 * 3 000 dollars *2 1 476 000 dollars
Smartphone 246 * 100 + 2 * 100 24 800 dollars
Carte SIM 24 038 * 500 FC 7 511 dollars (12 019 000 FC)
Coût du SMS ±90 000 000 * 1,8 FC 101 250 dollars (162 000 000 FC)
Mainframe 1 250 000 dollars
Fly-box 246 site * 100 dollars 24 600 dollars
Abonnement 3G 50 dollars * 246 * 3 36 900 dollars
Antenne Vsat 1 pièce 5 000 dollars
Allocation de la 7 000 000 dollars
bande passante sur
satellite
Total - 52 244 561 dollars
Tableau 4 : Devis au niveau national

Pour un aperçu rapide, nous pouvons tout de suite comprendre que notre projet vient
palier non seulement à la problématique du temps mais aussi réduit sensiblement le coût de
l’opération au niveau national et augmente sensiblement la motivation des agents.
En effet, nous avons noté que le devis pour un recensement au niveau national était
estimé avec des experts à 500 000 000 de dollars alors que nous avons pu rabattre ce chiffre à
presque le dixième.
Cependant, ayant en tête que nous avons comme territoire pilote la ville de
Lubumbashi, nous avons réalisé la règle de trois simples pour imaginer statistiquement le devis
que pourra exiger la seule ville de Lubumbashi.
41

Lubumbashi est la seconde ville du pays mais se dispute la place par rapport au nombre
d’habitants avec la ville de Mbuji-Mayi puisque Lubumbashi comptait en 2015 avec ses
périphéries 2 786 397 habitants pour une superficie de 747 Km2.
Nous aurons donc en moyenne pour recenser une personne 52 244 561 divisés par
90 000 000 qui donnent 0,58 dollars par personne.
Or la ville de Lubumbashi compte 2 786 397 habitants, ce qui nous rapporte à
multiplier ce chiffre par 0,58 qui font un produit de 1 616 110 dollars.
42

CHAPITRE III. REALISATION DES IHM ET SYSTEME DE


PARTAGE DES RESSOURCES
PARTIE 1. LES INTERFACES HOMME-MACHINE
III.1.1. Objectif des Interfaces Homme-Machine
Les interfaces Hommes-Machines dites IHM sont des moyens par lesquels
l’utilisateur final d’une application informatique communique avec la base des données ou les
fonctionnalités de celle-ci.
Il peut s’agir d’un écran ou d’un tableau de bord via lequel l’utilisateur se charge de
passer de commande à un système quelconque en vue d’un résultat attendu et prédéfini par le
programmeur.
Etant donné que notre philosophie de programmation est de faire tourner un système
informatique communicant sur deux plates-formes différentes via deux technologies
différentes ; nos IHM sont de deux formats dont l’un tournant sur un ordinateur et un autre sur
un appareil mobile implémentant le système androïde.
III.1.2. Conception des Interfaces Homme-Machine coté serveur
Notre serveur en environnement de test est un simple ordinateur sur lequel tourne une
application WEB et un gestionnaire des bases de données dont nous nous en reparlerons un peu
plus loin dans ce chapitre.
Ainsi, pour la réalisation de nos interfaces Homme-Machine du coté serveur de notre
actuel projet, notre choix s’est porté sur le langage de script HTML qui est l’acronyme de
HyperText Markup Langage un langage créé au début des années 1990 visant la réalisation des
pages WEB.
Notre choix pour le HTML qui a évolué depuis sa création jusqu’à nos jour à la version
5 se justifie par le fait que nous avons jugé opportun de réaliser une application WEB compte
tenu du caractère partage des ressources en temps réel que réclame ce projet.
Ainsi pour ce qui est de la réalisation de notre page d’accueil sur laquelle est censée
s’authentifier l’utilisateur, nous pouvons avoir un script HTML comme ci-dessous :

<!DOCTYPE html>
<html lang="fr" dir="ltr"><head>
---
</head>
<body id="loginform>
--- <form method="post" action="mypage.php" name="login_form"
class="disableAjax login hide js-show" style="display: inline;">
43

<fieldset>
<legend>Connexion</legend><div class="item">
<label for="input_username">Utilisateur : </label>
<input type="text" name="pma_username" id="input_username"
size="24" class="textfield">
</div>
<div class="item">
<label for="input_password">Mot de passe : </label>
<input type="password" name="pma_password"
id="input_password" value="" size="24" class="textfield">
</div> <input type="hidden" name="server"
value="1"></fieldset>
<fieldset class="tblFooters">
<input value="Exécuter" type="submit" id="input_go"><input
type="hidden" name="target" value="tbl_export.php"><input type="hidden"
name="db" value="kaiche"><input type="hidden" name="table"
value="offres"><input type="hidden" name="token"
value="6f29e1053e588d63a81576168bbf94ef"></fieldset>
</form></div></div></body></html>

Figure 17: Illustration Script HTML

Pour enjoliver les IHM avons fait recours au CSS3. Le CSS est une abréviation de
Cascade Style Sheet qui se traduit littéralement par feuille de style en cascade, il s’agit d’un
langage de script comme le HTML qui a été créé à la suite des lacunes qu’avait le HTML pour
réaliser des pages WEB belles à voir.
Le CSS tout comme le HTML a connu des évolutions considérables au fil du temps au
point que nous sommes à ces jours à sa version 3 possédant des fonctionnalités très intéressante
qui font du WEB la technologie la plus innovante et populaire.
En effet, grâce aux fonctions du CSS3, il est à ces jours possibles de réaliser même de
jeux vidéo ou de visites virtuelles sur une page WEB.
Nous avons fait le choix du CSS3 pour faire le design de nos pages en y apportant des
couleurs, des styles de texte et surtout de réaliser des mouvements et réaction en fonction du
survol du pointeur sur un objet comme dans notre formulaire de recensement.
Nous avons eu l’audace de dynamiser des IHM à l’aide d’AJAX. Il est une forme de
langage JavaScript né du besoin de voir des pages WEB charger des informations sans qu’il ait
rechargement de la page. Il est ici question d’un acronyme signifiant Assynchronous JavaScript
And XML ou littéralement traduit en langue de Molière JavaScript et XML en asynchronisme.
JavaScript permet de réaliser du code dynamisant la page WEB du coté client (au sens
technologie web), c’est-à-dire sans intervention du serveur. Puisqu’il tourne du coté client de
l’application, le JavaScript permet de réaliser des pages dynamiques fonctionnant plus
rapidement que celle faite sous PHP ou Ruby on rails ou encore Python.
44

III.1.3. Conception des IHM coté client


Le coté client du système est la partie qui implémente l’utilisation des Smartphones ou
tablettes sur lesquels sont installés le système d’exploitation à noyau Linux, nous citons ici
androïde.
En effet, notre projet consiste à réaliser un APK (Android Package Kit) clé en main
facile à déployer dont au moyen des interfaces l’utilisateur pourra saisir les données en rapport
avec le recensement. Ainsi XML est le langage de balisage par excellence adopté pour la
réalisation des IHM non seulement sur les appareils mobiles, mais aussi sur des téléviseurs ou
frigo intelligent. Mais XML va plus loin, puisqu’il permet aussi de structurer les données
provenant de l’extérieur.
XML est un voisin proche du HTML dans le sens qu’il est aussi un langage de script
et les deux sont issus de la même mère le SGML (Standardized Generalised Markup
Language), cependant le XML décrit, structure, échange des données tandis que le HTML ne
fait qu’afficher des données [7].
D’autres parts le XML est extensible et permet de créer ses propres balises en fonction
des données traitées. En HTML, les balises sont prédéfinies et donc figées.
Par ailleurs, comme par exemple pour notre activité principale sur laquelle se lance
l’application se présente comme suit :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Principal_Activite">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Android ActionBar Tab Tutorial and Example" />

</RelativeLayout>

Figure 18: Activité principale XML


45

PARTIE II. LES DONNEES


III.2.1. Données coté serveur
III.2.1.1. Passage du Modèle Logique vers le langage SQL
Au niveau du chapitre II nous avons réalisé le MLDR ou Modèle Logique des Données
Relationnelles sur base du diagramme des classes du langage UML. Maintenant il nous est
question de faire un passage de ce modèle en langage SQL.
En effet SQL veut dire Structured Query Langage ou Langage de requête structurée,
il est un langage de programmation permettant l’extraction, l’analyse et la transformation de
données structurées. [8]
La version première de SQL a vu le jour en 1974 mais ce langage fut normalisé en
1986 et est devenu une référence de taille pour la grande majorité des systèmes de gestion des
bases de données relationnelles SGBDR en abrégé.
Ce langage a comme concurrents l’OQL qui est lui réservé pour les systèmes de
gestion des bases de données orientées objets.
Nous pouvons citer entre-autre le SGBDR 4D (anciennement 4e Dimension),
Microsoft Access, Open Office Base, DB2, Firebird, Visual FoxPro, Oracle, Paradox,
PostgreSQL, Microsoft SQL Server, MariaDB, MaxDB, Ocelot, Mimer, SQLite, SyBase,
MySQL, etc.
Ayant ceci à l’esprit, nous noterons qu’à chaque SGBDR appartient une certaine
déclinaison du langage SQL. Ainsi, comme notre choix se porte sur le SGBDR MySQL, nous
utilisons le moteur qui lui est propre, nous citons « InnoDB ».
III.2.1.2. Gestion de la base de données avec MySQL
Pour qu’une base de données puisse bien fonctionner, elle a besoin d’être gérée, et
plusieurs logiciels sont disponibles comme signalé au premier de cette partie. Ces logiciels sont
appelés Système de Gestion des Bases de données ou SGBD, y en a qui sont payants tels
qu’ORACLE ou 4D alors que d’autres sont libres d’utilisation comme c’est le cas de notre
choix : MySQL.
En effet MySQL est une propriété de la société ORACLE Corporation qui juré de le
laisser libre à vie bien que cette entreprise soit réputé pour ses appâts au gain. Ce SGBD est
beaucoup plus puissant grâce à son moteur « InnoDB » et il est le plus utilisé surtout dans les
applications WEB. Wikipédia, une encyclopédie en ligne par exemple utilise MySQL.
46

Notre choix se justifie aussi par la spécificité qu’à ce SGBD de pouvoir gérer plusieurs
moteurs au sein d’une seule base. Chaque table peut utiliser un moteur différent au sein d’une
même base. Ceci afin d’optimiser l’utilisation de chaque table.
Par ricochet, nous pouvons citer les différents moteurs qu’utilise MySQL : MyISAM,
InnoDB, BerkeleyDB, Merge, Aarchive, Memory, etc.
D’habitude, pour réaliser des bases de données avec MySQL, le logiciel le plus utilisé
est MySQL Workbench, mais pour notre cas étant donné que nous développons une application
WEB, nous avons opté pour un package conçu à cet effet : Il s’agit de WAMP sous Windows
ou LAMP sous Linux. WAMP est un assemblage des programmes tel qu’Apache, MySQL et
PHP.
Dans WAMP, L’utilisateur accède à MySQL grâce aux interfaces visibles dans
PhpMyAdmin dit PMA. C’est à partir de ce programme open-source conçu en PHP que
l’ingénieur peut réaliser des tables, des relations ainsi que d’autres opérations en rapport avec
la base de données.
Un script comme celui-ci crée la base de données ainsi que les tables.
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
CREATE DATABASE IF NOT EXISTS `Kr` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci;
USE `kr`;
CREATE TABLE IF NOT EXISTS `personne` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`noms` varchar(45) NOT NULL,
`Lieunaiss` varchar(15) NOT NULL,
`Datenaiss` date NOT NULL,
`Sexe` varchar(1) NOT NULL,
`Etatcivil` varchar(1) NOT NULL,
`Logement` varchar (15) NOT NULL,
`Education` varchar (15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

Figure 19: Création base de données avec MySQL


III.2.2. Données coté client
Pour stocker des données coté client, dans notre cas les appareils androïdes, le système
via déjà avec un gestionnaire des bases des données incorporé qu’il partage avec les applications
qui en fait demande.
Ce SGBDR se nomme SQLite et est un gestionnaire qui décline la philosophie client-
serveur qu’implémentent les autres mais use du langage SQL.
47

Dans Android, pour créer une base des données et y accéder il faut passer par des
classes JAVA qui alloue un espace sur SQLite, ainsi pour la création de notre base de données,
nous avons eu à implémenter des méthodes entre autres celle-ci :

private static final String DATABASE_CREATE = "create table "


+ TABLE_PERSONNE + "(" + COLUMN_ID
+ " integer primary key autoincrement, " + COLUMN_PERSONNE
+ " text, "+ COLUMN_LIEUNAIS
+ " text, "+ COLUMN_SEXE
+ " text, "+ COLUMN_DATENAIS
+ " text, "+ COLUMN_ETATCIVIL
+ " text, "+ COLUMN_PROVINCE
+ " int, "+ EDUCATION
+ " int, "+ COLUMN_EMPLOI
+ " text, "+ COLUMN_LOGEMENT
+ " text);";

Figure 20: Création base de données avec SQLite

PARTIE III. LIAISON DES IHM AVEC LA BASE DE DONNEES


III.3.1. Généralités sur la connexion à la base
Avoir des jolies interfaces ou IHM c’est bien pour saisir ou lire les informations,
cependant un stockage permanent est très important. Voilà pourquoi il est plus important pour
notre projet de disposer d’une connexion entre IHM et base de données pour un stockage
structuré des informations saisies par l’utilisateur.
Ainsi chaque langage de programmation son mode de connexion à la base de données
comme expliqué aux points suivants.

III.3.2. Connexion à la base de données MySQL à l’aide de PDO


A l’heure où nous écrivons ces lignes l’utilisation de PDO_MySQL pour se connecter
à la base de données est un standard puisque cette extension permet une connexion simple et
sécurisée au serveur.
Pour bien travailler, il faut penser au test de l’extension en question. Ce test permet de
se rassurer que celle-ci est bien fonctionnel sur le serveur bien que plusieurs programmes ou
packages l’active par défaut.
Pour ce qui concerne WAMP, il faut aller sur l’icône de WAMP allumé sur la barre
des tâches y cliquer gauche pour voir apparaitre le menu sur lequel nous cherchons PHP
extensions auquel nous suivons des sous-menus d’où nous verrons si PHP PDO_MySQL est
coché.
48

Une connexion basique avec PDO_MySQL se présente comme suit :


<?php
class DBFactory
{
public static function getMysqlConnexionWithPDO()
{
$db = new PDO('mysql:host=localhost;dbname=kr', 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db;
}
public static function getMysqlConnexionWithMySQLi()
{
return new MySQLi('localhost', 'root', '', 'kr');
}
}
?>

Figure 21: Connexion à la base de données avec PDO MySQL


III.3.3. Connexion à la base de données SQLite
Par contre la base de données mobile SQLite permet la connexion uniquement via des
classes JAVA ; et JAVA étant un langage de programme strictement objet, ce sont plusieurs
classes qui doivent intervenir pour par exemple implémenter les méthodes Getters, Setters, etc.
Une autre classe devra implémenter le DAO qui permet en soit l’accès aux données.

package com.example.peter.kaiche_recense;

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

public class CommentDataSource {

// Champs de la base de données


private SQLiteDatabase database;
private MySQLiteHelper dbHelper;
private String[] allColumns = { MySQLiteHelper.COLUMN_ID,
MySQLiteHelper.COLUMN_COMMENT,
MySQLiteHelper.COLUMN_LIEUNAIS, MySQLiteHelper.COLUMN_SEXE };

public CommentDataSource(Context context) {


dbHelper = new MySQLiteHelper(context);
}

public void open() throws SQLException {


49

database = dbHelper.getWritableDatabase();
}

public void close() {


dbHelper.close();
}
public void deleteComment(Comment comment) {
long id = comment.getId();
System.out.println("Comment deleted with id: " + id);
database.delete(MySQLiteHelper.TABLE_COMMENTS,
MySQLiteHelper.COLUMN_ID
+ " = " + id, null);
}

public List<Comment> getAllComments() {


List<Comment> comments = new ArrayList<Comment>();

Cursor cursor =
database.query(MySQLiteHelper.TABLE_COMMENTS,
allColumns, null, null, null, null, null);

cursor.moveToFirst();
while (!cursor.isAfterLast()) {

Comment comment = cursorToComment(cursor);


comments.add(comment);
cursor.moveToNext();
}
cursor.close();
return comments;
}

public String nom()


{
String intitule = "";
Cursor cursor =
database.query(MySQLiteHelper.TABLE_COMMENTS,
allColumns, null, null, null, null, null);

while (cursor.moveToNext()) {
intitule = cursor.getString(1) + ":" + intitule;
}
cursor.close();
return intitule;
}
private Comment cursorToComment(Cursor cursor) {
Comment comment = new Comment();
comment.setId(cursor.getLong(0));
comment.setComment(cursor.getString(1));
comment.setLieuNaiss(cursor.getString(2));
comment.setSexe(cursor.getString(3));
return comment;
}
public Comment createComment(String nomR, String lieuN, String
sex) {
ContentValues values = new ContentValues();
50

values.put(MySQLiteHelper.COLUMN_COMMENT, nomR);
values.put(MySQLiteHelper.COLUMN_LIEUNAIS, lieuN);
values.put(MySQLiteHelper.COLUMN_SEXE, sex);
long insertId =
database.insert(MySQLiteHelper.TABLE_COMMENTS, null,
values);
Cursor cursor =
database.query(MySQLiteHelper.TABLE_COMMENTS,
allColumns, MySQLiteHelper.COLUMN_ID + " = " +
insertId, null,
null, null, null);
cursor.moveToFirst();
Comment newComment = cursorToComment(cursor);
cursor.close();
return newComment;
}
}

Figure 22: Connexion à la base de données avec DAO SQLite

III.3.4. La programmation android


Pour un développement sous android qui est un système d’exploitation OpenSource
sous licence GPL, la logique de programmation d’une application pouvant tourner dessus se
base sur la notion des activités et services.
Une activité en fait est la fenêtre qui s’affiche sur l’écran de l’utilisateur, ce qui sous-
entend qu’une application peut avoir autant d’activité. Etant donné qu’il peut y avoir plusieurs
activités, android pourra avoir confusion de savoir sur laquelle d’entre celles-ci pourra se lancer
l’application. D’où la nécessite d’un fichier dit « androidManifest »
Ce fichier est celui sur lequel s’écrivent toutes les configurations basiques de
l’application, c’est à ce niveau où l’application demande accès à certaines ressources de
l’appareil.

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.peter.kaiche_recense">

<uses-permission android:name="android.permission.WRITE_CONTACTS" />


<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_logoicon_foreground"
android:label="@string/app_name"
51

android:roundIcon="@mipmap/ic_logoicon_foreground"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Principal_Activite"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".Liste"
android:label="@string/title_activity_liste"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Population"
android:label="@string/title_activity_population"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Emploi"
android:label="@string/title_activity_emploi"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Menage"
android:label="@string/title_activity_menage"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Logement"
android:label="@string/title_activity_logement"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Education"
android:label="@string/title_activity_education"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Recenser"
android:label="Nouveau recensement"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Modifier"
android:label="@string/title_activity_modifier"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".List"
android:label="@string/title_activity_list"></activity>
</application>
</manifest>

Figure 23: AndroidManifest


52

Les lignes <action android:name="android.intent.action.MAIN" /> et


<category android:name="android.intent.category.LAUNCHER" /> permettent de
définir sur quelle activité se lance l’application.

Figure 24: Activité de lancement de l'application


Outre le fichier androidManifest, notons qu’à chaque activité correspond un fichier
XML ou HTML pour la charte graphique auquel est lié une classe JAVA qui implémente le
fonctionnement de l’application comme celle-ci :
import android.app.Activity;
import android.os.Bundle;
import com.example.peter.kaiche_recense.R;

public class Activite extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xml_activite);
//Mon code ici
}
@Override
protected void onDestroy(){
super.onDestroy();
//Mon code ici
}
@Override
protected void onPause(){
super.onPause();
//Mon code ici
}
@Override
protected void onStop(){
super.onStop();
//Mon code ici
}
@Override
protected void onResume(){
super.onResume();
//Mon code ici
}
}
53

PARTIE IV. LE SCHEMA DE NAVIGATION DES IHM (SNI)

Le SNI permet de concevoir et de représenter l'enchaînement du dialogue entre le


logiciel et l'utilisateur en tenant compte du comportement supposé de ce dernier. L'utilisateur
pourra naviguer entre les informations qui lui sont proposées de façon apparemment libre, mais
en étant cependant contraint à une logique imposée par le concepteur de l'application. [9]
Le SNI est un modèle conceptuel qui permet de concevoir et de représenter
l'enchaînement du dialogue entre le logiciel et l'utilisateur.
Les principaux objectifs du SNI sont notamment de modéliser l’IHM en termes de
navigation entre les différents éléments de base, les droits d’accès et la couverture fonctionnelle
liée à l'IHM.
Le SNI comble un manque d’UML en matière de modélisation d’interface
Il propose un langage adapté à la communication entre les réalisateurs et les utilisateurs
pour donner le feedback de l'architecture générale du point de vue de l'IHM.
La nécessité de concevoir l’IHM :
 Permettre une bonne capture des besoins utilisateurs en modélisant la logique
d'enchaînement des fonctions de l'application (analyse).
 Décliner cette logique d’enchaînement en modèles plus proches du développement
(traçabilité entre analyse, conception et développement).
 Avoir une vision d’ensemble de l’IHM de l’application (communication,
maintenance…). [3]
Constat :
 UML propose de nombreux modèles mais aucun n’est véritablement adapté à la
modélisation des IHM.
 Les concepts UML (objet, classe, état, message…) ne sont pas des concepts adaptés
aux IHM.

Pour notre cas d’étude qui se situe dans le domaine du recensement nous comprenons
toute la nécessité de définir l’IHM la mieux adapté qui permettrait aux agents de terrain de
recenser la population sans trop de peine.
Ainsi nous aurons un schéma comme ci-dessous :
54

START

KAICHE-
RECENSE

Statistique Menu contextuel

Statistique 1 Connexion 2 Paramètre 3 Aide

(Population, Emploi,
Ménage, Logement)
1 Authentification 2 3

Login et
MDP
Invalide Authentification
incorrect

Correct Changement

Login
et mdp
Planche 1
Login
et mdp
55

Planche 1

Formulaire

Non
Veuillez remplir

OK Menu contextuel
Sauvegarder

Liste des recensés

Confirmation Liste du jour Liste générale


Modifier Supprimer

Voulez-vous supprimer ?
Formulaire

Noms, etc…

Figure 25: Schéma de navigation des IHM


56

PARTIE V. REALISATION DU SYSTEME DE PARTAGE DES


RESSOURCES
III.5.1. Généralités sur le partage des ressources
Une fois les données traitées et enregistrées le besoin de partage se fait tout de suite
sentir, car comme pour le cas type de notre projet les données récoltées sur terrain doivent être
centralisées et stockées dans un serveur plus sécurisé.
En effet, les informations dans le système sont en « up » dès qu’elles quittent le terrain
pour le serveur et en « down » dans le sens contraire. Pour ces échanges entre postes, plusieurs
moyens s’offrent à nous et nous avons opté pour le « up » par SMS et le « down » par internet
(Wi-Fi en environnement de démonstration).

III.5.2. Partage des données par SMS


Le SMS est une innovation introduite par la norme GSM qui a bouleversé au plus haut
niveau le monde de communication. Souvent connu sous le nom de texto ou de minimessage,
son coût et praticabilité a fait de ce média de la téléphonie le plus lu du monde avec un taux de
95%.
Selon l’encyclopédie libre Wikipédia, le SMS permet de transmettre des messages de
plusieurs milliers de caractères qui sont découpés en sous-message de 160 caractères, très
souvent et généralement ce sont ces sous-messages de 160 caractères de taille qui sont facturés
par les opérateurs.
Comme ce média est très populaire, les opérateurs téléphoniques ont déployé la
technologie GSM presque partout où il y population. Voilà pourquoi, le choix d’un tel média
se prononce plus que propice à l’aspect partage des données en temps réel.
En effet, il est question de faire appel au service de messagerie SMS pour permettre
aux agents de recensement sur terrain de communiquer en temps réel et ce de façon automatique
pour ne pas retarder les opérations. D’où cela nécessite l’usage de la notion de serveur SMS.
57

III.5.3. Serveurs SMS


a. Généralités
Généralement le générique « Serveur » nous fait penser à une disposition matérielle
ou logiciel permettant d’offrir un service à d’autres équipements dans un réseau informatique
quelconque.
Pour le cas type de notre travail, nous parlons de serveur SMS, ce qui veut dire un
dispositif permettant de fournir à l’application un système intégré capable d’envoyer et de
recevoir des SMS automatiquement.
Ici, nous parlerons de passerelle SMS,
b. SMS Gateway apk
Dans l’univers androïde les applications en charge des SMS sont légions, mais notre
choix s’est porté sur un d’entre eux, il s’agit de SMS Gateway. SMS Gateway de l’éditeur APK
Soft est notre choix logiciel pour passerelle, elle est, comme son nom l’indique, une passerelle
SMS qui sera entièrement hébergée sur le Smartphone et elle possède deux fonctionnalités
intéressantes pour un développeur.

Figure 26: Logo SMS Gateway


Très simple d’utilisation il suffit de paramétrer SMS Gateway pour qu’elle crée un
serveur HTTP au sein de votre téléphone en lui spécifiant un port (ou laisser celui par défaut).
Votre serveur domotique communiquera avec la passerelle SMS en HTTP via ce serveur web
embarqué. Un mot de passe peut être demandé afin de limiter les accès au serveur web. Ce mot
de passe devra être spécifié dans la requête HTTP.
58

CONCLUSION

Nous voici au terme de notre projet qui avait pour vision l’implémentation d’un
système usant des technologies derniers cris pour pouvoir palier au soucis des recensement
général de la population que connait les pays pauvres comme le nôtre.
En effet, notre motivation portait sur la connaissance du coût pesant que demande une
telle opération sur le budget de la RDC alors que celle-ci s’effectue aisément tous les 4 ans en
Angleterre. L’opération recensement général dans notre pays remonte à 1987, car celui-ci exige
un budget minimum de 500 000 000 U$D.
Ainsi, nous, en futures ingénieurs et cadre de ce pays, avons pensé à élaborer un
modèle permettant de réaliser un recensement général au moyen des appareils bon marché
qu’est le smartphone. D’où un rabais considérable du coût s’est tout de suite fait sentir du fait
de la suppression de transport suite à l’usage des SMS et internet lors des rapports.
Lors de notre étude, nous avons estimé que 52 244 561 U$D ferait affaire pour pouvoir
réaliser un recensement général au niveau national.
Le fruit de notre travail est un assemble de deux technologies dont une tournant du
coté client et l’autre du coté serveur grâce auquel tout individu possédant l’application mobile
sur son appareil pourra voir en temps réel l’évolution du recensement.
Bien que très assidu tout au long de nos recherches et réalisations, nous ne pourrons
pas confirmer que notre système est sans faille, voilà pourquoi nous le léguons à la future
génération des scientifiques pour que sur base de notre dur labeur puissent trouver des idées
novatrices.
59

ANNEXES

Captures d’écrans

 Activité d’accueil Authentification

Figure 27: Page d'accueil Figure 28: Page d'authentification


60

 Page des statistiques

Figure 29: Page des statistiques


61

 Formulaire de recensement

Figure 30: Formulaire de recensement


62

 Configuration de SMS Gateway

Figure 31 : Configuration SMS Gateway


63

Bibliographie

[1] «JeuneAfrique,» [En ligne]. Available: https://www.jeuneafriique.com/RDCet


maintenant, le recensement.. [Accès le 21 Mars 2018].
[2] «Wikipedia.org,» [En ligne]. Available:
https://fr.wikipedia.org/wiki/Conception_de_logiciel. [Accès le Mardi mars 2018].
[3] N. Ferry, Formalisation des modèles de la méthode MACAO et réalisation d'un outil de
génie logiciel pour génération de maquettes, Toulouse, 2008.
[4] L. Audibert, De l'apprentissage à la pratique, Paris: Ellipses, 2009.
[5] J. Gabay et D. Gabay, UML 2 ANALYSE ET CONCEPTION, Paris: Dunod, 2008.
[6] «BfmBusiness,» [En ligne]. Available: http//:bfmbusiness.bfmtv.com/ibm-casse-l.
[Accès le 28 Avril 2018].
[7] http://www.lehtml.com, «xml/html.html,» [En ligne]. Available: http://www.lehtml.com.
[Accès le 6 Mai 2018].
[8] «Structured Query Langange,» [En ligne]. Available:
http://wikipedia/wiki/Structured_Query_Language. [Accès le 5 Mai 2018].
[9] R. Oussanaa et E. Najem Imad , la méthode MACAO.
[10] «CommuneKalamu,» [En ligne]. Available: www.communekalamu.com. [Accès le 15
mars 2018].
[11] «CoursUML,» [En ligne]. Available: http://www-inf.int-
evry.fr/cours/CSC4002/EnLigne/Cours/CoursUML/1.html.. [Accès le mardi mars 2018].
[12] «www.wikipedia.org/wiki/Short_Message_Service,» [En ligne]. Available:
http://www.wikipedia.org/wiki/Short_Message_Service. [Accès le 5 Mai 2018].
[13] [En ligne]. Available: http://wikipedia/wiki/Structured_Query_Language.
[14] P. Roques, les Cahiers du Programmeur UML2, Paris: ÉDITIONS EYROLLES.
[15] P. Roques, UML2 par la pratique, Paris: EDITIONS EYROLLES, 2006.
64

Table des matières


EPIGRAPHE ........................................................................................................... I
DEDICACE ........................................................................................................... II
IN MEMORIAM .................................................................................................. III
REMERCIEMENTS ............................................................................................. IV
LISTE DES ABREVIATIONS ........................................................................... VI
LISTE DES ILLUSTRATIONS .......................................................................VII
LISTE DES TABLEAUX ................................................................................ VIII
INTRODUCTION ................................................................................................. 1
CHAPITRE I. PRESENTATION DES PROBLEMES ET PROPOSITION DES
PISTES DE SOLUTION ....................................................................................... 8
Partie I : Analyse globale et critique de la cible ..................................................................... 8
I.1.1. Analyse globale de la cible ....................................................................................... 8
I.1.2. Critique du système ................................................................................................ 11
Partie II : Concepts sur la réalisation des logiciels et partage des ressources ...................... 12
I.2.1. Introduction ............................................................................................................. 12
I.2.2. Modélisation ............................................................................................................ 12
I.2.3. Démarche ................................................................................................................ 13
I.2.4. Présentation de la conception de logiciels informatiques ....................................... 13
I.2.5. Les approches du génie logiciel .............................................................................. 15
I.2.6. Méthodologie d'analyse et de conception ............................................................... 16
CHAPITRE II. MODELISATION PAR LA DEMARCHE MACAO ET
ETUDE RESEAUX ............................................................................................ 20
II.1. Introduction ................................................................................................................... 20
II.2. Modélisation ................................................................................................................. 20
II.2.1. Généralité sur la notation UML ............................................................................. 20
II.2.2. Diagramme de cas d’utilisation ............................................................................. 21
II.2.3. Diagramme de séquence ........................................................................................ 28
II.2.4. Diagramme d’activité ............................................................................................ 32
II.2.5. Diagramme de classe ............................................................................................. 33
II.2.6. Passage du diagramme de classe vers le MLDR ................................................... 34
II.3. Etude réseaux ................................................................................................................ 36
II.3.1. Introduction ............................................................................................................ 36
II.3.2. Moyen de communication par internet .................................................................. 36
65

II.3.3. Moyen de communication par SMS ...................................................................... 37


II.4. Coût de l’opération ....................................................................................................... 38
CHAPITRE III. REALISATION DES IHM ET SYSTEME DE PARTAGE
DES RESSOURCES ........................................................................................... 42
PARTIE 1. LES INTERFACES HOMME-MACHINE ..................................................... 42
III.1.1. Objectif des Interfaces Homme-Machine ............................................................. 42
III.1.2. Conception des Interfaces Homme-Machine coté serveur ................................... 42
III.1.3. Conception des IHM coté client ........................................................................... 44
PARTIE II. LES DONNEES ................................................................................................ 45
III.2.1. Données coté serveur ............................................................................................ 45
III.2.2. Données coté client............................................................................................... 46
PARTIE III. LIAISON DES IHM AVEC LA BASE DE DONNEES ................................ 47
III.3.1. Généralités sur la connexion à la base .................................................................. 47
III.3.2. Connexion à la base de données MySQL à l’aide de PDO .................................. 47
III.3.3. Connexion à la base de données SQLite .............................................................. 48
III.3.4. La programmation android ................................................................................... 50
PARTIE IV. LE SCHEMA DE NAVIGATION DES IHM (SNI) ...................................... 53
PARTIE V. REALISATION DU SYSTEME DE PARTAGE DES RESSOURCES ......... 56
III.5.1. Généralités sur le partage des ressources ............................................................. 56
III.5.2. Partage des données par SMS............................................................................... 56
III.5.3. Serveurs SMS ....................................................................................................... 57
CONCLUSION ................................................................................................... 58
ANNEXES .......................................................................................................... 59
Captures d’écrans ................................................................................................................. 59
Bibliographie ....................................................................................................... 63

Vous aimerez peut-être aussi