Académique Documents
Professionnel Documents
Culture Documents
*********
*********
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.
En hommage à mon regretté ami Makhary Séne, que Dieu l’accueille dans son vaste paradis.
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
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
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.
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.
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é.
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
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 :
Publier annonce
Supprimer annonce
Mettre à jour annonce
Commenter les annonces
Archiver une annonce
Partager annonce
Consulter annonces
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
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.
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.
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.
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
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
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
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
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.
25
Figure 4 : Cas d’utilisation « Gestion des Comptes »
26
Tableau 3 : Fiche de description de cas d’utilisation Gestion des Comptes.
Sommaire
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
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
Acteur : Administrateur
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.
29
Figure 6: Cas d’utilisation « Gestion des Commentaires »
30
Tableau 5 : Fiche de description de cas d’utilisation Gestion des commentaires.
Sommaire
Acteur : Administrateur
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.
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.
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).
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
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 :
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 :
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
49
- Accueil Administrateur
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
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