Vous êtes sur la page 1sur 43

‫الجمهورية التونسية‬

‫وزارة التعليم العالي والبحث العلمي‬


‫جامعة تونس‬
‫المدرسة الوطنية العليـا للمهندسين بتونـس‬

Réf : PFA2-2022- 05

Rapport de

Projet de Fin d’Année


de

Deuxième année en Génie Informatique

Présenté et soutenu publiquement le 31/05/2022

Par

Syrine BEN RAYANA

Application mobile de formation en


cuisine : « SisinaApp »

Composition du jury

Madame Hajer KRICHENE Président


Madame Meriem RIAHI Encadrant

Année universitaire : 2021-2022

5, Avenue Taha Hussein – Tunis Tel. : 71 . 496 . 066 :‫الهاتف‬ ‫ شارع طه حسين ـ تونس‬،5
B. P. 56, Bab Menara 1008 Fax : 71 . 391. 166: ‫فاكس‬ 1008 ‫ باب منارة‬56 : . ‫ ب‬. ‫ص‬
Remerciements

Mes remerciements les plus sincères vont à ma chère encadrante qui m’a supporté tout
au long de mon travail, Madame Meriem RIAHI. Je lui remercie non seulement pour les
efforts et le temps qu’elle m’a accordés lors de la réalisation de ce projet mais aussi pour
la forte personnalité qu’elle nous a montrée et pour le fait qu’elle n’a jamais cessé de
nous pousser vers l’avant et de nous montrer les bonnes voies vers le savoir.

Je tiens à remercier, également, Madame Nesrine YACOUBI pour son interêt et ses
encouragements pour la réalisation de ce projet.

Aussi, je remercie chaleureusement les membres du jury pour m’avoir honoré en


acceptant d’évaluer ce travail.

Finalement, je remercie toute personne ayant contribué de près ou de loin au bon


déroulement de ce projet.

i
Table des matières

Introduction Générale 1

1 Cadre général du projet 2


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Contexte du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Etude et critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1 Solutions existantes . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.2 Tableau comparatif des solutions existantes . . . . . . . . . . . . . 6
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Spécification et analyse des besoins 8


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Identification des besoins fonctionnels . . . . . . . . . . . . . . . . 8
2.2.2 Identification des besoins non fonctionnels . . . . . . . . . . . . . . 8
2.3 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Diagramme des cas d’utilisation global . . . . . . . . . . . . . . . . 9
2.3.3 Raffinement des cas d’utilisation . . . . . . . . . . . . . . . . . . . 11
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Etude Conceptuelle 17
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Modèle architectural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.1 Diagramme de classe de l’application . . . . . . . . . . . . . . . . . 18
3.4 Diagramme de séquences détaillé . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Mise en œuvre 22
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.1 Choix de l’IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.2 Choix du framework . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.3 Choix de plateforme pour la conception de la base de données . . . 24
4.4 Charte graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.1 Choix des polices d’écriture . . . . . . . . . . . . . . . . . . . . . . 24
4.4.2 Palette de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ii
Table des matières Table des matières

4.5 Interfaces de SisinaApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


4.5.1 Page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.2 Page d’accès aux services de l’application . . . . . . . . . . . . . . 25
4.5.3 Interface d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.4 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.5 Interface principale de l’application . . . . . . . . . . . . . . . . . . 27
4.5.6 Page de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.7 Recherche rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.8 Recherche par catégorie . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.9 Détails d’une recette . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Conclusion Générale 32

Netographie 33

A Description du Langage de Modélisation Unifié «UML» 34

B Présentation de l’architecture «BLoC» 36

iii
Liste des figures

1.1 Interfaces de l’application «Cuisine Tunisienne Facile» . . . . . . . . . . . 3


1.2 Interfaces 1 de l’application «Al Matbakh al tounssi» . . . . . . . . . . . . 3
1.3 Interfaces 2 de l’application «Al Matbakh al tounssi» . . . . . . . . . . . . 4
1.4 Interfaces de l’application «Cuisine tunisienne» . . . . . . . . . . . . . . . 4
1.5 Interfaces 1 de l’application «Marmiton» . . . . . . . . . . . . . . . . . . . 5
1.6 Interfaces 2 de l’application «Marmiton» . . . . . . . . . . . . . . . . . . . 5
1.7 Interfaces de l’application «750 grammes» . . . . . . . . . . . . . . . . . . 6

2.1 Diagramme des cas d’utilisation global . . . . . . . . . . . . . . . . . . . . 10


