Vous êtes sur la page 1sur 47

N° d’ordre ……….

MEMOIRE DE FIN D’ETUDES


En vue de l’obtention de
LICENCE FONDAMENTALE DE L’UNIVERSITE DE KAIROUAN
- Délivrée par :
Faculté des Sciences et Techniques de Sidi Bouzid
Discipline : Sciences Informatiques

DEVELOPPEMENT D'UNE APPLICATION


ANDROID POUR LA GESTION DES CLIENTS
SONEDE

Présenté et soutenu par : MOUHAMED ALI & HANEN


BOUALLAGUI

Soutenu le 00 DECEMBRE 2020


Jury 
Président : M.
Rapporteurs : Mme.
Encadrant : M. MED TAHER JELLALI
Encadrant :

AU : 2019-2020
DEDICACES

À mon cher Père Dont le mérite, les sacrifices et les


qualités humaines M'ont permis de vivre ce jour
À ma chère mère
Qu'ils trouvent en moi la source de leur fierté
À qui je dois tout
À tous les gens m'aiment

HANEN BOUALLAGUI
DEDICACES

À l'âme de mon cher Père


Celui qui a né se laissait jamais pour aménager tous ses
effort pour que je sois quelqu'un de bien dans la vie. Pour
lui, l'instruction est le socle fondamental de ses enfants.

À ma chère Mère
Don't le mérite, les sacrifices et les qualités humaines
M'ont permis de vivre ce jour.
À mes frères et mes soeurs
À tous les gens m'aiment.
MOHAMED ALI
Remerciement

Tout d'abord au terme de ce travail nous tenons à remercier :


Notre Dieu de nous avoir donné le courage, la force et la volonté
pour achever ce modeste travail. 
Notre encadreur Mr. MED TAHER JELLALI pour ces qualités
professionnels, ces conseils judicieux et ces remarques constructives
tout le long de ce travail. 
Les membres du jury Président du jury: Mr.              Et.                 
Messieurs les jurys, vous nous faites un grand honneur en acceptant de
juger ce travail. 
Aussi un remerciement à tous les enseignants de fstsbz pour leurs
qualités scientifiques et pédagogiques. 
Nous tenons à remercier chaleureusement, tous nos proches et
tous ceux qui ont, de pré ou de loin, nous apporté leurs sollicitude pour
accomplir ce travail. 
SOMMAIRE
Introduction générale..................................................................................................................9
Chapitre1 Présentation du cadre du stage........................................................................11
Chapitre2.................................................................................................................................12
Chapitre3.................................................................................................................................12
Introduction................................................................................................................................................12
Présentation de la société............................................................................................................................12
Problématique ou contexte du stage..........................................................................................................15
I. Etude de l’existant................................................................................................................................15
III.1. Description de l’existant...............................................................................................................15
III.2. Critique de l’existant.....................................................................................................................15
III.3. Solution proposée...........................................................................................................................15
Conclusion.................................................................................................................................................18
Chapitre4 Analyse et Spécification des besoins................................................................19
I. Les acteurs..............................................................................................................................................19
Chapitre5 Conception détaillée..........................................................................................29
Introduction....................................................................................................................................................30
I.1 Le design pattern architectural MVC..............................................................................................30
I.2 Architecture physique (3-tiers)........................................................................................................31
IV. Processus Unifié (UP) :...................................................................................................................36
V. Cycle de vie du processus unifié :...................................................................................................37
Conclusion :...............................................................................................................................................37
Chapitre6 Réalisation.........................................................................................................38
Introduction :.............................................................................................................................................38
I. Environnement du travail....................................................................................................................38
1. Environnement matériel :.......................................................................................................................38
2. Environnement logiciel et langage :......................................................................................................38
a) Android Studio................................................................................................................................39
b) Firebase :.............................................................................................................................................39
c) StarUML :...............................................................................................................................................45
d) React Native.....................................................................................................................46
e) Java :......................................................................................................................................................47
II. La mise on œuvre :..............................................................................................................................49
3. Description des interfaces de l’application :...................................................................................50
Conclusion générale................................................................................................................51
Annexes.....................................................................................................................................53
...................................................................................................................................................................54
Liste des figures
Figure 1 : Diagramme de séquences du module général..........................................................17
Figure 2 : Diagramme de cas d'utilisation relatif au technicien................................................18
Figure 3 : Diagramme de cas d'utilisation du module « traitement du matériels»....................19
Figure 4 : Diagramme de cas d'utilisation du module « traitement des emprunts»..................20
Figure 5 : Diagramme de cas d'utilisation du module « gestion des personnels».....................21
Figure 6 : Diagramme de séquences « authentification ».........................................................24
Figure 7 : Diagramme de séquences « ajout matériel »............................................................25
Figure 8 : Diagramme de séquences « ajout enseignant ».......................................................26
Figure 9 : Diagramme de séquences « suppression d’un utilisateur ».....................................27
Figure 10 : Diagramme de séquences « modification d’un local »..........................................28
Figure 11 : Diagramme de séquences « commande des matériels »........................................29
Figure 12 : Diagramme de séquences « consultation de la liste des matériels ».....................30
Figure 13 : diagramme de séquences « déclaration de l’état de matériel ».............................31
Figure 14 : Diagramme de séquences «emprunt des matériels ».............................................32
Figure 15 : Diagramme de séquences «retour du matériel »...................................................33
Figure 16 : Diagramme de classes............................................................................................35
Figure 17 : Diagramme de classes............................................................................................35
Figure 18 : Page d’accueil.........................................................................................................42
Figure 19 : Authentification......................................................................................................43
Figure 20 : Menu principal.......................................................................................................43
Figure 21 : Consulter matériels.................................................................................................44
Figure 22 : Déclarer l’état.........................................................................................................44
Figure 23 : Vérification matériel...............................................................................................45
Figure 24 : Ajout quantité matériel...........................................................................................45
Figure 25 : Ajout matériel.........................................................................................................46
Figure 26 : Vérifier enseignant.................................................................................................46
Figure 27 : Ajout enseignant.....................................................................................................47
Figure 28 : Supprimer utilisateur..............................................................................................48
Figure 29 : Vérifier local...........................................................................................................48
Figure 30 : Modifier local.........................................................................................................49
Figure 31 : Bon d’emprunt........................................................................................................50
Figure 32 : Bon de retour..........................................................................................................51
Figure 33 : Commander matériel..............................................................................................51
Figure 34 : Consulter l’historique.............................................................................................52
Figure 35 : Service Internet.......................................................................................................62
Figure 36 : Architecture .Net....................................................................................................65
Figure 37 : Infrastructure .NET................................................................................................66
Liste des tableaux
Tableau 1 : Dictionnaire des données.......................................................................................37
Introduction générale

