Vous êtes sur la page 1sur 55

REPUBLIQUE DU SENEGAL

*********

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE ET DE


L’INNOVATION

*********

DIRECTION GENERALE DE L’ENSEIGNEMENT SUPERIEUR (DGES)

DIRECTION DE L’ENSEIGNEMENT SUPERIEUR PRIVE

HAUTE ECOLE DE MANAGEMENT ET DE


L’INFORMATIQUE

MEMOIRE DE FIN DE PARCOURS POUR L’OBTENTION DU DIPLÔME


D’INFORMATIQUE GENERALISTE
THEME :

CONCEPTION ET IMPLEMENTATION D’UNE


APPLICATION MOBILE POUR LES ANNONCES DE
PERTE DES PIECES ADMINISTRATIVES SOUS
ANDROID

Présenté par :
Thierno Abdourahmane Niang Encadré par :
Mouhamed Kane Mr SAMBA BERY KANE
Ousmane Diop

1
DEDICACE
Louange A Dieu, le miséricordieux, sans Lui rien de tout cela n’aurait pu être.

On dédie ce modeste travail :

En hommage à mon regretté ami Makhary Séne, que Dieu l’accueille dans son vaste paradis.

A nos mères et à nos pères.


Ainsi que tous les membres de nos familles pour leurs encouragements permanents. Que Dieu
leur donne une très longue vie et une santé de fer.

REMERCIEMENT
Avant tout, merci DIEU de nous avoir donné le courage, la volonté et la patience de mener ce
travail à terme.
Ensuite, il n’aurait pas pu être achevé sans le soutien, les conseils et l’aide de certaines
personnes auxquelles on tient ici à exprimer nos sincères remerciements.
 Nos sincères remerciements vont à l’équipe pédagogique de HEMI qui nous a
accompagné durant tout notre cursus.
 A notre encadreur à l’occurrence Monsieur KANE, pour sa disponibilité, son aide et
sa compréhension
 Mention spéciale à Mariéme, Coumba, Mr Touré et Mme Fall qui nous ont accompagné
durant tout notre cursus.
 Nous remercions aussi nos professeurs pour leurs enseignements de qualité et mention
spécial à Mr Diaw, l’expérience acquis dans ses cours de java-oracle nous a beaucoup
servis dans ce projet.
 Nos sincères remerciements s’adressent à nos parents, nos frères, nos sœurs ainsi qu’à
toute la famille pour leurs soutiens moraux, leur encouragement inconditionnel, et
surtout pour la confiance qu’ils nous accordent.
 Enfin, Nous remercions tous ceux qui ont contribué de près ou de loin à l’élaboration
de ce travail, en particulier tous nos ami(e)s pour leurs soutiens moraux et leurs
présences à nos côtés.

2
SIGLES ET ABRREVIATIONS:
SDK Software Développement Kit
SGBD Système de Gestion de Bases de Données
UML Unified Modeling Language
XML extensible Markup Language
API Application Programming Interface
JSON Java Script Object Notation
HTML HyperText Markup Language

LISTE DES FIGURES :


 Figure 1 : Cas d’utilisation globale
 Figure 2 : Authentification
 Figure 3 : Cas d’utilisation « Gestion des annonces »
 Figure 4 : Cas d’utilisation « Gestion des Comptes »
 Figure 5 : Cas d’utilisation « Gestion des Utilisateurs »
 Figure 6: Cas d’utilisation « Gestion des Commentaires »
 Figure 7: Diagramme de séquence Ouverture de compte.
 Figure 8: Diagramme de séquence Authentification.
 Figure 9: Diagramme de séquence Annonce.
 Figure 10: Diagramme de séquence authentification administrateur.
 Figure 11 : Diagramme de classe.
 Figure 12 : Cycle de vie d’une activité Android.
 Figure13 : Architecture ANDROID

TABLEAUX :
 Tableau 1 : Fiche de description du diagramme de cas d’utilisation Authentification.
 Tableau 2 : Fiche de description du diagramme de cas d’utilisation Gestion des annonces.
 Tableau 3 : Fiche de description du diagramme de cas d’utilisation Gestion des Comptes.
 Tableau 4 : Fiche de description du diagramme de cas d’utilisation Gestion des utilisateurs.
 Tableau 5 : Fiche de description du diagramme de cas d’utilisation Gestion des
commentaires.

3
SOMMAIRE :
INTRODUCTION

 Partie I : Cadre théorique et conceptuel de l’application


Chapitre 1 : Cadre théorique
Section1 : Revue de la littérature
Section2 : Description de l’application et Spécification des besoins
Chapitre 2 : Conception de l’application
Section1 : Diagramme des cas d’utilisation
Section 2 : Diagramme des classes et Diagramme de séquence

 Partie II: Cadre Méthodologique et présentation de la solution


Chapitre 3 : Implémentation
Section1 : Architecture logicielle
Section 2 : Technologies utilisées et Environnement de travail
Chapitre 4 : Présentation de la solution
Section 1 : Présentation de l’application mobile
Section 2 : Présentation de l’application web
CONCLUSION

4
INTRODUCTION

5
INTRODUCTION :
Depuis la fin du XIXe siècle, les hommes ont pris l’habitude de communiquer rapidement et à
grande distance, d’abord grâce au télégraphe puis au téléphone et désormais via Internet. De
nos jours, l’informatique et les télécommunications occupent une place prépondérante dans
notre vie, qu’elle soit professionnelle ou privée.
À une époque où communication et technologie sont les maîtres mots de notre monde, on ne
peut douter que l’avenir de l’informatique soit de grandir et de se développer et plus précisément
l’informatique mobile qui seul à lui est un moyen de communication important qui occupe une
large place dans le domaine d’information et de la télécommunication mobile.
La télécommunication mobile qui jadis se limitait à l’envoi de messages texte ou à de simples
appels téléphonique est entrée dans une phase de maturité ou applications mobiles et terminaux
mobiles sont les principaux acteurs et cela ne cesse d’évoluer vers une nouvelle ère de plus en
plus dématérialisé qu’est le Cloud computing.
Ainsi, ayant vue l’importance des applications mobiles au sein de la télécommunication mobile
et dans le cadre de notre préparation au diplôme de licence en INFORMATIQUE
GENERALISTE, nous avons été amenés à développer une application mobile pour le domaine
publique Sénégalais qui servira à aider les gens à retrouver leurs pièces administratives perdus
d’une manière plus rapide et plus pratique via leur smartphone.
Notre travail consiste en la conception et l’implémentation d’une application mobile sous
Android qui facilitera aux ménages la recherche de leurs pièces perdues mais aussi de partager
des pièces retrouvées sans qu’ils est à se déplacer dans les médias pour publier ou à la police
pour en refaire une autre.

