TFC Kaiche2
TFC Kaiche2
TFC Kaiche2
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 »
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
IP : Internet Protocol
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
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
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 ?
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.
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
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.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
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].
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é.
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.
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
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
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
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.
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
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 :
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.
Acteur Population
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
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
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.
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 :
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
<!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>
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
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="Android ActionBar Tab Tutorial and Example" />
</RelativeLayout>
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 ;
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 :
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;
database = dbHelper.getWritableDatabase();
}
Cursor cursor =
database.query(MySQLiteHelper.TABLE_COMMENTS,
allColumns, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
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;
}
}
<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>
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
(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
Voulez-vous supprimer ?
Formulaire
Noms, etc…
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
Formulaire de recensement
Bibliographie