Les Smartphones (téléphones intelligents) ont connu un essor très important durant
ces dénierais années. Sont de plus en plus dotes d’une puissance avec des fonctionnalités
assez évoluées permettant de créer des applications innovantes et de les distribuer en toute
simplicité. Bien plus que des appareils nous permettant d’effectuer des appels ou d’envoyer
des SMS (messages courts), ces terminaux sont devenus de véritables outils multimédia
permettant d’accéder à tous les modes de la communication si bien que les besoins des
utilisateurs sont de plus en plus croissants et spécifiques en termes d'application pour
satisfaire leur besoin quotidien.
Dans le cadre de notre préparation au diplôme de Licence L3 parcours Informatique,
nous avons été amenés à effectuer notre projet sous l'encadrement de M. MOHAMED
TAHER JELLALI.
Il s’agissait au cours du projet d’étudier et de développer une application mobile sous
Android. Avec l'avancée et l'émergence des technologies mobiles, les développements
embarqués sont de plus en plus demandés sur le marché. Avoir un Smartphone est devenu
incontournable pour les jeunes de nos jours. D'où nait l'idée de développer une application
utile, à installer sur les Smartphones permettant de suivre sa dépense énergétique tout en
gardant son téléphone dans sa poche, puis d'être en contact avec ses ami(es) et savoir où ils
se trouvent grâce à la Google map intégré au logiciel lui-même.
Mis à part le développement proprement dit de l'application, la première étape
consistait à nous familiariser avec l'environnement Android, puis de choisir les outils
conviviaux et envisageables à l'aboutissement du projet. Par la suite, nous entamerons la
modélisation et le développement de l'application.
C’est dans ce cadre que nous avons été accueillis par SONEDE comme stagiaires
pendant trois (03) mois pour travailler sur projets de développement mobile sous le
thème: « Développement d'une application Android pour la gestion des clientes de
SONEDE ». Cette solution qui sera développée sous la plateforme Android, permettra aux
utilisateurs de pouvoir lire et publier de petites services de façon efficace et rapide.
Le présent document organise en trois (03) chapitres fait l'économie de trois (03)
mois de stage
En premier lieu nous faisons une présentation générale de la structure d’accueil ainsi
que le thème de stage.
Ensuite nous présentons les méthodologies de travail et de conception, puis nous
présentons le travail réalise.
Enfin nous dressons un bilan général par rapport
Chapitre I

Chapitre1 Présentation du cadre du


stage
Chapitre2
Chapitre3
Introduction

Dans ce chapitre présente, en premier lieu, le cadre de travail dans lequel le projet a
été effectué. En deuxième lieu, il introduit d’une manière générale la problématique. Enfin il
étude l’existant.

I. Présentation de la société
1. PRESENTATION DE LA SOCIETE :

La Société Nationale d’Exploitation et de Distribution des eaux a été créé en


1968 dans le but de traiter les eaux et les rendre potables, elle est composée de 38 districts
dans tout le territoire de la Tunisie et emploie 6374 agents. La société est placée sous la
tutelle du Ministère de l’Agriculture, des ressources hydrauliques et de la pêche. Elle
procède à l’élaboration des études relatives à l’identification des projets, l’évaluation
des rentabilités et la fixation de leurs délais et lui a confié la production, l’exploitation et
la distribution de l’eau. La figure n°2 présente le siège de la SONEDE.
Figure n°2 : La société nationale d’exploitation et de distribution des
eaux
+

La mission de la Société Nationale d’Exploitation et de Distribution des eaux est de traiter


les eaux souterraines ainsi que les eaux de surface jusqu’à les réservoirs de distribution des
eaux. La société assure le suivi et le contrôle des barrages, des stations de traitement et les
travaux des forages, et en ce qui concerne l’exploitation de la Société, un objectif a été
toujours fixé c’est d’établir un bon rendement à ses réseaux.
Dans le but d’améliorer la qualité des eaux de la SONEDE des stations de dessalement ont
été réalisés. Elle participe activement à la réalisation des objectifs de la stratégie à long terme
dans le but de se mettre dans un développement durable et pour toujours satisfaire aux attentes
de ses abonnés. La SONEDE a créé une unité de gestion de la Qualité pour la mise en place
de système management de la Qualité au sein de différente entité de la société. Elle a entamé
une démarche qualité en se basant pratiquement à des normes internationales telles que l’ISO
9001 et l’ISO
14001, tout en visant l’amélioration de la qualité des services.
Les activités de la SONEDE :
 Etude et réalisation des installations
 Traitement et production de l’eau
 Gestion commerciale des abonnés
 Gestions techniques des réseaux