Contexte et Problématique :
Les applications mobiles sont actuellement en pleine croissance grâce aux succès des
Smartphones entre autres ceux qui tournent sous Android OS. Cette tendance offre aux
entreprises de formidables opportunités pour créer de nouveaux services ou élargir ces supports
de communication. Mais aussi elle offre aux populations de créer des activités économiques en
vendant des services grâce à des solutions numériques et aux consommateurs de satisfaire leurs
besoins sans pour autant se déplacer physiquement.
Malgré cette évolution de la technologie Internet et des téléphones intelligents, nous entendons
et parlons toujours de la perte des pièces et d’où la solution pour la plupart des personnes est
d’aller à la police et en refaire une autre ou d’aller dans les médias pour annoncer des pièces
perdues ou retrouvés.
Pour remédier à ça, nous avons pensé à développer une application mobile nommée SAMA-
PIECE pour aider les ménages de retrouver leurs pièces perdues, en leur créant une application
mobile sous Android. Ce qui va améliorer la recherche de pièce d’une manière plus efficace,
plus efficient et à proximité des usagers.
Cette application permettra aussi aux propriétaire de créer des revenus en vendant ses services
pour tous utilisateurs ayant retrouvé leur pièce dans l’applications. Car il pourra imposer des
frais de retrait aux propriétaire mais aussi afin d’inciter les gens à s’investir, chaque publicateur
aura sa part dans chaque retrait. D’où la création d’une activité économique.

6
Le nombre d'utilisateurs de Smartphones qui ne cesse d'augmenter permettra à l’application de
mieux se positionner sur le marché et d'être plus compétitif.

Objectif du projet :
Ainsi, l'objectif de notre projet est de réaliser ce besoin en développant une application mobile
sous Android qui permet à la demande publique de réaliser un pas de plus vers les nouvelles
technologies. Et pour commencer nous allons d’abord essayer de comprendre le système
Android en générale, dans un deuxième lieu nous choisissons une architecture logicielle afin
d’implémenter les différents modules logiciels de l’application. Ensuite, nous procédons à la
conception. Et enfin, nous développons l’application.

Etude de l’existant :
L’étude de l’existence est une phase important pour bien comprendre le système actuel et
dégager les nouveaux besoins qui n’étaient pas envisagés afin de mettre en place une nouvelle
solution convenable. Elle permet aussi de comprendre l’utilisation des technologies récentes et
des langages de programmation grâce à la similitude des applications.
Après les recherches réalisées, nous avons remarqué que notre idée n’est pas encore réalisée.
Mais suivant les besoins fonctionnelles notre application est plus similaire aux applications des
sites d’information.
Ces applications proposent les fonctionnalités suivantes :
 Publication d’annonce par l’administrateur
 Publication et affichage des commentaires
 Aimer les publications
Elle a aussi des fonctionnalités similaires aux boutiques en ligne (ex : JUMIA). Comme le fait
de contacter les vendeurs, s’inscrire comme utilisateur pour vendre ses produits ou rester un
simple visiteur pour consulter les produits.

Acteurs de l’application :
Cette application est à la portée de tous les utilisateurs d’Android, elle est destinée au " grand
public ".

Plan de travail :
Ce mémoire est composé de deux partie, une partie théorique et une partie pratique. Ces derniers
sont composés à leur tour de deux chapitres.

 CHAPITRE 1 : CADRE THEORIQUE


 CHAPITRE 2 : CONCEPTION DE L’APPLICATION
 Chapitre 3 : Implémentation de la solution
 Chapitre 4 : Présentation de la solution

7
PREMIERE PARTIE : Cadre théorique et
conception de l’application

8
CHAPITRE 1 : CADRE THEORIQUE
Section1 : Revue de la littérature
Sur cette partie de l’étude nous allons essentiellement fonder nos arguments sur des preuves
scientifiques relevées sur des ouvrages, revues et autres documents utiles à travers lesquels des
auteurs, experts, spécialistes et professionnels se sont exprimés sur les NTIC nouvelles
technologie de l’information et de la communication notamment sur les applications mobiles.

I. Les appareils mobiles :


L’historique des téléphones mobiles commence le 3 Avril 1973 avec un ingénieur senior
travaillant pour Motorola et qui s’appelle Martin Cooper, Martin a utilisé un téléphone portable
pour appeler un concurrent potentiel sur le marché de la téléphonie mobile ; tandis que les
applications mobiles sont apparues dans les années 1990, elles sont liées aux développements
d’Internet et des télécommunications, des réseaux sans fils et des technologies agents, et à
l’apparition et la démocratisation des terminaux mobiles : smartphones, tablettes tactiles...
Un appareil mobile (traduction littérale du terme anglophone « mobile device ») est un appareil
informatique portatif utilisable de manière autonome lors d’un déplacement. Les appareils
mobiles sont de petite taille certains peuvent être mis dans les poches. Ils sont typiquement
dérivés des téléphones mobiles, et permettent d’accéder au Web, de lire du courrier
électronique, de prendre des photos, de jouer à des jeux vidéo, d’écouter de la musique, de
regarder des clips vidéo ou bien de télécharger des applications.
Ils peuvent également comporter un calendrier ou un carnet d’adresses. La plupart des appareils
mobiles n’ont pas de disque dur et les programmes sont enregistrés sur des mémoires internes
ou des cartes. Ils fonctionnent sur batterie, ont un écran de petite taille, un clavier dépouillé, et
peu de puissance de calcul. Ils sont typiquement d’usage personnel Il est souvent possible de
les relier à un ordinateur.
Comme toute appareil informatique, les smartphones ont leurs propres systèmes d’exploitation.
Il existe sur le marché des dizaines de systèmes d’exploitation différents : Symbian OS de
Nokia, iOS d’Apple, BlackBerry OS de RIM, Windows Phone de Microsoft, Bada de Samsung
et Android de Google ...etc.

II. Les Applications Mobiles :


Une application mobile est un logiciel applicatif développé pour un appareil électronique
mobile, tel qu’un assistant personnel, un téléphone portable, un smartphone, un baladeur
numérique, une tablette tactile, ou encore certains ordinateurs fonctionnant avec le système
d’exploitation Windows Phone ou Chrome OS.
Elles sont pour la plupart distribuées depuis des plateformes de téléchargement (parfois elles-
mêmes contrôlées par les fabricants de smartphones) telles que l’App Store (plateforme
d’Apple), le Google Play (plateforme de Google / Android), ou encore le Microsoft Store
(plateforme de Microsoft pour Windows 10 Mobile).
Mais des applications peuvent aussi être installées sur un ordinateur, grâce par exemple au
logiciel ITunes distribué par Apple pour ses appareils. Les applications distribuées à partir des
magasins d’applications sont soit payantes, soit gratuites, mais généralement avec des
publicités.

