SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Université Mohammed V Rabat
Ecole Mohammadia d’Ingénieurs
Filière: Réseaux et Télécommunications
Rapport
RÉALISATION D’UNE APPLICATION MOBILE
D’ÉCHANGE DE LIVRES
Réalisé par:
Mlle Kawtar BLLADI
Mlle Loubna JNIDAR
Mlle FatimaZahra Lachgar
Mr. Zakaria Mouazine
Encadré par:
Pr. Slimane Bah
Année 2021-2022
Table des matières
Table des figures iii
1 Cahier de Charges 3
1 Besoins et Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Description générale de l’application . . . . . . . . . . . . . . . . . . . 4
3 Diagramme d’utilisation (Use Case Diagram) . . . . . . . . . . . . . . . 5
4 Diagramme de Séquence (Sequence Diagram) . . . . . . . . . . . . . . 5
2 Réalisation de ShareBooks 7
1 Présentation des outils utilisés . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Android Studio . . . . . . . . . . . . . . . . . . . . . . 9
2 Modélisation Base de données . . . . . . . . . . . . . . . . . . . . . . . 11
3 Description technique de la solution . . . . . . . . . . . . . . . . . . . . 11
3.1 Authetification . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Création du compte . . . . . . . . . . . . . . . . . . . 12
3.1.2 Connexion . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Gestion des bibliothèques . . . . . . . . . . . . . . . . . . . . . 12
3.3 Recherche Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Recherche par titre . . . . . . . . . . . . . . . . . . . . 13
3.4 Recherche des livres par thème . . . . . . . . . . . . . . . . . . 13
3.5 Demande d’échange . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Références 23
Table des figures
1.1 Logo de l’application ShareBooks . . . . . . . . . . . . . . . . . . . . . 4
1.2 Diagramme d’utilisation de ShareBooks . . . . . . . . . . . . . . . . . . 5
1.3 Diagramme de séquence de la fonction de demande d’échange . . . . . 6
1.4 Diagramme de séquence de la fonction de réponse à le demande d’échange 6
2.1 Différence entre Firebase et méthode traditionnelle . . . . . . . . . . . 7
2.2 Services offerts par Firebase . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Logo Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Logo Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Modélisation de la base de données . . . . . . . . . . . . . . . . . . . . 11
2.6 ShareBooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Interface Inscription Utilisateur . . . . . . . . . . . . . . . . . . . . . . 14
2.8 Inscription Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.9 Interface Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10 Connexion Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.11 Bibliothèque Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.12 Interface Ajout livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.13 Ajout Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.14 Interface Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.15 Suppression livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.16 Interface home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.17 Recherche Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.18 Demande d’échange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.19 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Introduction
Suite à l’évolution de la technologie, la lecture des livres est devenue de plus en plus
délaissée surtout par les jeunes.
Dans le cadre du module ’Projet Intégré’ assuré par Mr. Slimane BAH, nous sommes
ammenés à réaliser une application mobile permettant l’échange de livres entre indivi-
dus pour les inciter à la lecture.
Au cours de ce rapport, nous mettrons l’accent dans un premier lieu dans le cha-
pitre 1 sur le cahier de charges afin de mieux cerner les différentes fonctionnalités de
l’application. Dans un deuxième lieu, le chapitre 2 sera consacré aux différents aspects
de la réalisation de notre application en utilisant Android Studio.
Chapitre 1
Cahier de Charges
1 Besoins et Motivations
Il va sans dire que la lecture des livres est une activité importante qui contribue
grandement au renforcement du niveau culturel de chaque individu. En effet, chaque
livre lu est une opportunité d’apprendre de nouvelles choses. Elle permet notamment
de développer sa mémoire, sa capacité cognitive, sa concentration ainsi que son esprit
d’analyse et de critique.
La lecture est aussi l’entrée à l’imagination, elle aide à découvrir différents mondes et
à percevoir la résolution des problèmes dans différentes situations. C’est une passion
qui valorise les mots et les émotions.
Cependant, cette activité devient de plus en plus délaissée par les jeunes surtout avec
l’évolution de la technologie, la digitalisation et l’âge des réseaux sociaux ; le nombre
des lecteurs est en diminution permanente. Ces derniers ne s’intéressent plus à lire des
livres qu’avant mais passent la majorité de leurs temps sur leurs téléphones.
En menant une enquête sur les causes du délaissement de la lecture, il s’est avéré
que parmi les principales raisons qui l’engendre : le manque de motivation, la non
disponibilité des livres et le manque de ressources financières surtout chez les étudiants.
C’est dans ce contexte que l’idée de ShareBooks a vu le jour. Son activité consiste
à joindre l’outil à l’agréable, en joignant le concept de la digitalisation avec une ap-
plication android et celui de l’échange de livres qui sera établit entre les différents
utilisateurs.
ShareBooks est donc une application mobile créé en 2021/2022 par un groupe d’amis
4 CAHIER DE CHARGES
passionnés par la lecture. Il s’agit d’ un espace regroupant plusieurs livres classés par
thèmes et appartenant à des différents auteurs, ce qui permet un échange fluide, rapide
et sécurisé de ces livres entre tous les passionnées de lecture pour bénéficier de la
diversité d’informations.
ShareBooks a pour but d’inciter ses utilisateurs à la lecture tout en économisant
de l’argent. En échangeant des livres, les gens ne vont plus dépenser pour acheter
de nouveaux livres à chaque fois qu’ils en auront besoin, il suffit seulement d’un seul
clic pour demander un livre en contrepartie d’un autre. De même, cet échange vise à
protéger l’environnement et à encourager le recyclage de livres qui aura une influence
remarquable sur le nombre de livres produits.
Figure 1.1 – Logo de l’application ShareBooks
2 Description générale de l’application
Après création du compte, chaque utilisateur connecté possédera un espace person-
nel afin de visualiser et modifier ses informations personnelles, gérer sa propre biblio-
thèque où sont classés ses livres à prêter soit en les ajoutant ou en les supprimant.
Pour demander un échange de livre, l’utilisateur effectuera une recherche par nom
dans la barre de rechercher ou par thème. Si un livre lui convient,il le sélectionnera
et effectuera une demande d’échange avec l’autre utilisateur possédant le livre. Ce
dernier recevant une notification, aura alors deux possibilités : accepter la demande ou
3. DIAGRAMME D’UTILISATION (USE CASE DIAGRAM) 5
la refuser en fonction du livre dont il a besoin. Une fois la demande est acceptée, les
deux utilisateurs pourront fixer un rendez-vous pour effectuer l’échange physiquement.
3 Diagramme d’utilisation (Use Case Diagram)
Dans le but de mettre l’accent sur les différentes fonctionnalités présentées dans la
description de l’application, nous avons réalisé le diagramme d’utilisation ci-dessous :
Figure 1.2 – Diagramme d’utilisation de ShareBooks
4 Diagramme de Séquence (Sequence Diagram)
Nous procéderons par la suite à l’établissement des diagrammes de séquence cor-
respondant aux fonctions principales de l’application et qui comprennent d’une part
celui de la demande d’échange et d’une autre part celui correspondant à la réponse aux
demandes d’échange.
6 CAHIER DE CHARGES
Figure 1.3 – Diagramme de séquence de la fonction de demande d’échange
Figure 1.4 – Diagramme de séquence de la fonction de réponse à le demande d’échange
Chapitre 2
Réalisation de ShareBooks
1 Présentation des outils utilisés
Avant d’entamer notre réalisation, il est indispensable de présenter les outils utili-
sés : Firebase pour l’implémentation de la base de données et Android Studion pour
l’implémentation des différentes fonctionnalités de l’application.
1.1 Firebase
Firebase est un produit de Google qui permet aux développeurs de créer, gérer
et développer leurs applications facilement et plus rapidement sans avoir recours à la
programmation.
Ce produit fournit un stockage en nuage vu qu’il utilise NoSQL comme base de données
pour le stockage des données.
Figure 2.1 – Différence entre Firebase et méthode traditionnelle
Firebase comprend principalement des services backend qui aident les développeurs à
construire et à gérer leurs applications de manière plus efficace. Les services inclus dans
cette fonctionnalité sont :
8 RÉALISATION DE SHAREBOOKS
Realtime Database : La base de données en temps réel Firebase est une base de
données NoSQL basée sur le cloud qui gère les données à la vitesse fulgurante des
millisecondes.
Cloud Firestore : Le cloud Firestore est une base de données NoSQL qui fournit des
services tels que le stockage, la synchronisation et les requêtes à travers des applications
implémentés sur Android Studio. Elle peut stocker toutes sortes de données comme des
chaînes de caractères, des données binaires et même des arbres JSON.
Authentification : Le service d’authentification de Firebase fournit des bibliothèques
d’interface utilisateur et des SDK faciles à utiliser pour authentifier les utilisateurs des
applications. Il gère même des tâches telles que la fusion de comptes.
Remote Config : Le service de configuration à distance permet de publier immédia-
tement les mises à jour pour l’utilisateur. Les changements peuvent aller de la modifi-
cation des composants de l’interface utilisateur à la modification du comportement des
applications.
Firebase Cloud Messaging (FCM) : Le service FCM fournit une connexion entre
le serveur et les utilisateurs finaux de l’application, qui peut être utilisée pour recevoir
et envoyer des messages et des notifications. Ces connexions sont fiables et économes
en batterie.
Figure 2.2 – Services offerts par Firebase
1. PRÉSENTATION DES OUTILS UTILISÉS 9
1.2 Android Studio
Avant de pésenter Android Studio, il faut tout d’abord présenter Android.
1.2.1 Android
Android est un système d’exploitation mobile qui a été d’abord développé par An-
droid, Inc, une société de logiciels située dans la Silicon Valley, avant d’être rachetée
par Google en 2005 pour être principalement utilisé pour les appareils à écran tactile,
les téléphones cellulaires et les tablettes.
Sa conception permet aux utilisateurs de manipuler les appareils mobiles de manière
intuitive, avec des mouvements de doigts qui reflètent les mouvements courants, comme
le pincement, le balayage et le tapotement. Google utilise également le logiciel Android
dans les téléviseurs, les voitures et les montres-bracelets, qui sont tous dotés d’une
interface utilisateur unique.
Les développeurs de logiciels et d’applications ont pu utiliser Android pour développer
des applications mobiles,qui sont vendues dans des magasins d’applications, tels que
Google Play. Et comme il s’agit d’un produit Google,les utilisateurs d’Android ont
la possibilité de relier leurs appareils mobiles à d’autres produits Google, tels que le
stockage en nuage, les plateformes de messagerie électronique et les services vidéo.
Figure 2.3 – Logo Android
1.2.2 Android Studio
Android Studio est l’environnement de développement intégré (IDE) officiel pour le
développement d’applications Android.Il est basé sur IntelliJ IDEA, un environnement
de développement intégré Java pour les logiciels,et intègre ses outils d’édition de code
10 RÉALISATION DE SHAREBOOKS
et de développement. Android Studio permet principalement ainsi d’éditer les fichiers
Java et les fichiers de configuration d’une application Android.
Pour prendre en charge le développement d’applications au sein du système d’exploi-
tation Android,Android Studio utilise un système de construction basé sur Gradle, un
émulateur, des modèles de code et une intégration Github.
Android Studio utilise une fonctionnalité de poussée instantanée pour pousser les modi-
fications de code et de ressources vers une application en cours d’exécution. Un éditeur
de code aide le développeur à écrire le code et offre la complétion, la réfraction et
l’analyse du code. Les applications créées dans Android Studio sont ensuite compilées
au format APK pour être soumises au Google Play Store.
Une application Android se compose de plusieurs éléments. Dans ce qui suit, nous
allons essayer de découvrir ceux utilisés dans notre réalisation :
Activity :
Une activity est la composante principale pour une application Android qui crée les
éléments de l’interface à l’intérieur du codejava. Elle représente donc l’implémentation
et les interactions des interfaces décrite par un fichier XML.
Figure 2.4 – Logo Android Studio
Intents :
Les Intents sont des objets permettant de faire passer des messages contenant de l’in-
formation entre les "activity". Ils peuvent être considérés comme une demande d’une
action à effectuer.
2. MODÉLISATION BASE DE DONNÉES 11
2 Modélisation Base de données
Pour une bonne gestion de livres et d’utilisateur à l’intérieur de l’application, une
bonne modélisation de données est importante, pour cela nous avons opté pour une
modélisation simple comme le montre la figure 2.5
En effet, notre base de donnée sera constituée de tables : Utilisateur qui comporte
toutes les données personnelles de l’utilisateur comme le nom, prénom, ville, etc ; Livre
qui contient les informations relatives aux livres ; et la table Demande qui sera utile
pour la gestion d’échange de livres.
Figure 2.5 – Modélisation de la base de données
3 Description technique de la solution
Au cours de cette partie nous allons procéder à l’explication des différentes fonction-
nalités de l’application ShareBooks.
3.1 Authetification
La première fonctionnalité de notre application n’est autre que l’authentification. En
effet, toute action suppose que l’utilisateur soit authentifié à l’avance pour que son
accès soit limité aux éléments qu’il possède.
Dans ce cadre là, notre travail nous a permis d’établir deux fonctions, l’une qui va
permettre à l’utilisateur de créer un compte dans notre base de données sur Firebase
12 RÉALISATION DE SHAREBOOKS
et l’autre qui va lui permettre d’y accéder.
3.1.1 Création du compte
C’est la première fonction dont l’utilisateur aura besoin pour avoir ses propres
identifiants. D’abord nous aurons une interface dans laquelle l’utilisateur va saisir ses
informations, une fois le bouton S’inscrire sera cliqué, un ensemble de vérification
vont être faits afin de voir si les données sont formellement correctes sinon des messages
d’erreurs vont être signalés.
Si les données sont bonnes, nous allons procéder à la création du compte avec la
fonction prédéfinie createUserWithEmailAndPassword, et si l’opération réussit
nous allons stocker les identifiants et les informations correspondantes à l’utilisateur
dans la base de données. (Voir figures 2.7 et 2.8).
3.1.2 Connexion
Comme l’indique la figure 2.9 , une fois l’utilisateur fait entrer son email et mot de
passe et clique sur le boutton Se connecter, la fonction userlogin() va s’exécuter.
Cette fonction va nous permettre d’accéder au profil correspondant à l’utilisateur
après avoir effectuer un ensemble de vérification sur le mot de passe et sur l’email saisi,
par la suite la méthode signInWithEmailAndPassword() va être appelée qui est
une fonction prédéfinie dans la bibliothèque correspondante à FirebaseAuthenfication.
Si les deux opérations réussissent, nous passons à l’activity suivante qui représente le
home sinon un message d’erreur sera affiché.
3.2 Gestion des bibliothèques
C’est la deuxième fonction où l’utilisateur pourra accéder à ses propres livres et les
gérer soit en ajoutant des livres ou en les supprimant de la bibliothèque.
Pour cela nous aurons une interface avec un RecycleView où l’utilisateur pourra
naviguer l’ensemble des livres de sa bibliothèque et aussi consulter les informations
relativres à ses livres à l’aide d’un bouton Voir Information. De même, il pourra
aussi gérer sa bibliothèque ce qui nous a permis d’établir deux fonctions, l’une qui va
permettre à l’utilisateur d’ajouter des livres dans la de données sur Firebase et l’autre
qui va lui permettre d’en supprimer. En cliquant sur le boutton Ajouter, on obtient
3. DESCRIPTION TECHNIQUE DE LA SOLUTION 13
l’interface 2.12 où l’utilisateur va insérer les informations de son livre.Et en cliquant
sur le boutton Supprimer, il pourra supprimer les livres de son choix.
3.3 Recherche Livre
Cette partie est consacrée à la fonction de recherche livres. Après l’authentification
de l’utilisateur, une barre de recherche s’affiche contenant tous les livres dans la base
de données.
Pour accéder à ces livres, on a implémenté deux fonctions de recherche : par titre
et par thème.
3.3.1 Recherche par titre
La première fonction consiste à avoir des résultats par titre de livre, dans la barre
de recherche l’utilisateur doit écrire le titre du livre recherché ou juste la première lettre
du titre, puis la fonction Processsearchva faire une comparaison de la valeur saisie
avec la valeur du champ Titre dans la base de données. Si la valeur existe dans la base
de données, l’ensemble des résultats s’affiche directement, sinon rien ne sera affiché. A
cette étape, l’utilisateur peut accéder à la description du livre ou visualiser le profil du
propriétaire du livre voulu.
3.4 Recherche des livres par thème
Si jamais l’utilisateur veut avoir des suggestions des livres par thème, la fonction
de recherche par thème permet de filtrer les livres dans la base de données par thème
choisi, à chaque fois il clique sur une catégorie une fenêtre affiche juste les livres qui
appartiennent à cette catégorie, puis accéder aux informations du livre comme dans le
cas de la première fonction.
3.5 Demande d’échange
Une fois les phases précédentes sont terminées. Le client doit en ce moment-là de-
mander un échange avec le propriétaire du livre en cours. Tout d’abord la demande se
fait par un bouton Demander qui envoie une requête au client concerné. Le processus
d’envoi de la demande est le suivant : Tout d’abord on utilise la fonction onData-
14 RÉALISATION DE SHAREBOOKS
Change() qui permet de lire d’une manière instantanée les modifications apportées au
contenu d’un chemin bien précisé . Celle-ci prend on charge l’extraction des données
appropriés qui sont dans notre cas : iddemandeur ; idlivre ; etatdemande. . .. Par la suite
la demande sera stockée directement dans la base de données à l’aide de la fonction
FirebaseDatabase.getInstance(). Une fois le stockage s’est réussi, c’est-à-dire notre
demande est bien enregistrée au niveau de la base de données d’une manière perma-
nente, un message de retour pour confirmer le statut de la demande s’affiche au client,
sinon la demande est échouée.
Figure 2.6 – ShareBooks
Figure 2.7 – Interface Inscription Utilisateur
4. DIAGRAMME DE GANTT 15
Figure 2.8 – Inscription Utilisateur
Figure 2.9 – Interface Connexion
4 Diagramme de Gantt
Pour réaliser ce projet, nous avons utlisé le diagramme de Gantt 2.19 suivant pour
mieux gérer les tâches.
16 RÉALISATION DE SHAREBOOKS
Figure 2.10 – Connexion Utilisateur
Figure 2.11 – Bibliothèque Utilisateur
4. DIAGRAMME DE GANTT 17
Figure 2.12 – Interface Ajout livre
Figure 2.13 – Ajout Livre
18 RÉALISATION DE SHAREBOOKS
Figure 2.14 – Interface Suppression
Figure 2.15 – Suppression livre
4. DIAGRAMME DE GANTT 19
Figure 2.16 – Interface home
Figure 2.17 – Recherche Livre
20 RÉALISATION DE SHAREBOOKS
Figure 2.18 – Demande d’échange
Figure 2.19 – Diagramme de Gantt
Conclusion
En terme de réalisation, pour réaliser une application mobile, nous avons utilisé
Android Studion pour implémentation du code et Firebase pour gérer l’ensemble des
données des utilisateurs.Aprés création des fonctionnalités implémentées dans le Use
Case Diagram nous avons arrivé à réaliser une application qui permet l’échange de
livres entre utilisateurs.
Ce projet intérgré a été très enrichissant vu qu’il nous a poussé à penser au-delà,
pour arriver à réaliser cette application que nous comptons améliorer dans les jours à
venir.
Références
23