PRESENTATION DU SERVICE D’AFFECTATION DU STAGE :
 La direction centrale des gestions des clients et de la gestion des stocks a comme but
de rechercher les sources nécessaires dont l’entreprise aura besoin dans l’avenir tout
en prenant en compte les budgets de la société et les données des offres fournisseurs.
 La direction des gestions des clients et de la gestion des stocks a pour mission :
 Analyser les besoins de différentes directions de la société nationale
 D’exploitation et de distribution des eaux.
 Veiller et suivre les marchés et les projets de la société. Suivre les couts et les budgets
de la société.
 Estimer les projets d’appel d’offre.
 Assurer la gestion des stocks.
 Publier les appels d’offre.
 Evaluer les offres et sélectionner les fournisseurs.
Les activités de la direction achat peuvent avoir des degrés de complexité allant de la
définition des besoins jusqu’à l’évaluation des fournisseurs, son premier critère est la qualité
des produits ou des services achetés, dans ce cas la maitrise d’une démarche qualité est très
recherchée. Donc pour y arriver et dans le cadre de ma mémoire, il est indispensable de
décerner les défaillances des activités achat et approvisionnement.
Les gestions des clients :
Le Tableau n°1 présente les gestion des clients du Société Nationale d’ Exploitation et de Distribution
des Eaux :

Tableau n°1 : Les types des gestions des clients et les activités

Les types des gestions des clients Les activités concernées

Les gestion des clients pour les grands travaux Réalisation des travaux publics(les installations des
conduites).

Les logiciels et services informatiques


Réalisation de diverses tâches et procédures
bureautiques.

Traitement, exploitation et distribution des


Les gestion des clients de biens consommables (les fournitures eaux.
des branchements, produits chimiques, fourniture des
bureaux…) Production des eaux.

Procédure bureautique.

Les gestion des clients équipements Réalisation des installations

Les études des projets d’approvisionnement en


eau potable.

Les études Les études des installations.


II. Problématique ou contexte du stage

L’utilisation des Smartphones est de plus en plus croissante en Afrique de façon générale
et en particulier au Tunisie. En effet le taux de pénétration des Smartphones est estrien entre
17 et 19 % par année ce qui est important.
Face à l’importance de ce taux, nous orientons vers les offres de services disponibles sur les
Smartphones dans I ‘objectif de proposer des services communs aux utilisateurs dans un
premier . C’est dans cette optique qu’elle a décidé d’améliorer solutions mobiles par la mise à
disposition d’une solution de publication de petites services accessibles sur les terminaux
mobiles Android.

I. Etude de l’existant
1. Description de l’existant

2. Critique de l’existant

3. Solution proposée

« My SONEDE » est une plateforme de visualisation et de gestions des clients et


services basées sur le système Android. Elle sera disponible gratuitement sur Google Play (la
plate-forme du groupe Google, le leader des solutions internet) pour permettre aux
utilisateurs de Smartphones de pouvoir le télécharger et I' installer en toute simplicité.
L’objectif de la plateforme est de faciliter la gestion des services de façon rapide et
efficace en intégrant plus de fonctionnalités que celles offertes par des solutions similaires
disponibles sur le marché.
Afin de mieux décrire les fonctionnalités et les enjeux de cette solution, un cahier des
charges a été élaboré et mis à notre disposition, pour nous aider la réalisation de ce projet
dont nous présentons quelques point saillants.
III. Présentation du cahier des charges
Pour atteindre les résultats attendus, « MY SONEDE » reposera sur un ensemble de
fonctionna et une base de données MySQL qui servira à stocker les informations. Le but de
notre stage est de développer cette plateforme et sa base de données avec les fonctionnalités
suivantes :
 Le Home ou page d'accueil :
Le Home est la page qui s'affichera après le splashscreen (écran de Derna rage) de
l‘application. Cette page affiche toutes les services qui ont été effectuées par le groupe de
gestion du contenu ou l’administrateur de application, et permettre de de regrouper les
services par clients et serviront a les classer en fonction du état client et en fonction de la
date de depot de dossier (de Ia plus récente a la plus ancienne).l’onglet servira à ajouter une
nouvelle services dans la base de données pour une traitement.
 Détail dossier clients :
Cette page permettra à clients d’avoir les informations sur un clients de
son demande à ce niveau, I ‘utilisateur aura la possibilité de saisir t suivre sur le
demande . II pourra aussi voir son prix de facturation ainsi que quelques
informations sur le service de payement. Il pourra contacter le personnel sonede
soit par appel ou en envoyant un message / réclamation. La permettra de
géolocaliser l’emplacement de services à bénéficier.
 Dépôt dossier :
La page permettra le client d'effectuer un dépôt de dossier.
 La MAP :
Cette page permettra à client de visualiser les services demander sur une
carte. clients pourra se servir de cette fonctionnalité pour avoir une idée par
rapport à la situation géographique de dossier demander et aura la possibilité
d'accéder au détails de emplacement.
 Connexion :
Cette fonctionnalité permettra à clients de se connecter a I ‘application avant de pouvoir
effectuer une services ou d'accéder à son profil.
 Profil