9
Sur certaines plateformes, les applications peuvent aussi être installées à partir de sources
tierces, via un site non affilié au distributeur d’origine.
Sur Android, cela est possible en activant le mode développeur.
Sur iOS, cette manipulation est possible soit en étant développeur Apple, soit en possédant un
appareil Jailbreaké.

III. Les applications androïde :


a. Présentation
Une application Android est une application mobile spécifiquement développée pour les
smartphones et les tablettes utilisant le système Android. Elles sont de nature très variables
tel que les applications jeux, mobile commerce, utilitaire, service d’information.
Sous Android, une application est composée d’une ou plusieurs activités. Une activité est
la base d’un composant pour la création d’interfaces utilisateur. Afin de faciliter la
cinématique de l’application, il est préconisé de n’avoir qu’une interface visuelle par
activité.

b. État d’une application :


Une application Android peut se trouver dans des états différents qui sont : en cours
d’exécution, en pause, stopper et tuer.
1. En cours d’exécution : l’activité se trouve au premier plan et reçoit les interactions
utilisateurs.
Si l’appareil a besoin de ressources, l’activité se trouvant en bas de la back stack.
2. Pause : l’activité est visible mais l’utilisateur ne peut pas interagir avec.
La seule différence avec l’état précédent est la non-réception des évènements utilisateurs.
3. Stopper : l’activité n’est plus visible mais toujours en cours d’exécution.
Toutes les informations relatives à son exécution sont conservées en mémoire.
Quand une activité passe en état stopper, vous devez sauvegarder les données importantes et
arrêter tous les traitements en cours d’exécution.
4. Tuer : l’activité est tuée, elle n’est plus en cours d’exécution et disparaît de la back stack.
Toutes les données présentes en cache non sauvegardées sont perdues.

c. Cycle de vie d’une activité Android :


Par défaut, chaque application Android s’exécute dans un processus séparé.
Android gère les ressources disponibles dans un appareil et peut, si besoin, fermer des
applications pour libérer des ressources (hors application en cours d’exécution). Le choix de
l’application à fermer dépend fortement de l’état du processus dans lequel elle se trouve.
Si Android doit choisir entre deux applications se trouvant dans le même état, il choisira celle
qui se trouve dans cet état depuis plus longtemps.

10
Le cycle de vie d’une activité est assez complexe et sa compréhension est indispensable dans
le développement Android.
Le schéma ci-dessous résume ce cycle de vie :

11
Figure 12 : Cycle de vie d’une activité Android.

Lors du lancement d’une activité, la méthode onCreate est appelée. Dans cette méthode, vous
devez initialiser votre vue et lier les données à une liste.
Cette méthode prend en paramètre un Bundle (pile) contenant l’état précédent de l’activité.

12
Cet appel est suivi par la méthode onStart afin de signifier le lancement effectif de l’application
(elle est maintenant visible). Cette méthode peut aussi être appelée par la méthode onRestart.
Puis la méthode onResume est appelée afin d’exécuter tous les traitements nécessaires au
fonctionnement de l’activité (thread, processus, traitement), initialiser des variables et les
listeners.
Ces traitements devront être arrêtés lors de l’appel à la méthode onPause et relancés si besoin
lors d’un futur appel à la méthode onRésume. Après ces trois appels, l’activité est utilisable et
peut recevoir les interactions utilisateurs.
Si une autre activité passe au premier plan, l’activité en cours d’exécution passera en pause.
Juste avant l’appel à la méthode onPause, la méthode onSaveInstanceState est appelée afin de
vous permettre de sauvegarder les informations importantes portées par l’activité.
Ces informations pourront être appliquées aux futurs lancements de l’activité lors de l’appel à
la méthode onRestoreInstanceState ou de l’appel à onCreate.
La méthode onPause permet de stopper tous les traitements effectués (traitement non nécessaire
si l’activité n’est pas visible) par l’activité (traitement, thread, processus). Si votre activité est
de nouveau visible, cela correspondra à un appel à la méthode onResume.
Le passage de l’activité à l’état “stopper” correspond à un appel à la méthode onStop.
Dans cette méthode, il faut arrêter tous les traitements restants. Une fois stoppée, votre activité
peut :
- Soit être relancée : cela s’effectue par un appel à la méthode onRestart suivi du cycle de
vie normal de l’activité.
- Soit être tuée : cela s’effectue par un appel à la méthode onDestroy, dans laquelle vous
devez arrêter tous les traitements restants, fermer toutes les connexions à la base de
données, tous les threads, tous les fichiers ouverts, etc. Vous pouvez provoquer l’appel
à la méthode onDestroy en utilisant la méthode finish.

13
Figure13 : Architecture ANDROID

14
SECTION 2 : Description de l’application et Spécification des
besoins
I. DESCRIPTION DE L’APPLICATION
Notre application est une plateforme de visualisation et de publication d’annonces
de perte basées sur le système Android. Elle sera disponible gratuitement sur
Google pour permettre aux utilisateurs de Smartphones de pouvoir le télécharger
et l'installer en toute simplicité. L’administration se fera via une application web.
L'objectif de la plateforme est de faciliter la recherche et la gestion des annonces
de perte des pièces administratives façon rapide et efficace et d’assurer leur
proximité vis-à-vis des utilisateurs en intégrant plus de fonctionnalités que celles
offertes par des solutions similaires et une méthode plus efficace que celle utilisé
par les médias et réseaux sociaux.
II. ANALYSE ET SPECIFICATION DES BESOINS :
Une étape essentielle de tous cycle de développement logiciel ou conceptuel
consiste à effectuer une étude préalable des besoins. Il s’agit d’éclaircir au mieux
les besoins fonctionnels et non fonctionnels, identifier les acteurs et exprimer les
besoins sous forme de diagramme de cas d’utilisation à travers le langage de
modélisation UML. Pour mieux comprendre le système, nous allons expliquer
dans ce qui suit les besoins fonctionnels et non fonctionnels de l’application et
dans le chapitre suivant nous allons détailler les scénarios par les diagrammes des
cas d’utilisation, les diagrammes de séquences et les diagrammes de classe.
SPECIFICATION DES BESOINS :
L’analyse et la spécification des besoins représentent la première phase du cycle
de développement d’un logiciel. Elle est déterminante parce qu’elle permet
d’identifier les besoins et de décrire notre application. Nous distinguons les
besoins fonctionnels qui présentent les fonctionnalités attendues de notre
application et besoins non fonctionnels qui étudient tous les contraintes
techniques, ergonomiques et esthétiques auxquelles est soumis le système pour sa
réalisation et son bon fonctionnement.
a. Les besoins fonctionnels :
Dans cette partie, nous listons toutes les modules qui seront disponible dans
l’application et les fonctionnalités correspondantes.
 GESTION DES UTILISATEURS
 Afficher le profil d’un utilisateur
 Lister les utilisateurs
 Trier les utilisateurs
 Supprimer un utilisateur