Contenu connexe

Similaire à ShareBooks.pdf

Numerique guide libre-association-version
Numerique guide libre-association-versionNumerique guide libre-association-version
Numerique guide libre-association-versionDominique Gayraud
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Adem Amen Allah Thabti
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsUniversité de Rennes 1
 
Description open erp_v_7
Description open erp_v_7Description open erp_v_7
Description open erp_v_7Ab Rafaoui
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Mohammed JAITI
 
Rapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livresRapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livreskaies Labiedh
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...Saad Benbouzid
 

Similaire à ShareBooks.pdf (20)

72574
7257472574
72574
 
Rapport
RapportRapport
Rapport
 
Numerique guide libre-association-version
Numerique guide libre-association-versionNumerique guide libre-association-version
Numerique guide libre-association-version
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Rapport
RapportRapport
Rapport
 
Description open erp_v_7
Description open erp_v_7Description open erp_v_7
Description open erp_v_7
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
 
Rapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livresRapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livres
 
Belwafi bilel
Belwafi bilelBelwafi bilel
Belwafi bilel
 
Belwafi bilel
Belwafi bilelBelwafi bilel
Belwafi bilel
 
Tpe nguyen tien-thinh
Tpe nguyen tien-thinhTpe nguyen tien-thinh
Tpe nguyen tien-thinh
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...Tutoriel : Développement d’une application client à l’aide de Sil...
Tutoriel : Développement d’une application client à l’aide de Sil...
 