Le profil présenter les informations sur client confirmer par sonede et lui permettra de faire des
suivit dossier règlement facturation ou réclamation
 Recherche
La fonctionnalité de recherche permettra de faire des recherches en fonction du texte saisi par
clients
 Appel
Cette fonctionnalité permettra a clients de joindre le services technique ou après-vente de sonede par
appel
 Message et mail
Cette fonctionna ite permettra à clients de joindre le services technique ou après-vente de sonede par
message ou réclamions
Pour la gestion des données de « MY SONEDE », deux (02) bases de données seront
utilisées. Une base donnée distante qui servira contenir les informations nécessaires sur les annonceurs
et les différentes services effectuées et une autre base sur le sur le terminal qui stockera les
paramètres utilisateur.

II. Résultats attendus


Les objectifs de notre stage peuvent être regroupes en deux parties. Dans un premier temps,
nous devons créer un cadre dans lequel nous appliquerons les connaissances théoriques acquises a
l'école et aussi de nous permettre d'améliorer notre expérience en ce qui concerne le
développèrent de solutions logicielles avec le système d'exploitation pour terminaux intelligents :
Android. Le second objectif vise par ce stage est de réaliser (au moins quatre-vingt (80%)) une
application pour téléphone intelligent dénommée « MY SONEDE » en respectant le cahier des
charges présente précédemment.

Conclusion
Ce premier chapitre a été consacré à la présentation du cadre de projet, la
problématique et la solution proposée. Dans ce qui suit nous allons entamer la première
phase de la conception de notre projet et la réalisation des différentes fonctionnalités de
l’application.
Chapitre II

Chapitre4 Analyse et Spécification


des besoins
Introduction 
Notre travail sert à offrir aux clients l’accès en temps réel aux données de l’application
des services sonede on utilisant leurs appareils mobiles.
Toutefois, la spécification des besoins constitue la phase de départ de toute
application à développer dans laquelle nous allons identifier les besoins de fonctionnalités
attendues de notre application et les besoins non fonctionnels pour éviter le développement
d’une application non satisfaisante ainsi de trouver un accord commun entre les spécialistes et
les utilisateurs pour réussir le projet.

I. Les acteurs
Nous présentons ci-après les acteurs qui agissent sur notre système et leurs fonctionnalités
auxquelles notre application doit répondre.
Ces acteurs sont :

 Le clients : le visiteur est un acteur principal qui interagit avec notre application.
Cette personne bénéficie de toutes les fonctionnalités de l’application en mode
connecté ainsi qu'un mode confirmer son dossier par sonede.
 visiteure : est un acteur secondaire qui n’interagit pas avec notre application.
C’est le rôle de consulter les informations et actualités délivrés par sonede en
mode non connecter .
 L’administrateur : joue un rôle primordial dans l’assurance du bon
fonctionnement du système. C’est la personne qui prend en charge la gestion
des comptes des clients (les non visiteurs) ainsi que la gestion de client et
de commandes.
II. Méthodologie de conception :
Pour faciliter notre tâche nous avons recours langage de modélisation unifié (UML :
Unified Modelling Language) c’est une notation qui permet de modéliser un problème de
façon standard. Ce langage est né de la fusion de plusieurs méthodes existantes auparavant, et
il est devenu une référence en termes de modélisation objet, à un tel point que sa connaissance
devienne indispensable pour un développeur.
III. L’architecture MVC

Le MVC est un modèle de conception qui repose sur la volonté de séparer les données,
les traitements et la présentation. Ainsi l’application se retrouve segmentée en trois
composants essentiels :

 Un modèle : c’est le noyau de l’application, Il  représente les données et les règles


métiers, Ces données peuvent être liées à une base de données, des EJBs, des services
Web, …
 Une vue : La vue correspond à l’IHM, Elle présente les données et interagit avec
clients. Dans le cadre des applications Web, il s’agit d’une interface HTML, mais
n’importe quel composant graphique peut jouer ce rôle.
 Un contrôleur : dont le rôle est de gérer les événements et la synchronisation entre la
Vue et le Modèle.

Figure : architecture MVC


IV. Les besoins fonctionnels 

Cette partie est réservée à la description des exigences fonctionnelles des différents
acteurs de l’application. Ces besoins sont présentés à l’aide de diagrammes des cas
d’utilisation.
Des besoins pour l’admin :

 L’authentification de l’application (login et mot de passe)


 La consultation de paiement
 L’hébergement
Des besoins pour clients :

 L’inscription (la gestion de son profil) qui contient :


- Ajouter un annonceur
- Modifier un annonceur
- Supprimer un annonceur
 La gestion des services (les informations de chaque dossier) qui contient :
- Ajouter une dossier services réclamation
- Modifier une dossier services réclamation
- Supprimer une dossier services réclamation
Des besoins pour le visiteur :

- Parcours des informations et les nouveautés.


- Filtrer les information par catégorie ou sans catégorie

V. Les besoins non fonctionnels 

Nous allons déterminer l’ensemble de contraintes d’implémentation à respecter pour


garantir le bon fonctionnement de l’application :
 La rapidité :

L’application doit être conçue pour avoir un temps de réponse minimum.


 La convivialité de l’interface graphique :

L’application doit fournir une interface conviviale et simple pour tout type
d’utilisateur car elle présente le premier contact de clients avec l’application et par le biais de
celle-ci on découvrira ses fonctionnalités. 
 La sécurité :

Nous devons prendre en considération la confidentialité des données de clients surtout au