15
 Contacter utilisateur
 Sondage des utilisateurs
 GESTION DES ANNONCES
 Gérer annonces
 Publier annonce
 Supprimer annonce
 Mettre à jour annonce
 Commenter les annonces
 Archiver une annonce
 Partager annonce
 Consulter annonces
 Aimer une annonce
 Rechercher annonce
 Lister annonce
 Trier annonce
 Signaler annonce

 Administrer les annonces
 Sondage des annonces
 Bloquer annonce
 GESTION DES COMPTES
 Créer compte
 Gérer compte
 Se connecter
 Se déconnecter
 Mise à jour de compte
 Supprimer compte
 Administrer compte
 Bloquer compte
 Sondage des comptes

 GESTION DES COMMENTAIRES


 Gérer commentaires
 Ajouter commentaire
 Supprimer commentaire
 Administrer les commentaires
 Suivi des commentaires

16
 Gestion des réponses
 Sondage des commentaires
Quant aux droits d’accès, il y a trois niveaux définis en fonction du statut de
l’utilisateur. Le niveau le plus élevé possède des droits les plus importants et
correspond à celui de l’administrateur. Les trois niveaux de droits définis sont les
suivants :

- Niveau 1 : Statut Administrateur, le plus élevé. Il a accès à tous les


fonctionnalités à travers son panel d’administration qui sera une application
web conçu sous PHP.
- Niveau 2 : Statut Utilisateur (avec un compte utilisateur)
 Gérer annonces

 Publier annonce
 Supprimer annonce
 Mettre à jour annonce
 Commenter les annonces
 Archiver une annonce
 Partager annonce

 Consulter annonces

 Aimer une annonce


 Rechercher annonce
 Lister annonce
 Trier annonce
 Signaler annonce

 Créer compte
 Gérer compte
 Se connecter
 Se déconnecter
 Mise à jour de compte
 Supprimer compte

 Gérer commentaires
 Ajouter commentaire

17
 Supprimer commentaire

- Niveau 3 : Statut Visiteur, le plus faible.


 Consulter annonces
 Rechercher annonce
 Lister annonce
 Trier annonce
b. Les besoins non fonctionnels :
Les besoins non fonctionnels spécifient les propriétés du système telles que les
contraintes d'environnement et d'implémentation, la performance, la
maintenance, l'extensibilité et la flexibilité. Certains besoins non fonctionnels
sont généraux et ne peuvent pas être rattachés à un cas d'utilisation particulier.
Et parmi les contraintes nous avons :
 Les contraintes Ergonomique et de souplesse :
Les contraintes ergonomiques sont les contraintes liées à l'adaptation
entre les fonctionnalités de l'application, leurs interfaces et leur
utilisation. L’application doit offrir une interface conviviale et
ergonomique exploitable par l’utilisateur en envisageant toutes les
interactions possibles à l’écran du support tenu :
 Interface simple et compréhensible.
 Accès rapide de l'information.
 L'organisation des rubriques, des onglets, etc.
 Les contraintes techniques :
 Il faut que toute interface de l'application soit homogène, en effet,
les différentes pages doivent suivre le même modèle de
représentation (couleurs, images, textes défilants, etc.).
 Le code doit être extensible et maintenable pour faciliter toute
opération d'amélioration ou d'optimisation
 Les contraintes de matériel :
 L'application sera installée sur un téléphone mobile Android.
 L’administration se fera via une application web connecter à un
serveur.
 L’Efficacité : l’application doit être fonctionnelle indépendamment de
toutes circonstances pouvant entourer l’utilisateur ;
 Sécurité :
 L’application devra être hautement sécurisée car certaines
informations et fonctionnalité ne devront pas être accessibles à
tout le monde mais aussi pour éviter les cyber-attaque.

18
 En plus de cela il faudra filtrer les publications de sorte qu’elles
soient uniquement des annonces de perte des pièces
administratives.
 L’application doit optimiser les traitements et l’utilisation de ses
ressources (autonomie batterie, mémoire disponible. . ..) afin de ne pas
épuisé ses dernières dans des requêtes inutiles ;
 Existence d’un réseau Wifi (Réseau sans fil) et d’un GPS;
 L’accès à la base de données doit être souple et rapide ;
 Rapidité du traitement : l’application doit assurer une rapidité de
traitement pour qu’elle s’approche au maximum d’une exécution en
temps réel ;
 L’application doit être disponible pour être utilisé par n’importe quel
utilisateur sous Android;
 L’application doit être évolutive.

19
CHAPITRE 2 : CONCEPTION DE L’APPLICATION
Pour présenter les besoins des utilisateurs sous une forme graphique facilement compréhensible
par toutes les personnes impliquées dans notre projet, nous avons utilisé le langage de
modélisation UML (Unified Modeling Language). Ce dernier a été choisi en raison de la place
prépondérante qu’elle occupe dans le génie logiciel. En effet, UML est le langage consensuel
qui est adopté dans la plupart des projets de construction de système logiciel. C’est une notation
graphique destinée à la création de modèles orientés objet en vue de conception et de l’analyse
des systèmes.
Les différents diagrammes utilisés sont : les diagrammes de cas d’utilisation, les diagrammes
de classes et les diagrammes de séquence. Ci-dessous, nous allons présenter les différentes
étapes de la modélisation avec les diagrammes utilisés.

SECTION 1 : Diagramme des cas d’utilisation


Dans cette partie, nous allons établir un des modèles, en l’occurrence celui avec qui débute la
phase d’analyse d’un système. Il s’agit des diagrammes des cas d’utilisation. Ils sont un moyen
simple de recueillir, d’analyser et d’organiser les besoins, surtout pour des maître d’ouvrages
et des utilisateurs qui ne sont pas des informaticiens. Ils permettent ainsi de recenser les grandes
fonctionnalités de notre application.
L'analyse des fonctionnalités prévues dans le cahier des charges, nous permet de dégager ou
encore d’identifier les cas d'utilisation de notre application.
Les diagrammes de cas d’utilisation sont composés d’acteurs et de cas d’utilisation. Un acteur
est un utilisateur, humain ou non, du système qui est doté d’un nom qui correspond à son rôle.
Un cas d’utilisation est une manière spécifique d’utiliser le système. Il permet de décrire ce que
le futur système devra faire, sans spécifier comment il le fera.

I. Identification des acteurs :


Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif matériel
ou autre système) qui interagit directement avec le système étudié. Un acteur peut consulter
et/ou modifier directement l’état du système, en émettant et/ou en recevant des messages
susceptibles d’être porteurs de données.
Dans notre application, nous identifions trois acteurs : l’administrateur, l’utilisateur et le
visiteur.

 Administrateur : il s’agit d’une personne qui est chargé de gérer les utilisateurs ainsi
