Académique Documents
Professionnel Documents
Culture Documents
RAPPORT DE STAGE
Rédigé par :
MEKONTSO Jules Auffred,
Étudiant en License 2 à l’IAI-Cameroun
Sous la supervision
Académique de : Et Professionnelle de :
Dédicace
TOUTE LA FAMILLE
MEKONTSO
Remerciements
✓ Monsieur TCHOFFO Jean Jaurès Développeur chez Cloud Of Engineers For Social
Développent S.A. (CESD SA) pour le temps qu’il nous a consacré tout au long de
l’expérience enrichissante qui a été le nôtre en sachant répondre à nos questions ;
Sommaire
REMERCIEMENTS .................................................................................................... IV
SOMMAIRE.................................................................................................................. V
ABSTRACT ................................................................................................................XV
INTRODUCTION .......................................................................................................... 4
CONCLUSION ............................................................................................................ 15
V. INTERVENANTS .................................................................................... 22
CONCLUSION ............................................................................................................ 28
INTRODUCTION ........................................................................................................ 30
CONCLUSION ............................................................................................................ 57
INTRODUCTION ........................................................................................................ 59
CONCLUSION ............................................................................................................ 71
INTRODUCTION ........................................................................................................ 73
I. CONCEPTION PRELIMINAIRE.............................................................. 74
CONCLUSION ............................................................................................................ 90
INTRODUCTION ........................................................................................................ 92
BIBLIOGRAPHIE ......................................................................................................... ii
ANNEXES .................................................................................................................... xi
Figure 17-diagramme de séquence ces d'utilisation naviguer vers une adresse ........... 53
Résumé
De nos jours, toutes les villes subissent une croissance exponentielle, le nombre
d’habitant et d’habitation ne cesse d’augmenter. Cette urbanisation rapide et mal contrôlée
aggrave les difficultés d’orientation et de localisation. Les populations recourent à des noms
usuels de lieux même là où les rues sont dénommées. Avec l’avènement de la COVID-19 qui
impose les mesures de distanciation, les entreprises ont recourt au télétravaille et les citoyens
sont tenu de limiter leurs déplacements. C’est ainsi que les domaines comme le e-commerce
avec la livraison à domiciles et d’autre domaine se sont considérablement développés. C’est
pourquoi il nous a été confié la mission de mettre sur pied d’un système d’adressage
numérique avec une application mobile à l’appui.
L’objectif du travail qui nous a été assigné est de donner la possibilité à n’importe quel
Camerounais de demander une adresse autogénérée avec son téléphone portable tout en
respectant la loi sur l’adressage au Cameroun. Notre système sera capable de transformer des
coordonnées géographiques en une adresse compréhensive. Il sera question pour nous
d’orienter nos recherches sous le thème : mise sur pied d’un système d’adressage
numérique.
Il a donc été question pour nous de mettre sur pied une application mobile cross
plateforme nommée « MyAddress » qui permet aux utilisateurs de demander et de gérer une
adresse pour leur domicile ou leur bureau en nous servant des outils tels que le langage UML
joint au processus 2TUP, l’architecture micro-service et d’autres langages telle que : le C#, le
XAML et le LINQ to SQL. Tout ceci nous a permis de mettre sur pied un système efficace et
sécurisé.
A partir des résultats obtenus, qui sont ceux de permettre aux différents utilisateurs du
système d’obtenir une adresse juste en faisant un clic, nous pouvons noter que, notre application
permettra donc une meilleure orientation des populations, une meilleure gestion urbaine, les
livraisons à domicile optimisées, les interventions plus rapides des pompiers et ambulances.
Abstract
Nowadays, all cities are growing exponentially, the number of inhabitants and dwellings
is constantly increasing. This rapid and uncontrolled urbanisation aggravates the difficulties of
orientation and location. People resort to common place names even where streets are named.
With the advent of COVID 19, which imposes distance measures, companies have resorted to
teleworking and citizens are required to limit their outings. As a result, areas such as e-
commerce with home delivery and other areas have developed considerably. This is why we
were given the task of setting up a digital addressing system with a mobile application to support
it.
The objective of the work we have been assigned is to give the possibility to any
Cameroonian to request an autogenerated address with his mobile phone while respecting the
law on addressing in Cameroon. Our system will be able to transform geographical coordinates
into a comprehensive address. We will focus our research on the theme of setting up a digital
addressing system.
We will build a cross-platform mobile application that allows users to request and
manage a home or office address using tools such as UML in conjunction with the 2TUP
process, micro-services architecture and other languages such as C#, XAML and LINQ to SQL.
All this allowed us to build an efficient and secure system.
From the results obtained, which are those of allowing the various users of the system
to obtain an address just by making a click, we can note that, our application will thus allow a
better orientation of the populations, a better urban management, optimized home deliveries,
faster interventions of the firemen and ambulances.
INTRODUCTION GÉNÉRALE
Résumé
Cette première partie vise à établir un compte rendu à la structure académique de notre
première prise de contact avec l’entreprise ainsi que de notre insertion au sein de cette dernière.
Nous y présenterons l’accueil qui nous a été réservé ainsi que la structure qui nous a ouvert ses
portes.
Aperçu :
Introduction
I. Accueil et insertion dans l’entreprise
1. Accueil dans l’entreprise
2. Intégration dans l’entreprise
II. Présentation de la structure
1. Historique
2. Identification
3. Mission
4. Plan de localisation
5. Organigramme
Conclusion
Introduction
Le terme formation professionnelle regorge deux (02) aspects distincts : Un aspect
théorique qui est purement académique et un aspect pratique qui vise une prise de contact avec
le monde professionnel. Ainsi, un étudiant ayant suivi une formation académique se doit
d’effectuer un stage académique dans une entreprise qui satisfait les critères de sérénité et
d’objectivité afin que son insertion professionnelle soit un succès. Ainsi dit, l’entreprise qui
nous a ouvert ses portes se nomme Cloud of Engineers for Social Development S.A. (CESD
SA). La suite de cette section consistera donc à faire une présentation de cette dernière en
mettant un accent sur son historique, sa situation géographique, sa structure organisationnelle,
ses activités ainsi que ses produits et services. Nous présenterons également les ressources
matérielles dont elle dispose, la problématique qu’elle rencontre et que nous traiterons dans
notre sujet de stage.
Accueil
Le Mercredi 02 Juin 2021 a marqué la date de début de notre stage académique. Dès
07h30 nous nous sommes présentés dans les locaux de l’entreprise où nous avons été reçus par
Monsieur Jean Jaurès TCHOFFO et Monsieur Arnaud MOMO le Président Directeur
Général (PDG) de Cloud of Engineers for Social Development S.A. qui se sont chargés de nous
présenter chaque service de l’entreprise et leurs responsables. Nous avons également bénéficié
d’une séance de briefing sur le règlement intérieur de la structure (horaire de début et de fin,
code vestimentaire, etc.), sur les différentes attitudes à cultiver ainsi que sur les rôles de chaque
responsable dans la hiérarchie de l’entreprise.
Tout au long de notre phase d’insertion dont la durée a été de deux semaines, il était
question pour nous de nous familiariser avec la structure d’accueil tout en nous rapprochant de
la haute hiérarchie ainsi que toute autre personne s’y trouvant et qui de manière directe ou
indirecte pourrait intervenir dans la réalisation de notre projet. Cela a été un moment de joie,
de bonheur mais plus d’apprentissage pour nous. Nous tenons à préciser que si cette phase a
pleinement réussi, c’est grâce au personnel de CESD SA qui se sont montrés très ouvert à nous
afin de répondre efficacement à nos préoccupations. Au sorti de cette phase d’intégration, un
thème nous a été attribué : Il s’agit de la Mise sur pied d’une application d’adressage des
domiciles des villes du Cameroun.
Historique
Cloud of Engineers for Social Development (CESD S.A.) est une société anonyme au
capital social de 10 000 000 de Francs et disposant d’un conseil d'administration comptant de
nos jours 03 actionnaires. Elle voit le jour en Janvier 2016 sous le nom de Cloud Informations
System avec pour statut juridique « ETS ». En 2018, elle subit une transformation à travers
CESD S.A. est une société de services informatiques et géomatiques qui a pour mission
de résoudre au quotidien les problèmes que rencontres les différentes entreprises liées à
l'informatique et à la géomatique quel que soit le domaine d'activité.
• Gestion de projets et
Accompagnement.
• Evaluation du niveau de
sécurité
• Conception et développement
des applications Web
Responsives ;
• Web designer
• Conception et développement
des applications Web
Responsives.
• Formation en développement
web ;
• Formation en Administration
de Bases de données.
Consommateur
Nom du produit (utilisateur Description
cible)
WANTA SMS
Situation géographique
Ressources matérielles
Ressources logicielles
Tableau 4-ressources logicielles
Le thème proposé par notre encadrant professionnel est « mise sur pied d’un système
d’adressage numérique ». Nous devrions donc développer une application mobile cross-
plateforme qui sera capable de donner une adresse à un domicile en en transformant des
coordonnées géographiques en une adresse compréhensive en fonction de la commune, du
département dans lequel il se trouve. L’objectif principal étant de permettre aux utilisateurs de
pouvoir obtenir une adresse pour leur domicile ou leur bureau facilement ce qui permettra
d’améliorer le repérage et l’orientation, de faciliter les interventions d’urgence : ambulances,
pompier, police, de faciliter les services urbains, des domaines tel que le e-commerce (livraison
à domicile) et bien d’autres.
Conclusion
Parvenue au terme de cette première partie de notre rapport de stage où il a été question
de faire un compte rendu à l’instance académique de notre insertion en entreprise et faire une
présentation de cette dernière, nous pouvons dire que nous avons été satisfaits par l’accueil
enthousiaste qui nous a été offerte et par la large disponibilité de tout le personnel face à nos
questions ; nous pouvons affirmer sans aucun doute que notre adaptation aux conditions de
travail n’a pas été difficile. Nous comptons ainsi mener à bien l’étude de notre projet qui
consiste en la : Mise Sur Pied d’une application d’adressage des domiciles des villes du
Cameroun ce thème a pour but de résoudre la problématique qui est : comment se retrouver
dans une ville toujours grandissante ? Ceci nous conduit à la prochaine étape de notre rapport
de stage qui sera ainsi consacrée à l’élaboration du cahier des charges conformément aux
exigences académiques et professionnelles
PLAN
DOSSIER 2: D'ANALYSE
DOSSIER 3: CONCEPTION
DOSSIER 4: REALISATION
Résumé
Le cahier des charges est un document contractuel établit entre le maître d’œuvre et le
maître d’ouvrage qui étale les besoins du client. Il joue le rôle d’étude et de présentation avec
exactitude des exigences formulées par les utilisateurs en ce qui concerne le projet, son
déroulement et les résultats attendus.
Aperçu :
INTRODUCTION
I. Contexte et Justification du projet
II. Objectifs du projet
III. Expression des besoins
IV. Étude financière du projet
V. Planification du projet
VI. Contraintes du projet
VII. Les Livrables
CONCLUSION
Introduction
Le cahier des charges est un document qui sert de contrat entre le maître d’œuvre et le
maitre d’ouvrage. C’est un document contenant des spécifications sur ce que le futur système
doit faire dans son environnement (ses buts), les principaux services qu’il doit rendre (besoins
fonctionnels), les exigences qualitatives souhaitées ainsi que les contraintes sous lesquelles il
doit être développé. Le développement d’une application d’adressage est un projet qui a pour
principal objectif l’amélioration du repérage et de l’orientation, Faciliter les interventions
d’urgence : ambulances, pompier, police et de localiser les services urbains. Le présent
chapitre décrit le contexte, les besoins fonctionnels, les besoins non fonctionnels et les objectifs
de notre projet, il a ainsi pour finalités de définir le projet de manière simple et détaillé.
Les usagers des villes ayant connu et/ou connaissant une croissance urbaine forte et
rapide se retrouvent souvent confrontés à des difficultés de repérage et d’orientation. Une
absence d’adresse entraîne un lot de conséquences plus ou moins fâcheux, comme la difficulté,
voire l’impossibilité de recevoir du courrier à domicile, de recevoir des visiteurs, de se rendre
en taxi à une adresse précise, de recevoir des secours rapidement, … Les difficultés se situent
également au niveau des autorités locales qui se trouvent souvent dans l’incapacité de repérer
géographiquement une adresse. Les clients de CESD SA étant principalement du domaine du
e-commerce et de la finance, il est important pour une société de e-commerce par exemple de
connaitre l’adresse de ses clients afin de pouvoir mettre sur pied des services tel que la livraison
à domicile. Au Cameroun, l’adressage est communal, c’est-à-dire que l’adresse d’une
habitation dépend de la commune dans laquelle elle se trouve. Aujourd’hui dû à la complexité
et la lenteur du processus, nous avons quelques habitants de certains quartiers qui possède des
adresses aujourd’hui mais cela n’est pas vulgarisé.
C’est à l‘égard de tout cela que nous nous sommes proposés de moderniser et
d’automatiser le processus d’adressage afin de permettre à tout le monde de pouvoir demander
une adresse à partie un simple téléphone portable, outil que possède la plupart des camerounais
aujourd’hui. C’est dans cette ordre d’idée que nous avons pensée à Mettre Sur Pied Un
Système D’Adressage Numérique.
Il s’agit pour nous de permettre aux habitants de pouvoir obtenir une adresse pour leur
domicile ou leur bureau facilement.
Objectif spécifique
Pour les autorités municipales, les administrations et les concessionnaires des réseaux,
l’adressage permettra :
III. CIBLES
L’expression des besoins est une étape dans un projet permettant de définir tout ce que
l’on souhaite en ressortant tout ce qui est obligatoire, fonctionnel et non fonctionnel. En outre,
dans cette partie, nous définirons précisément quelles sont les fonctions à remplir par notre
système ; qu’est-ce que notre système fera d’un point de vue fonctionnel et non fonctionnel.
Besoins fonctionnels
Il s’agit ici de capturer les actions qui devront être réalisées par le système en termes de
fonctionnalités capitale pour ce dernier.
➢ Exigences de qualité
✓ Ergonomie, efficacité, robustesse : la manipulation de l’application ne
devrait causer aucun problème à l’utilisateur et nous devons avoir de
belles interfaces ;
✓ Guide d’utilisateur : tout utilisateur de l’application doit pouvoir trouver
de l’aide s’il rencontre un problème ;
✓ Temps de latence : La génération d’adresse ne devra pas durer plus de 5
minutes
➢ Exigences de sécurité
✓ L’accès aux interfaces clés ne doit se faire qu’après authentification
✓ Tous les terminaux (mobiles) pour se connecter à l’application,
doivent être autorisées (préalablement enregistrées dans le système)
V. INTERVENANTS
Ressources humaines
Ressources matérielles
Ressources logicielles
❖ Matériels informatiques
❖ Logiciels
Visual Studio 2013 1 Gratuit Gratuit
Community édition
❖ Rémunérations
Chef de projet 1 100 000/jour (Sur 120 jours) 12 000 000
❖ Divers
Format, règles, stylo / / 15 000
Total 55 000
❖ Risques du projet
Forfait (20% du coût Coût total du projet sans risque : Total Forfait :
total)
35 263 924Fcfa 7 052 784Fcfa
Déroulement
Le diagramme de Gantt est un outil qui permet sur un même plan de faire apparaître les
tâches d’un projet leur ordonnancement et dépendance ainsi que le suivi de l’avancement et les
ressources affectées.
Insertion 14
Analyse 25
Conception 16
Réalisation 26
Déploiement 1
Guide d’utilisation 1
Exploitation Indéterminée
Maintenance Indéterminée
Diagramme de Gantt
VIII. CONTRAINTES
➢ Les contraintes sur coût : Le budget fixé pour la réalisation de l’application devra
être respecté conformément aux prévisions c’est-à-dire sans surenchère ou sous-
enchère ;
➢ Les contraintes sur le délai : La réalisation de ce système devra respecter les
contraintes de temps fixés et donc être faite sur une durée de deux (02) mois et
devra respecter les objectifs fixés ;
➢ Les contraintes de qualités : Après le prix et un délai fixer, nous devons produire
une application flexible et réutilisable et surtout évolutive.
IX. LIVRABLES
➢ Le rapport complet
✓ Phase d’insertion scindée en 3 parties : la première partie qui renseigne
sur l’accueil et l’intégration dans l’établissement, la deuxième partie sur
la présentation de l’établissement et enfin la troisième partie sur la
présentation du thème.
✓ Phase technique comprenant 5 dossiers à savoir : le cahier des charges,
le dossier d’analyse, le dossier de conception, le dossier de réalisation,
le dossier du guide d’utilisateur et guide d’utilisation ;
➢ Un CD-ROM comprenant
✓ Le code source ;
✓ Le manuel d’utilisation.
➢ Une application mobile iOS/Android opérationnelle en ligne.
Conclusion
Parvenue au terme de cette partie où il a été question pour nous de fixer les bases de la
relation contractuelle entre le maître d’ouvrage et la maîtrise d‘œuvre. Nous avons ainsi fixé
les objectifs visés par la conception de ce système et dressé une liste des besoins fonctionnels
et non fonctionnels de ce dernier. Nous y avons également établi une étude financière du projet
qui fait appel à la présentation des ressources humaines, matériels et logiciels nécessaires, ainsi
qu’à une planification du projet sur une durée de quatre (04) mois dans le respect des contraintes
de coût et de qualités du logiciel. Ce document fera pour nous office de cahier de charge et nous
permettra de passer à la prochaine étape de réalisation de notre application qu’ai la phase
d’Analyse.
RÉSUMÉ
La phase d’analyse est une étape primordiale dans la bonne marche d’un projet. Elle
présente de façon claire l’étude de l’existant, ses limites, les solutions proposées, le choix de la
méthode d’analyse et enfin la modélisation de la solution future.
Aperçu
I. Description de l’existant
III. Problématique
Introduction
L’analyse est la décomposition d’un problème en ses différents éléments en vue d’un
traitement informatique. De ce fait pour la bonne réalisation d’un projet, il est très important
d’effectuer une bonne analyse afin d’atteindre les objectifs spécifiés dans le cahier des charges.
La réalisation d’un bon projet repose principalement sur son analyse. Ainsi, un projet mal
analysé ne saurait donner de bons résultats. Cette partie sera essentiellement consacrée à
l’analyse minutieuse des problèmes rencontrés avec l’utilisation des logiciels de gestion
commerciale exotique
I. DESCRIPTION DE L’EXISTANT
L’adressage au Cameroun
L’adressage des villes du Cameroun se fait en plusieurs étape, tout d’abord on identifie
les voies (rues, avenu, routes etc…), puis on numérote en fonction du système de numérotation
choisi. Le système de numérotation adopté par les villes du Cameroun consacre les nombres
pairs à droite et impairs à gauche, correspondant à la distance séparant l’entrée de la
construction au début de la rue. Nous avons donc un numéro représentant la distance en mètre
qui sépare l’habitation de l’entrée de la rue, un nom de rue un nom de quartier et le nom de la
commune ; c’est ainsi que nous avons une adresse avec suffisamment d’information pour
localiser de manière exacte l’emplacement. Au-delà d’être une opération qui vise à faciliter le
repérage, l’adressage constitue une initiative qui entend améliorer la gestion urbaine.
a. Le Système continu
Les immeubles sont numérotés avec des numéros croissants depuis le début de la voie.
Le long de cette voie, les numéros pairs sont à droite (2, 4, 6, etc), les numéros impairs sont à
gauche. Cette numérotation convient aux zones urbanisées dense (centre-ville).
b. Le système métrique
Les numéros attribués aux propriétés représentent la distance en mètres séparant le début
de la voie et l'entrée de l'habitation. Cette numérotation permet d'intercaler de nouveaux
numéros sans modifier la numérotation existante et sans risque de créer des numéros bis ou ter.
Le long de la voie, les numéros pairs sont à droite (2, 4, 6, etc.), les numéros impairs sont à
gauche. La numérotation métrique est particulièrement efficace pour les organismes de secours
puisque le numéro comporte la distance à parcourir depuis le début de la voie.
Après une étude minutieuse menée sur le système d’adressage des villes du Cameroun
dans la partie précédente, nous aborderons à présent les insuffisances de ce dernier ainsi que
pour les systèmes de numérotation déjà existants tout en ressortant les impacts négatifs sur
l’attribution des adresses aux domiciles. Le tableau suivant illustre la critique de l’existant.
III. PROBLEMATIQUE
L’étude de l’existant est l’une des étapes indispensables à la mise en place d’une solution
répondant de manière efficiente aux exigences de l’entreprise et adaptée à l’ère technologique
courante. Jusqu’ici, L’étude du système de numérotation des villes du Cameroun ainsi que des
autres systèmes existants nous a permis non seulement de mieux cerner le problème qu’est
l’adressage au Cameroun en définissant les objectifs à atteindre en termes de d’efficacité, de
fiabilité, et de fonctionnement mais aussi de prendre connaissance des systèmes actuels en
dégagent leurs limites. Par suite de cette analyse, nous constatons que seul le système de
numérotation métrique peut répondre efficacement au besoin d’adressage des villes du
Cameroun. C’est pourquoi nous couplerons donc à ce type de numérotation un programme
informatique permettant de générer de manière automatique les adresses afin de permettre à
n’importe quel camerounais de pouvoir demander une adresse et de favoriser le repérage autant
pour les habitants que pour les visiteurs car le code de l’adresse indique immédiatement dans
quelle zone se trouve la rue, la construction. Au-delà d’être une opération qui vise à faciliter le
repérage, ce système d’adressage constitue une initiative qui entend améliorer la gestion
urbaine.
L’analyse est une étape fondamentale dans la conception d’un logiciel. C’est la base de
tous travaux de réalisation de systèmes d’information. Un système d’information est un
ensemble de ressources matérielles ou immatérielles ayant pour but de générer les données,
collecter, stocker, traiter et diffuser les informations parfois grâce aux TIC. Plusieurs méthodes
et langages ont étés développés pour faciliter et normaliser l’analyse et la conception des
systèmes d’information parmi lesquels nous avons principalement UML et MERISE.
UML quant à lui, est un langage de modélisation des systèmes standard, qui utilise des
diagrammes pour présenter chaque aspect d’un système en s’appuyant sur la notion d’orientée
objet qui est un véritable atout pour ce langage. UML propose donc une approche différente de
celle de MERISE en ce sens qu’il associe les données aux traitements. En effet, avec UML
centraliser les données d’un type et les traitements associés permet de limiter les points de
maintenance dans le code et faciliter l’accès à l’information en cas d’évolution du logiciel. De
plus, UML décrit la dynamique du système d’information comme un ensemble d’opérations
attachées aux objets du système.
MERISE UML
MERISE est une méthode systémique UML est un langage de modélisation objet à qui
d’analyse et de conception de systèmes il faut associer un processus (2TUP, RUP, XUP) pour
d’information. C'est-à-dire qu’elle utilise une en faire une méthode
approche systémique.
• Une vue statique (données) Avec UML, centraliser les données d’un type et
les traitements associés permet de limiter les points de
• Une vue dynamique (traitements) maintenance dans le code et facilite l’accès à
l’information en cas d’évolution
Avec la méthode MERISE, nous avons
une étude séparée des données et des
traitements
a. Historique
b. Description
La conception d’un système d’information passe par une séquence d’étapes ordonnées
dont l’objectif est de produire un logiciel répondant aux besoins des utilisateurs dans le temps
et des coûts prévisibles. Or UML est un langage qui ne propose que des diagrammes. Pour
concevoir un SI avec lui, il est impératif de lui associer un processus. Dans le tableau qui suit
nous avons répertorier les processus existants :
Processus Description
2TUP 2TUP est un processus unifié qui a pour but d’apporter une
réponse aux contraintes de changement fonctionnelles et technique qui
s’imposent aux systèmes d’information, il propose un cycle de
développement qui dissocie les aspects techniques des aspects
fonctionnels
RUP Dérivé d’UP et commercialisé par IBM en 1998, RUP est l’une
des plus célèbres implémentations de la méthode UP permettant de
donner un cadre au développement logiciel. RUP est un exemple de
formalisation d’un processus fondé sur le cycle de vie en spirale
➢ Piloté par les risques : il est identifié et écarté au plut tôt tout risque
pouvant conduire à un échec du projet.
➢ Conduit par les cas d'utilisation : le processus met en avant les besoins et
exigences des futurs utilisateurs du système.
2TUP est un processus unifié qui a pour but d'apporter une réponse aux contraintes de
changement fonctionnelles et techniques qui s'imposent aux systèmes d'information. 2TUP
propose un cycle de développement qui dissocie les aspects techniques des aspects fonctionnels.
Il part du constat que toute évolution imposée au système d'information peut se décomposer et
se traiter parallèlement, suivant un axe fonctionnel et un axe technique. Il distingue ainsi deux
Un diagramme de cas d’utilisation est un diagramme UML qui présente les acteurs, les
fonctionnalités du futur système à développer et les différentes relations entre ces derniers. Bien
souvent, la maitrise d’ouvrage et les utilisateurs ne sont pas les informaticiens ; il leur faut donc
un moyen simple d’exprimer leurs besoins. C’est précisément le rôle du diagramme de cas
d’utilisation qui permet de recueillir, d’analyser et d’organiser les besoins afin de pouvoir
recenser les différents modules du système.
Les éléments qui interviennent dans un diagramme de cas d’utilisation sont les suivant :
Plusieurs acteurs entrent en jeu dans notre système, ils sont répertoriés dans le tableau
suivant :
<<extend>>
s'inscrire
<<include>>
demander une adresse
modifier supprimer
s'authentifier
<<include>>
<<include>>
enregistrer un terrain
Utilisateur
verifier un terrain
<<include>>
transférer son adresse
<<include>>
<<include>>
<< include >>
résoudre une adresse
Utilisateur
<<include>>
enregistrer un terrain
Chaque cas d'utilisation, est associé à une série d'actions représentant la fonctionnalité
voulue, ainsi que les stratégies à utiliser dans l'alternative où la validation échoue, ou des erreurs
se produisent.
Un cas d’utilisation est donc une abstraction de plusieurs chemins d’exécution. Une
instance de cas d’utilisation est appelée : « scénario ». C’est un chemin particulier pris lors de
l’exécution d’un cas d’utilisation. Le nombre d’instances pour un cas d’utilisation peut être très
important, voire infini. La description d’un cas d’utilisation se fait par des scenarii qui
définissent la suite logique des interactions qui constitue ce cas. Cette description se fait de
manière simple, par un texte compréhensible par les personnes du domaine de l’application.
Elle précise également ce que fait l’acteur et ce que fait le système.
➢ Le présupposé : Ce sont les actions qui doivent être remplies avant le lancement
du cas d’utilisation ;
➢ La précondition : C’est l’ensemble des conditions qui doivent être remplies
avant le lancement du cas d’utilisation ;
➢ Le déclencheur : C’est l’élément qui déclenche le cas d’utilisation ;
➢ Le dialogue : C’est le scénario principal et le Scénario secondaire ;
➢ La post condition : Ce sont les différents mécanismes pouvant conduire à la fin
de l’exécution du cas d’utilisation ;
➢ L’arrêt : C’est l’état du système à l’arrêt du cas d’utilisation.
➢ S’authentifier
Sommaire d’identification
Titre : Authentification
But : avoir accès aux fonctionnalités du système
Résumé : permettre à l’utilisateur de l’application de s’authentifier avec ses
identifiants (numéro de téléphone et mot de passe)
Acteur(s) concerné(s) : utilisateur
Description des enchaînements
Présupposé : Le système est déployé et fonctionnel
Précondition : l’utilisateur doit être inscrit
Déclencheur : lancer l’application
Dialogue :
• Scénario principal :
1) L’interface de connexion s’affiche ;
2) L’utilisateur renseigne son numéro et son mot de passe et lance la connexion ;
3) Le système vérifie ses informations et lance la page d’accueil si l’utilisateur
existe ;
• Scénario alternatif :
- A5) les informations ne sont pas correctes, on retourne à 2) ;
Demande d’adresse
Titre : demander une adresse
But : obtenir une adresse pour sa position
Résumé : permettre à l’utilisateur d’avoir une adresse pour son domicile, son bureau
ou son entreprise
Acteur(s) concerné(s) : utilisateur
Description des enchaînements
Présupposé : Le système est déployé et fonctionnel
Précondition : l’utilisateur doit être connecté
Déclencheur : appuyer sur demander une adresse
Dialogue :
• Scénario principal :
4) Un pop-up s’affiche ;
5) L’utilisateur renseigne les informations demandées ;
6) Le système localise l’utilisateur ;
7) Le système utilise l’algorithme et génère une adresse en fonction des
coordonnées GPS récupérée
• Scénario alternatif :
- A1) le système ne réussit pas à localiser l’utilisateur, l’opération est annulée et on
retourne à l’accueil ;
- A2) l’adresse généré existe déjà pour l’utilisateur, l’opération est annulée
• Postcondition succès : Le système affiche une nouvelle adresse générée ;
• Postcondition échec : l’opération n’aboutit pas, l’utilisateur est renvoyé à l’accueil
avec un message d’erreur
• Arrêt : affiche accueil de l’application avec nouvelle adresse
➢ Recherche d’adresse
Recherche d’adresse
Titre : recherche d’adresse
But : connaitre une adresse à partir d’un numéro de téléphone
Résumé : permettre à l’utilisateur de pouvoir saisir un contact ou choisir parmi ses
contacts et obtenir son adresse
Acteur(s) concerné(s) : utilisateur
Description des enchaînements
Diagramme de séquence
Les diagrammes des séquences documentent les interactions à mettre en œuvre entre les
classes pour réaliser un résultat, tel qu’un cas d’utilisation. UML étant conçu pour la
programmation orientée objet, ces communications entre les classes sont reconnues comme des
messages. Le diagramme des séquences énumère des objets horizontalement, et le temps
verticalement. Il modélise l’exécution des différents messages en fonction du temps
SYMBOLE SIGNIFICATION
OBJET
ACTEUR
LIGNE DE VIE
ACTIVATEUR
MESSAGE
Dans le diagramme de séquence on retrouve aussi des blocs les principaux sont :
✓ Le bloc Loop : qui permet de matérialiser une boucle ; Il est représenté comme suit :
✓ le bloc Option : qui permet de matérialiser les cas d’utilisation optionnels (c’est une
extension) ; Il est représenté comme suit :
Figure 12-formalise
11-formalismedudiagramme
diagrammededesequence
sequence
:systeme :sgbd
uti l i sateur
demarre l 'appl i cati on()
al t champs vi de
champs non vi de
envoi requete()
reponse requete()
demandeAdresse
:systeme :sgbd
utilisateur
ref
authentification()
generation d'adresse()
echec de generation
affiche erreur
dns
:systeme :sgbd
uti l i sateur
ref
authenti fi cati on()
recherche correspondance()
envoi repnse()
adresse trouve
cl i c sur partager
pop up de partage()
inscription
:systeme :sgbd
utilisateur
demarre l'application()
s'inscrire()
saisi information()
reponse()
notification succes()
valide notification()
valide notification
renvoie formulaire d'inscription
navi gati on
:systeme :sgbd
uti l i sateur
ref
sai si adresse()
al t champ non vi de
veri fi e si adresse axi ste()
reponse()
al t adresse trouve()
pas de correspondance()
champ vi de
Diagramme d’activité
Les diagrammes d’activités sont les diagrammes UML utilisés pour documenter le
déroulement des opérations dans un système. L’usage général des diagrammes d’activités
permet de faire apparaitre des flots de traitement induits par des processus internes par rapport
aux évènements externes.
Les éléments intervenant dans la représentation d’un diagramme d’activité sont recensés
dans le tableau suivant :
Éléments Description
Activite_1
Activite_2 Activite_3
Decision_1
demande de connection
affiche formulaire de login
saisi information
verification
[si oui]
[sinon] recherche profile
champs vide
[si non]
profil existant
[si oui]
affiche accueil
[si non]
verificati
on
saisi information
[si non]
profil existant
[si oui]
affiche accueil
generer adresse
[si non]
[si oui]
affiche reussit affiche erreur
adresse
envoi a la bd
enregistre adresse
afficher adrese
Conclusion
L’analyse de l’automatisation du système d’adressage nous a permis de parcourir
plusieurs notions afin de produire une analyse qui répond aux exigences prérequis. Ainsi nous
avons de prime-abord d’écrire l’existant, donner les limites de cet existant pour ensuite proposer
une solution ; ensuite parler de la méthodologie à utiliser , enfin étudier avec détail la solution
proposée en modélisant nos différents diagrammes grâce au logiciel Power AMC 15.1 ;il en
ressort que dans ce dossier les éléments pris en compte nous ont permis de matérialiser les
besoins fonctionnels ; ces derniers nous seront d’une importance capitale dans l’expression des
besoins techniques. Le dossier d’analyse à travers les différentes activités réalisées, nous a
offert des outils qui nous permettront d’amorcer de façon plus aisée le dossier de conception.
RÉSUMÉ
Aperçu
Introduction
Conclusion
Introduction
La réalisation d’un dossier d’analyse est très importante pour l’avancement de
l’application, elle garantit la fiabilité de maintenance et d’utilisation d’un logiciel. Cela dit,
après avoir analysé notre système, nous allons passer à la conception de notre futur système.
Pour le faire nous suivrons les étapes de la branche de réalisation de la méthode 2TUP, en
réalisant les diagrammes associés à ces étapes à savoir le diagramme de classe et le diagramme
d’état transition.
L’architecture d’un logiciel est la fondation d’un système. Car une bonne
architecture dépend entièrement du fait qu’un système soit évolutif, extensible et
maintenable.
Il est question pour nous ici de présenter à travers un tableau une comparaison des
architectures ce qui nous permettras de mieux orienter notre choix
D’après le tableau ci-dessous il est indéniable que l’architecture Micro service est
la mieux adaptée pour notre système au vu de ses nombreux avantages. Le micro service
est une méthode de développement d’applications logicielles en tant que suite de services
modulables et indépendamment, dans lesquels chaque service exécute un processus qu’il
communique à travers un mécanisme défini au préalable. L'architecture Micro service, est
une architecture client-serveur dans laquelle coexistent et sont maintenus des modules
indépendants permettant le rendu d'une interface utilisateur (GUI), les process logiques,
fonctionnels et métiers ainsi que l'accès aux données. On parle donc ici d'une infrastructure
physique qui va servir de support à une infrastructure logicielle. En effet, n'importe quelle
application peut être découpée en micro services.
Serveur
Web &&
Serveur
d applicatio
n
Administrateur
VIP
Reverse Proxy
Diagramme de classe
c. Formalisme
d. Règles de gestion
Pour construire notre diagramme de classe, nous allons tout d’abord répertorier dans un
tableau les classes ainsi que les attributs dont nous aurons besoin.
Les diagrammes d’état sont utilisés pour documenter les diverses mode (état) qu’une
classe peut prendre, et les évènements qui causent une transition d’état. Ils ont pour rôle de
présenter les traitements (opérations) qui vont gérer le domaine étudié. Ils définissent
l’enchainement des états de classe et font donc apparaitre l’ordonnancement des travaux.
Éléments Descriptions
c. Formalisme
<<complétion des
information>>
En cours en attente
<<valider>>
Enregistrer
Valider
<<enregistrer>>
<<lancer>>
en cour
<<annuler>>
echec
<<pas de correspondance>>
Prototypage de l’application
Conclusion
Dans ce dossier de conception, nous avons mené une analyse en ressortant les données
validées et les traitements à automatiser. Cette validation nous permet d’avoir une vision sur le
logiciel à mettre sur pied. En d’autres termes, les traitements validés vont constituer les
différents modules de l’application. Les données quant à elles vont servir pour la création de la
base de données. Des lors, l’étape suivante de notre projet sera la réalisation de la solution
proprement dite en tenant compte de tous les paramètres analyses et de conception ci-dessus.
RÉSUMÉ
Aperçu
Introduction
I. Conception Préliminaire
II. Conception Détaillée
III. Choix des Technologies
IV. Codage et Test
Conclusion
Introduction
La conception et la modélisation étant des maillons importants dans le processus de
développement d’une application car elles permettent de définir et spécifier les différents
éléments constituant l’application ou le système étudiés, mais la réalisation est l’étape qui
permet de reproduire concrètement les différents objets issus de la conception et de donner vie
au système informatique. Il sera question pour nous tout au long de ce dossier de présenter
l’architecture logicielle, physique et matérielle de notre système, à travers les diagrammes tels
que le diagramme de composant, de déploiement, le modèle physique et l’architecture du code.
I. CONCEPTION PRELIMINAIRE
Un diagramme des composants est un diagramme UML qui fournit une représentation
graphique des dépendances et des généralisations entre composants logiciels, en incluant les
composants de code source, les composants de code binaire et les composants exécutables.
Élément Description
fichier jpg
fichier.json
fichier png
fichier .xaml
fichier.xaml.cs
fichier.cs
Diagramme de déploiement
Eléments Description
Micro service
Utilisateurs
Serveur web
<<call>>
Adresse
<Utiliser>
Android
ios
BD Géographique
BD Adresse
avoir
Abandons
IdAbandons integer <pk> TypeAdresse
Motif varchar(254) Adresse IdAdresse integer <fk>
DateAbandons timestamp IdType integer <pk>
IdUtilisateur integer <fk1>
CreateAt timestamp Libelle varchar(254)
IdAdresse integer <pk> etre
IsExist smallint Description varchar(254)
... IdAbandons integer <fk2>
CreateAt timestamp
NumeroRue integer
IsExist smallint
NomRue varchar(254) ...
NumeroDepartement integer
NomCommune varchar(254)
concerner Logitude integer
Latitude integer
Altitude integer
IsCertifier smallint
Accesibilite varchar(254)
DAteDemande timestamp
DateAttribution timestamp
DateCertification timestamp
CreateAt timestamp
UpdateAt timestamp
IsExist smallint
Libelle varchar(254)
Description varchar(254)
...
Dans le cadre de notre projet, nous devons développer un système permettant d'atteindre
les objectifs que nous nous sommes fixés. Pour cela, nous avons opté pour une programmation
orientée objet basée sur les nouvelles technologies de MICROSOFT afin de pouvoir
implémenter certains concepts tel que l'héritage et la réutilisation. Dans ce paragraphe, nous
ferons une présentation des outils et langage de programmation utilisés lors de cette phase.
Xamarin offre la possibilité d’exploiter à 100% les plateformes mobiles sans devoir
apprendre un langage spécifique à chaque OS mobile. Ainsi, en maîtrisant le langage C#, le
développeur est capable d’écrire pour iOS, Android ou Windows. Xamarin.Forms est une
couche d’abstraction qui permet de développer les interfaces utilisateurs pour les partager à
travers toutes les plateformes.
Il existe une multitude de langages de programmation ; ce que nous avons choisis pour
la réalisation de notre projet c’est le C# qui est un langage de développement puissant et flexible
permettant de créer des applications en mode console et en mode graphique. C# est un langage
impératifs disposant des fonctionnalités de modèles objets complètes. En raison de la richesse
des bibliothèques de C#.NET on désigne parfois comme une plate-forme plus qu'un simple
langage. Les nombreuses notions orientées objets dont dispose ce langage à savoir :
l’encapsulation, l’héritage, le polymorphisme et autre donnent ainsi au développeur la
possibilité de gagner un temps énorme lors de la réalisation des grands travaux et lui permettent
ainsi d’assurer la protection de ces données à l’aide du concept de classe qui ne peuvent être
manipulées que par une méthode membre de la classe.
Architecture logicielle
Dès le démarrage du processus, on aura une vue sur l'architecture à mettre en place.
L’architecture d’un système logiciel peut être décrite comme les différentes vues du système
qui doit être construit. L’architecture logicielle équivaut aux aspects statiques et dynamiques
les plus significatifs du système. L’architecture émerge des besoins de l’entreprise, tels qu’ils
sont exprimés par les utilisateurs et autres intervenants et tels qu’ils sont reflétés par les cas
d’utilisation.
a. Architecture MVC
L’architecture MVC (modèle vue contrôleur) est un concept très puissant qui
intervient dans la réalisation d’une application. Son principal intérêt est la séparation des
données (modèle), de l’affichage (vue) et des actions. Comme le présente la figure ci-
après :
Le Modèle : Le modèle correspond aux données dans une base de données. Mais
celles-ci peuvent être également contenues dans un fichier XML ou dans des fichiers textes.
Les données peuvent être exploiter sous forme de classe, dans un langage de
programmation orienté objet.
Le Contrôleur : Le contrôleur est l’élément qui va utiliser les données pour les
envoyer à la vue. Son rôle est donc de récupérer les informations, de les traiter en fonction
des paramètres demandés par la vue (par l’utilisateur, exemple : afficher les derniers
articles), puis de renvoyer à la vue les données afin qu’elles soient affichées. Le contrôleur
peut donc instancier différents objets (Classe User, classe Articles, …) qui enverront des
requêtes vers la base des données ou récupéreront des données XML. La transmission à la
vue des données récupérées se fait généralement à l’aide d’un Template : insertion des
données dans un fichier XAML qui va être envoyé à l’utilisateur.
b. Architecture MVVM
Là où le pattern MVVM va vraiment apporter une plus-value est dans des projets
contenant de nombreuses interfaces utilisateur. Souvent, on voit une UI (Window, Page,
UserControl) avec un présentateur de données et un fichier de code-behind pour les évents.
En appliquant MVVM sur un tel projet, non seulement vous réduisez le nombre de fichiers
à charger par Visual Studio et le compilateur (il n’y a que très rarement besoin d’un fichier
✓ La View est décrite en XAML de façon purement déclarative. Elle dispose tout de
même d'un code-behind dans lequel on peut coder en C#, mais cela doit se limiter
à du code lié à l'affichage (déclencher une animation par exemple).
✓ Le Model est la représentation d'une donnée, au sens métier du terme.
✓ Le ViewModel est la couche intermédiaire qui prépare les données et les expose à
la View. C'est généralement là qu'on trouvera la logique de validation des données,
l'exécution des calculs, l'appel aux différents services...
a. Definition et Presentation
Les services Web fournissent un lien entre applications. Ainsi, des applications
utilisant des technologies différentes peuvent envoyer et recevoir des données au travers
de protocoles compréhensibles par tout le monde.
Les services Web représentent donc la façon la plus efficace de partager des
méthodes et des fonctionnalités. De plus, ils réduisent le temps de réalisation en permettant
de tirer directement parti de services existants.
b. Caractéristiques
Les services Web reprennent la plupart des idées et des principes du Web (HTTP,
XML), et les appliquent à des interactions entre machines. Comme pour le World Wide
Web, les services Web communiquent via un ensemble de technologies fondamentales qui
partagent une architecture commune. Ils ont été conçus pour être réalisés sur de nombreux
systèmes développés et déployés de façon indépendante. Les technologies utilisées par les
services Web sont HTTP, WSDL, REST, XML-RPC, SOAP et UDDI.
Les services Web emploient un ensemble de technologies qui ont été conçues afin
de respecter une structure en couches sans être dépendante de façon excessive de la pile
des protocoles. Cette structure est formée de quatre couches majeures :
Couche transport : Cette couche est responsable du transport des messages XML
échangés entre les applications. Actuellement, cette couche inclut HTTP, SMTP, FTP, et
de nouveaux protocoles tels que BEEP.
Outils utilises
Pour mettre sur pied notre solution nous avons utilisé les outils suivants :
Outils Rôle
Navigateur web
LANGAGE RÔLE
Conclusion
Dans cette partie nous avons abordé plusieurs notions tour à tour l’architecture
logicielle, matérielle, les ressources matérielles et logicielles entrant dans le projet. A la
question de savoir comment sera déployée notre application, des éléments de réponses ont été
apporté au travers des diagrammes tels que le diagramme du déploiement. Parvenu donc au
terme de cette phase de notre cycle de développement, il est important de se poser la question
de savoir si les utilisateurs du futur système seront à même de l’utiliser sans éprouver de
difficultés ? La réponse à cette question fera l’objet de la prochaine phase qui est : le Guide
Utilisateur.
Résume
Aperçu
Introduction
I. Guide de déploiement
Conclusion
Introduction
Le logiciel devrait être fourni avec une documentation qui permettre de faciliter aux
futurs utilisateurs, l’utilisation du logiciel. Le guide d’utilisation a donc pour but d’apporter à
l’utilisateur de l’application l’aide nécessaire concernant son utilisation. Dans cette partie nous
présenterons une vue générale de l’application pour enfin pouvoir l’utiliser de façon plus aisée.
I. GUIDE DE DÉPLOIEMENT
L’application MyAddress est une application mobile téléchargeable depuis le Play store
pour les appareils Android et depuis l’App store pour les appareils iOS. Le déploiement est
donc presque inexistant. Il suffit d’installer l’application et d’utiliser.
Dans cette partie, les étapes de réalisation des opérations seront expliquées de façon
détaillée. Tout ceci sera fait à travers des test et des explications avec des captures d’écran à
l’appui afin de permettre aux utilisateurs non seulement de savoir comment faire réellement des
manipulations, mais aussi pour les permettre d’avoir un aperçu des résultats auxquels ils doivent
s’attendre.
Pour pouvoir utiliser les fonctionnalités qu’offre l’application, les utilisateurs doivent
s’authentifier avec leur numéro de téléphone et leur mot de passe. La capture d’écran suivante
montre comment d’inscrire afin de pour bénéficier d’un accès à l’application et ses
fonctionnalités.
Connexion à l’application
La demande d’adresse se fait via le Button + en bas à droite de la page d’accueil. Une
fois que l’utilisateur clic sur +, une adresse est générée et affiché avec quelque champ en plus
à compléter. Il s’agit de la visibilité de l’adresse, le numéro de chambre ou d’appartement et le
type d’adresse,
• Le numéro de la région
• Le numéro du département
Recherche d’adresse
Il s’suffît d’entrer le numéro de téléphone d’un contact pour retrouver son adresse.
Navigation
Conclusion
Parvenue au terme de cette partie ou il était question pour nous de mettre à la disposition
des utilisateurs un guide d’utilisation pour nos différentes plateformes, il en ressort que le guide
utilisation à travers le guide d’installation et d’utilisation constitue l’une des clés de réussite de
notre application en ce sens qu’elle permet une exploitation optimale des fonctionnalités de
notre système.
CONCLUSION GÉNÉRALE
L’évolution exponentielle des innovations et des rénovations dans le domaine des
Nouvelles Technologies est telle que l’on ne sait plus où s’arrête le nouveau et où commence
le déjà « ancien ». Cette réflexion sur la Mise Sur Pied d’un Système d’adressage numérique
ne peut donc avoir qu’une conclusion provisoire car chacun des éléments cités dans ce rapport
de stage continue d’évoluer en permanence. Ainsi, nous avons effectué notre stage au sein de
l’entreprise CLOUD OF ENGINEER FOR SOCIAL DEVELOPMENT S.A. Lors de ce
stage de ces 4 mois, nous avons pu mettre en pratique nos connaissances théoriques acquises
durant notre formation à l’Institut Africain d’Informatique. De plus, nous nous sommes
confrontés aux difficultés réelles du monde du travail et de la gestion des projets informatiques.
Après notre rapide intégration dans l’équipe, nous avons eu l’occasion de réaliser plusieurs
tâches dont la principale aura été la Mise Sur Pied d’un Système d’adressage numérique Qui
d’après nous permettra de résoudre de nombreux problèmes concernant le repérage, la livraison
à domicile et l’orientation des populations. Il constitue désormais une expérience
professionnelle valorisante et encourageante pour notre avenir. Nous pensons que cette
expérience en entreprise nous a offert aussi une bonne préparation à notre insertion
professionnelle car elle aura été enrichissante et complète et nous conforte dans notre désir
d’exercer comme ingénieur dans le domaine de l’informatique. Enfin, nous tenons à exprimer
notre satisfaction d’avoir pu travailler dans de bonnes conditions matérielles et un
environnement agréable et aussi pour notre bonne formation acquise à l’IAI-Cameroun. Nous
pensons pouvoir apporter des innovations l’enregistrement des terrains, la certification des
adresses d’entreprise et de domicile.
BIBLIOGRAPHIE
WEBOGRAPHIE
Remerciements ............................................................................................................. IV
Sommaire....................................................................................................................... V
Abstract........................................................................................................................XV
Introduction .................................................................................................................... 4
Accueil ..................................................................................................... 5
Historique................................................................................................. 5
Conclusion .................................................................................................................... 15
Introduction .................................................................................................................. 18
V. Intervenants ............................................................................................... 22
Déroulement........................................................................................... 25
Conclusion .................................................................................................................... 28
Introduction .................................................................................................................. 30
a. Historique .................................................................................................................. 35
b. Description ................................................................................................................ 36
Introduction .................................................................................................................. 59
c. Formalisme ................................................................................................................ 64
c. Formalisme ................................................................................................................ 68
Conclusion .................................................................................................................... 71
Architecture logicielle............................................................................ 80
b. Caractéristiques ......................................................................................................... 83
Conclusion .................................................................................................................... 90
Introduction .................................................................................................................. 92
Navigation .............................................................................................. 98
bibliographie ................................................................................................................... ii
annexes .......................................................................................................................... xi
ANNEXES