niveau de l’authentification. Pour cela nous devons restreindre l’accès à ces informations à
l’administrateur.
 Disponibilité :

Le réseau doit être disponible en permanence pour permettre à chaque utilisateur


d’accéder aux services disponibles à n’importe quel moment.
 L’ergonomie :

L’application doit être simple à maintenir et à comprendre.


 Fiabilité :

L’application doit avoir une bonne qualité de contenu ainsi qu’une bonne adaptabilité
aux différentes tailles des écrans des appareils mobiles. D’autre part, il faut assurer le bon
fonctionnement sans erreurs.
 La performance :

L’application doit être performante c'est-à-dire que le système doit réagir dans un délai
précis, quelque soit l’action d’utilisateur.
 Le choix de système Android pour notre application mobile :
Notre application est native, puisqu’elle est développée par le langage de
programmation native propre au système tel que java pour android. Ainsi , elle doit
tourner sur une bonne partie du marché c'est-à-dire il faut bien choisir la version
minimale exigée par l’application.

VI. Diagrammes de cas d’utilisation :


1) Présentation des acteurs :
 L’administrateur :

Le responsable qui gère l’application en ligne, il peut gérer et manipuler les interfaces
de l’application.
 Client :

L’internaute (clients) qui peut consulter les services de sonede.


 Le visiteur :
Le clients qui peut parcourir les informations du annonceurs.
2) Diagramme de cas d’utilisation général  :

Le diagramme de cas d’utilisation général représente les actions réalisées par le système
pour avoir un résultat qui répond au besoin d’un acteur particulier.
Diagramme de cas d’utilisation général

3) Principaux diagrammes de cas d’utilisation :

Ici, on trouve le diagramme de cas d’utilisation possible de chaque cas du diagramme


général précédant .

 Cas d’utilisation :  l’inscription (gestion de profil )

Diagramme de cas d’utilisation d’inscription (gestion de profil)

 Cas d’utilisation : gestion des services


Diagramme de cas d’utilisation de gestion des services

4) Description textuelle de chaque cas d’utilisation :

 cas d’utilisation  :l’inscription ( gestion de profil)

Dans le cas de gestion de profil, on trouve trois sous cas d’utilisation qu’ils sont
représentent dans les trois tableaux suivantes :
 Ajouter annonceur :

Cas d’utilisation Ajouter annonceur


But Ajouter un nouvel annonceur
Acteur Annonceur
Pré conditions L’annonceur s’est authentifie avec succès
Scenario nominal o L’annonceur demande à ajouter un nouvel profil
o Le système affiche un formulaire d’information
o L’annonceur le remplie et valide les données
o Le système ajoute le nouvel profil à la base de donnée
et affiche un message de confirmation
 Modifier annonceur :

Cas d’utilisation Modifier annonceur


But Modifier les données relatives à un profil déjà existant
Acteur Annonceur
Pré conditions o L’annonceur s’est authentifie avec succès
o Le profil existe dans la base de donnée
Scenario nominal o L’annonceur demande de modifier les données d’un
profil
o Le système affiche un formulaire comportant les
données déjà enregistrées
o L’annonceur modifie le formulaire et valide les
nouvelles données
o Le système enregistre les données et affiche un
message de confirmation
 Supprimer annonceur :

Cas d’utilisation Supprimer annonceur


But Supprimer un profil de la base de donnée
Acteur Annonceur
Pré conditions o L’annonceur s’est authentifie avec succès
o Le profil existe dans la base de donnée
Scenario nominal o L’annonceur demande de supprimer un profil de la
base de donnée
o Le système affiche un message pour demander la
confirmation de la demande de suppression
o L’annonceur confirme la demande de suppression du
profil
o Le système supprime le profil et renvoie un message
de confirmation

 Cas d’utilisation  : gestion des services

Dans le cas de gestion des services, on trouve trois sous cas d’utilisation qu’ils sont
représentent dans les trois tableaux suivantes :
 Ajouter annonce :

Cas d’utilisation Ajouter annonce


But Ajouter un nouvel annonce
Acteur Annonceur
Pré conditions L’annonceur s’est authentifie avec succès
Scenario nominal o L’annonceur demande à ajouter un nouvelle annonce
o Le système affiche un formulaire d’information
o L’annonceur le remplie et valide les données
o Le système ajoute la nouvelle annonce à la base de
donnée et affiche un message de confirmation
 Modifier annonce :

Cas d’utilisation Modifier annonce


But Modifier les données relatives à une annonce déjà existant
Acteur Annonceur
Pré conditions o L’annonceur s’est authentifie avec succès
o L’annonce existe dans la base de donnée
Scenario nominal o L’annonceur demande de modifier les données d’une
annonce
o Le système affiche un formulaire comportant les
données déjà enregistrées
o L’annonceur modifie le formulaire et valide les
nouvelles données
o Le système enregistre les données et affiche un
message de confirmation
 Supprimer annonce :

Cas d’utilisation Supprimer annonce


But Supprimer une annonce de la base de donnée
Acteur Annonceur
Pré conditions o L’annonceur s’est authentifie avec succès
o L’annonce existe dans la base de donnée
Scenario nominal o L’annonceur demande de supprimer une annonce de
la base de donnée
o Le système affiche un message pour demander la
confirmation de la demande de suppression
o L’annonceur confirme la demande de suppression de
l’annonce
o Le système supprime l’annonce et renvoie un
message de confirmation

 cas d’utilisation  : chercher des services