que le système, il doit accéder à toutes les parties de l’application mobile mais aussi
c’est le seul utilisateur de l’application web qui lui sert de plateforme d’administration.
 Utilisateur : il s’agit d’une personne inscrite dans l’application en contrepartie d’avoir
le droit de publier des annonces.
 Visiteur : il s’agit d’une personne qui n’a pas de compte et qui se limite à consulter les
annonces.

20
II. Diagrammes des cas d’utilisation globale
Un cas d’utilisation est une manière spécifique d’utiliser un système. Les acteurs sont à
l’extérieur du système ; ils modélisent tout ce qui interagit avec lui. Un cas d’utilisation réalise
un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur
qui l’initie.

Ci-dessous, nous présentons le diagramme de cas d’utilisation globale pour la compréhension


du fonctionnement du système. Il montre les principales fonctionnalités offertes aux
utilisateurs.

Figure 1 : Cas d’utilisation globale

21
III. Description des cas d’utilisation
Dans cette sous-section, nous allons présenter en détail certains cas d’utilisation en les
documentant par une description textuelle qui décrit leurs différents scénarios et permet ainsi
communiquer facilement avec les utilisateurs.

1. Description textuelle du cas d’utilisation « S’authentifier » :

Figure 2 : Authentification

Après avoir créé un compte en tant que visiteur vous devenez officiellement
utilisateur avec tous les droits d’accès qui vont avec. Ainsi vous aurez de
nouvelles droits d’accès comme publier une annonce, commenter une annonce,
aimer une annonce, etc…

22
Tableau 1 : Fiche de description de cas d’utilisation Authentification.
Sommaire

Titre : Accéder à SAMA-PIECE

But : Permet d’accéder à son compte utilisateur.

Résumé : L’utilisateur s’inscrit d’abord en donnant son nom, prénom, émail, mot de passe
Adresse, téléphone. Chose fait, il pourra s’authentifier avec l’émail et le mot de
passe afin d’accéder aux fonctionnalité en tant qu’utilisateur. Quant à
l’administrateur, il ne fait que s’authentifier afin d’accéder à sa plateforme
d’administration.
Acteur : Utilisateur et Administrateur

Description des enchainements


Pré conditions Post conditions
L’utilisateur est authentifié Accéder à l’interface de SAMA-PIECE
en tant qu’utilisateur. Vous pourrez
dorénavant publier des annonces.
Scénario nominal

 L’utilisateur clique sur le bouton profil dans le menu de l’application pour


accéder à l’interface connexion et s’il n’est pas inscrit il pourra s’inscrire.
 Une fois connecter, il pourra accéder à l’interface utilisateur.
 Quant à l’administrateur, il pourra s’authentifier via son navigateur par mail
et un mot de passe.
 Le système affiche le menu de back office.
 L’administrateur peut accéder au système.
Enchainement alternatif
Si l’utilisateur n’a pas rempli un champ ou les données sont incorrectes :
1) Le système affiche un message d’erreur.
2) Le système demande à l’utilisateur de remplir le(s) champ(s) à
nouveau.

23
2. Description textuelle du cas d’utilisation « Gestion des annonces » :
Figure 3 : Cas d’utilisation « Gestion des annonces »

24
Tableau 2 : Fiche de description de cas d’utilisation Gestion des annonces.

Sommaire

Titre : Gestion des annonces

But : Consulter les annonces, gérer annonces et administrer annonces.

Résumé : En tant que visiteur vous vous limiterez à la fonction consulter annonce, en tant
qu’utilisateurs vous pourriez consulter et gérer les annonces et en tant que
administrateur, vous pourriez consulter, gérer et administrer les annonces.
Acteur : Visiteur, Utilisateur et Administrateur

Description des enchainements


Pré conditions Post conditions
L’utilisateur et l’administrateur devrons Une fois connecter en tant qu’acteur, vous
s’authentifié pour accéder à leur pourriez accéder aux interfaces et
fonctionnalités. fonctionnalités qui vous sont dédiés.

Scénario nominal
 Le visiteur consulte les annonces et pourra contacter un annonceur au cas où il aurait
retrouvé une pièce perdue.
 L’utilisateur se connecte au système à travers son application mobile par mail et un mot
de passe.
 Le système affiche les annonces et il pourra publier, commenter et aimer des annonces.
 Quant à l’administrateur, il pourra s’authentifier via son navigateur par mail et un mot de
passe.
 Une fois accès au système, il pourra consulter, gérer et administrer les annonces.

3. Description textuelle du cas d’utilisation « Gestion des comptes » :

25
Figure 4 : Cas d’utilisation « Gestion des Comptes »

26
Tableau 3 : Fiche de description de cas d’utilisation Gestion des Comptes.

Sommaire

Titre : Gestion des Comptes

But : Créer compte, se connecter, se déconnecter MAJ compte, supprimer compte,


bloquer compte et sondage des comptes.
Résumé : En tant que visiteur vous pourriez créer un compte.
En tant qu’utilisateur vous pourriez vous connecter, vous déconnecter, MAJ et
supprimer votre compte.
En tant qu’administrateur vous pourriez administrer les comptes.
Acteur : Visiteur, Utilisateur et Administrateur

Description des enchainements


Pré conditions Post conditions
L’utilisateur et l’administrateur devrons Une fois connecter en tant qu’acteur, vous
s’authentifié pour accéder à leur pourriez accéder aux interfaces et
fonctionnalités. fonctionnalités qui vous sont dédiés.

Scénario nominal
 Le visiteur créer un compte et devient un utilisateur.
- Il remplit le formulaire pour la création de son compte
- Le système enregistre les informations de l’utilisateur ainsi que ses identifiants (Mail, mot
de passe crypté) dans la base de donnée.
 L’utilisateur se connecte au système à travers son application mobile par mail et un mot
de passe.
 Le système affiche les interfaces utilisateurs et il pourra gérer son compte.
 Quant à l’administrateur, il pourra s’authentifier via son navigateur par mail et un mot de
passe.
 Une fois accès au système, il pourra administrer les comptes.
Enchainement alternatif

1.A Adresse mail existe déjà ou non valide


1. Le système affiche un message d’erreur.
2. Demande la saisie de son adresse mail à nouveau.
2.A L’utilisateur n’a pas rempli un champ ou les données sont incorrectes.
1. Le système affiche un message d’erreur.
2. Le système demande à l’utilisateur de remplir le(s) champ(s) à nouveau.

27
4. Description textuelle du cas d’utilisation « Gestion des utilisateurs » :
Figure 5 : Cas d’utilisation « Gestion des Utilisateurs »

28
Tableau 4 : Fiche de description de cas d’utilisation Gestion des utilisateurs.

Sommaire

Titre : Gestion des Utilisateurs

But : Administration des comptes utilisateurs.

