Académique Documents
Professionnel Documents
Culture Documents
Mémoire
Présenté en vue de l’obtention du diplôme
Licence en Informatique
Titre
Conception et réalisation d’un jeu de
Quiz sous Android
Présenté Par
Soutenu le ...
Devant le jury composé de :
Président ... ...
Encadrant Nadjib BENAOUDA MCB, Université de BBA
Examinateur ... ...
Promotion 2021-2022
Dédicaces
Nous tenons à dédier cet humble travail comme preuve de respect, de gratitude et de recon-
naissance :
A nos chères parents, nos frères, nos sœurs et amies
Pour leurs encouragements, soutiens, patiences et prières.
i
Remerciements
C’est avec un immense plaisir que je réserve ces quelques lignes en signe de gratitude et
de reconnaissance à tous ceux qui ont contribué de près ou de loin à l’élaboration de ce tra-
vail. Nous rendons grand merci à Dieu Tout-Puissant qui nous a donné une grande volonté et
suffisamment de connaissances pour faire cet humble travail.
À notre encadrant Dr. Nadjib Benaouda pour sa compréhension, sa disponibilité, son aide
et ses précieux conseils qui nous ont été très utiles pour l’achèvement de ce projet.
Nos remerciements s’étendent à tous nos enseignants du département d’Informatique de
l’Université BBA, en particulier à Dr. Nouioua Farid pour son aide et ses orientations.
Nous tenons à remercier aussi Dr. Nouioua Mourad pour son aide et ses conseils.
Enfin, Merci à toutes les personnes qui ont contribué de près ou de loin à l’accomplissement
de ce travail.
ii
Résumé
Dans ce projet de fin d’études, nous avons créé une application mobile de jeu quiz dans
laquelle chaque utilisateur peut en profiter et en bénéficier grâce à l’énorme quantité d’infor-
mations culturelles fournies par l’application. Nous avons suivi une démarche d’analyse et de
conception rigoureuse en commençant par l’analyse et l’expression des besoins de l’application
aussi bien fonctionnels que non fonctionnels. Ensuite, nous avons utilisé le langage de modélisa-
tion objet UML pour la conception de l’application à l’aide de différents types de diagrammes.
Enfin, nous avons réalisé notre application à l’aide de l’IDE Android studio et en faisant
appel à diverses technologies telles que : Android studio, Java, SQLite, etc. Nous espérons que
cette application sera amusante et ludique mais aussi utile pour l’enrichissement du bagage
culturel de son utilisateur à travers la variété des informations qu’elle peut offrir.
iii
Abstract
In this graduation project, we have created a quiz game mobile application in which every
user can enjoy and benefit from the huge amount of cultural information provided by the ap-
plication. We followed a rigorous analysis and design process, starting with the analysis and
expression of the application’s needs, both functional and non-functional. Next, we used the
UML object modeling language for designing the application using different types of diagrams.
Finally, we created our application using the Android studio IDE and using various techno-
logies such as : Android studio, Java, SQLite, etc. We hope that this application will be fun and
playful but also useful for enriching the cultural background of its user through the variety of
information it can offer.
iv
Table des matières
Dédicaces i
Remerciements ii
Résumé iii
Abstract iv
Introduction générale 1
2 Modélisation UML 8
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
v
2.2 Notions de modèle et de modélisation . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Qu’est-ce qu’un modèle ? . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 C’est quoi une modélisation ? . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Les trois vues principales de modélisation d’un logiciel . . . . . . . . 9
2.2.3.1 Vue fonctionnelle : . . . . . . . . . . . . . . . . . . . . 10
2.2.3.2 Vue statique : . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3.3 Vue dynamique : . . . . . . . . . . . . . . . . . . . . . 10
2.3 Qu’est-ce que le langage UML ? . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Vue fonctionnelle : diagramme de cas d’utilisation . . . . . . . . . . . . . . . 11
2.4.1 Qu’est-ce qu’un diagramme de cas d’utilisation ? . . . . . . . . . . . . 11
2.4.2 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.3 Les cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.4 Notre diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . 12
2.4.5 La spécification détaillée des cas d’utilisation . . . . . . . . . . . . . . 12
2.4.5.1 Cas d’utilisation : Jouer . . . . . . . . . . . . . . . . . . . . 13
2.4.5.2 Cas d’utilisation : Consommer indice . . . . . . . . . . . . . 14
2.4.5.3 Cas d’utilisation : Consommer bonus 50 :50 . . . . . . . . . 14
2.4.5.4 Cas d’utilisation : Regarder vidéo publicitaire . . . . . . . . 15
2.5 Vue statique : diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1 Qu’est-ce qu’un diagramme de classes ? . . . . . . . . . . . . . . . . . 15
2.5.2 Notre diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Vue dynamique : diagramme de séquence . . . . . . . . . . . . . . . . . . . . 17
2.6.1 Qu’est-ce qu’un diagramme de séquence ? . . . . . . . . . . . . . . . . 17
2.6.2 Nos diagrammes de séquence système . . . . . . . . . . . . . . . . . 18
2.6.2.1 Cas d’utilisation : Jouer . . . . . . . . . . . . . . . . . . . . 18
2.6.2.2 Cas d’utilisation : Choisir niveau . . . . . . . . . . . . . . . 19
2.6.2.3 Cas d’utilisation : Choisir question . . . . . . . . . . . . . . 19
2.6.2.4 Cas d’utilisation : Répondre à la question . . . . . . . . . . . 20
2.6.2.5 Cas d’utilisation : Consommer indice . . . . . . . . . . . . . 21
2.6.2.6 Cas d’utilisation : Consommer un bonus 50/50 . . . . . . . . 21
2.6.2.7 Cas d’utilisation : Regarder vidéo publicitaire . . . . . . . . 22
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
vi
3 Réalisation 23
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Présentation d’Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1 Android Studio comme IDE . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2 Le Kit de développement (SDK) d’Android . . . . . . . . . . . . . . . 24
3.3.3 Le langage Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.4 SQLite : système de gestion de bases de données relationnelles . . . . . 25
3.4 Présentation de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1 Interface d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Liste des niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.3 Liste des questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.4 Interface propre aux détails d’une question à choix multiples . . . . . . 28
3.4.5 Interface propre aux détails d’une question Vrai/Faux . . . . . . . . . . 28
3.4.6 Épuisement des vies et des bonus . . . . . . . . . . . . . . . . . . . . 29
3.4.7 Consommation de bonus . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.8 Interface d’obtention davantage de vies et de bonus . . . . . . . . . . 30
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Conclusion générale 31
Bibliographie 32
vii
Table des figures
viii
Liste des tableaux
ix
Introduction générale
1
ter l’essentiel des étapes suivis durant la réalisation de notre projet. Ces étapes sont décrites à
travers les trois chapitres suivants :
Le chapitre 1 présente la première étape de notre travail dans laquelle nous avons collecté
les informations essentielles nécessaires au développement de l’application. Pour cela, nous
avons déterminé le domaine d’étude qui est le sujet de ce mémoire, les buts et les personnes
visées par cette application. Ainsi, nous allons spécifier et décrire les besoins fonctionnels et
non fonctionnels de notre application, tout cela dans le cadre de l’expression des besoins de
cette dernière.
Dans le chapitre 2, nous allons nous intéresser à l’analyse et à la conception de l’application,
et cela en définissant quelques notions liées à la modélisation. Pour cela , nous nous baserons
sur le langage de modélisation UML, qui se démarque par une flexibilité marquante, et qui se
caractérise par l’utilisation de différents types de diagrammes.
Enfin, dans le chapitre3 qui est le dernier chapitre, Nous ferons preuve de concrétisation des
notions déjà vus dans le 2ème chapitre, et cela dans le cadre d’une application qui implémente et
met en œuvre toutes ces notions. Le résultat obtenu sera donc un produit final, qui peut être ex-
ploité par les utilisateurs. Pour mener à bien l’implémentation de notre application, nous avons
fait appel à un ensemble d’outils, de langages de programmation et de techniques que nous al-
lons présenter brièvement dans ce mémoire et montrer leurs usages lors du développement de
l’application.
2
Chapitre 1
Expression des besoins
1.1 Introduction
Dans ce chapitre, nous décrivons notre projet qui consiste à créer une application mobile
d’un jeu destiné à être l’utilisé en temps libre. L’application proposée est un jeu de divertisse-
ment dans lequel l’utilisateur répond à des questions qui sont classifiées sous plusieurs domaines
comme : science, religion, médecine, sport, culture générale, etc. Cette application nous offre
plusieurs avantages, notamment le développement de l’intelligence et la précision des informa-
tions culturelles des utilisateurs, l’amélioration des capacités cognitives dont nous avons besoin
dans notre vie.
3
d’un dispositif mobile comme : PDA, smartphones, tablettes. . . etc. La majorité des applica-
tions mobiles sont distribuées sur des plateformes de téléchargement telles que la plateforme
d’Apple (App Store), la plateforme de Google Android (Google Play) ou encore la plateforme
de Microsoft Windows (Windows Phone Store).
Une application mobile est développée et utilisée pour plusieurs objectifs comme : l’utilisa-
tion d’un service déjà existant, la communication, la recherche des informations, l’échange des
informations . . . etc. Actuellement, il existe une très large diversité des applications mobiles :
réseaux sociaux, OPS, Boîte E-mail, jeux . . . etc. Un jeu mobile est un jeu qui fonctionne sur un
appareil mobile comme les smartphones ou les tablettes tactiles.
Le premier jeu qui a été créé sur un téléphone mobile était une version de Tetris sur le
HAGENUR MT 2000 en 1994. Avec le développement scientifique et les avancées des techno-
logies modernes, divers jeux sont apparus et classifiées sous plusieurs catégories : jeux d’action,
jeu d’aventure, jeu éducatif, jeu de sport, simulation et culture générale.
Le jeu de Quiz est parmi les jeux les plus populaires qu’on trouve souvent installés sur les
smartphones ou les tablettes. Il consiste en un questionnaire permettant de tester des connais-
sances générales ou spécifiques ainsi que les compétences des utilisateurs dans un sujet donné.
Le Quiz visé doit obéir complètement ou partiellement aux directives suivantes :
• La diversité des questions qui doit englober beaucoup de catégories comme : la science,
l’histoire, le sport. . . etc.
• Le jeu propose plusieurs niveaux avec un certain nombre de questions pour chaque niveau.
• Le joueur commence le jeu à partir d’un niveau initial et débloque d’autres niveaux dès
qu’il arrive à un certain score donné.
• Au minimum, deux types de questions doivent être considérés, à savoir les questions à
choix multiple et les questions de type vrai ou faux.
• Pour chaque question, le joueur peut bénéficier d’une aide en lui limitant le nombre des
choix possibles pour répondre (50/50) ou en lui proposant un indice sur la réponse.
• Des détails sur cette réponse peuvent également être visualisés à chaque réponse positive
permettant ainsi une meilleure appréhension des réponses données.
4
• Le nombre d’opportunités à jouer (le nombre d’essais autorisés ou le nombre de vies) peut-
être initialement limité et puis diminué à chaque mauvaise réponse. Ainsi, le joueur ne peut plus
jouer s’il atteint le nombre d’essais autorisés. Autrement dit, si le nombre de vies est égale à
zéro.
• Le jeu est proposé uniquement pour le mode mono-joueur.
5
1.5.1 Besoins fonctionnels
Les besoins fonctionnels expriment une action qu’on doit effectuer dans le système en ré-
pondant à une demande (ensemble de sorties qui sont produites en fonction d’un ensemble
d’entrées). Les principales fonctions de notre système sont les suivantes :
• La possibilité de sélection et de déblocage des niveaux à base du score obtenu.
• Dans chaque niveau, l’application doit proposer un certain nombre de questions connexes
aux différentes catégories envisagées et parmi lesquelles l’utilisateur peut choisir.
• Pour chaque question, l’application doit proposer deux formes d’aide : soit une aide par
indice, soit une limitation du nombre de suggestions possibles dans le cas d’une question à
choix multiple
• Des commentaires sur la réponse doivent être présentés à chaque bonne réponse sur une
question.
• Se souvenir de l’état de chaque question (résolue ou non).
• La mise à jouer du score obtenu à chaque bonne réponse.
• La décrémentation du nombre de vies possibles à chaque mauvaise réponse. La même
chose pour le nombre d’aides qui doit être décrémenté à chaque consommation d’un outil
d’aide.
• La possibilité d’acheter des vies et des aides supplémentaires.
Il s’agit des besoins qui caractérisent le système. Ce sont des besoins en matière de per-
formance, de type de matériel ou le type de conception. Ces besoins peuvent concerner les
contraintes d’implémentation (langage de programmation, type de SGBD, système d’exploita-
tion. . . etc.).
En ce qui concerne notre application, nous avons dégagé les besoins suivants :
• La proposition de l’application en deux langues : Arabe et français.
• La prise en charge de différentes dimensions d’écrans.
6
1.6 Conclusion
Dans ce premier chapitre, nous avons introduit le contexte général de notre projet et nous
avons exprimé les principaux besoins de notre application.
Nous avons présenté notre domaine d’étude, les buts et les utilisateurs visés. Ensuite, nous
avons introduit la spécification des besoins de l’application. Plus précisément, nous avons dis-
tingué antre les besoins fonctionnels et non-fonctionnels.Le chapitre suivant de notre projet est
consacré à l’analyse et la conception de notre application.
7
Chapitre 2
Modélisation UML
2.1 Introduction
Dans ce chapitre, nous nous intéressons à la deuxième étape de notre travail qui consiste
en l’analyse et la conception de notre application mobile, et cela à l’aide du langage de modé-
lisation UML. Ce dernier comporte les principaux modèles propres à notre système et utilise
différents types de diagrammes. Nous nous limitons aux trois diagrammes suivants qui sont
pertinents et suffisants pour modéliser notre application :
• Diagramme de classes.
• Diagramme de séquence.
Ce chapitre résume l’essentiel de cette deuxième étape en mettant l’accent sur les points sui-
vants :
Marvin Minsky donne la définition suivante d’un modèle [1] : « Pour un observateur B, un
objet A* est un modèle d’un objet A s’il permet à B de répondre à une question qu’il se pose
sur A ».
8
Un modèle est une représentation simplifiée de la réalité en vue de réaliser quelque chose
(objet concret, système d’équations . . . ) qui se substitue au réel trop complexe ou inaccessible
à l’expérience et qui permet de comprendre ce réel par un intermédiaire plus connu ou plus
accessible à la connaissance.
La modélisation est une opération par laquelle on établit le modèle d’un système complexe,
afin de l’étudier plus commodément et de mesurer les effets sur ce système des variations de tel
ou tel de ses éléments composants (Giraud-Pamart Nouv.1974).
À d’autre façon la modélisation consiste à mettre au point un ensemble d’équation ou des
règles pour décrive un phénomène de façon reproductible et simulable. La modélisation infor-
matique des données est en réalité un processus de description de la structure des associations,
des relations et des impératifs liés à des datas disponibles. Elle permet de fixer des normes, tout
en codant des modèles de gestion des données dans une organisation.
9
On utilise souvent plusieurs modèles pour décrire tous les aspects d’un système complexe,
plusieurs « vues ». On distingue le plus souvent, comme le montre la figure (2.1), trois vues
principales pour un logiciel : la vue fonctionnelle qui décrit les services rendus, la vus structu-
relle (statique) qui décrit les composants et la vue comportementale (dynamique) qui décrit les
évolutions.
La vue statique représente des schémas de conception à caractère stable ou immobile pour
les différents processus de l’application (cas du diagramme de classes).
10
2.4 Vue fonctionnelle : diagramme de cas d’utilisation
Dans le digramme de cas d’utilisation, les utilisateurs du système sont dépeints comme
des acteurs. Chaque acteur représente un rôle joué par une entité externe (utilisateur humain,
dispositif matériel ou autre système) qui interagit directement avec le système étudié. Dans le
cas de notre application le seul acteur qui interagit avec le système est le joueur.
Un cas d’utilisation décrit une fonction qu’un système exécute pour atteindre l’objectif de
l’utilisateur. Un cas d’utilisation doit renvoyer un résultat observable qui est utile pour l’utilisa-
teur du système. Les cas d’utilisation contiennent des informations détaillées sur le système, les
utilisateurs du système, les relations entre le système et les utilisateurs et le comportement requis
du système. Les cas d’utilisation ne détaillent pas la manière dont le système est implémenté.
Chaque cas d’utilisation décrit un objectif particulier de l’utilisateur et explique comment l’uti-
lisateur interagit avec le système pour atteindre cet objectif. Le cas d’utilisation décrit toutes les
façons possibles dont un système peut atteindre, ou ne pas atteindre, l’objectif de l’utilisateur.
11
Dans le cas de notre application les cas d’utilisations qui interagissent avec le système sont :
Jouer, Choisir niveau, Choisir question, Répondre à la question, Consommer indice, Consom-
mer bonus 50/50, Obtenir plus d’aides (Un cas d’utilisation abstrait), Acheter vies, Acheter
bonus, Regarder vidéo publicitaire.
Dans cette section, nous procédons à une analyse plus approfondie des besoins de notre ap-
plication en présentant une description textuelle détaillée de quelques cas d’utilisation. Particu-
lièrement, les cas d’utilisations suivants seront détaillés : Jouer, Consommer indice, Consommer
bonus 50/50, Regarder vidéo publicitaire.
12
2.4.5.1 Cas d’utilisation : Jouer
Sommaire d’identification
Titre Jouer
Acteurs Joueur
Résumé Jouer avec le quiz
Description des scénarios
Préconditions Se trouver à l’interface d’accueil
13
2.4.5.2 Cas d’utilisation : Consommer indice
Sommaire d’identification
Titre Consommer indice
Acteurs Joueur
Résumé Le joueur veut avoir un indice sur la réponse
Description des scénarios
Alternatives Aucunes
Postconditions Un indice sur la réponse est affiché.
Sommaire d’identification
Titre Consommer bonus 50 :50
Acteurs Joueur
Le joueur veut éliminer deux suggestions fausses parmi les
Résumé
quatre suggestions possibles.
Description des scénarios
Alternatives aucunes
Postconditions Deux suggestions fausses sont éliminées.
14
2.4.5.4 Cas d’utilisation : Regarder vidéo publicitaire
Sommaire d’identification
Titre Regarder vidéo publicitaire
Acteur principal Joueur
Acteur secondaire Réseau publicitaire
Le joueur veut obtenir plus vies ou de bonus en regardant
Résumé
une vidéo publicitaire.
Description des scénarios
Alternatives Aucunes
Postconditions Un certain nombre de vies ou de bonus est ajouté.
Un diagramme de classes fournit une vue globale d’un système en présentant ses classes, in-
terfaces et collaborations, et les relations entre elles. Les diagrammes de classes sont statiques :
ils affichent ce qui interagit mais pas ce qui se passe pendant l’interaction. En notation UML et
comme la montre la figure (2.3), une classe est représentée sous la forme d’un rectangle divisé
en plusieurs parties : le nom de la classe, les attributs (champs) et les opérations (méthodes).
15
F IGURE 2.3: Diagramme de classes.
16
2.6 Vue dynamique : diagramme de séquence
Un diagramme de séquence est un diagramme UML (Unified Modeling Language) qui re-
présente la séquence de messages entre les objets au cours d’une interaction. Un diagramme de
séquence comprend, comme le montre la figure (2.5), un groupe d’objets, représentés par des
lignes de vie, et les messages que ces objets échangent lors de l’interaction. Les diagrammes de
séquence représentent la séquence de messages transmis entre des objets. Ils peuvent également
représenter les structures de contrôle entre des objets. Par exemple, les lignes de vie dans un dia-
gramme de séquence pour un scénario de banque peuvent représenter un client, un guichetier
ou un responsable d’agence. Les communications entre le client, le guichetier et le responsable
sont représentés par les messages entre ces derniers. Le diagramme de séquence représente les
objets et les messages entre ces objets.
17
Dans notre cas, nous allons utiliser le diagramme de séquence pour décrire le comportement
de notre système vu de l’extérieur en tant que boite noir, c.à.d. sans montrer les détails propres
à sa réalisation, vis-à-vis des acteurs concernés.
Dans ce qui suit, quelques diagrammes de séquence système qui illustrent des scénarios re-
présentatifs de certains de nos cas d’utilisations sont présentés. Particulièrement, les cas d’utili-
sations suivants sont considérés : Jouer, Choisir niveau, Choisir question, Répondre à la ques-
tion, Consommer indice, Consommer un bonus 50/50, Regarder vidéo publicitaire.
18
2.6.2.2 Cas d’utilisation : Choisir niveau
19
2.6.2.4 Cas d’utilisation : Répondre à la question
20
2.6.2.5 Cas d’utilisation : Consommer indice
21
2.6.2.7 Cas d’utilisation : Regarder vidéo publicitaire
2.7 Conclusion
Dans ce deuxième chapitre, nous avons présenté l’essentiel de notre phase de modélisation
UML. Nous avons présenté la modélisation et ses différents côtés. Nous avons donné une brève
présentation du langage UML. Ensuite, nous avons défini les différents diagrammes UML dont
nous avons besoin et qui sont : le diagramme de cas d’utilisation, le diagramme de classes et le
diagramme de séquence.
Nous avons justement illustré comment ces trois diagrammes ont été utilisés afin de modé-
liser notre système cible selon les vues fonctionnelle, statique et dynamique, respectivement.
Dans le chapitre suivant, Nous nous intéresserons à la partie qui concerne réalisation de notre
application.
22
Chapitre 3
Réalisation
3.1 Introduction
Dans ce chapitre, nous nous s’intéressons à la réalisation et le développement de notre ap-
plication « Jeu Quiz ». Nous allons présenter dans un premier temps l’OS Android, nous spé-
cifierons les principaux outils de développement ainsi que les langages et techniques que nous
avons utilisés,. Nous finirons par présenter les scénarios les plus généraux de notre application
illustrés par des captures d’écrans.
23
3.3 Outils de développement
Android Studio est l’environnement de développement intégré (IDE) officiel pour le déve-
loppement d’applications Android. Pour prendre en charge le développement d’applications au
sein du système d’exploitation Android, Android Studio utilise un système de génération basé
sur Gradle, un émulateur, des modèles de code et une intégration Github. On trouve qu’une
application Android doit s’exécuter sur tous les types d’appareils. Chaque appareil peut avoir
une version différente sur Android fonctionnant dessus. Chaque version d’Android peut ne pas
prendre en charge toutes les fonctionnalités requises par votre application. Ainsi, lors de la créa-
tion d’une application, vous devez garder à l’esprit la version minimale et maximale d’Android.
La version que nous avons utilisé durant le développement est : 11.0.10.
Le SDK d’Android
Le Framework utilisera Target Sdk Version pour déterminer quand activer certains compor-
tements de compatibilité Le niveau d’API auquel notre application a été conçue pour fonction-
ner : Target Sdk : 32 .
Min Sdk Version est la version minimale d’Android prise en charge par votre application.
Les utilisateurs exécutant une version d’Android antérieure à cette version ne pourront pas
installer votre application ou la voir dans le Play Store. Le niveau d’API minimal à partir duquel
notre application peut fonctionner correctement : min Sdk 21 .[2]
24
3.3.3 Le langage Java
Il existe plusieurs langages de programmation pouvant être utilisés afin de développer des
applications mobiles. Parmi les langages de programmation, nous pouvons citer en particulier
les deux langages (Java et Kotlin). Pour ce qui est de notre cas, nous avons choisi le langage
Java, Il réduit les coûts, raccourcit les délais de développement, favorise l’innovation et amé-
liore les services d’application. Avec des millions de développeurs utilisant plus de 51 milliards
de solutions JVM (Java Virtual Machine) dans le monde, Java reste la plateforme de déve-
loppement de choix pour les entreprises et les développeurs. Pour le développement de notre
application, nous avons utilisé comme version du JDK, la version 11.0.10.[3]
SQLite (Structured Query Language) est un Système de Gestion de Base de Données (SGBD)
qui permet d’entreposer des données de manière structurée (Base, tables, champs, enregistre-
ments, etc.). Le noyau de ce système permet d’accéder à l’information entreposée via un langage
spécifique qu’on appelle SQL (Structured Query Language).
Dans notre application, nous nous sommes basés sur ce SGBD pour le stockage des in-
formations propres aux différents niveaux et questions. Pour l’insertion initiale de toutes ces
informations, nous avons utilisé l’outil DB Browser for SQLite, qui est un outil open source
visuel de haute qualité pour créer, concevoir et modifier des fichiers de base de données com-
patibles avec SQLite. Cet outil utilise une interface familière de type feuille de calcul, et les
commandes SQL compliquées n’ont pas besoin d’être apprises.
Outres les informations relatives aux différents niveaux et questions du Quiz et pour la
sauvegarde et la restauration du score total, du nombre de vies et aussi de bonus, nous nous
sommes basés sur les fichiers de préférences proposés par le système Android. [4]
25
3.4.1 Interface d’accueil
26
3.4.3 Liste des questions
27
3.4.4 Interface propre aux détails d’une question à choix multiples
(a) L’énoncé de la ques- (b) La sélection d’une ré- (c) La sélection d’une ré-
tion avec ses suggestions ponse fausse. ponse correcte. Un com-
possibles. mentaire sur cette réponse
est affiché au-dessous de
l’énoncé de la question.
F IGURE 3.4: Interface propre aux détails d’une question à choix multiples.
(a) L’énoncé de la ques- (b) La sélection d’une ré- (c) La sélection d’une ré-
tion avec ses suggestions ponse fausse. ponse correcte. Un com-
possibles. mentaire sur cette réponse
est affiché au-dessous de
l’énoncé de la question.
28
3.4.6 Épuisement des vies et des bonus
29
3.4.8 Interface d’obtention davantage de vies et de bonus
(a) Interface Plus de vies. (b) L’obtention de 5 vies sup- (c) L’obtention de 5 bonus
plémentaire. supplémentaire.
3.5 Conclusion
Dans ce 3ème chapitre de réalisation, nous avons présenté les différents langages de pro-
grammation propres au développement et à l’implémentation de notre application mobile. Nous
avons également procédé à la définition d’outils de développement avant de présenter les inter-
faces qui résument les principales fonctionnalités que notre application propose.
30
Conclusion générale
A l’issue de notre cursus de Licence, spécialité ISIL (Ingénierie des Systèmes d’Informa-
tions et du Logiciel), nous sommes amenés à entreprendre un projet de fin d’études. Nous étions
chargées de concevoir et de mettre en œuvre une application mobile de "Jeu Quiz ", dédiée à
toute personne instruite qui souhaite utiliser son temps libre pour enrichir ses connaissances et
élargir sa culture générale de manière ludique et conviviale.
Pour accomplir notre mission, nous avons mis en œuvre les connaissances que nous avons
acquises tout au long de nos cursus universitaires avec l’aide précieuse de nos professeurs.
Après avoir effectué une réflexion sur les exigences de notre application, nous avons pu
exprimer clairement nos besoins fonctionnels et non fonctionnels et déterminer les utilisateurs
cibles de notre application qui sont toutes les personnes instruites. Ensuite, nous sommes pas-
sées à la conception minutieuse et détaillée de notre application en se basant sur le langage
UML. Nous avons ainsi modélisé notre système à l’aide de trois types de diagrammes UML, à
savoir les diagrammes de cas d’utilisation, de classes et de séquences.
Enfin, nous avons présenté l’essentiel de la partie implémentation de l’application en dé-
taillant les outils de développement utilisés ainsi que les interfaces offertes à l’utilisateur, et en
récapitulant les principales fonctions fournies par notre application. En effet, ce projet nous a
permis d’apprendre et d’utiliser de nombreuses technologies telles que : Android Studio, Java,
XML, SQLite, etc.
Au final, nous espérons que notre travail sera une source de motivation pour tous ceux qui
souhaitent poursuivre une carrière dans le développement mobile, en particulier le développe-
ment Android.
31
Bibliographie
[1] J. Lonchamp, Analyse des besoins pour le développement logiciel : Recueil et spécification,
démarches itératives et agiles. Dunod, 2015.
[2] Présentation des niveaux d’api android. [Online]. Available : https ://docs.microsoft.com/fr-
fr/xamarin/android/app-fundamentals/android-api-levels ?tabs=windows
32