Cas d’utilisation Filtrer les services


But Rechercher toutes les services quelque soit avec ou bien sans
catégorie
Acteur visiteur
Pré conditions o Le visiteur s’est authentifie avec succès
Scenario nominal o Le visiteur demande de filtrer toutes les services
o Le système affiche les services filtrées avec catégorie
ou bien sans catégorie

Conclusion :
Dans ce chapitre, nous avons énuméré les différents besoins fonctionnels et non
fonctionnels de notre application. Ensuite , nous avons fait une étude graphique et textuelle de
certains cas d’utilisation de notre solution. Ce chapitre a été une grande importance pour la
compréhension des besoins .
Chapitre III

Chapitre5 Conception détaillée


Chapitre6
Introduction
La conception est une étape critique dans le cycle de vie d'une application. Elle
vise à développer des modèles détaillés de l'architecture du système et de réduire sa
complexité. Dans ce chapitre, nous allons étudier les aspects techniques de l’application
pour assurer le meilleur résultat possible au niveau de la satisfaction des besoins.
La première partie sera dédiée à l’architecture de l’application et la deuxième partie
portera sur la conception détaillée en se basant sur quelques diagrammes UML statiques
et dynamiques.

I. L’architecturale d’application

I.1 Le design pattern architectural MVC


Le modèle utilisé est le MVC (Modèle-Vue-Contrôleur), qui est une méthode de
conception qui organise le HMI (Human Machine Interface) d'une application logicielle. Ce
paradigme divise le HMI en trois parties ayant chacune un rôle précis dans l’interface.

 Ces parties sont :


 Un modèle de données
 Une vue (présentation, interface utilisateur)
 Un contrôleur (logique de contrôle, gestion des événements, synchronisation).

L'organisation globale d'une interface graphique est souvent délicate. L'architecture


MVC ne résout pas tous les problèmes. Elle fournit souvent une première approche qui peut
ensuite être adaptée. Elle offre aussi un cadre pour structurer une application. Ce modèle
d'architecture impose la séparation entre les données, la présentation et les traitements.

La figure ci-après illustre ce modèle d’architecture MVC.


Figure : Le modèle d’architecture MVC

I.2 Architecture physique (3-tiers)


Cette architecture physique est assez semblable à l’architecture client/serveur, mais en
plus des « clients » et du serveur de données évoquées plus haut, un serveur d'application
intervient comme un troisième tiers. En effet, les machines clientes, également appelées
«clients légers» ne contiennent que l'interface de l'application de manière qu’elles déchargées
de tout traitement.
En effet, le traitement est ainsi assuré par le serveur d'application, qui sert de liaison entre
l'interface applicative et les données localisées au niveau du serveur de données.

Figure : Architecture 3 tiers


II. Méthodologie de conception
Pour élaborer cet application on doit établir une conception modeste pour attentera le but
de notre projet pour cela on doit choisira un langage de conception adaptable avec notre
besoins.

I. Langage UML
« UML » (en anglais Unified Modeling Language ou langage de modélisation unifié) est
un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde de
génie logiciel, dans le cadre de la « conception orientée objet ».
Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de systèmes
ne se limitant pas au domaine informatique.
Les 14 diagrammes UML sont dépendants hiérarchiquement et se complètent, de façon à
permettre la modélisation d'un projet tout au long de son cycle de vie. Ces diagrammes sont :

 Diagrammes structurels ou statiques:


- Diagramme de classes
- Diagramme d'objets
- Diagramme de composants
- Diagramme de déploiement
- Diagramme des paquetages
Diagramme de structure composite
- Diagramme de profils
 Diagrammes comportementaux :
- Diagramme des cas d'utilisation
- Diagramme états-transitions
- Diagramme d'activité
- Diagrammes d'interaction ou dynamiques :
- Diagramme de séquence
- Diagramme de communication
- Diagramme global d'interaction
- Diagramme de temps

II. Utilisation de l’UML


L’UML est un langage formel et normalisé en termes de modélisation objet. Son
indépendance par rapport aux langages de programmation, son caractère polyvalent et sa
souplesse ont fait de lui un langage universel. En plus UML est essentiellement un support de
communication, qui facilite la représentation et la compréhension de solution objet. Sa
notation graphique permet d’exprimer visuellement une solution objet, ce qui facilite la
comparaison et l’évaluation des solutions. L’aspect de sa notation, limite l’ambigüité et les
incompréhensions.

III.Diagramme de séquence

Le diagramme de séquence décrit l’aspect dynamique du système. Il modélise les


interactions entre les objets ou entre utilisateur et objet, en mettant l’accent sur la chronologie
des messages échangés. Dans ce qui suit, nous allons dresser les diagrammes de séquences de
chaque cas d’utilisation.

III.1 Le cas d’utilisation « s’authentifier »

C’est le premier scénario qui se déroule lors du déclenchement de


l’application. Selon la Figure, le visiteur est invité à saisir ses paramètres de
connexion. Le système vérifie la disponibilité du login et du mot de passe, pour
donner ensuite accès aux fonctionnalités de l’application.
Figure : diagramme de séquence d’authentification

A chaque fois que le système reçoit une demande d’authentification de la part


d’un utilisateur, il lui demande de saisir son E-mail et son mot de passe. Clients saisit ses
données qui seront vérifiées par le système.
Si les données sont correctes, l’authentification est validée, sinon il sera demandé à clients
de refaire la saisie. Une fois l’opération d’authentification est achevée avec succès, clients
peut accéder à l’espace de travail.