Résumé : L’administrateur peut lister, trier, supprimer des utilisateurs.

Acteur : Administrateur

Description des enchainements


Pré conditions Post conditions
L’administrateur a une connexion internet et L’administrateur peur gérer les utilisateurs tout
l’identifiant. en veillant qu’on respecte les normes de la
plateforme.

Scénario nominal
 L’administrateur se connecte au système via son navigateur par mail et un mot de passe.
 Une fois accès au système, il pourra administrer les Utilisateurs.
Enchainement alternatif
1.A Si l’utilisateur n’a pas rempli un champ ou les données sont incorrectes.
1. Le système affiche un message d’erreur.
2. Le système demande à l’utilisateur de remplir le(s) champ(s) à nouveau.

5. Description textuelle du cas d’utilisation « Gestion des commentaires » :

29
Figure 6: Cas d’utilisation « Gestion des Commentaires »

30
Tableau 5 : Fiche de description de cas d’utilisation Gestion des commentaires.

Sommaire

Titre : Gestion des commentaires

But : Administration des commentaires.

Résumé : L’administrateur peut suivre, ajouter et supprimer des commentaires.

Acteur : Administrateur

Description des enchainements


Pré conditions Post conditions
L’administrateur a une connexion internet et L’administrateur peur gérer les commentaires
l’identifiant. tout en veillant qu’on respecte les normes de la
plateforme.

Scénario nominal
 L’administrateur se connecte au système via son navigateur par mail et un mot de passe.
 Une fois accès au système, il pourra gérer les commentaires.
Enchainement alternatif
1.A Si l’utilisateur n’a pas rempli un champ ou les données sont incorrectes.
1. Le système affiche un message d’erreur.
2. Le système demande à l’utilisateur de remplir le(s) champ(s) à nouveau.

31
SECTION 2 : LES DIAGRAMMES DE CLASSE ET DE
SEQUENCE
I. Diagrammes de séquence
La description textuelle des cas d’utilisation présente quelques désavantages puisqu’il est
difficile de montrer la succession des enchainements et le moment d’intervention des acteurs
secondaires, nous allons compléter la description de nos cas d’utilisation par les diagrammes
de séquence UML qui fournissent une modélisation plus dynamique de notre système. Les
diagrammes de séquence, couramment utilisés par les développeurs, modélisent les interactions
entre les objets dans un cas d’utilisation unique. Ils illustrent comment les différentes parties
d’un système interagissent les unes avec les autres pour exécuter une fonction, et l’ordre dans
lequel les interactions se produisent lorsqu’un cas d’utilisation particulier est exécuté. En
termes plus simples, un diagramme de séquence montre les différentes parties d’un système qui
travaillent dans une séquence pour accomplir quelques choses.
Dans ce qui suit nous allons décrire les scénarios les plus importants ainsi que leurs
représentations par les diagrammes de séquence.
A. Côté utilisateur (Application mobile SAMA-PIECE) :
1. Diagramme de séquence « Ouverture de compte » :
Notre inscription (Ouverture de compte) est un formulaire qui contient (Non, Prénom, adresse
de naissance, E-mail, Numéro de téléphone . . . etc.).

32
Figure 7: Diagramme de séquence Ouverture de compte.

Scénarios:
 L’utilisateur ouvre l’application.
 Le système affiche la page d’accueil
 L’utilisateur demande la connexion en appuyant sur le bouton profil.
 Le système affiche l’interface « connexion où créer un compte ».
 L’utilisateur demande la création de compte.
 Le système affiche les formulaires d’inscription.

33
 L’utilisateur remplis les champs et passe au formulaire suivant.
 En cas d’erreur (Champs vide) le système réaffiche le formulaire, l’utilisateur
doit ressaisir les informations correctement.
 L’utilisateur valide ses informations et envoie une fiche profile (la fiche profile
contient les informations saisies par l’utilisateur).
 Le système envoie à l’utilisateur un reçu de demande d’ouverture de compte.

2. Diagramme de séquence « Authentification » :


Figure 8: Diagramme de séquence Authentification.

Scénario :
 L’utilisateur ouvre l’application.
 Demande la page connexion
 Le système affiche le formulaire de connexion.
 L’utilisateur remplis les champs (E-mail et mot de passe) et valide la
connexion.
 Le système vérifie si les informations sont justes.
 En cas d’erreur l’utilisateur doit ressaisir les informations correctement.
 Si la saisie est correcte, le menu de l’application apparait.

34
3. Diagramme de séquence annonce :
Figure 9: Diagramme de séquence Annonce.

B. Côté administrateur (Backoffice) :

1. Diagramme de séquence « Authentification » :

35
Figure 10: Diagramme de séquence authentification administrateur.

36
Scénarios :
 L’administrateur ouvre l’application.
 Le système affiche l’interface « Login ».
 L’administrateur saisit son E-mail et son mot de passe.
 Le système vérifie si les informations données sont justes.
 En cas d’erreur l’administrateur doit ressaisir les informations
correctement.
 Le menu d’administration apparait dans le cas contraire (accès à
l’application Back office).

II. Les diagrammes de classe :


Le diagramme de classe est un schéma utilisé en génie logiciel pour présenter les
classes et les interfaces des systèmes ainsi que les différentes relations entre celle-
ci.
Ce diagramme représente le diagramme de classe de notre application :

37
Figure 11 : Diagramme de classe.

38
DEUXIEME PARTIE : Cadre Méthodologique et
présentation de la solution

39
Chapitre 3 : Implémentation de la solution
Nous avons effectué une étude conceptuelle dans le chapitre précédent en décrivant les
besoins fonctionnels et les différents cas d’utilisations avec leur diagramme de séquences.
Nous abordons dans ce chapitre l’implémentation de la solution. Ici, il sera question de
présenter respectivement l’architecture logiciel adopté pour notre système, les différentes
technologies et les outils de travail utilisés pour la mise en œuvre de l’application

Section 1 : Architecture logicielle


Notre application mobile se connectera à un service de base de données afin de récupérer,
enregistrer, modifier ou supprimer des données. Ceci nécessite l’intégration d’un serveur web
(web service) entre l’application client et le serveur de base de données.
Vu que les données seront échangées entre deux environnements différents, le rôle principal
du web service est de gérer la communication entre l’application mobile et le serveur de
données.
Ainsi, notre application mobile, le web service et la base de données constituent une
architecture à trois niveaux appelé architecture à 3 tiers. Les avantages de cette architecture
sont nombreux.

- Une simplicité de l’implémentation et une grande souplesse et flexibilité ;


- Une sécurité accrue car la sécurité peut être défini indépendamment pour chaque service,
et à chaque niveau ;
- De meilleur performance étant données le partage des tâches entre les différents serveurs.
I. API REST :
Une API REST (également appelée API RESTful) est une interface de programmation
d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et
permet d'interagir avec les services web RESTful. L'architecture REST (Representational State
Transfer) a été créée par l'informaticien Roy Fielding.