2.2 Diagramme du cas d’utilisation raffiné de «Gérer les formations» . . . . . . 11
2.3 Diagramme de séquences du cas d’utilisation «Consulter une formation» . 12
2.4 Diagramme de séquences du cas d’utilisation «S’inscrire à l’application» . . 13
2.5 Diagramme du cas d’utilisation de «Consulter listes des recettes» . . . . . 14
2.6 Diagramme de séquences du cas d’utilisation «Chercher une recette» (par
catégorie, par nom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Modèle MVVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Diagramme de séquences détaillé du cas d’utilisation «Chercher une recette» 21

4.1 Illustration des widgets d’un simple exemple d’une interface graphique . . 23
4.2 Polices d’écriture utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Palette de couleurs utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 Page d’accès aux services de l’application . . . . . . . . . . . . . . . . . . . 26
4.6 Interface d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.7 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.8 Interface principale de l’application . . . . . . . . . . . . . . . . . . . . . . 28
4.9 Page de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.10 Résultats des recherches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.11 Recette non trouvée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.12 Recettes par catègorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.13 Détails recette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

A.1 Diagrammes UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

B.1 Fonctionnement de l’architecture «BLoC» . . . . . . . . . . . . . . . . . . 36

iv
Liste des tableaux

1.1 Tableau comparatif des solutions existantes . . . . . . . . . . . . . . . . . 7

2.1 Description textuelle du cas d’utilisation «Consulter une formation» . . . . 11


2.2 Description textuelle du cas d’utilisation «S’inscrire à l’application» . . . . 13
2.3 Description textuelle du cas d’utilisation «Chercher une recette» (par ca-
tégorie, par nom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

v
Introduction Générale

Dans le cadre de mon deuxième projet de fin d’année en ingénierie, j’ai proposé un
sujet qui mélange ma passion et mon domaine professionnel. Ce sujet est émané, au début,
d’un besoin personnel. En fait mon passe-temps préféré est l’art de la cuisine. C’est dans la
cuisine que je passe la majorité de mon temps libre, là où j’oublie tout, où je me destresse
et où je passe des bons moments avec mes ingrédients et mes ustensiles.
Sauvgarder mes recettes et les bien organiser est devenu un besoin primordial. Mais ce
n’est plus mon soucis à moi seulement, ça représente un problème pour toutes les femmes.

Une des chefs cuisine que je suis est Madame le chef Nesrine YACOUBI. Cette chef
est très connue chez les amateurs de la cuisine par ses recettes super faciles et astucieuses.
Chef Nesrine, à part qu’elle a un centre de formation, elle est très active sur les réseaux
sociaux. En effet, elle assure plein de formations en ligne.

Dans le but de mieux organiser son travail et de lui donner plus de professionalisme
j’ai proposé à chef Nesrine de lui développer une application qui, d’une part, lui permet
de mieux gérer ses formations et d’autre part de toujours garantir la satisfaction de ses
amateurs. D’où le sujet de ce PFA : conception et développement d’une application mobile
dédiée à des formations de cuisine en ligne.

Ce projet est détaillé dans ce présent rapport organisé en quatre chapitres :

Le premier chapitre, intitulé «Cadre général du projet», présente le contexte général


du projet et une critique des solutions existantes ainsi que la solution proposée.

Le deuxième chapitre, «Analyse et spécification des besoin», est consacré à l’identifi-


cation des besoins fonctionnels et non fonctionnels attendus de l’application et à l’analyse
des différents cas d’utilisation.

Le troisième chapitre,«Etude conceptuelle» est dédié à la présentation des différents


modèles conceptuels qui préparent le projet pour son implémentation.

Le quatrième chapitre, «Réalisation et mise en oeuvre», présente l’environnement et


les outils de développement utilisés et illustre les interfaces les plus pertinentes.

Finalement, ce rapport est clôturé par une «Conclusion générale» pour récapituler le
travail réalisé et donner quelques persectives .

1
Chapitre 1

Cadre général du projet

1.1 Introduction
Ce chapitre introductif présente, en premier lieu, le cadre général du projet ainsi que les
objectifs à atteindre. Ensuite une étude et critique de l’existant est proposée. Finalement
une description du travail envisagé est détaillée.

1.2 Contexte du projet


Gagner de la popularité et augmenter sa réputation dans un environnement concur-
rentiel est un objectif très difficile à y parvenir mais ce qui est plus complexe c’est de
savoir comment garder cette popularité et d’essayer toujours de l’augmenter.
Pour ce faire, il faut, toujours chercher les bons moyens qui aident à mieux satisfaire les
attentes de ses amateurs/clients.
En particulier, pour l’art de la cuisine on trouve pas mal d’amateurs et chefs cuisine
qui proposent leurs recettes à travers des chaines Youtube ou sur les réseaux sociaux.

Dans ce contexte et dans le cadre de mon deuxième projet de fin d’année, il m’a
été confié de concevoir et de développer une application mobile de cuisine spécifique à
Madame la chef Nesrine Yacoubi dont le but est de mieux gérer ses formations et publier
ses recettes afin de mieux satisfaire ses amateurs/clients.

1.3 Etude et critique de l’existant


Cette section est consacrée à l’exposition et la critique des solutions existantes.

1.3.1 Solutions existantes


Nous présentons, dans cette section quelques, solutions tunisiennes et d’autres étran-
gères.

1.3.1.1 Solutions Tunisiennes


Les solutions les populaires en Tunisie sont les suivantes :

2
Chapitre 1. Cadre général du projet 1.3. Etude et critique de l’existant

- Cuisine Tunisienne Facile :


«Cuisine Tunisienne Facile» est une application mobile qui expose les recettes des
plats,traditionnels plats les plus populaires. Cette application organise les recettes propo-
sées en quatre grandes catégories qui sont : «Couscous», «Tajines», «sucreries» et «pâtes».
Aussi, elle offre à ses utilisateurs la possibilité de rechercher des plats par leurs noms et de
construire leurs propres listes des favoris. Pour chaque recette, on trouve une description
textuelle des ingrédients et des étapes à suivre. [1]
Les interfaces de cette application sont présentées par la figure 1.1 ci-dessous.

Figure 1.1 – Interfaces de l’application «Cuisine Tunisienne Facile»

- :
Comme nous pouvons le remarquer à travers les figures 1.2 et 1.3, ci-dessous, «Al
Matbakh al tounssi» est une application très simplifiée dont le but est juste de présenter
les plats les plus connus en Tunisie. Les recettes sont catégorisées seulement en 2 catégo-
ries ; «recettes salées» et «recettes sucrées». Chaque recette est décrite textuellement en
utilisant le dialecte tunisien.
Tout utilisateur a la possibilité d’avoir une liste de ses recettes préférées.[2]

Figure 1.2 – Interfaces 1 de l’application «Al Matbakh al tounssi»

3
Chapitre 1. Cadre général du projet 1.3. Etude et critique de l’existant

Figure 1.3 – Interfaces 2 de l’application «Al Matbakh al tounssi»

- Cuisine Tunisienne :
«Cuisine Tunisienne» offre les mêmes fonctionnalités que les deux précedentes appli-
cations sauf que les catégories proposées sont différentes et qu’elle ajoute la possibilité de
partager une recette avec d’autres personnes.[3]
Les interfaces de cette application mobile sont présentées par la figure 1.4 ci-dessous.

Figure 1.4 – Interfaces de l’application «Cuisine tunisienne»

1.3.1.2 Solutions étrangères :


Nous avons choisi de présenter, içi, les deux applications étangères les plus connues
qui sont les suivantes :
- Marmiton :
Ce que nous avons tiré en navigant entre les différentes rubriques de cette application
c’est qu’elle est très riche et complète. En effet, elle offre plein de services tels que la
proposition des plats du jour, la recherche des recettes selon plusieurs critères (nom du
recette, ingrédient, catégorie), la possiblité d’ajouter des commentaires sur une recette
etc. Les recettes proposées sont bien détaillées. En fait, cette application précise non
seulement les ingrédients mais aussi les ustensiles à utiliser. En plus, mis à part qu’elle
est bien expliquée textuellement, chaque recette est aussi décite avec des photos.[4]

4
Chapitre 1. Cadre général du projet 1.3. Etude et critique de l’existant

Les figures 1.5 et 1.6 exposent quelques interfaces de cette application.

Figure 1.5 – Interfaces 1 de l’application «Marmiton»

Figure 1.6 – Interfaces 2 de l’application «Marmiton»

- 750 grammes :
750 grammes est aussi une des plus populaires applications de cuisine dans le monde.
Elle expose plus de 80 000 idées de recettes de cuisine décrites par texte, images et aussi,
on trouve quelques-unes qui sont détaillées par des vidéos.
Les catégories des recettes proposées par cette application mobile sont «entrées»,
«plats», «sauces», «petit-déjeuner», «pâtisserie» et «Dessert».
Comme la première solution, Marmiton, celle là propose à ses visiteurs des recettes
du jour en plus de la listes des recettes les plus consultées.
Ajoutant que tout utilisateur inscrit à cette application peut avoir une liste des favo-
rites qui lui facilite l’accès et la consultation de ses recettes préférées.[5]
Les principales interfaces de cette application sont illustrées par la figure 1.7 située
ci-dessous.

5
Chapitre 1. Cadre général du projet 1.4. Conclusion

Figure 1.7 – Interfaces de l’application «750 grammes»

1.3.2 Tableau comparatif des solutions existantes


A l’issue de cette étude de l’existant, nous avons relevé des critères à prendre en
considération dans la comparaison et l’évaluation des application choisies dans le tableau
1.1.
Cette étude nous a permis de dégager plusieurs exigences attendues par Madame le
chef Nesrine et ses amateurs mais qui ne sont pas totalement respectées par les solutions
existantes. Ce qui nous a encore encouragé à la réalisation de ce projet et à apporter
une solution qui prend en considération toutes les exigences des futurs utilisateurs de
notre application SisinaApp et remède aux lacunes dégagées. Ainsi, notre SisinaApp doit
garantir un bon niveau d’interaction entre chef Nesrine et ses amateurs en leur notifiant
de la publication des nouvelles recettes et de la planification d’une nouvelle formation
et en leur donnant la possibilité de commenter une recette pour soit donner un avis ou
se renseigner sur quelques détails. Aussi, en plus des autres critères de recherche, nous
proposons que chaque recette soit datée pour donner la possibilité au utilisateurs de
l’application de chercher leurs recettes par date de publication.

1.4 Conclusion
Le présent chapitre a été consacré à la présentation du contexte général du projet et
à l’étude et la critique des solutions existantes pour introduire à la fin l’objectif de ce
projet.
Le chapitre suivant est dédié à l’analyse et la spécification détaillée des besoins.

6
Chapitre 1. Cadre général du projet
Application Solutions tunisiennes Solutions étrangères
Cuisine Tunisienne Al Matbakh al Cuisine Tunisienne Marmiton 750g
critère facile tounssi
Recherches variées
Non Non Non Oui Oui
(Seulement par nom) (Seulement par nom) (par plusieurs (par plusieurs
critères) critères)
Organisation des
recettes en Oui Oui Oui Oui Oui
catégories (4 catégories) (2 catègories) (5 catègories) (9 catègories) (9 catègories)
Mise à jour
(pour une Non Non Non Oui Oui
période)
Dates de
publication des Non Non Non Non Non
recettes
Aspect
ergonomique Oui Non Non Oui Oui
(Selon moi, le (Selon moi, le
contenu proposé ne contenu proposé ne
présente aucune présente aucune
créativité) créativité)
Interaction
Non Non Non Oui Oui
(commentaires) (commentaires)
Application
spécifique à un Non Non Non Non Non

1.4. Conclusion
chef
Formations en
ligne Non Non Non Non Non

Table 1.1 – Tableau comparatif des solutions existantes


7
Chapitre 2

Spécification et analyse des besoins

2.1 Introduction
Ce chapitre traite la spécification et l’analyse des besoins fonctionnels et non fonction-
nels de l’application et les expose en s’appuyant sur la modélisation UML (voir annexe1).

2.2 Spécification des besoins


La spécification des besoins constitue la première phase dans le cycle de vie de tout
logiciel à développer. Elle permet de bien comprendre le contexte du projet : identification
des acteurs, identifications des fonctionnalités attendues, précision des risques etc.

2.2.1 Identification des besoins fonctionnels


Les besoins fonctionnels sont les actions et les fonctionnalités que notre application
doit exécuter. Elles sont les suivante :

Une fois authentifié, SisinaApp doit garantir à son administrateur la bonne gestion
et la bonne organisation de ses ressources (gestion des formations, gestion des recettes,
gestion des catègories, gestion des annonces et gestion des astuces). Aussi, nous proposons
de lui mettre en place un dashboard qui lui permet d’analyser et évaluer son travail.

Un utilisateur de l’application aura la possibilité de soit se contenter de consulter


seulement les recettes proposées pour tout le monde, tout en lui permettre de faire des
recherche spécifique par nom du recette, nom d’un ingrédient, date de publication ou par
catégorie, soit de s’inscrire à l’application pour bénéficier des autres services offerts.

Tout utilisateur inscrit, aura en plus des fonctionnalités offertes à un simple visiteur
de SisinaApp, la possibilité d’avoir une liste des recettes préférées, de s’inscrire à une for-
mation payante, de consulter la liste de ses formations et aussi de donner des suggestions.

2.2.2 Identification des besoins non fonctionnels


Ce sont les exigences qui ne concernent pas spécifiquement le comportement du sys-
tème mais qui assurent sa bonne qualité. Les principaux besoins non fonctionnels de notre
plateforme sont :

8
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

• L’ergonomie : c’est de rendre la plateforme facile et simple à utiliser ; elle doit être
adaptée à l’utilisateur ( fournisse des composants bien organisés et lisibles, bon choix
des couleurs ...)
• La maintenabilité : le code de la plateforme doit être bien écrit et facile à comprendre
afin d’assurer une maintenance facile et rapide.
• La rapidité : La plateforme doit optimiser les traitements pour avoir un temps de
réponse raisonnable (utilisation minimale des ressources).

2.3 Analyse
L’analyse permet de dégager les différents acteurs qui peuvent agir avec la notre appli-
cation et donne une représentation fonctionnelle des différents acteurs et fonctionnalités
du système sous la forme d’un diagramme de cas d’utilisation.

2.3.1 Identification des acteurs


Un acteur représente une entité externe qui intéragie avec le système . Ce projet
rassemble 3 principaux acteurs qui sont :
— Administrateur : C’est la personne responsable de l’administration de l’application,
il gère tous ses ressources.
— Internaute : Une personne qui accède et utilise SisinaApp sans être authentifier.
— Participant : Une personne qui posséde un compte dans notre application.

2.3.2 Diagramme des cas d’utilisation global


Le diagramme de cas d’utilisation est une représentation du comportement du système
de point de vue de l’utilisateur. C’est une définition des besoins qu’attend un utilisateur du
système. Il contient tous les cas d’utilisation en liaison directe ou indirecte avec les acteurs.

Dans le diagramme de cas d’utilisation global représenté par la figure 2.1, nous modélisons
tous les cas d’utilisations de base afin d’avoir une vue globale de fonctionnement de
l’application.

9
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

Figure 2.1 – Diagramme des cas d’utilisation global

10
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

2.3.3 Raffinement des cas d’utilisation


Dans cette rubrique nous détaillons quelques cas d’utilisation en utilisant les dia-
grammes de cas d’utilisation raffinés, si c’est nécessaire, les descriptions textuelles et les
diagrammes de séquences systéme du sénario nominal de chacun des cas d’utilisation
choisi.

2.3.3.1 Raffinement du cas d’utilisation «Gérer les formations»


- Diagramme du cas d’utilisation «Gérer les formations»
La figure 2.2 représente le cas d’utilisation «Gérer les formations». En choisissant cette
fonctionnalité, l’administrateur peut ajouter, supprimer, rechercher ou consulter une for-
mation. En consultant une des formation, il aura la possibilité de la modifier.

Figure 2.2 – Diagramme du cas d’utilisation raffiné de «Gérer les formations»

- Description textuelle du cas d’utilisation «Consulter une formation» Le tableau


2.1 présente la description textuelle du cas d’utilisation «Consulter une formation».

Titre : Consulter une formation


Acteur : Administrateur
Résumé : C’est le cas d’utilisation qui permet à l’administrateur de l’appli-
cation de consulter une de ses formations.
Pré-conditions : - Authentification
Sénario nominal : 1- L’administrateur choisit l’option de gestion des formation.
2- Le système redirige l’administrateur vers l’espace de gestion des
formation. La liste complète des formations est affichée.
3- L’administrateur choisit une des formations listées pour la
consulter.
4- Le système affiche les détails de la formation choisie.
5- L’administrateur peut modifier cette formation.

Table 2.1 – Description textuelle du cas d’utilisation «Consulter une formation»

11
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

La figure 2.3, comme exemple, expose le diagramme de séquences du cas d’utilisation


«Consulter une formation».

Figure 2.3 – Diagramme de séquences du cas d’utilisation «Consulter une formation»

2.3.3.2 Raffinement du cas d’utilisation «S’inscrire à l’application» :


- Description textuelle
La description textuelle du cas d’utilisation «S’inscrire à l’application» est exposée
par le tableau 2.2.

12
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

Titre : S’inscrire à l’application


Acteur : Un internaute
Résumé : C’est le cas d’utilisation qui permet à un internaute de s’inscrire à
l’application pour béneficier des offres possibles.
Post-conditions : - Validation de l’inscription
- Redirection vers l’interface de connexion
Sénario nominal : 1- L’internaute demande l’interface d’inscription.
2- Le système affiche le formulaire d’inscription
3- L’internaute remplit les champs du formulaire et demande de
s’inscrire.
4- Le système vérifie les données saisies.
5- Le système confirme l’inscription en dirigeant le nouveau parti-
cipant à la page de connexion.
Sénario d’erreurs : 1- Le système affiche un message d’erreur en cas de saisi des données
invalides.
2- Le système affiche un message d’erreur s’il y a un champs vide.
3- Le système affiche un message d’erreur s’il est déjà inscrit.

Table 2.2 – Description textuelle du cas d’utilisation «S’inscrire à l’application»

- Diagramme de séquences du cas d’utilisation «S’inscrire à l’application»


Les étapes de déroulement du cas d’utilisation «S’inscrire à l’application» sont décrites
par le diagramme de séquence illustré par la figure 2.4 ci-dessous .

Figure 2.4 – Diagramme de séquences du cas d’utilisation «S’inscrire à l’application»

13
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

2.3.3.3 Raffinement du cas d’utilisation «Consulter listes des recettes» :


Afin de faciliter la recherche et l’accès aux recettes aux amateurs de SisinaApp, nous
proposons de les regrouper en catégories et en évenements.
Aussi, une liste des recommandations régulière va être proposée.
De plus, ça va être intéressent de proposer un historique de publication des recettes.
D’où les 4 modes de consultation des recettes.
Depuis chaque interface de consultation sauf celle des recommandations l’utilisateur
de notre application aura la possibilité de chercher une recette en utilisant son nom, un
de ses ingrédients ou sa date de publication.
Tout cela est illustré par la figure 2.5, ci-dessous, qui présente le diagramme de cas
d’utilisation raffiné de la fonctionnalité «Consulter listes des recettes».

Figure 2.5 – Diagramme du cas d’utilisation de «Consulter listes des recettes»

- Description textuelle du cas d’utilisation «Chercher une recette» (par catégorie


et nom)
Le tableau 2.3 présente une description textuelle cas d’utilisation «Chercher une re-
cette», appartenant à une catégorie bien déterminée, par son nom.

14
Chapitre 2. Spécification et analyse des besoins 2.3. Analyse

Titre : Chercher une recette


Acteur : Un internaute/un participant ( l’utilisateur de l’application)
Résumé : C’est le cas d’utilisation qui permet à un internaute de chercher
une recette.
Post-conditions : - Affichage de la recette cherchée
Sénario nominal : 1- L’internaute/le participant demande l’espace dédié aux re-
cherches des recettes.
2- Le système affiche l’interface de recherche.
3- L’internaute/le participant choisit une catégorie parmi celles pro-
posées.
4- Le systéme affiche la liste des recettes de la catégorie choisie.
5- L’internaute/le participant tape le nom de la recette recherchée.
6- Le système vérifie la recherche.
7- Le système affiche la recette trouvée.
Sénario optionnel : 1- Le participant se connecte à son espace.
Sénario d’erreurs : 1- Le système affiche un message d’erreur dans le cas où aucune
recette n’est trouvée.

Table 2.3 – Description textuelle du cas d’utilisation «Chercher une recette» (par caté-
gorie, par nom)

- Diagramme de séquences du cas d’utilisation «Chercher une recette» (par catégo-


rie, par nom)
Le séquencement d’évenements du cas d’utilisation «Chercher une recette» par caté-
gorie et nom est détaillé par le diagramme de séquences suivant (figure 2.6).

15
Chapitre 2. Spécification et analyse des besoins 2.4. Conclusion

Figure 2.6 – Diagramme de séquences du cas d’utilisation «Chercher une recette» (par
catégorie, par nom)

2.4 Conclusion
Ce chapitre a été dédié à la spécification et l’analyse des besoins du projet. Cette
analyse nous a permis de mieux cerner la problématique et de bien dégager et fixer les
différentes fonctionnalités à développer.
Le chapitre suivant s’intéresse à l’étude conceptuelle du projet.

16
Chapitre 3

Etude Conceptuelle

3.1 Introduction
Ce chapitre est dédié à la phase de conception qui est la phase la plus importante
pour la mise en place d’un logiciel ; elle permet de décrire, d’une manière détaillée, les
différentes fonctionnalités d’un système dans le but de simplifier sa mise en oeuvre.
Nous mettons l’accent, principalement, sur le modèle architectural choisi (design pat-
tern) et le diagramme de classe qui reflète les différentes entitées de la base de données et
les relations entre elles.

3.2 Modèle architectural


De nos jours les logiciels sont devenus de plus en plus complexes ce qui mène à avoir
des codes, aussi, complexes et difficiles à comprendre et à maintenir. D’où le besoin d’une
architecture permettant d’organiser le code et de répartir les responsabilités entre plu-
sieurs couches afin d’augmenter la cohésion et réduire le couplage.

C’est exactement là qu’interviennent les patrons d’architecture. Ils servent à séparer


la logique métier de la présentation d’un logiciel dans le but d’assurer une indépendance
entre les différents composants du système d’où la garantie d’une meilleure réutilisation
du code, de la maintenabilité et de la résistence aux changements.

Pour notre projet, nous avons utilisé l’architecture MVVM. Elle est présentée ci-
dessous.

Architecture MVVM :
MVVM signifie Model View ViewModel. Il s’agit d’un modèle de conception de logiciel
conçu pour augmenter la lisibilité et la maintenabilité du code source, en répartissant le
code dans les trois sections mentionnées ci-après [6].

- Modèle : Un Modèle est un conteneur définissant la structure d’une entité, il corres-


pond aux données. Il s’agit en général de plusieurs classes qui permettent d’accéder aux
données.
- Vue : couche visuelle de la plateforme, y compris tous les éléments visuels affichés
sur l’écran de l’utilisateur.

17
Chapitre 3. Etude Conceptuelle 3.3. Diagramme de classe

- View-Model : ViewModel est une partie abstraite de la vue, gérant les modèles et les
propriétés à afficher sur l’écran. Il contient toute la logique de la page. View et ViewModel
sont souvent connectés via une liaison de données. Cela signifie que les modifications du
ViewModel, par exemple sur une propriété, sont immédiatement appliquées à la vue, en
modifiant par exemple le texte affiché à l’écran.

La figure 3.1, ci-dessous, présente les différentes composant du modèle MVVM.

Figure 3.1 – Modèle MVVM

Passons maintenant à la modèlisation des données de notre systéme.

3.3 Diagramme de classe


Le diagramme de classe est le diagramme le plus important dans la modélisation
orientée objet. Il est proposé en génie logiciel pour présenter, d’une manière abstraite les
objets qui vont interagir pour réaliser les cas d’utilisation.
Il permet également de refléter/déterminer les différentes entités de la base de données.

3.3.1 Diagramme de classe de l’application


Comme le montre la figure 3.2 la classe principale de l’application est ”Recette”. C’est
autour de cette entité que les autres sont centrées.
Pour toute formation payante le chef (admin) propose une ou plusieurs recettes.
Chaque recette peut appartenir à une catégorie bien déterminée. Elle peut aussi faire
partie de la liste des recettes associées à un évenement particulier (Ramadhan, Aid, fête
de fin d’année,...).
Toute recette a une liste bien déterminée des ingrédients.
L’administrateur est responsable de la gestion de toute l’application et le participant
est celui qui va profiter de tous les services offerts.

18
Chapitre 3. Etude Conceptuelle 3.3. Diagramme de classe
Figure 3.2 – Diagramme de classe
19
Chapitre 3. Etude Conceptuelle 3.4. Diagramme de séquences détaillé

3.4 Diagramme de séquences détaillé


Le diagramme de séquence permet de représenter les vues dynamiques du système.
En effet, il montre les collaborations entre les objets selon un point de vue temporel en
mettant l’accent sur la chronologie des envois des messages qui sont de trois types :
- Message asynchrone : représenté par une flèche en trait plein et à l’extrémité pleine.
- Message synchrone : représenté par une flèche en trait plein et à l’extrémité non
pleine.
- Message de réponse : représenté par une flèche en trait pointillé et à l’extrémité non
pleine.

Nous présentons par la figure 3.3 un exemple de diagramme de séquences détaillé du cas
d’utlisation «Chercher une recette». Il s’agit d’une recherche d’une recette, appartenant
à une catégorie bien determinée, par son nom.
Une fois dans l’interface de recherche, l’utilisateur clique sur une des catégories propo-
sées. Le contrôleur traite la requête et la délègue au service de la base de données concerné.
Celui-ci récupère la liste des recettes de la catégorie choisie et l’envoie au contrôleur qui se
charge de la redirection de l’utilisateur vers la page de la catégorie demandée en affichant
la liste de ses recettes.
L’utilisateur tape le nom d’une recette dans le champs de recherche. Le contrôleur
envoie la requête au service de la base de données qui se charge de la récupération du
résultat. Le contôleur notifie la vue de ce résultat. Et la vue s’actualise selon la réponse
retournée.

20
Chapitre 3. Etude Conceptuelle 3.5. Conclusion

Figure 3.3 – Diagramme de séquences détaillé du cas d’utilisation «Chercher une re-
cette»

3.5 Conclusion
Ce chapite a été consacré à l’étude conceptuelle du projet qui présente la phase la plus
importante et sur laquelle se base le fonctionnement de l’application. Le chapitre qui suit
décrit la dernière phase du projet : la phase de réalisation du projet qui englobe le choix
des technologies utilisées et expose les interfaces de la solution proposée.

21
Chapitre 4

Mise en œuvre

4.1 Introduction
Ce chapitre sert à la présentation de l’environnement matériel et logiciel utilisés lors
du développement de l’application et à l’exposition du travail realisé.

4.2 Environnement matériel


Pour la réalisation de ce projet j’ai utilisé mon ordinateur portable dont les caracté-
ristiques sont les suivantes :

Processeur : AMD RYZEN 5


Mémoire (RAM) : 20Go
Disque dur : 1To
SSD : 256Go
Système d’exploitation : Windows 11 Professionel (64 bits)

4.3 Environnement logiciel


Cette section présente les outils logiciels et les technologies utilisés pour la mise en
place de l’application ”SisinaApp”.

4.3.1 Choix de l’IDE

— VS Code
Microsoft Visual Studio Code est un éditeur de code multiplateforme édité par Mi-
crosoft. Cet outil supporte plusieurs langages de programmation comme le HTML,
C++, PHP, Javascript, CSS, Python, etc.

22
Chapitre 4. Mise en œuvre 4.3. Environnement logiciel

4.3.2 Choix du framework

— Flutter
Aujourd’hui, le marché du mobile est en évolution continue. Le nombre des utilisa-
teurs des appareils mobiles ne cesse pas d’augmenter et les entreprises n’hésitent pas
à s’investir dans le développement leurs propres applications pour être plus proches
de leurs clients.
Les développeurs des applications mobiles doivent, donc, bien choisir la bonne tech-
nologie de développement pour garantir une meilleure qualité de service.
On cherchant sur Internet j’ai constaté que, aujourd’hui, Flutter et React Native
sont situés en tête de la liste des technologies les plus performants pour le déve-
loppement mobile. Et, comme depuis longtemps, je veux découvrir le framework
Flutter, j’ai choisi de l’utiliser pour la mise en place de ce projet.

- Présentation du Flutter
Flutter est un kit de développement logiciel (SDK) d’interface utilisateur open-
source créé par Google. Il est utilisé pour développer des applications pour Android,
iOS, Linux, Mac, Windows, Google Fuchsia et le web à partir d’une seule base de
code.[6]

Flutter utilise le langage de programmation Dart , également inventé par Google.

”Tout est un widget” : c’est le principe de flutter. Des widgets sont fournis pour
tous les éléments principaux de l’interface utilisateur. Ceci est montré par la figure
4.1.

Figure 4.1 – Illustration des widgets d’un simple exemple d’une interface graphique

23
Chapitre 4. Mise en œuvre 4.4. Charte graphique

Pour le modèle architectural, une variante du modèle MVVM a émergé de la com-


munauté de Flutter. Cette variante est l’architecture ”BLoC” que j’ai adopté pour la
réalisation de ce projet. (voir annexe2)

4.3.3 Choix de plateforme pour la conception de la base de données

— Firebase
Firebase est un ensemble de services d’hébergement pour n’importe quel type d’ap-
plication (Android, iOS, Javascript, Node.js, Java, Unity, PHP, C++ ...). Il propose
d’héberger en NoSQL et en temps réel des bases de données, du contenu, de l’au-
thentification sociale (Google, Facebook, Twitter et Github), et des notifications, ou
encore des services, tel que par exemple un serveur de communication temps réel.[7]

Cette panoplie d’offres m’a poussé à découvrir cette plateforme magique et essayer
d’exploiter ses services dans mon projet.
J’ai utilisé le service d’authentification et de la base de données NoSql «firestore».

4.4 Charte graphique


La charte graphique joue un rôle déterminant dans la première impression et la crédi-
bilité de chaque application mobile. C’est pour cette raison que nous avons essayé de bien
choisir les polices et la palette de couleurs de notre application SisinaApp pour garantir
une bonne cohérence graphique.

4.4.1 Choix des polices d’écriture


Le choix des polices d’écriture est très important pour l’affichage d’un contenu fluide
et soigné qui, parfois, suffit à lui seul à créer un univers visuel unique.[8]
Le figure 4.2 représente les fontes de texte utilisées dans SisinaApp.[9]

Figure 4.2 – Polices d’écriture utilisés

4.4.2 Palette de couleurs


Au-delà de sa contribution à la décoration, la couleur agit directement sur nos émo-
tions, notre comportement et notre bien-être. Il est donc essentiel de tenir compte de

24
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

tout ce dont la couleur est capable et d’apprendre à la contrôler pour créer des interfaces
graphiques de haute qualité. [10]
La palette de couleurs utilisée pour le design de SisinaApp est exposée par la figure
4.3.

Figure 4.3 – Palette de couleurs utilisée

4.5 Interfaces de SisinaApp


Nous présentons, ici, l’ensemble des interfaces développées pour l’appalication Sisi-
naApp

4.5.1 Page d’accueil


La figure 4.4 expose la première interface à afficher lors de l’accès à SisinaApp. c’est
la page d’accueil.

Figure 4.4 – Page d’accueil

4.5.2 Page d’accès aux services de l’application


L’interface représentée par la figure 4.5 est l’interface à partir de laquelle l’utilisateur
de l’application peut accéder aux différents services proposés.

25
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

Tout utilisateur peut, soit créer un compte pour pouvoir, par la suite, accéder à l’ap-
plication en tant que participant ou bien il peut choisir, tout simplement, consulter, seule-
ment, les recettes exposées gratuitement.

Figure 4.5 – Page d’accès aux services de l’application

4.5.3 Interface d’inscription


Pour pouvoir s’inscrire à l’application, l’interaute doit bien remplir le formulaire d’ins-
cription donné par la figure 4.6 ci-dessous.

4.5.4 Interface de connexion


Un participant, pour pouvoir accéder à son propre espace de l’application, il doit
s’authentifier. Ceci est illustré par figure 4.7 suivante.

26
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

Figure 4.6 – Interface d’inscription

Figure 4.7 – Interface de connexion

4.5.5 Interface principale de l’application


La page principale de l’application est donnée par la figure 4.8.
Dans cette interface un utilisateur de l’application trouve des recettes proposées comme
recettes du jour et une liste des recettes les plus consultées (top recettes).

27
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

Figure 4.8 – Interface principale de l’application

4.5.6 Page de recherche


En cliquant sur l’option de recherche du menu en bas de l’interface, l’utilisateur de
l’application se trouve dans la page de recherche exposée par la figure 4.9.
Dans cette interface plein d’options de recherche (recherche par catégories, par éve-
nement, par nom de recettes ou par nom d’un ingrédient) sont proposées dans le but de
mieux guider l’utilisateur et l’aider à trouver, plus rapidement, la recette recherchée.

4.5.7 Recherche rapide


En tapant, lettre par lettre, le nom d’une recette/ingrédient dans le champs de re-
cherche proposé, les résultats s’affichent.
Dans le cas où il y aura des recettes conformes à la demande de l’internaute, elles
seront affichées (figure 4.10), sinon, l’utilisateur sera informé par l’échec de la recherche
en lui affichant un message d’erreur (figure 4.11).

4.5.8 Recherche par catégorie


Un utilisateur de l’application peut consulter les recettes par catégorie. Là où il peut
également lancer une recherche par le nom d’une recette/ingrédient.
Cette interface est donnée par la figure 4.12.

28
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

Figure 4.9 – Page de recherche

Figure 4.10 – Résultats des recherches

29
Chapitre 4. Mise en œuvre 4.5. Interfaces de SisinaApp

Figure 4.11 – Recette non trouvée

Figure 4.12 – Recettes par catègorie

4.5.9 Détails d’une recette


En cliquant sur une recette bien déterminée, la liste des ingrédients s’affiche (figure
4.13).

30
Chapitre 4. Mise en œuvre 4.6. Conclusion

Figure 4.13 – Détails recette

4.6 Conclusion
Ce chapitre a été consacré à la présentation de l’environnement matériel et logiciel du
travail, à la justification des choix technologiques et à l’exposition de la solution proposée.
Ce rapport est clôturé par une conclusion générale et quelques perspectives.

31
Conclusion Générale

«SisinaApp» est le résultat d’un travail sérieux et acharné durant mon deuxième pro-
jet de fin d’année. Il s’agit d’une application mobile spécifique à un chef tunisien, Madame
Nesrine YACOUBI, dans le but d’organiser son travail et de mieux satisfaire ses amateurs
et ses clients.

Notre démarche a commencé par l’étude des besoins en se basant sur une étude de
l’existant. Puis, nous avons choisi le langage UML qui nous a permis de proposer une
conception pour SisinaApp. Le reste du travail consistait essentiellement à essayer de me-
ner à bien le projet en utilisant le Framework Flutter et la plateforme Firebase.

Tout au long de ce projet, j’ai réussi à mettre en épreuve mes acquis en informatique
et à manipuler des nouvelles technologies. J’ai pu développer un savoir-faire en créativité
et en design en utilisant la panoplie de «widgets» proposée par le framework flutter.

Néanmoins, le travail sur cette application n’est pas encore achevé. En fait, c’est seule-
ment l’espace dédié à un utilisateur non inscrit qui a été finalisé. Actuellement, la mise
en place de l’espace de l’administrateur est lancée. L’espace privé d’un utilisateur inscrit
va être développé après afin de pouvoir assurer les formations en ligne et de garantir une
interaction entre notre chef et ses amateurs.

Comme futures perspectives, nous pensons à étendre cette application pour devenir
plateforme web/mobile accessible par un plus grand nombre d’amateurs de la cuisine.

32
Netographie

[1]«Cuisine Tunisienne Facile», https://play.google.com/store/apps/details?id=com.


tunisian_groupe.tunisianrecipe&hl=fr&gl=US, consulté le 17/03/2022

[2]«Al Matbakh al tounssi»,https://play.google.com/store/apps/details?id=com.


appfield.cuisine.tunisienne&hl=ar&gl=US, consulté le 17/03/2022

[3]«Cuisine Tunisienne», https://play.google.com/store/apps/details?id=com.spotnotify.


cuisinetn&hl=fr&gl=US, consulté le 17/03/2022

[4]«Marmiton», https://play.google.com/store/apps/details?id=com.aufeminin.
marmiton.activities&hl=fr&gl=US, consulté le 17/03/2022

[5]«750g», https://play.google.com/store/apps/details?id=com.enki.Enki750g&hl=
fr&gl=US, consulté le 17/03/2022

[6]«Le modèle d’architecture MVVM», https://nordinemhoumadi.wordpress.com/application-


development-2/windows-store-application/le-pattern-modele-vue-vue-modele-
mvvm/, consulté le 14/05/2022

[7]«Flutter»,https://fr.wikipedia.org/wiki/Flutter_(logiciel), consulté le 08/05/2022

[8]«Firebase»,https://fr.wikipedia.org/wiki/Firebase, consulté le 09/05/2022

[9]«L’importance de la typographie dans l’app design», https://fr.yeeply.com/blog/


typographie-app-design/, consulté le 09/05/2022

[10]«Polices d’écriture»,https://fonts.google.com/, consulté le 09/05/2022

[11]«L’importance des couleurs dans le design d’application mobile», https://fr.yeeply.


com/blog/couleurs-design-application-mobile/, consulté le 09/05/2022

[12]«Architecture BLoC»,https://blog.cellenza.com/mobile/state-management-avec-
bloc-en-flutter/, consulté le 13/05/2022

33
Annexe A

Description du Langage de Modélisation


Unifié «UML»

Le langage de modélisation UML (Unified Modeling Language - Langage de modé-


lisation unifié) est aujourd’hui le standard utilisé en informatique pour la modélisation
orientée objets.
UML est utilisé dans les deux environnements suivants : le développement des appli-
cations et la gestion des architectures informatiques. Les diagrammes UML permettent de
faire communiquer des concepteurs d’un système, des développeurs et toutes les personnes
externes au d’un système. UML s’articule autour de neuf diagrammes complémentaires
dont cinq décrivent l’aspect statique d’un modèle et les autres décrivent l’aspect dyna-
mique. Ces diagrammes sont donnés par la figure A.1 suivante :

Figure A.1 – Diagrammes UML

34
Annexe A. Description du Langage de Modélisation Unifié «UML»

Les diagrammes statiques rassemblent :


- Diagramme de cas d’utilisation, qui représente les fonctionnalités du système vues
sous l’angle de l’utilisateur.
- Diagramme de classes, qui représente la structure statique en représentant les classes
et leurs relations.
- Diagramme d’objet, qui représente les objets et leur relation.
- Diagramme de composants, qui décrit les composants physiques.
- Diagramme de déploiement, qui facilite le déploiement des composants sur le matériel.

Le mode de représentation dynamique s’appuie sur les quatre diagrammes suivants :


- Diagramme de séquences, qui est une représentation temporelle des objets et leurs
interactions.
- Diagramme d’activités, qui exprime le comportement d’une opération sous la forme
d’actions.
- Diagrammes de collaboration, qui est une représentation spatiale des objets, des liens
et des interactions.
- Diagramme de transition, qui modélise le comportement d’une classe à partir de ses
états possibles.

35
Annexe B

Présentation de l’architecture «BLoC»

BLoC signifie Business Logic Components. L’essentiel de BLoC est que tout, dans
l’application, doit être représenté comme un flux d’événements.
Le widget reproduit des évènements : interaction avec l’interface graphique, évènement
système, changement d’orientation, etc.
Le BLoC se trouve derrière le widget et il a la charge d’écouter et de réagir aux
évènements produits par le widget.
L’objectif de BLoC est en quelques sorte de gérer le cycle de vie d’un widget. Le
langage de programmation Dart est même livré avec une syntaxe pour travailler avec des
flux intégrés dans le langage.
On peut donc considérer le BLoC comme étant une architecture clé en utilisant Flutter
dès lors que l’on souhaite piloter un widget contenant de la logique métier.[10]

La figure B.1 illustre le fonctionnement de l’architecture «BLoC».

Figure B.1 – Fonctionnement de l’architecture «BLoC»

36
Résumé

L’objectif de ce projet est de concevoir et de développer une application mobile,


« SisinaApp », spécifique à un chef tunisien dans le but de mieux organiser son travail et
satisfaire ses amateurs.
Les principales fonctionnalités de SisinaApp sont la gestion et la publication des formations et
des recettes du chef Nesrine et l'accès rapide à ces recettes par les utilisateurs de l'application.
Pour le développement de cette application j'ai utilisé le framework Flutter pour le frontend et
Firebase pour le backend.

Mots clés : cuisine, recettes, formations en ligne, application mobile, flutter, firebase etc.

Abstract

The objective of this project is to design and develop a mobile application, "SisinaApp",
specific to a Tunisian chef to better organize his work and satisfy his followers.
The main functionalities of SisinaApp are the management and publication of Chef Nesrine's
trainings and recipes and quick access to these recipes by the users of the application.
For the development of this application i used the Flutter framework for the frontend and
Firebase for the backend.

Keywords: cooking, recipes, online training, mobile application, flutter, firebase etc.

‫الملخص‬

‫الهدف من هذا المشروع هو تصميم وتطوير تطبيق هاتف محمول خاص بشيف تونسي من أجل تنظيم عمله بشكل أفضل‬
.‫وإرضاء متتبعيه‬
‫تتمثل الوظائف الرئيسية للتطبيق في إدارة ونشر تدريبات ووصفات الشيف نسرين والوصول السريع إلى هذه الوصفات‬
.‫من قبل مستخدمي التطبيق‬

‫ تطبيق الهاتف‬، ‫ تدريب عبر اإلنترنت‬، ‫ وصفات‬، ‫ طبخ‬,flutter, firebase : ‫الكلمات المفاتيح‬

Vous aimerez peut-être aussi