IV. Diagramme d’activités

Un diagramme d'activités permet de modéliser un processus interactif,


global ou partiel, pour un système donné (logiciel, système d'information). Ce
diagramme est recommandé pour exprimer une dimension temporelle sur une partie
du modèle, à partir des diagrammes des classes ou de cas d'utilisation, par
exemple. En d’autres termes, le diagramme d'activités est une représentation
proche de l'organigramme. Il nous permet de voir le comportement interne du
système.
Une activité est l'exécution d'une partie du cas d'utilisation. Elle est représentée par
un rectangle aux bords arrondis. Le passage d’une activité à une autre se fait par une
flèche appelée "flèche de transition", liant séquentiellement les états d’activité entre eux.

La figure ci-après présente les diagrammes d’activités pour quelques cas d’utilisation
dans notre système.

1. Diagramme d’activité d’inscription de visiteur :

Figure  : Diagramme d’activité d’inscription de visiteur


Diagramme d’authentification d’annonceur :

Figure : Diagramme d’activité d’authentification d’annonceur

V. Le diagramme de classe
Le diagramme de classes est une modélisation statique du système en termes de classes
et de relations entre ces classes. Son intérêt réside dans la modélisation des entités du système
d’information.

III. Processus Unifié (UP) :


Le processus unifié est un processus de développement logiciel itératif, centré sur
l’architecture, piloté par des cas d’utilisation et orienté vers la diminution des risques. C’est
un parton de processus pouvant être adapté à une large classe de système logicielles, a
différents domaines d’application, a différents types d’entreprise, à différents niveaux de
compétences et a différentes tailles de l’entreprise.
Le Processus Unifié (UP) est piloté par les cas d’utilisation (eux) même guidés par les
risques) centré sur l’architecture, itératif et incrémentale.
Le projet sera donc mené selon les besoins et les exigences (fonctionnelles et non
fonctionnelles) : points d’entrée sur lesquels l’analyse des risques va principalement s’exercer
pour organiser les plans il définit donc 4 phases :
Inception/Création (courte pour estimer, planification, partager un même vison du
problème, et engager les hostilités),
Elaboration (architecture définie, risque majeurs levés, exigences très avancées,
programmation largement engagée)
Construction (plus d’itération mais plus courtes ; développement de toutes les fonctionnalités,
doc incluse)
Transition (préparation du lancement, tests beta, formation des utilisateurs,
optimisation…)

IV. Cycle de vie du processus unifié :


L’objectif d’un processus unifié est de maitriser la complexité des projets informatique
en diminuant les risques. UP est un ensemble de principes génériques adapté en fonctions des
spécificités des projets.

Conclusion :
Dans ce chapitre nous avons décrit la méthode conceptuelle utilisé pour notre
conception dont on a essayé de se référencier sur notre analyse fonctionnelle tout en se
concentrant sur l’architecture de notre projet.
Dans le chapitre suivant nous allons décrire les outils techniques et technologie utiliser
notre application tout en présentant l’interface homme machine que nous avons
développée.
Chapitre IV
Chapitre7Réalisation
Introduction :
Dans ce chapitre, nous allons présentation, tout d’abord, l’environnement matériel et
logiciel de développement que nous avons utilisé pour l’implémentation de notre solution. Par
la suite nous intéresserons à décrire les langages utilisés pour développer le système, enfin on
va présenter les résultats de notre contribution.

I. Environnement du travail 

Le choix de système Android OS et les programmes de développement est requis pour


réaliser notre application, ce chapitre couvre les prés requis matériels et logiciel qui sont
utilisés pour la réalisation de notre application.

1. Environnement matériel :
Pour la réalisation de l’application :
 Un pc bureautique pour le développement ayant les caractéristiques
suivantes :
 Intel core i3 2.53GHZ.
 2 Go de mémoire vive.
 Windows 10– 64 bits.
 Un Smartphone Samsung Young pour réaliser les tests.

2. Environnement logiciel et langage :


a) Android Studio

Jusqu'à Mai 2013, pour développer des applications pour Android, Google mettait en
avant l'utilisation d'Eclipse couplé avec le Plugin ADT (Android Développement Tools).
Cette première solution a tout de même permis à Google de posséder le Store d'application le
plus riche. Eclipse est un IDE qui a été développé par IBM puis est passé open source en
2001, la Fondation Eclipse gère maintenant l'IDE. Eclipse possède les avantages d'être
modulable ainsi que multiplateforme. C'est durant la Google I/O de 2013, que Google a
montré la première version d'Android Studio. En Access preview au départ pour sa version
0.1, puis passé en béta en juin 2014 pour la version 0.8, cet IDE n'a pas été développé de
zéro mais est basé sur l'IDE de JetBrains, IntelliJ IDEA. Cette société propose de nombreux
IDE pour différents langages (PHP Storm, Ruby Mine, ...) mais qui sont tous payant. Dans sa
dernière version, Android Studio offre toutes les possibilités nécessaires pour développer une
application Android complète.

Firbase :
Firebase est une plate-forme de développement
d'applications mobiles et Web qui fournit aux développeurs
une pléthore d'outils et de services pour les aider à
développer des applications de haute qualité, à élargir leur
base d'utilisateurs et à générer davantage de profits.

Les origines