Deploy automatic in the cloud
Deploy automatic in the cloudDeploy automatic in the cloud
Deploy automatic in the cloud
 
Le langage VB.Net
Le langage VB.NetLe langage VB.Net
Le langage VB.Net
 
Cours bd
Cours bdCours bd
Cours bd
 

Dernier

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 

Dernier (20)

GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 

ShareBooks.pdf

  • 1. Université Mohammed V Rabat Ecole Mohammadia d’Ingénieurs Filière: Réseaux et Télécommunications Rapport RÉALISATION D’UNE APPLICATION MOBILE D’ÉCHANGE DE LIVRES Réalisé par: Mlle Kawtar BLLADI Mlle Loubna JNIDAR Mlle FatimaZahra Lachgar Mr. Zakaria Mouazine Encadré par: Pr. Slimane Bah Année 2021-2022
  • 2.
  • 3. Table des matières Table des figures iii 1 Cahier de Charges 3 1 Besoins et Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Description générale de l’application . . . . . . . . . . . . . . . . . . . 4 3 Diagramme d’utilisation (Use Case Diagram) . . . . . . . . . . . . . . . 5 4 Diagramme de Séquence (Sequence Diagram) . . . . . . . . . . . . . . 5 2 Réalisation de ShareBooks 7 1 Présentation des outils utilisés . . . . . . . . . . . . . . . . . . . . . . . 7 1.1 Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.2 Android Studio . . . . . . . . . . . . . . . . . . . . . . 9 2 Modélisation Base de données . . . . . . . . . . . . . . . . . . . . . . . 11 3 Description technique de la solution . . . . . . . . . . . . . . . . . . . . 11 3.1 Authetification . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.1 Création du compte . . . . . . . . . . . . . . . . . . . 12 3.1.2 Connexion . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 Gestion des bibliothèques . . . . . . . . . . . . . . . . . . . . . 12 3.3 Recherche Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.1 Recherche par titre . . . . . . . . . . . . . . . . . . . . 13 3.4 Recherche des livres par thème . . . . . . . . . . . . . . . . . . 13 3.5 Demande d’échange . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Références 23
  • 4.
  • 5. Table des figures 1.1 Logo de l’application ShareBooks . . . . . . . . . . . . . . . . . . . . . 4 1.2 Diagramme d’utilisation de ShareBooks . . . . . . . . . . . . . . . . . . 5 1.3 Diagramme de séquence de la fonction de demande d’échange . . . . . 6 1.4 Diagramme de séquence de la fonction de réponse à le demande d’échange 6 2.1 Différence entre Firebase et méthode traditionnelle . . . . . . . . . . . 7 2.2 Services offerts par Firebase . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Logo Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Logo Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Modélisation de la base de données . . . . . . . . . . . . . . . . . . . . 11 2.6 ShareBooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.7 Interface Inscription Utilisateur . . . . . . . . . . . . . . . . . . . . . . 14 2.8 Inscription Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9 Interface Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.10 Connexion Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.11 Bibliothèque Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.12 Interface Ajout livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.13 Ajout Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.14 Interface Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.15 Suppression livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.16 Interface home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.17 Recherche Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.18 Demande d’échange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.19 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  • 6.
  • 7. Introduction Suite à l’évolution de la technologie, la lecture des livres est devenue de plus en plus délaissée surtout par les jeunes. Dans le cadre du module ’Projet Intégré’ assuré par Mr. Slimane BAH, nous sommes ammenés à réaliser une application mobile permettant l’échange de livres entre indivi- dus pour les inciter à la lecture. Au cours de ce rapport, nous mettrons l’accent dans un premier lieu dans le cha- pitre 1 sur le cahier de charges afin de mieux cerner les différentes fonctionnalités de l’application. Dans un deuxième lieu, le chapitre 2 sera consacré aux différents aspects de la réalisation de notre application en utilisant Android Studio.
  • 8.
  • 9. Chapitre 1 Cahier de Charges 1 Besoins et Motivations Il va sans dire que la lecture des livres est une activité importante qui contribue grandement au renforcement du niveau culturel de chaque individu. En effet, chaque livre lu est une opportunité d’apprendre de nouvelles choses. Elle permet notamment de développer sa mémoire, sa capacité cognitive, sa concentration ainsi que son esprit d’analyse et de critique. La lecture est aussi l’entrée à l’imagination, elle aide à découvrir différents mondes et à percevoir la résolution des problèmes dans différentes situations. C’est une passion qui valorise les mots et les émotions. Cependant, cette activité devient de plus en plus délaissée par les jeunes surtout avec l’évolution de la technologie, la digitalisation et l’âge des réseaux sociaux ; le nombre des lecteurs est en diminution permanente. Ces derniers ne s’intéressent plus à lire des livres qu’avant mais passent la majorité de leurs temps sur leurs téléphones. En menant une enquête sur les causes du délaissement de la lecture, il s’est avéré que parmi les principales raisons qui l’engendre : le manque de motivation, la non disponibilité des livres et le manque de ressources financières surtout chez les étudiants. C’est dans ce contexte que l’idée de ShareBooks a vu le jour. Son activité consiste à joindre l’outil à l’agréable, en joignant le concept de la digitalisation avec une ap- plication android et celui de l’échange de livres qui sera établit entre les différents utilisateurs. ShareBooks est donc une application mobile créé en 2021/2022 par un groupe d’amis
  • 10. 4 CAHIER DE CHARGES passionnés par la lecture. Il s’agit d’ un espace regroupant plusieurs livres classés par thèmes et appartenant à des différents auteurs, ce qui permet un échange fluide, rapide et sécurisé de ces livres entre tous les passionnées de lecture pour bénéficier de la diversité d’informations. ShareBooks a pour but d’inciter ses utilisateurs à la lecture tout en économisant de l’argent. En échangeant des livres, les gens ne vont plus dépenser pour acheter de nouveaux livres à chaque fois qu’ils en auront besoin, il suffit seulement d’un seul clic pour demander un livre en contrepartie d’un autre. De même, cet échange vise à protéger l’environnement et à encourager le recyclage de livres qui aura une influence remarquable sur le nombre de livres produits. Figure 1.1 – Logo de l’application ShareBooks 2 Description générale de l’application Après création du compte, chaque utilisateur connecté possédera un espace person- nel afin de visualiser et modifier ses informations personnelles, gérer sa propre biblio- thèque où sont classés ses livres à prêter soit en les ajoutant ou en les supprimant. Pour demander un échange de livre, l’utilisateur effectuera une recherche par nom dans la barre de rechercher ou par thème. Si un livre lui convient,il le sélectionnera et effectuera une demande d’échange avec l’autre utilisateur possédant le livre. Ce dernier recevant une notification, aura alors deux possibilités : accepter la demande ou
  • 11. 3. DIAGRAMME D’UTILISATION (USE CASE DIAGRAM) 5 la refuser en fonction du livre dont il a besoin. Une fois la demande est acceptée, les deux utilisateurs pourront fixer un rendez-vous pour effectuer l’échange physiquement. 3 Diagramme d’utilisation (Use Case Diagram) Dans le but de mettre l’accent sur les différentes fonctionnalités présentées dans la description de l’application, nous avons réalisé le diagramme d’utilisation ci-dessous : Figure 1.2 – Diagramme d’utilisation de ShareBooks 4 Diagramme de Séquence (Sequence Diagram) Nous procéderons par la suite à l’établissement des diagrammes de séquence cor- respondant aux fonctions principales de l’application et qui comprennent d’une part celui de la demande d’échange et d’une autre part celui correspondant à la réponse aux demandes d’échange.
  • 12. 6 CAHIER DE CHARGES Figure 1.3 – Diagramme de séquence de la fonction de demande d’échange Figure 1.4 – Diagramme de séquence de la fonction de réponse à le demande d’échange
  • 13. Chapitre 2 Réalisation de ShareBooks 1 Présentation des outils utilisés Avant d’entamer notre réalisation, il est indispensable de présenter les outils utili- sés : Firebase pour l’implémentation de la base de données et Android Studion pour l’implémentation des différentes fonctionnalités de l’application. 1.1 Firebase Firebase est un produit de Google qui permet aux développeurs de créer, gérer et développer leurs applications facilement et plus rapidement sans avoir recours à la programmation. Ce produit fournit un stockage en nuage vu qu’il utilise NoSQL comme base de données pour le stockage des données. Figure 2.1 – Différence entre Firebase et méthode traditionnelle Firebase comprend principalement des services backend qui aident les développeurs à construire et à gérer leurs applications de manière plus efficace. Les services inclus dans cette fonctionnalité sont :
  • 14. 8 RÉALISATION DE SHAREBOOKS Realtime Database : La base de données en temps réel Firebase est une base de données NoSQL basée sur le cloud qui gère les données à la vitesse fulgurante des millisecondes. Cloud Firestore : Le cloud Firestore est une base de données NoSQL qui fournit des services tels que le stockage, la synchronisation et les requêtes à travers des applications implémentés sur Android Studio. Elle peut stocker toutes sortes de données comme des chaînes de caractères, des données binaires et même des arbres JSON. Authentification : Le service d’authentification de Firebase fournit des bibliothèques d’interface utilisateur et des SDK faciles à utiliser pour authentifier les utilisateurs des applications. Il gère même des tâches telles que la fusion de comptes. Remote Config : Le service de configuration à distance permet de publier immédia- tement les mises à jour pour l’utilisateur. Les changements peuvent aller de la modifi- cation des composants de l’interface utilisateur à la modification du comportement des applications. Firebase Cloud Messaging (FCM) : Le service FCM fournit une connexion entre le serveur et les utilisateurs finaux de l’application, qui peut être utilisée pour recevoir et envoyer des messages et des notifications. Ces connexions sont fiables et économes en batterie. Figure 2.2 – Services offerts par Firebase
  • 15. 1. PRÉSENTATION DES OUTILS UTILISÉS 9 1.2 Android Studio Avant de pésenter Android Studio, il faut tout d’abord présenter Android. 1.2.1 Android Android est un système d’exploitation mobile qui a été d’abord développé par An- droid, Inc, une société de logiciels située dans la Silicon Valley, avant d’être rachetée par Google en 2005 pour être principalement utilisé pour les appareils à écran tactile, les téléphones cellulaires et les tablettes. Sa conception permet aux utilisateurs de manipuler les appareils mobiles de manière intuitive, avec des mouvements de doigts qui reflètent les mouvements courants, comme le pincement, le balayage et le tapotement. Google utilise également le logiciel Android dans les téléviseurs, les voitures et les montres-bracelets, qui sont tous dotés d’une interface utilisateur unique. Les développeurs de logiciels et d’applications ont pu utiliser Android pour développer des applications mobiles,qui sont vendues dans des magasins d’applications, tels que Google Play. Et comme il s’agit d’un produit Google,les utilisateurs d’Android ont la possibilité de relier leurs appareils mobiles à d’autres produits Google, tels que le stockage en nuage, les plateformes de messagerie électronique et les services vidéo. Figure 2.3 – Logo Android 1.2.2 Android Studio Android Studio est l’environnement de développement intégré (IDE) officiel pour le développement d’applications Android.Il est basé sur IntelliJ IDEA, un environnement de développement intégré Java pour les logiciels,et intègre ses outils d’édition de code
  • 16. 10 RÉALISATION DE SHAREBOOKS et de développement. Android Studio permet principalement ainsi d’éditer les fichiers Java et les fichiers de configuration d’une application Android. Pour prendre en charge le développement d’applications au sein du système d’exploi- tation Android,Android Studio utilise un système de construction basé sur Gradle, un émulateur, des modèles de code et une intégration Github. Android Studio utilise une fonctionnalité de poussée instantanée pour pousser les modi- fications de code et de ressources vers une application en cours d’exécution. Un éditeur de code aide le développeur à écrire le code et offre la complétion, la réfraction et l’analyse du code. Les applications créées dans Android Studio sont ensuite compilées au format APK pour être soumises au Google Play Store. Une application Android se compose de plusieurs éléments. Dans ce qui suit, nous allons essayer de découvrir ceux utilisés dans notre réalisation : Activity : Une activity est la composante principale pour une application Android qui crée les éléments de l’interface à l’intérieur du codejava. Elle représente donc l’implémentation et les interactions des interfaces décrite par un fichier XML. Figure 2.4 – Logo Android Studio Intents : Les Intents sont des objets permettant de faire passer des messages contenant de l’in- formation entre les "activity". Ils peuvent être considérés comme une demande d’une action à effectuer.
  • 17. 2. MODÉLISATION BASE DE DONNÉES 11 2 Modélisation Base de données Pour une bonne gestion de livres et d’utilisateur à l’intérieur de l’application, une bonne modélisation de données est importante, pour cela nous avons opté pour une modélisation simple comme le montre la figure 2.5 En effet, notre base de donnée sera constituée de tables : Utilisateur qui comporte toutes les données personnelles de l’utilisateur comme le nom, prénom, ville, etc ; Livre qui contient les informations relatives aux livres ; et la table Demande qui sera utile pour la gestion d’échange de livres. Figure 2.5 – Modélisation de la base de données 3 Description technique de la solution Au cours de cette partie nous allons procéder à l’explication des différentes fonction- nalités de l’application ShareBooks. 3.1 Authetification La première fonctionnalité de notre application n’est autre que l’authentification. En effet, toute action suppose que l’utilisateur soit authentifié à l’avance pour que son accès soit limité aux éléments qu’il possède. Dans ce cadre là, notre travail nous a permis d’établir deux fonctions, l’une qui va permettre à l’utilisateur de créer un compte dans notre base de données sur Firebase
  • 18. 12 RÉALISATION DE SHAREBOOKS et l’autre qui va lui permettre d’y accéder. 3.1.1 Création du compte C’est la première fonction dont l’utilisateur aura besoin pour avoir ses propres identifiants. D’abord nous aurons une interface dans laquelle l’utilisateur va saisir ses informations, une fois le bouton S’inscrire sera cliqué, un ensemble de vérification vont être faits afin de voir si les données sont formellement correctes sinon des messages d’erreurs vont être signalés. Si les données sont bonnes, nous allons procéder à la création du compte avec la fonction prédéfinie createUserWithEmailAndPassword, et si l’opération réussit nous allons stocker les identifiants et les informations correspondantes à l’utilisateur dans la base de données. (Voir figures 2.7 et 2.8). 3.1.2 Connexion Comme l’indique la figure 2.9 , une fois l’utilisateur fait entrer son email et mot de passe et clique sur le boutton Se connecter, la fonction userlogin() va s’exécuter. Cette fonction va nous permettre d’accéder au profil correspondant à l’utilisateur après avoir effectuer un ensemble de vérification sur le mot de passe et sur l’email saisi, par la suite la méthode signInWithEmailAndPassword() va être appelée qui est une fonction prédéfinie dans la bibliothèque correspondante à FirebaseAuthenfication. Si les deux opérations réussissent, nous passons à l’activity suivante qui représente le home sinon un message d’erreur sera affiché. 3.2 Gestion des bibliothèques C’est la deuxième fonction où l’utilisateur pourra accéder à ses propres livres et les gérer soit en ajoutant des livres ou en les supprimant de la bibliothèque. Pour cela nous aurons une interface avec un RecycleView où l’utilisateur pourra naviguer l’ensemble des livres de sa bibliothèque et aussi consulter les informations relativres à ses livres à l’aide d’un bouton Voir Information. De même, il pourra aussi gérer sa bibliothèque ce qui nous a permis d’établir deux fonctions, l’une qui va permettre à l’utilisateur d’ajouter des livres dans la de données sur Firebase et l’autre qui va lui permettre d’en supprimer. En cliquant sur le boutton Ajouter, on obtient
  • 19. 3. DESCRIPTION TECHNIQUE DE LA SOLUTION 13 l’interface 2.12 où l’utilisateur va insérer les informations de son livre.Et en cliquant sur le boutton Supprimer, il pourra supprimer les livres de son choix. 3.3 Recherche Livre Cette partie est consacrée à la fonction de recherche livres. Après l’authentification de l’utilisateur, une barre de recherche s’affiche contenant tous les livres dans la base de données. Pour accéder à ces livres, on a implémenté deux fonctions de recherche : par titre et par thème. 3.3.1 Recherche par titre La première fonction consiste à avoir des résultats par titre de livre, dans la barre de recherche l’utilisateur doit écrire le titre du livre recherché ou juste la première lettre du titre, puis la fonction Processsearchva faire une comparaison de la valeur saisie avec la valeur du champ Titre dans la base de données. Si la valeur existe dans la base de données, l’ensemble des résultats s’affiche directement, sinon rien ne sera affiché. A cette étape, l’utilisateur peut accéder à la description du livre ou visualiser le profil du propriétaire du livre voulu. 3.4 Recherche des livres par thème Si jamais l’utilisateur veut avoir des suggestions des livres par thème, la fonction de recherche par thème permet de filtrer les livres dans la base de données par thème choisi, à chaque fois il clique sur une catégorie une fenêtre affiche juste les livres qui appartiennent à cette catégorie, puis accéder aux informations du livre comme dans le cas de la première fonction. 3.5 Demande d’échange Une fois les phases précédentes sont terminées. Le client doit en ce moment-là de- mander un échange avec le propriétaire du livre en cours. Tout d’abord la demande se fait par un bouton Demander qui envoie une requête au client concerné. Le processus d’envoi de la demande est le suivant : Tout d’abord on utilise la fonction onData-
  • 20. 14 RÉALISATION DE SHAREBOOKS Change() qui permet de lire d’une manière instantanée les modifications apportées au contenu d’un chemin bien précisé . Celle-ci prend on charge l’extraction des données appropriés qui sont dans notre cas : iddemandeur ; idlivre ; etatdemande. . .. Par la suite la demande sera stockée directement dans la base de données à l’aide de la fonction FirebaseDatabase.getInstance(). Une fois le stockage s’est réussi, c’est-à-dire notre demande est bien enregistrée au niveau de la base de données d’une manière perma- nente, un message de retour pour confirmer le statut de la demande s’affiche au client, sinon la demande est échouée. Figure 2.6 – ShareBooks Figure 2.7 – Interface Inscription Utilisateur
  • 21. 4. DIAGRAMME DE GANTT 15 Figure 2.8 – Inscription Utilisateur Figure 2.9 – Interface Connexion 4 Diagramme de Gantt Pour réaliser ce projet, nous avons utlisé le diagramme de Gantt 2.19 suivant pour mieux gérer les tâches.
  • 22. 16 RÉALISATION DE SHAREBOOKS Figure 2.10 – Connexion Utilisateur Figure 2.11 – Bibliothèque Utilisateur
  • 23. 4. DIAGRAMME DE GANTT 17 Figure 2.12 – Interface Ajout livre Figure 2.13 – Ajout Livre
  • 24. 18 RÉALISATION DE SHAREBOOKS Figure 2.14 – Interface Suppression Figure 2.15 – Suppression livre
  • 25. 4. DIAGRAMME DE GANTT 19 Figure 2.16 – Interface home Figure 2.17 – Recherche Livre
  • 26. 20 RÉALISATION DE SHAREBOOKS Figure 2.18 – Demande d’échange Figure 2.19 – Diagramme de Gantt
  • 27. Conclusion En terme de réalisation, pour réaliser une application mobile, nous avons utilisé Android Studion pour implémentation du code et Firebase pour gérer l’ensemble des données des utilisateurs.Aprés création des fonctionnalités implémentées dans le Use Case Diagram nous avons arrivé à réaliser une application qui permet l’échange de livres entre utilisateurs. Ce projet intérgré a été très enrichissant vu qu’il nous a poussé à penser au-delà, pour arriver à réaliser cette application que nous comptons améliorer dans les jours à venir.
  • 28.