Une API est un ensemble de définitions et de protocoles qui facilite la création et l'intégration
de logiciels d'applications. Elle est parfois considérée comme un contrat entre un fournisseur
d'informations et un utilisateur d'informations, qui permet de définir le contenu demandé au
consommateur (l'appel) et le contenu demandé au producteur (la réponse). Par exemple, l'API
conçue pour un service de météo peut demander à l'utilisateur de fournir un code postal et au
producteur de renvoyer une réponse en deux parties : la première concernant la température
maximale et la seconde la température minimale.
En d'autres termes, lorsque vous souhaitez interagir avec un ordinateur ou un système pour
récupérer des informations ou exécuter une fonction, une API permet d'indiquer au système ce
que vous attendez de lui, afin qu'il puisse comprendre votre demande et y répondre.
Vous pouvez vous représenter une API comme un médiateur entre les utilisateurs ou clients et
les ressources ou services web auxquels ils souhaitent accéder. Pour une entreprise, c'est aussi
une solution pour partager des ressources et des informations, tout en maintenant un certain

40
niveau de sécurité, de contrôle et d'authentification, en déterminant qui est autorisé à accéder à
quoi.
Autre avantage des API : vous n'avez pas besoin de connaître le fonctionnement exact de la
mise en cache, c'est-à-dire de savoir comment vos ressources sont récupérées ni d'où elles
proviennent.

II. Le Json :
Le Json () est le format de données utilisés dans les requetés du client et les
réponses du serveur dans notre projet. C’est un format de donnés textuelle,
générique dérivée à la mutation des objets du langage ECMAScript. Il permet de
représenter de l’information structurés. Un document Json ne comprend que deux
élément structurelle : des ensembles de paires non /valeur ; des listes ordonnées
de valeurs. Ces mêmes éléments représentent 3 types de données :

- Des objets,
- Des tableaux ;
- Des valeurs génériques de type tableaux, objet, boolean, nombre, chaine ou
null.
Les champs, par contre ne peuvent être que des chaines de caractères.
Le principal avantage de l’utilisation de Json dans notre application, est qu’il est
simple à mettre à ouvre. Au rang des avantages, nous pouvons également citer :

- Facile à apprendre, car sa syntaxe est réduite et non extensible ;


- Ses types de données sont connus et simple à décrire ;
- Peu verbeux et léger, contrairement au langage XML qui est très verbeux, ce
qui le rend lisible pour un humain, plus facile à parser par une machine et bien
adapter au terminaux mobile
Section 2 : Environnement de travail
Dans cette partie nous allons détailler environnement de travail, exposer les choix techniques
utilisés, les langages adoptés, et présenter l’implémentation et les tests réalisés.
I. Androïde studio

41
Androïde studio est un environnement de développement (IDE) pour développer des
applications androïde principalement avec langage Java/Kotlin. La partie Android englobe
aussi l’apprentissage XML pour le design de l’application. Il propose entre autres des outils
pour gérer le développement d’applications multilingues et permet de visualiser rapidement la
mise en page des écrans sur des écrans de résolutions variées simultanément. Il intègre par
ailleurs un émulateur permettant de faire tourner un système Android virtuel sur un ordinateur
SDK Androïde
Le Software Développement Kit Android est un ensemble de fichiers d’aide et d’exemples. On
y trouve aussi des utilitaires pour la mise au point et les tests.
Les fonctions du SDK :

- Accès au Hardware, y compris Camera, GPS, et Accéléromètre.


- Base de données SQLite.
- Données et dépôt de données partagées et communication inter application par échange de
messages.
- Ecran d’accueil riche par l’utilisation des Widgets, Live Folders, and Live Wallpaper
Support Média très riche et graphiques 2D/3D.
- Accès au HW Wifi et libraires pour l’utilisation du Bluetooth pour le transfert peer To peer.
- Technologies réseau GSM, EDGE, et 3G pour la téléphonie ou le transfert de données,
permettant de placer des appels téléphoniques, des SMS, et d’envoyer et de recevoir des
données en utilisant les réseaux de données mobiles.
- API pour l’utilisation des capteurs HW y compris les accéléromètres et le compas

II. Sublime Text :


Sublime Text est un éditeur de texte créé en 2007 par Jon Skinner qui se donna trois principes
à respecter pour la création de son logiciel :

- Discret, interface minimum.

42
- Ne pas cacher le texte par des fenêtres.
- Utiliser toute la place possible.
Il est écrit en C++ et Python et est disponible sur toutes les plateformes (Windows,
Linux, Mac OS).
Sublime texte est actuellement à la version 3.1 sortie le 7 mai 2018 est sous licence propriétaire.
Il intègre la plupart des fonctionnalités de base d’un éditeur de texte, dont la coloration
syntaxique, l’auto complétion, un système de plugins etc. mais il propose aussi des
fonctionnalités plus avancées tels que : la sauvegarde automatique, la personnalisation des
raccourcis clavier, un marque-page au sein même des fichiers, la sélection et édition dans
plusieurs sections de code en parallèle ou encore une Minimap qui permet une prévisualisation
de tout le fichier dans une barre latérale.
Sublime Text est un éditeur de texte puissant gratuit et disponible sur toutes les plateformes et
permet la prise en charges d’un grand nombre de langages de programmation (PHP, Python,
C..).
III. Git
C’est un logiciel libre créé par Linux Torvalds, auteur du noyau Linux, et distribué selon les
termes de la licence publique générale GNU version 2. En 2016 il s’agit du logiciel de gestion
de versions le plus populaire qui est utilisé par plus de douze millions de personnes.
IV. GitHub
GitHub est un service web d’hébergement et de gestion de développement de logiciels, en
utilisant le logiciel Git. Ce site est développé en Ruby on Rails et Erlang par Chris Wanstrath,
PJ Hyett et Tom Perston-Werner.
GitHub propose des comptes professionnels payants, ainsi que des comptes gratuits pour des
projets de logiciels libres. Le site assure également un contrôle d’accès et des fonctionnalités
destinées à la collaboration comme le suivi des bugs, les demandes de fonctionnalités, la gestion
de taches et un wiki pour chaque projet.
V. JAVA :
Java est un langage de programmation orienté objet, développé par Sun Microsystems et destiné
à fonctionner dans une machine virtuelle, il permet de créer des logiciels compatibles avec des
nombreux systèmes d’exploitation. Java et non seulement un langage de programmation
puissant conçu pour être sûr, inter plateformes et international, mais aussi un environnement de
développement qui est continuellement étendu pour fournir des nouvelles caractéristiques et
des bibliothèques permettant de gérer de manière élégante des problèmes traditionnellement
complexes dans les langages de programmation classiques, tels que le multithreading, les accès
aux bases des données, la programmation réseau, l’informatique répartie.
En plus java est considéré comme un langage adaptable aux plusieurs domaines puisqu’une
application web implémentée par celle-ci peut avoir des extensions ou des modifications dans
le futur. De plus, java permet de réduire le temps de développement d’une application grâce à
la réutilisation du code développé.

43
VI. XML :
Le XML (Extensible Markup Language) est un langage informatique qui sert à
enregistrer des données textuelles. Ce langage a été standardisé par le W3C en
février 1998 et est maintenant très populaire. Ce langage, grosso-modo similaire
à l’HTML de par son système de balisage, permet de faciliter l’échange
d’information sur l’internet. Contrairement à l’HTML qui présente un nombre
finit de balises, le XML donne la possibilité de créer de nouvelles balises à
volonté.
VII. PHP :
C’est un langage de programmation libre, principalement utilisé pour produire des
pages Web dynamiques via un serveur HTTP5, mais pouvant également
fonctionner comme n'importe quel langage interprété de façon locale. PHP est un
langage impératif orienté objet. PHP a permis de créer un grand nombre de sites
web célèbres, comme Facebook et Wikipédia. Il est considéré comme une des
bases de la création de sites web dits dynamiques mais également des applications
web.
VIII. MySQL :
MySQL est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué
sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de
données les plus utilisés au monde, autant par le grand public (applications web principalement)
que par des professionnels, en concurrence avec Oracle, PostgreSQL et Microsoft SQL Server.

44
Chapitre 4 : Présentation de la solution
Section 1 : Présentation de l’application mobile
Dans ce qui suit, nous allons présenter quelques interfaces de l’application mobile :

- Page d’accueil

Dans cette partie c’est la page accueil accessible par tous les acteurs de l’application. Mais les
droits d’accès différent selon l’utilisateur.

45
- Page ajouter annonce

46
Cette activité n’est accessible que quand on est connecté en tant qu’utilisateur.

- Connexion

Dans cette interface, nous pouvons voir les deux champs Login et Password que l’utilisateur
doit saisir puis il aura à cliquer sur le bouton ’Connexion’ afin de s’authentifier.

47
- Inscription

Dans cette partie l’utilisateur pourra s’inscrire afin de logger et partager des annonces.

48
SECTION 2 : Présentation de l’application web

- Authentification via le navigateur web

L’administrateur va se connecter à travers un navigateur web pour pouvoir


accéder à la plateforme d’administration.

49
- Accueil Administrateur

Cette interface permet d’administrer l’application. Elle n’est accessible que


pour l’administrateur.
La phase de réalisation est l’étape la plus importante dans le cycle de vie
d’une application. Dans ce chapitre, nous avons décrit brièvement le
processus de réalisation de notre application en spécifiant l’environnement,
les outils, les langages de développement, ainsi le système de gestion de
base de donnée associés à notre système.
En effet, nous avons achevé l’implémentation tout en respectant la
conception élaborée.

50
CONCLUSION

51
CONCLUSION :
La réalisation de ce projet qui sera mis à la disposition en téléchargement libre sur Google
Play, permettra aux utilisateurs de terminaux intelligents, de disposer effectivement d'une
plateforme Android qui leur permettra de diffuser gratuitement leurs annonces de pièce perdu
de façon efficace et en toute simplicité. Certes de nombreux test restent à faire pour finaliser «
SAMA-PIECE », mais nous pouvons dire que nous avons respecté le cahier des charges et
atteint un taux de quatre-vingt pourcent (80%) du taux de réalisation total de l'application «
SAMA-PIECE ».
Lors de ce travail, Nous avons pu mettre en pratique nos connaissances théoriques acquises
durant notre formation.
Ce projet a fait l’objet d’une expérience intéressante, Il nous a permis d’apprendre à nous
organiser, d’apprendre à travailler en groupe, d’améliorer nos connaissances et nos
compétences dans les différents outils et langages dédiés à la programmation mobile.

52
BIBLIOGRAPHIE :
1. Programmation Android de la conception au déploiement avec le SDK Google Android de
Damien Guignard, Julien Chable, Emmanuel Robles Edition Eyrol1es publié en Avril
2010
2. Le guide du génie logiciel, Moustapha Der, cours, exercices corrigés.
3. Frédéric Espiau. 2019. https ://openclassroom.com/fr/courses/2023346-creez-
desapplications pour-Android.

WEBOGRAPHIE
4. http://www.developpez.com.
5. http://www. Wikimemoire.com
6. http://www. Wikipédia.com
7. http://www. stack overflow.com
8. http:// googlescholar.com
9. http://memoireonline.com

53
TABLE DE MATIERE :
INTRODUCTION……………………………………………………………………….5

 Partie I : Cadre théorique et conceptuel de l’application………………………8


Chapitre 1 : Cadre théorique……………………………………………………………..9
Section1 : Revue de la littérature…………………………………………………..9
I. Les appareils mobiles……………………………………………………..9
II. Les Applications Mobiles…………………………………………………….9
III. Les applications androïde……………………………………………………10
Section2 : Description de l’application et Spécification des besoins………………15
I. DESCRIPTION DE L’APPLICATION…………………………………….15
II. ANALYSE ET SPECIFICATION DES BESOINS…………………………15
Chapitre 2 : Conception de l’application ………………………………………………….20
Section1 : Diagramme des cas d’utilisation…………………………………….........20
I. Identification des acteurs…………………………………………….20
II. Diagrammes des cas d’utilisation globale…………………………….21
III. Description des cas d’utilisation………………………………………22
Section 2 : Diagramme des classes et Diagramme de séquence…………………32
I. Diagrammes de séquence………………………………………….32
A. Côté utilisateur (Application mobile SAMA-PIECE)………….32
B. Côté administrateur (Backoffice)……………………………….35
II. Les diagrammes de classe…………………………………………..37

 Partie II: Cadre Méthodologique et présentation de la solution


Chapitre 3 : Implémentation…………………………………………………………….40
Section1 : Architecture logicielle…………………………………………………40
I. API REST………………………………………………………..40
II. Le Json……………………………………………………………41
Section 2 : Environnement de travail……………………………………………..41
I. Androïde studio……………………………………………………………41
II. Sublime Text………………………………………………………………42
III. Git………………………………………………………………………….43
IV. GitHub……………………………………………………………………..43
V. JAVA……………………………………………………………………….43
VI. XML…………………………………………………………………………44
VII. PHP………………………………………………………………………….44
VIII. MySQL……………………………………………………………………….44

54
Chapitre 4 : Présentation de la solution……………………………………………..45
Section 1 : Présentation de l’application mobile………………………………….45
Section 2 : Présentation de l’application web……………………………………….49

CONCLUSION……………………………………………………………………………..51

55

Vous aimerez peut-être aussi