En 2011, avant que Firebase ne devienne Firebase, c'était une startup appelée Envolve.
En tant qu'Envolve, il fournissait aux développeurs une API qui permettait d'intégrer une
fonctionnalité de chat en ligne sur leur site Web.Ce qui est intéressant, c'est que les gens
utilisaient Envolve pour transmettre des données d'application qui n'étaient pas que des
messages de discussion. Les développeurs utilisaient Envolve pour synchroniser les données
d'application, telles que l'état d'un jeu en temps réel avec leurs utilisateurs. Cela a conduit les
fondateurs d'Envolve, James Tamplin et Andrew Lee, à séparer le système de discussion et
l'architecture en temps réel. En avril 2012, Firebase a été créée en tant qu'entreprise
indépendante fournissant des fonctionnalités en temps réel en tant que Backend-as-a-Service.
Après son acquisition par Google en 2014, Firebase a rapidement évolué pour devenir le
monstre multifonctionnel pour plate-forme mobile et web qu'elle est aujourd'hui.

Les services de Firebase

Les services de Firebase peuvent être divisés en deux groupes :


Figure 1: image de services de Firebase
Développer et tester son application :

 Realtime Database
 Auth
 Test Lab.
 Crashlytics
 Cloud Fonctions
 Firestore
 Cloud Storage
 Performance Monitoring
 Crash Reporting
 Hosting
Grandir et engager son public :

 Firebase Analytics
 Invites
 Cloud Messaging
 Prédictions
 Ad Mob
 Dynamic Links
 AdWords
 Remote Config
 App Indexions

b) StarUML :

Diagramme de classe dans l'éditeur StarUML


Développeur Plastic Software aidé de la communauté
Dernière version 5.0 (30 décembre 2005)
Environnements Microsoft Windows
Licence GPL Modifiée
Site web staruml.sourceforge.net

StarUML est un logiciel de modélisation UML, cédé comme open source par son


éditeur, à la fin de son exploitation commerciale, sous une licence modifiée de GNU GPL.
L'objectif [Par qui ?] de la reprise de ce projet était de se substituer à des solutions commerciales
comme IBM Rational Rose ou Borland Together. StarUML gère la plupart des diagrammes
spécifiés dans la norme UML 2.0. StarUML est écrit en Delphi[1], et dépend de composants
Delphi propriétaires (non open-source), ce qui explique peut-être pourquoi il n'est plus mis à
jour
Formats d’export : L'export peut se faire dans les formats JPEG et WMF. Les formats SVG
et PNG ne sont pas pris en charge.

c) React Native

React Native est un Framework javascript open source pour développer des
applications iOS et Android. Il permet un rendu natif, fluide et performant avec un seul code à
développer et à maintenir simultanément sur iOS et Android. BAM a construit la plus grande
équipe experte en React Native de France pour vous accompagner au mieux sur cette
technologie.
Qu’est-ce que React Native ?
React Native est un Framework développé par les équipes de Facebook à partir de
2015 dans le but d’accélérer le développement et la maintenance de leurs applications
mobiles. Cette technologie multi-plateforme a gagné une immense popularité depuis son
lancement et est l’un des projets les plus populaires sur GitHub avec plus de 2000
contributeurs.

Pourquoi choisir React Native pour développer son application  ?


Les avantages de React Native sont multiples : code compatible iOS et Android,
facilité de la maintenance, une équipe unique multi-plateforme, performance et expérience
native. Tous ces avantages contribuent à la vitesse de développement de votre projet.

Dans une industrie ou ce n’est pas le gros qui mange le petit, mais le rapide qui mange le lent,
le time-to-market est l’indicateur de performance clé de votre projet.

Comment accélérer l’évolution de votre application mobile avec React Native ?

Lorsque vient le sujet de la refonte de votre application mobile, de nombreuses


questions se posent : dois-je repartir de 0 ? quelle technologie utiliser ? Comment recruter
mon équipe ? Entre application native, application multi-plateformes et progressive web-app
(PWA), il est parfois difficile de s’y retrouver. Dans cet clients , nous vous donnons les clefs
pour faire évoluer votre application mobile et accélérer son développement.

Java :
Java est un langage de programmation créé par James Gosling et
Patrick Naughton et lancé le 23 mai 1995. Java est l’un des deux
langages de programmation les plus employés à l'heure actuelle,
notamment pour des programmes de gestion des entreprises ou
de création de jeu vidéo. Du fait du développement de
l’informatique, ce langage est de plus en plus utilisé par les entreprises, entrainant une
augmentation d’emplois et de métiers dans ce domaine et un intérêt de plus en plus grand
pour ce langage qui peut être appris aujourd’hui dans de nombreuses écoles, ou encore sur
internet à l’aide de plusieurs plateformes comme YouTube ou Open Classroom. Il ressemble
au C++ mais leurs différences font qu'ils ne sont généralement pas utilisés pour les mêmes
choses :

 Java s'exécute dans une machine virtuelle : il est donc plus lent que C++ mais dispose
d'un ramasse-miettes qui simplifie la gestion de la mémoire ;
 Il est plus facile de faire des interfaces graphiques, du multithreading, du réseau , etc.
en Java qu'en C++ ;
 Java est plus simple d'accès que le C++ (moins de symboles, moins de notions proches
du C) mais le C++ permet des constructions plus puissantes et personnalisées ;
 Grâce à sa machine virtuelle, Java est multi-plateforme .
3. Description des interfaces de l’application :
Dans ce qui suit nous présentons les différentes interfaces de l’application en citant les
détails de chaque imprime écran.
Conclusion générale

Conclusion générale
.
Bibliographiques et Webgraphie

Bibliographie et Webgoraphie
Annexes

Vous aimerez peut-être aussi