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
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.
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.