Rapport PFE v1.0
Rapport PFE v1.0
Rapport PFE v1.0
Sujet
Réf :
Avec l’expression de ma reconnaissance, je dédie ce modeste travail à ceux qui, quels que soient
les termes embrassés, je n’arriverais jamais à leur exprimer mon amour sincère.
À l’homme, mon précieux offre du dieu, qui doit ma vie, ma réussite et tout mon respect : mon
cher père Jameleddine.
À la femme qui a souffert sans me laisser souffrir, qui n’a jamais dit non à mes exigences et qui
n’a épargné aucun effort pour me rendre heureux: mon adorable mère Sarra.
À mon adorable frère Hassen qui sait toujours comment procurer la joie et le bonheur pour toute
la famille.
À ma grand-mère, mes oncles et mes tantes. Que Dieu leur donne une longue et joyeuse vie.
À tous les cousins, les voisins et les amis que j’ai connu jusqu’à maintenant. Merci pour leurs
amours et leurs encouragements.
Sans oublier mon binôme Farouk pour son esprit de responsabilité, sa patience et sa
compréhension tout au long de ce projet.
Souissi Houssemeddine
Dédicaces 2
À mes chers parents, que ce modeste travail soit l'exaucement de vos vœux tant formulés, le fruit
de vos innombrables sacrifices, bien que je ne vous en acquitte jamais assez. Puisse Dieu, vous
accorder la santé, le bonheur et une longue vie et faire en sorte que jamais je ne vous déçoive.
À mes chers frère et sœur que Dieu aide vous à réussir dans la vie, que de vous parcouriez la
bonne santé et le bonheur.
Joyeuse vie.
Et bien sûr mon ami et mon binôme Houssemeddine pour sa compréhension et sa patience.
Remerciements
Grâce à Dieu et à nos familles, nous avons pu attendre ce moment de réalisation de notre projet
de fin d’études. Grâce aussi à notre travail acharné à la persistance et à l’esprit de responsabilité.
Nous tenons, par ailleurs, à exprimer nos vifs remerciements à la communité de développeurs et
à toute personne ayant contribué de près ou de loin à la réalisation de ce travail.
Sommaire
Introduction Générale.................................................................................................................1
Chapitre 1 : Présentation générale et Cadre du projet.....................................................................3
Introduction :..............................................................................................................................3
1. Présentation de l’organisme d’accueil :..................................................................................3
1.1. Présentation de la société Advences :...............................................................................3
1.2. L’organigramme de la société générale :..........................................................................3
1.3. Présentation de l’entreprise Easy Soft :............................................................................4
1.4. L’organigramme de l’entreprise Easy Soft :.....................................................................4
2. Cadre du projet:......................................................................................................................5
2.1. Contexte du projet :..........................................................................................................5
2.2. Objectifs du stage :...........................................................................................................5
Conclusion :................................................................................................................................5
Chapitre 2 : Analyse et Spécification des besoins...........................................................................6
Introduction :..............................................................................................................................6
1. Analyse et proposition de la solution :...................................................................................6
1.1. Description de l’existant :.................................................................................................6
1.2. Critique de l’existant :......................................................................................................7
1.3. Solution proposée :...........................................................................................................7
2. Spécification des besoins :.....................................................................................................9
2.1. Besoins fonctionnels :.......................................................................................................9
2.2. Besoins non fonctionnels :..............................................................................................11
3. Méthodologie de développement :.......................................................................................11
3.1. Méthode adoptée.............................................................................................................11
3.2. Les rôles et les responsabilités de chaque personne :.....................................................12
3.3. Règles interne de communication :.................................................................................13
3.4. Backlog du produit :.......................................................................................................15
3.5. Planning des sprints du projet :.......................................................................................19
Conclusion................................................................................................................................20
Chapitre 3 : Environnement de travail...........................................................................................21
Introduction :............................................................................................................................21
1. Environnement logiciel :......................................................................................................21
1.1. Présentation de l’environnement logiciel de l’application web :....................................21
1.2. Présentation de l’environnement logiciel de l’application mobile :...............................22
2. Environnement Matériel :.....................................................................................................25
Conclusion :..............................................................................................................................25
Chapitre 4 : Sprints Gestion des Produits......................................................................................26
Introduction :............................................................................................................................26
1. Conception générale de gestion des produits :.....................................................................26
1.1. Diagramme de cas d’utilisation général :.......................................................................26
1.2. Diagramme de classes général :......................................................................................27
1.3. Les micro-services impliqués :.......................................................................................27
1.4. Diagramme de cas d’utilisation raffiné de « Gestion des Produits » :............................28
2. Raffinement de cas d’utilisation « Ajouter Produit » :.........................................................28
2.1. Diagramme de séquence système « Ajouter Produit » :.................................................28
2.2. Réalisation de cas d’utilisation « Ajouter Produit » :.....................................................30
3. Raffinement de cas d’utilisation « Rechercher Produit » :...................................................31
3.1. Diagramme de séquence système « Rechercher Produit » :...........................................31
3.2. Réalisation de cas d’utilisation « Rechercher Produit » :...............................................33
4. Raffinement de cas d’utilisation « Exporter la liste des Produits » :...................................34
4.1. Diagramme de séquence système « Exporter la liste des Produits » :............................34
5. Raffinement de cas d’utilisation « Modifier Produit » :.......................................................35
5.1. Diagramme de séquence système « Modifier Produit » :...............................................35
5.2. Réalisation de cas d’utilisation « Modifier Produit » :...................................................36
Conclusion :..............................................................................................................................37
Chapitre 5 : Sprints Gestion des Tiers...........................................................................................38
Introduction :............................................................................................................................38
1. Cas d’utilisation de gestion des Tiers :.................................................................................38
1.1. Diagramme de cas d’utilisation raffiné « Gestion des Tiers » :.....................................38
1.2. Les micro-services impliqués :.......................................................................................38
2. Raffinement de cas d’utilisation « Ajouter Tiers » :............................................................39
2.1. Diagramme de séquence système « Ajouter Tiers » :.....................................................39
2.2. Réalisation de cas d’utilisation « Ajouter Tiers » :.........................................................40
3. Raffinement de cas d’utilisation « Rechercher Tiers » :......................................................41
3.1. Diagramme de séquence système « Rechercher Tiers » :...............................................41
3.2. Réalisation de cas d’utilisation « Rechercher Tiers » :...................................................43
4. Raffinement de cas d’utilisation « Modifier Tiers » :..........................................................43
4.1. Diagramme de séquence système « Modifier Tiers » :...................................................43
4.2. Réalisation de cas d’utilisation « Modifier Tiers » :.......................................................45
Conclusion :..............................................................................................................................46
Chapitre 6 : Sprints Gestion des Détails........................................................................................47
Introduction :............................................................................................................................47
1. Cas d’utilisation de gestion des détails:...............................................................................47
1.1. Diagramme de cas d’utilisation raffiné « Gestion des détails » :...................................47
1.2. Les micro-services impliqués :.......................................................................................47
2. Raffinement de cas d’utilisation « Ajouter Détail » :...........................................................48
2.1. Diagramme de séquence système « Ajouter Détail » :...................................................48
2.2. Réalisation de cas d’utilisation « Ajouter Détail » :.......................................................50
3. Raffinement de cas d’utilisation « Modifier Détail » :.........................................................51
3.1. Diagramme de séquence système « Modifier Détail » :.................................................51
3.2. Réalisation de cas d’utilisation « Modifier Détail » :.....................................................53
4. Raffinement de cas d’utilisation « Supprimer Détail » :......................................................54
4.1. Diagramme de séquence système « Supprimer Détail » :..............................................54
4.2. Réalisation de cas d’utilisation « Supprimer Détail » :..................................................55
5. Raffinement de cas d’utilisation « Supprimer Média » :......................................................56
5.1. Diagramme de séquence système « Supprimer Média » :..............................................56
Conclusion :..............................................................................................................................57
Chapitre 7 : Sprints Gestion des Catégories..................................................................................58
Introduction :............................................................................................................................58
1. Cas d’utilisation de gestion des Catégories :........................................................................58
1.1. Diagramme de cas d’utilisation raffiné « Gestion des Catégories » :.............................58
1.2. Les micro-services impliqués :.......................................................................................58
2. Raffinement de cas d’utilisation « Ajouter Catégorie » :.....................................................59
2.1. Diagramme de séquence système « Ajouter Catégorie » :.............................................59
2.2. Réalisation de cas d’utilisation « Ajouter Catégorie » :.................................................60
3. Raffinement de cas d’utilisation « Lister Catégorie » :........................................................61
3.1. Diagramme de séquence système « Lister Catégories » :...............................................61
3.2. Réalisation de cas d’utilisation « Lister Catégories » :...................................................62
4. Raffinement de cas d’utilisation « Modifier Catégorie » :...................................................63
4.1. Diagramme de séquence système « Modifier Catégories » :..........................................63
4.2. Réalisation de cas d’utilisation « Modifier Catégorie » :...............................................64
5. Raffinement de cas d’utilisation « Supprimer Catégorie » :................................................65
5.1. Diagramme de séquence système « Supprimer Catégorie » :.........................................65
Conclusion :..............................................................................................................................66
Chapitre 8 : Sprints Gestion des Tarifs..........................................................................................67
Introduction :............................................................................................................................67
1. Cas d’utilisation de gestion des Tarifs :...............................................................................67
1.1. Diagramme de cas d’utilisation raffiné « Gestion des Tarifs » :....................................67
1.2. Les micro-services impliqués :.......................................................................................67
2. Raffinement de cas d’utilisation « Ajouter Tarifs » :...........................................................68
2.1. Diagramme de séquence système « Ajouter Tarifs » :...................................................68
2.2. Réalisation de cas d’utilisation « Ajouter Tarif » :.........................................................69
3. Raffinement de cas d’utilisation « Lister Tarifs » :..............................................................70
3.1. Diagramme de séquence système « Lister Tarifs » :......................................................70
3.2. Réalisation de cas d’utilisation « Lister Tarifs » :..........................................................71
4. Raffinement de cas d’utilisation « Modifier Tarif » :..........................................................71
4.1. Diagramme de séquence système « Modifier Tarif » :...................................................71
4.2. Réalisation de cas d’utilisation « Modifier Tarif » :.......................................................73
5. Raffinement de cas d’utilisation « Supprimer Tarif » :........................................................73
5.1. Diagramme de séquence système « Supprimer Tarif » :................................................73
Conclusion :..............................................................................................................................74
Chapitre 9 : Sprints Gestion des Commandes...............................................................................75
Introduction :............................................................................................................................75
1. Cas d’utilisation « Gestion des Commandes » :...................................................................75
1.1. Diagramme de cas d’utilisation raffiné de « Gestion des Commandes » :.....................75
1.2. Les micro-services impliqués :.......................................................................................75
2. Raffinement de cas d’utilisation « Ajouter Commande » :..................................................76
2.1. Diagramme de séquence système « Ajouter Commande » :..........................................76
2.2. Réalisation de cas d’utilisation « Ajouter Commande » :..............................................78
3. Raffinement de cas d’utilisation « Rechercher Commande » :............................................79
3.1. Diagramme de séquence système « Rechercher Commande » :....................................79
3.2. Réalisation de cas d’utilisation « Rechercher Commande » :........................................80
4. Raffinement de cas d’utilisation « Modifier Commande » :................................................81
4.1. Diagramme de séquence système « Modifier Commande »..........................................81
4.2. Réalisation de cas d’utilisation « Modifier Commande » :............................................83
Conclusion :..............................................................................................................................83
Chapitre 10 : Sprints Application Mobile......................................................................................84
Introduction :............................................................................................................................84
1. Présentation de l’architecture globale de l’application mobile :..........................................84
2. Présentation de l’architecture adoptée :................................................................................85
3. Réalisation et tests :..............................................................................................................86
3.1. Navigation entre les interfaces de l’application mobile :...............................................86
3.2. Les interfaces de l’application mobile :..........................................................................86
3.3. Les tests unitaires et les tests de widgets :......................................................................89
Conclusion :..............................................................................................................................90
Conclusion Générale................................................................................................................91
Liste de figures
Figure 1.1: Organigramme de la société générale Advences..........................................................3
Figure 1.2: Organigramme de l'entreprise Easy Soft.......................................................................4
Figure 2.1 : Les fonctionnalités de la plateforme SI........................................................................6
Figure 2.2 : Schéma de l'architecture globale de la solution proposée............................................8
Figure 2.3 : Exemple d’une feuille de suivi...................................................................................14
Figure 2.4 : Exemple d'un bilan de la semaine..............................................................................15
Figure 3.1 : Présentation de la pile technologique.........................................................................22
Figure 3.2 : Comparaison de performance entre React-native et Flutter.......................................23
Figure 3.3 : Nombre de question sur Flutter et React-native.........................................................24
Figure 4.1 : Diagramme de cas d'utilisation général......................................................................26
Figure 4.2: Diagramme de classes général....................................................................................27
Figure 4.3 : Diagramme de cas d'utilisation « Gestion des Produits »..........................................28
Figure 4.4 : Diagramme de séquence système « Ajouter Produit »...............................................29
Figure 4.5 : Réalisation de cas d’utilisation « Ajouter Produit »...................................................31
Figure 4.6 : Diagramme de séquence système « Rechercher Produit ».........................................31
Figure 4.7 : Réalisation de cas d'utilisation « Rechercher Produit ».............................................33
Figure 4.8 : Diagramme de séquence système « Exporter la liste des Produits ».........................34
Figure 4.9: Diagramme de séquence système « Modifier Produit »..............................................35
Figure 4.10 : Réalisation de cas d’utilisation « Modifier Produit »...............................................37
Figure 5.1 : Diagramme de cas d'utilisation de « Gestion des Tiers »...........................................38
Figure 5.2 : Diagramme de séquence système « Ajouter Tiers »..................................................39
Figure 5.3 : Réalisation de cas d’utilisation « Ajouter Tiers »......................................................41
Figure 5.4 : Diagramme de séquence système « Rechercher Tiers »............................................41
Figure 5.5 : Réalisation de cas d’utilisation « Rechercher Tiers »................................................43
Figure 5.6 : Diagramme de séquence système « Modifier Tiers »................................................44
Figure 5.7 : Réalisation de cas d’utilisation « Modifier Tiers »....................................................46
Figure 6.1: Diagramme de cas d'utilisation de « Gestion des Détails »........................................47
Figure 6.2 : Diagramme de séquence système « Ajouter Détail ».................................................48
Figure 6.3 : Réalisation de cas d’utilisation « Ajouter Détail ».....................................................50
Figure 6.4 : Diagramme de séquence système « Modifier Détail »...............................................51
Figure 6.5 : Réalisation de cas d’utilisation « Modifier Détail »...................................................53
Figure 6.6 : Diagramme de séquence système « Supprimer Détail »............................................54
Figure 6.7 : Réalisation des cas d’utilisation Supprimer Détail et Média.....................................55
Figure 6.8 : Diagramme de séquence système « Supprimer Média »...........................................56
Figure 7.1 : Diagramme de cas d’utilisation « Gestion des Catégories »......................................58
Figure 7.2 : Diagramme de séquence système « Ajouter Catégorie »...........................................59
Figure 7.3 : Réalisation de cas d’utilisation « Ajouter Catégorie »...............................................60
Figure 7.4 : Diagramme de séquence système « Lister les Catégories ».......................................61
Figure 7.5 : Réalisation de cas d’utilisation « Lister Catégories »................................................62
Figure 7.6 : Diagramme de séquence système « Modifier Catégories ».......................................63
Figure 7.7 : Réalisation de cas d’utilisation « Modifier Catégorie ».............................................64
Figure 7.8 : Diagramme de séquence système « Supprimer Catégorie »......................................65
Figure 8.1 : Diagramme de cas d’utilisation « Gestion des Tarifs ».............................................67
Figure 8.2 : Diagramme de séquence système « Ajouter Tarif »..................................................68
Figure 8.3 : Réalisation de cas d’utilisation « Ajouter Tarif »......................................................69
Figure 8.4 : Diagramme de séquence système « Lister Tarifs »....................................................70
Figure 8.5 : Réalisation de cas d’utilisation « Lister Tarifs »........................................................71
Figure 8.6: Diagramme de séquence système « Modifier Tarif ».................................................71
Figure 8.7 : Réalisation de cas d’utilisation « Modifier Tarif »....................................................73
Figure 8.8 : Diagramme de séquence système « Supprimer Tarif »..............................................73
Figure 9.1 : Diagramme de cas d'utilisation « Gestion des Commandes »....................................75
Figure 9.2 : Diagramme de séquence système « Ajouter commande ».........................................76
Figure 9.3 : Réalisation de cas d’utilisation « Ajouter Commande »............................................78
Figure 9.4 : Diagramme de séquence système « Rechercher Commande »..................................79
Figure 9.5 : Réalisation de cas d’utilisation « Rechercher Commande »......................................81
Figure 9.6: Diagramme de séquence système « Modifier Commande ».......................................81
Figure 9.7 : Réalisation de cas d’utilisation « Modifier Commande »..........................................83
Figure 10.1 : Architecture globale de l’application mobile...........................................................84
Figure 10.2 : Présentation des couches de l'architecture adoptée..................................................85
Figure 10.3 : Schéma de navigation entre les interfaces de l’application mobile.........................86
Figure 10.4 : Interfaces de catalogue et de recherche des produits...............................................87
Figure 10.5 : Interface de catalogue des produits en mode horizontale........................................87
Figure 10.6 : Interfaces de détails d'un produit..............................................................................88
Figure 10.7 : interfaces d’affichage de la localisation et les lieux à proximité d’un produit........88
Figure 10.8 : Réalisation des interfaces de paramétrage...............................................................89
Figure 10.9 : Résultat d’exécution des tests unitaires....................................................................89
Figure 10.10 : Résultat d'exécution des tests widgets....................................................................89
Introduction Générale
L
es opportunités ne viennent pas par hasard, elles sont juste cachées derrière un travail
acharné et vous devez avoir le courage d'y faire face. Un pessimiste voit la difficulté
dans chaque opportunité, contrairement à un optimiste qui voit l'opportunité dans
chaque difficulté. Heureusement nous sommes parmi ses optimistes et nous avons accepté une
offre professionnelle en partenariat avec la société Advences dans le cadre de notre projet de fin
d’études afin de réaliser un projet dans le domaine d’e-tourisme.
Le projet est une solution au profit des acteurs e-tourisme composée par plusieurs
plateformes Back office afin de fournir tous les types de services de l’entreprise selon les
besoins. Cette solution est destinée aux acteurs impliqués dans la chaîne touristique comme les
tours opérateurs, les agences de voyages, les hôteliers, les réceptifs...
Cette solution est déjà existante pour plusieurs années mais les technologies sont
comme un quantum ne cesse pas à évoluer. Les problèmes aussi s’accumulent chaque année.
Nous allons réécrire le projet totalement mais cette fois-ci nous allons penser aux futures
versions et pour mettre en place une telle architecture nous allons consulter un expert tunisien.
Dans ce contexte s’est écrit ce rapport, nous allons essayer de résumer le nécessaire
possible à travers des chapitres bien séparés.
Pour le premier chapitre nous allons présenter la relation entre Easy Soft et Advences
ainsi que le cadre du projet.
Puis à travers le deuxième chapitre nous allons analyser la solution existante d’une
façon plus détaillée et nous allons spécifier les besoins fonctionnels de la plateforme Back office
ainsi que de l’application mobile et nous allons présenter l’architecture globale et le planning
des sprints.
1
Ensuite, dans le troisième chapitre nous exposons l’environnement logiciel les outils
utilisés et l’environnement matériel.
Par la suite, dans les chapitres qui suivirent nous détaillons la partie de conception et de
réalisation des sprints les plus importants dans le projet par la présentation des diagrammes en
général jusqu’au le raffinement des cas d’utilisation. Pour le dernier chapitre nous intéressons à
l’architecture adoptée et la réalisation des interfaces de l’application mobile.
2
Chapitre 1 : Présentation générale et Cadre du projet
Dans ce chapitre, nous vous présentons en premier lieu la société générale Advences et
l’entreprise Easy Soft. L’entreprise que nous étions l'un de ces employés pendant la période de
stage durant 7 mois. Ensuite nous précisons la hiérarchie de l’organisme d’accueil. Enfin nous
vous spécifions le cadre du projet.
Le sous-traitant fabrique un produit conçu par Advences ou, souvent, en commun avec
lui. Le produit est fabriqué par Easy Soft pour le compte exclusif du commanditaire (Advences)
et ne porte pas le logo de l’entreprise Easy Soft.
4
Chapitre 1 : Présentation générale et Cadre du projet
2. Cadre du projet:
2.1. Contexte du projet :
Le projet à développer est une solution technologique pour tous les acteurs de la chaîne
touristique (Tours Opérateur, Distributeurs, Agences de voyages, Réceptifs, Hôteliers).
L’objectif principal de ce projet c’est de fournir aux clients une solution technologique
moins chère, plus évolutive afin de satisfaire les besoins des clients et d’utiliser une technologie
open-source et populaire sur le marché ce qui facilite l’intégration de nouveaux développeurs.
Nos objectifs ne se situent pas seulement dans les sujets techniques ou fonctionnels mais
aussi dans la communication avec tous les intervenants impliqués dans ce projet.
Notre objectif est également de maîtriser les nouvelles technologies et d'apprendre les
procédures de travail en équipe. L’expérience que nous allons acquérir de ce stage va nous
permettre d'être plus mature dans le marché de travail.
Conclusion :
5
Chapitre 2 : Analyse et Spécification des besoins
Introduction :
Dans ce chapitre nous allons entamer la partie analyse de la solution existante. Ensuite
nous allons proposer la nouvelle solution et nous allons spécifier les besoins fonctionnels et non
fonctionnels. Enfin, nous allons définir la méthodologie adoptée.
La figure 2.1 donne un aperçu général sur les fonctionnalités de la plateforme SI :
La plateforme est accessible en mode client léger sur le web via une URL et ce à partir de tout
poste connecté à Internet.
- Gérer les données marketing tels que (les hôtels, les vols, les forfaits...)
- Gérer et Informatiser les processus métiers de l’entreprise.
- Administrer la distribution en multi-canal : points de vente, call center, site B2C, site B2B...
Le système est paramétré et adapté sur mesure au besoin du professionnel afin de prendre en
compte toutes les spécificités de chaque client.
La solution est développée avec un langage payant (Coldfusion) ce qui ajoute des coûts
supplémentaires pour héberger le projet sur des serveurs d’applications spécifiques. En plus, Les
développeurs ont besoins de faire une formation en Coldfusion pour s’intégrer dans la
maintenance du système.
Les clients se plaignent des coûts élevés de la solution puisqu’elle est toute en un. Donc,
ils sont parfois obligés d’acheter la totalité du système pour profiter seulement des modules de
gestion des produits ou de finance.
7
Chapitre 2 : Analyse et Spécification des besoins
Cette solution est basée sur une architecture micro-services afin de sortir avec un
système modulaire et scalable.
Cette architecture est conçue par notre expert M. Aniss Boumrigua IT Manager chez rue
de commerce. La figure suivante donne une vision générale sur l’architecture globale du
système.
La solution est composée par 3 plateformes logicielles de Back office indépendantes qui
permettent le client de profiter des plateformes en fonction de ses besoins.
Leisure platform (LP) : C’est une plateforme pour la gestion des données marketing des
produits hôtel, vol, prestation terrestre, packages, suppléments...
8
Chapitre 2 : Analyse et Spécification des besoins
Service Desk (SD) : C’est une plateforme d’assistance aux utilisateurs en passant par la
gestion des incidents et des problèmes.
Finance platform (FI) : C’est une plateforme de gestion financière comme les paiements
et les opérations bancaires.
La solution est développée avec la Framework Symfony. C’est un Framework open source
et très populaire dans le marché ce qui facilite l’intégration des développeurs dans la
maintenance.
Gestion des produits : c'est le principal besoin fonctionnel dans ce projet qui permet à
l’utilisateur de : Gérer les produits qui peuvent être de type Hébergement, Transport,
Activité, Forfait, Location de voiture...
Ce module contient des sous modules qui permettent aussi :
La gestion des suppléments/catégories du produit : Pour les produits de
type forfait on parle de la gestion des suppléments et pour les autres types on
parle de la gestion des catégories.
La gestion des photos : associer des photos aux produits.
La gestion des détails du produit : la gestion des détails du produit tel que
les photos, les vidéos et la description de chaque détail.
La gestion des règles segments : Les segments sont disponibles pour les
produits de type forfait. Un forfait peut être composé par plusieurs produits
avec ou sans catégories ou composé par des règles.
La gestion des segments de vol : Il s’agit parfois d’un changement du vol
lors de l’escale. Ce module est responsable de gérer les vols filles d’un circuit
bien défini.
9
Chapitre 2 : Analyse et Spécification des besoins
La gestion des tarifs : On peut gérer les tarifs pour chaque catégorie ou
supplément d’un produit et l’utilisateur peut définir les prix du service et la
devise et d’autres données tels que la date et les jours de vente ou d’achat.
La gestion des localités du produit : Chaque produit possède une ou
plusieurs localité(s). Donc ce module permet de définir la localisation du
produit.
La gestion des données d’optimisation pour les moteurs de recherche
La gestion des tags : Facilite la recherche dans les sites front ou définir le
type d’offre (ex : Weekend, Promotion) ou la cible (ex : Famille, Couple,
Groupe).
Gestion des utilisateurs : Ce module permet d’ajouter, consulter et modifier les
utilisateurs du tenant connecté.
Gestion des tiers : Ce module doit permet l’utilisateur d’ajouter, consulter modifier et
exporter les tiers (fournisseur, producteur, apporteur d’affaire...)
Gestion des paramètres : Ce module doit permet l’utilisateur de gérer les paramètres de
la plateforme selon le tenant connecté.
Gestion des localités : Ce module permet l’utilisateur de gérer les localités comme les
villes, les gares, les zones navigables, les aéroports ...
Configuration du compte : Ce module permet l’utilisateur de préciser les préférences
telles que la devise par défaut, l’adresse de facturation, les numéros de téléphone ...
Gestion des documents électroniques : Ce module permet à l’utilisateur d’organiser et
gérer les répertoires et leur contenu.
Gestion des règles de tarification : Ce module permet le client de gérer les règles de la
tarification comme les marges, les commissions et les promotions.
Gestion des articles : Ce module permet l’utilisateur de gérer les connaissances par
l’édition d’un article ou d’une documentation.
Gestion des commandes : Ce module permet l’utilisateur de gérer les commandes.
Nous citons dans la partie suivante les besoins fonctionnels de l’application mobile spécifier par :
le responsable du projet M. Ridha Bouasker :
10
Chapitre 2 : Analyse et Spécification des besoins
Parmi les besoins non fonctionnels du site Back Office nous citons :
11
Chapitre 2 : Analyse et Spécification des besoins
3. Méthodologie de développement :
L’utilisation d’une méthode agile est une priorité afin de réussir notre mission dans les
meilleures conditions. Nous avons choisi la méthode Scrum qui présente une implémentation de
l’approche agile.
Product Owner : Advences joue le rôle de product owner afin de déterminer les priorités et les
besoins fonctionnels des tenants attendus.
Scrum Master : M.Ridha Bouasker joue le rôle de Scrum Master. C’est qui assure la bonne
communication entre les membres de l’équipe par la mise en place des règles internes pour la
communication. Aussi parmi ses responsabilités :
12
Chapitre 2 : Analyse et Spécification des besoins
13
Chapitre 2 : Analyse et Spécification des besoins
Nous utilisons Skype comme outils de communication. Chaque personne possède une
fenêtre de suivi afin de suivre l’avancement des tâches affectées. Le développeur doit préciser
son avancement toutes les 2 heures au maximum.
Chaque personne possède une feuille de calcul en ligne pour lister ses points en précisant
le numéro, le statut, la priorité et une partie pour un commentaire ou pour la prochaine étape. La
figure suivante donne un aperçu sur une feuille de suivi :
La validation d’un point se fait par e-mail ou par Skype selon le type du point, une fois validé le
point est fermé.
Nous faisons des réunions journalières, durant ses réunions nous concluons les points traités, les
sujets à discuter puis nous définissons les points prioritaires à faire.
14
Chapitre 2 : Analyse et Spécification des besoins
Chaque semaine, le Scrum master prépare le bilan qui sera partager avec les autres cadres de la
société Advences.
La figure suivante montre un exemple d’un bilan de la semaine 14 (30 mars 2020) :
Généralement la durée d’un sprint dans sa version 1 ne dépasse pas une semaine. C’est à
dire chaque semaine nous faisons une démonstration aux clients avant de passer à la version
suivante.
Au cours de la démonstration le Scrum master note les remarques, les difficultés ou les
suggestions des clients. Et selon le feedback nous faisons l’adaptation et la correction.
15
Chapitre 2 : Analyse et Spécification des besoins
Puis le scrum master planifie une autre démonstration après quelques jours pour valider
les améliorations.
Le tableau suivant cite les sprints ordonnés selon le critère de priorité. Ce critère est défini par les
clients et notre Scrum master.
3
Localités
16
Chapitre 2 : Analyse et Spécification des besoins
25
Détails
Ajouter un utilisateur
Gestion des
3
29 Lister les utilisateurs et faire une recherche selon des critères
pertinents 2
17
Chapitre 2 : Analyse et Spécification des besoins
3
42 Modifier les règles segments d’un forfait 5
18
Chapitre 2 : Analyse et Spécification des besoins
2
indicatifs des pays
56
compte
64
Gestion des Gestion des règles de Gestion des
68 1
des critères pertinents
69 Modifier les règles de tarification 2
70 Gérer les produits concernés par la règle de tarification 3
71 Gérer les cible(s) (groupe, canal B2C, B2B) 3
Commandes
19
Chapitre 2 : Analyse et Spécification des besoins
Nous travaillions sur deux sprints en parallèle pour accélérer le rythme de développement
et pour mieux organisé l’équipe. Le planning comporte que les sprints que nous avons réalisés.
Le tableau suivant donne une idée générale sur le plannings d’un partie des sprints réalisés.
Période/Semaine 1 2 3 4
20
Chapitre 2 : Analyse et Spécification des besoins
Conclusion
Nous avons précisé le périmètre du projet par la définition des besoins puis par la
solution adoptée. Après l’alimentation de la Backlog et la mise en place du planning nous
terminerons les préparations pour le projet par l’installation de l’environnement de travail. Ce
sujet sera plus particulièrement étudié dans le chapitre suivant.
21
Chapitre 3 : Environnement de travail
Introduction :
1. Environnement logiciel :
1.1. Présentation de l’environnement logiciel de l’application web :
Notre architecte M. Aniss Boumrigua a défini les technologies à utiliser dans le projet web :
PHP 7.4
Symfony 5
API Platform : C’est un Framework PHP permettant de créer facilement et de
personnaliser les API.
MariaDB (MySQL)
Javascript (jQuery)
Bootstrap
Twig : C’est un moteur de modèle pour le langage de programmation PHP.
Node.js : Utilisé dans le build de Webpack Encore et le chargement des modules de
Node Package Manager (npm).
Gitlab (versionning)
Confluence : C’est un outil wiki de collaboration utilisé pour aider les équipes à
collaborer et à partager efficacement leurs connaissances.
PhpStorm
22
Chapitre 3 : Environnement de travail
Postman : C’est est un client API qui facilite la création, le partage d'API pour les
développeurs.
Fiddler 4 : C’est un proxy de débogage Web qui enregistre tout le trafic HTTP(S).
L’environnement de développement et de production des services, de la back office et les
sites web B2C, B2B sont hébergés sur :
Platform.sh
La figure suivante donne un aperçu général sur les technologies qui seront utilisées dans le projet
web :
23
Chapitre 3 : Environnement de travail
Nous avons choisi les deux multiplateformes les plus populaires React-native et Flutter et nous
avons fait le choix selon la comparaison suivante :
En termes de performance :
La figure 3.2 montre que Flutter est 3 fois plus performant que React-native selon des
tests de performances intensives de CPU font par des spécialistes de benchmark avec différents
algorithmes.
24
Chapitre 3 : Environnement de travail
Flutter est basé sur les widgets. Un widget est un composant qui peut être par exemple un
bouton, une liste, un menu...
Nous pouvons également créer nos propre widgets qui peuvent être facilement réutilisés.
En plus le syntaxe est trop facile à comprendre. En plus nous avons déjà découvert ce
Framework dans sa version beta et nous avons développé des applications avec cette technologie.
En 2020 Flutter a dépassé React-native sur les sites tels que Stack Overflow et même sur
GitHub.
C ’ e s t V r a i F l u t
2020 mais en 2019 Google a publié la version Stable de Flutter pour mobile qui est prêt pour la
production.
Voilà le choix est fait et nous avons adopté le Framework multiplateforme Flutter et son langage
de programmation Dart.
Dart :
25
Chapitre 3 : Environnement de travail
Dart est un langage de programmation, orienté objet et à usage général développé par
Google en 2011. Il est utilisé pour le développement Web côté client et côté serveur. Dart est
également utilisé pour le développement mobile natif et multiplateforme.
Flutter :
Flutter est un kit de développement logiciel créé par Google. Il est utilisé pour
développer des applications pour Android, iOS, Windows, Mac, Linux, Google Fuchsia et le
web.
Android Studio
Adobe Photoshop
2. Environnement Matériel :
Le tableau suivant résume le matériel utilisé pendant le développement de la back Office
et l’application mobile.
Conclusion :
Nous avons cité les différents technologies et outils utilisés dans le projet. Une fois
l’environnement de travail est installé nous suivons le planning et nous commençons les
26
Chapitre 3 : Environnement de travail
27
Chapitre 4 : Sprints Gestion des Produits
Introduction :
Lors de la première partie de ce chapitre, nous allons donner un aperçu général sur les
modules à réaliser dans le premier release. En effet, chaque release englobe un ensemble de
sprint. Puis nous allons détailler les sprints de gestion des produits passant par la conception et le
raffinement jusqu’à l’étape de réalisation.
1.2.
28
Chapitre 4 : Sprints Gestion des Produits
Le diagramme de classes général ci-dessous donne une idée sur la conception de nos
modules. Pour simplifier cette partie nous avons mis un exemple minimal qui décrit les entités et
ses relations.
29
Chapitre 4 : Sprints Gestion des Produits
- Service Localities : Obtenir les localités du tenant et les localités par défaut.
- Service Object Tags : Gérer les tags du produit.
- Service Product Localities : Gérer les localités du produit.
30
Chapitre 4 : Sprints Gestion des Produits
Cas n° 1
Préconditions : L’utilisateur doit être authentifié à Leisure plateforme (Package « S’authentifier »).
Démarrage : L’utilisateur a ouvert la pop-up Produit dans n’importe quelle page dans la plateforme
Leisure.
Le scénario nominal
1 - Le système vérifie le token de l’utilisateur connecté.
31
Chapitre 4 : Sprints Gestion des Produits
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up produit par
les données nécessaires (comme les valeurs des listes).
7 - L’utilisateur tape 3 lettres pour avoir des suggestions de localité(s) selon le type de produit.
8 - Le système fait appel à un service de localités minifié et charge la liste par des données selon
les lettres saisies.
10.b Le système valide, enregistre le produit puis ouvre l’écran de mise à jour du produit.
32
Chapitre 4 : Sprints Gestion des Produits
33
Chapitre 4 : Sprints Gestion des Produits
: : :
Cas n° 2
Préconditions : L’utilisateur doit être authentifié à Leisure plateforme (Package « S’authentifier »).
Démarrage : L’utilisateur a ouvert la page Produit à partir du menu latéral.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données depuis les services Third Party et
Master parameter values pour alimenter les listes des critères de recherche.
34
Chapitre 4 : Sprints Gestion des Produits
5 – Si le critère Type de produit est saisi, le système charge les sous-types qui correspondent au
type du produit choisi.
8 - Le système fait appel à un service de localités minifié et charge la liste par des données selon
les lettres saisies.
10 - Le système charge les données à partir du service Product en appliquant les filtres saisis et
retourne une liste de produits.
10.a Aucune donnée ne correspond aux filtres saisis, le système retourne une liste vide.
35
Chapitre 4 : Sprints Gestion des Produits
1.2. 1.1.
36
Chapitre 4 : Sprints Gestion des Produits
Cas n° 3
Préconditions : L’utilisateur a lancé une recherche et il a reçu un résultat avec au moins un produit
dans le tableau de recherche.
Démarrage : L’utilisateur clique sur le bouton Exporter.
Le scénario nominal
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système charge les données à partir du service Product en appliquant
les filtres saisis et retourne un fichier Excel.
37
Chapitre 4 : Sprints Gestion des Produits
Cas n° 4
Préconditions : L’utilisateur a lancé une recherche et il a reçu un résultat avec au moins un produit
dans le tableau de recherche.
Démarrage : L’utilisateur clique sur l’identifiant du produit d’après la liste de recherche.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide et le produit appartient au tenant connecté, le système fait appel aux
données du produit.
38
Chapitre 4 : Sprints Gestion des Produits
L’écran de modification de produit est composé par plusieurs blocs comme Tag(s),
Localité(s), Code Externe(e). Les traitements des blocs tels que la modification, la suppression et
même l’ajout sont tous asynchrone.
Conclusion :
39
Chapitre 4 : Sprints Gestion des Produits
En guise de conclusion, nous avons réussi à produire le premier incrément « Gestion des
produits ». L’équipe Impact Player a fait les tests d'assurance qualité et après quelques
corrections et optimisations le module est validé et il est actuellement déployé dans
l’environnement de production.
Le sprint suivant selon le planning sera concernant la gestion des tiers c’est ce qu’on va voir dans
le chapitre suivant.
40
Chapitre 5 : Sprints Gestion des Tiers
Introduction :
Dans ce chapitre, nous allons détailler les sprints de gestion des tiers ainsi que les micro-
services impliqués passant par la conception et le raffinement jusqu’à l’étape de réalisation. Les
tiers peuvent être les producteurs des produits, les fournisseurs, les agents externes ou internes.
1.2.
Figure 5.20 : Diagramme de cas d'utilisation de « Gestion des Tiers »
41
Chapitre 5 : Sprints Gestion des Tiers
42
Chapitre 5 : Sprints Gestion des Tiers
Cas n° 1
: : :
Nom : Ajouter ti
Acteur(s) : Utili
Description : L’
client (Agence d
Préconditions :
Démarrage : L’u
Leisure.
Le scénario nominal
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up tier par les
données nécessaires (comme les types et les sous types).
43
Chapitre 5 : Sprints Gestion des Tiers
6.b Le système valide, enregistre le produit puis ouvre l’écran de mise à jour du produit.
44
Chapitre 5 : Sprints Gestion des Tiers
: : :
Cas n° 2
Préconditions : L’utilisateur doit être authentifié à Leisure plateforme (Package « S’authentifier »).
Démarrage : L’utilisateur a ouvert la page Tiers à partir du menu latéral.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données d’après le service Master Parameter
Values pour alimenter les listes des critères de recherche (Type et Sous type).
45
Chapitre 5 : Sprints Gestion des Tiers
6 - Le système charge les données à partir du service Third Party en appliquant les filtres saisis et
retourne une liste de Tiers.
6.a Aucune donnée ne correspond aux filtres saisis, le système retourne une liste vide.
46
Chapitre 5 : Sprints Gestion des Tiers
47
Chapitre 5 : Sprints Gestion des Tiers
: : :
Cas n° 3
Préconditions : L’utilisateur a lancé une recherche et il a reçu un résultat avec au moins un tiers
dans le tableau de recherche.
Démarrage : L’utilisateur clique sur l’identifiant du tiers d’après la liste de recherche.
48
Chapitre 5 : Sprints Gestion des Tiers
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide et le produit appartient au tenant connecté, le système fait appel aux
données du tiers.
Cet écran permet l’utilisateur à accéder aux sous-modules comme Détails et Utilisateurs du tiers.
49
Chapitre 5 : Sprints Gestion des Tiers
Conclusion :
Suivons le planning notre priorité sera l’onglet détails de produit c’est ce qu’on va voir dans le
chapitre suivant.
50
Chapitre 6 : Sprints Gestion des Détails
Introduction :
Dans ce chapitre, nous présentons en premier lieu la conception des sprints « Gestion des
Détails » ainsi que les micro-services impliqués. Puis, nous passons à l’étape de réalisation afin
de visualiser les différentes fonctionnalités de cet onglet.
51
Chapitre 6 : Sprints Gestion des Détails
52
Chapitre 6 : Sprints Gestion des Détails
: : : : :
Scénario nominale :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up Détail objet
par les données nécessaires (comme les valeurs des listes).
53
Chapitre 6 : Sprints Gestion des Détails
54
Chapitre 6 : Sprints Gestion des Détails
Pour les photos internes elles doivent être insérées dans des répertoires à l’aide du module de de
gestion des documents électroniques (GED).
55
Chapitre 6 : Sprints Gestion des Détails
Cas n° 2
56
Chapitre 6 : Sprints Gestion des Détails
Scénario nominale :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour afficher l’onglet Détails.
3 - Le système affiche les données des détails avec les photos associées.
5 - Le système charge les groupes qui correspondent au type d’objet et les répertoires des photos.
57
Chapitre 6 : Sprints Gestion des Détails
58
Chapitre 6 : Sprints Gestion des Détails
Cas n° 3
: :
Nom : Supprimer détail (package « Gestion des détails »)
Acteur(s) : Utilisateur (appartient à un tenant)
Description : L’utilisateur peut supprimer les données d’un détail et les photos associées.
59
Chapitre 6 : Sprints Gestion des Détails
Scénario nominale :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données des détails.
3 - Le système affiche les données des détails avec les photos associées.
60
Chapitre 6 : Sprints Gestion des Détails
: :
Cas n° 4
61
Chapitre 6 : Sprints Gestion des Détails
Scénario nominale :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données des détails.
3 - Le système affiche les données des détails avec les photos associées.
4 - L’utilisateur clique sur le bouton Supprimer qui se trouve sous chaque média.
Conclusion :
En conclusion , nous avons détaillé les différentes fonctionnalités de l’onglet Détails par
la présentation des diagrammes de séquences ,les scénarios nominal et alternatif ainsi que la
partie réalisation. L’utilisateur maintenant peut énumérer les détails d’un produit.
Le prochain sprint sera concernant l’onglet Catégories du module Produit c’est ce qu’on va voir
dans le chapitre suivant.
62
Chapitre 7 : Sprints Gestion des Catégories
Introduction :
63
Chapitre 7 : Sprints Gestion des Catégories
- Service Master Parameter Values : Obtenir les types, les sous types des tiers.
- Service Product Category : Gérer les catégories des produits
: : :
Cas n° 1
64
Chapitre 7 : Sprints Gestion des Catégories
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up catégorie
par les données nécessaires (comme les types et les sous types).
65
Chapitre 7 : Sprints Gestion des Catégories
66
Chapitre 7 : Sprints Gestion des Catégories
: :
Cas n° 2
Préconditions : L’utilisateur doit avoir des Catégories/Suppléments pour avoir une liste.
Démarrage : L’utilisateur a ouvert l’onglet Catégories/Suppléments qui se trouve dans le module
produit.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour Charger la liste des catégories.
67
Chapitre 7 : Sprints Gestion des Catégories
Cet écran permet l’utilisateur aussi de supprimer une catégorie en cliquant sur le bouton
avec l’icône poubelle en rouge ou accéder à l’écran de modification en mode asynchrone en
cliquant sur le bouton avec l’icône stylo en vert.
68
Chapitre 7 : Sprints Gestion des Catégories
: : :
Cas n° 3
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
69
Chapitre 7 : Sprints Gestion des Catégories
70
Chapitre 7 : Sprints Gestion des Catégories
: :
Cas n° 4
Conclusion :
71
Chapitre 7 : Sprints Gestion des Catégories
72
Chapitre 8 : Sprints Gestion des Tarifs
Introduction :
Dans ce chapitre, nous allons détailler les sprints de gestion des tarifs ainsi que les micro-
services impliqués passant par la conception et le raffinement jusqu’à l’étape de réalisation.
73
Chapitre 8 : Sprints Gestion des Tarifs
: : :
Cas n° 1
74
Chapitre 8 : Sprints Gestion des Tarifs
Préconditions : L’utilisateur doit avoir au moins une catégories/Suppléments associée au produit afin
de gérer les tarifs.
Démarrage : L’utilisateur a ouvert l’onglet Tarifs dans le module produit.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up Tarif
produit par les données nécessaires (comme les catégories, les types d’occupation, les devises...).
75
Chapitre 8 : Sprints Gestion des Tarifs
76
Chapitre 8 : Sprints Gestion des Tarifs
Cas n° 2
: :
Nom : Lister tarifs (package « Gestion des Tarifs »)
Acteur(s) : Utilisateur (appartient à un tenant)
Description : Cet onglet liste les Tarifs du produit.
Préconditions : L’utilisateur doit avoir un tarif inséré pour avoir une liste de tarifs.
Démarrage : L’utilisateur a ouvert l’onglet Tarifs qui se trouve dans le module produit.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour Charger la liste des tarifs.
77
Chapitre 8 : Sprints Gestion des Tarifs
78
Chapitre 8 : Sprints Gestion des Tarifs
La figure 8.6 montre le diagramme de séquence système de cas d’utilisation « Modifier Tarifs » :
: : : Cas n° 3
Nom : Modifier
Acteur(s) : Util
Description : L
Préconditions
Démarrage : L
79
Chapitre 8 : Sprints Gestion des Tarifs
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
80
Chapitre 8 : Sprints Gestion des Tarifs
: :
81
Chapitre 8 : Sprints Gestion des Tarifs
Conclusion :
Après la saisie des tarifs d’un produit il est le temps de commencer le développement du module
commande c’est ce qu’on va voir dans le chapitre suivant.
82
Chapitre 9 : Sprints Gestion des Commandes
Introduction :
Dans ce chapitre, nous présentons au premier lieu la conception des sprints « Gestion des
Commandes » ainsi que les micro-services impliqués. Puis, nous passons à l’étape de réalisation
afin de visualiser les différentes fonctionnalités de ce module.
83
Chapitre 9 : Sprints Gestion des Commandes
- Service Master Parameter : Récupérer les civilités, les langues, les statuts des payement
et de réservation.
- Service Order : Gérer les commandes.
- Service Third Party : Créer et récupérer les clients.
- Service Tenant Preference : Récupérer la devise et la langue par défaut
- Service Currency : Récupérer les devises.
- Service User : Récupérer les agent internes.
- Service Product : Récupérer les produits.
: : : :
84
Chapitre 9 : Sprints Gestion des Commandes
Cas n° 1
Préconditions : L’utilisateur doit être authentifié à Leisure plateforme (Package « S’authentifier »).
Démarrage : L’utilisateur a ouvert la pop-up Commande dans n’importe quelle page dans la
plateforme Leisure.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données pour initialiser la pop-up Commande.
Par les données nécessaires comme les champs : Canal, Statut, Civilité, Devise.
85
Chapitre 9 : Sprints Gestion des Commandes
7.b Le système valide, enregistre le nouveau client et la commande puis ferme la pop-up.
7.c Le système valide, enregistre le nouveau client et la commande puis réinitialise la pop-up.
L’écrans contient que les données les plus pertinents de la commande Pour ajouter d’autres
produits à la commande il y a un sous module que nous avons développé mais il n’est mis dans
le rapport pour simplifier les choses.
86
Chapitre 9 : Sprints Gestion des Commandes
87
Chapitre 9 : Sprints Gestion des Commandes
: : :
Ca
s
n°
2
No
m :
Rec
her
che
r
Pro
Figure 9.54 : Diagramme de séquence système « Rechercher Commande »
duit
(pa
cka
ge
«
Ges
tion
des
pro
duit
s »)
Act
eur
(s) :
Util
isat
eur
88
Chapitre 9 : Sprints Gestion des Commandes
(appartient à un tenant)
Description : L’utilisateur peut lancer une recherche avec ou sans de(s) critère(s) de recherche. Pour
ce cas on trouve plusieurs critères qui peuvent être appliqués (Id, Nom, Type, Sous type,
Fournisseur, Actif).
Préconditions : L’utilisateur doit être authentifié à Leisure plateforme (Package « S’authentifier »).
Démarrage : L’utilisateur a ouvert la page Produit à partir du menu latéral.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide, le système fait appel aux données d’après les services Third Party et
Master parameter values pour alimenter les listes des critères de recherche.
6 - Le système charge les données à partir du service Order en appliquant les filtres saisis et
retourne une liste des commandes.
6.a Aucune donnée ne correspond aux filtres saisis, le système retourne une liste vide.
89
Chapitre 9 : Sprints Gestion des Commandes
Nous présentons dans la figure 9.5 ci-dessous l’écran de recherche des commandes.
L’utilisateur peut appliquer plusieurs filtres afin de lancer une recherche pertinente.
L’utilisateur peut accéder à l’écran de modification des données de la commande en cliquant sur
l’identifiant de la commande.
90
Chapitre 9 : Sprints Gestion des Commandes
Cas n° 3
: : :
Nom : Modifier Commande (package « Gestion des Commandes »)
Acteur(s) : Utilisateur (appartient à un tenant)
Description : L’utilisateur peut modifier les données de la commande.
Préconditions : L’utilisateur a lancé une recherche et il a reçu un résultat avec au moins une
commande dans le tableau de recherche.
Démarrage : L’utilisateur clique sur l’identifiant de commande d’après la liste de recherche.
Le scénario nominal :
1 - Le système vérifie le token de l’utilisateur connecté.
2 - Si le token est valide et la commande appartient au tenant connecté, le système fait appel aux
données de la commande.
91
Chapitre 9 : Sprints Gestion des Commandes
La figure 9.7 donne un aperçu général sur l’écran de modification des données de la commande :
Conclusion :
92
Chapitre 9 : Sprints Gestion des Commandes
Le prochain sprint sera un peu différent des autres sprints car nous allons entamer le
développement de l’application mobile c'est qu'on va découvrir dans le chapitre qui suit.
93
Chapitre 10 : Sprints Application Mobile
Introduction :
Lors de ce chapitre nous allons illustrer la partie mobile de notre projet. Au premier lieu
nous présentons l’architecture globale et l’architecture de l’application afin de déployer une
application efficace. En deuxième lieu nous montrerons la partie réalisation et tests.
Cette API est utile pour notre application mobile afin de mettre en place les interfaces de
recherche et de consultation des détails des produits.
Mapbox API :
Cette API est utile afin de visualiser la carte géographique et localiser le lieu du produit
sur la carte.
La couche Repository contient les différents traitements tel que les méthodes de
recherche des produits, consultation des détails, récupération des lieux à proximité.
La couche View Contient les widgets qui composent les interfaces affichées. Cette
couche assure les échanges et les interactions de l’utilisateur.
3. Réalisation et tests :
3.1. Navigation entre les interfaces de l’application mobile :
96
Chapitre 10 : Sprints Application Mobile
Cette
interface est accessible en mode horizontale avec un autre style d’affichage afin de simplifier la
navigation et l’expérience de l’utilisateur comme montre la figure suivante :
97
Chapitre 10 : Sprints Application Mobile
98
Chapitre 10 : Sprints Application Mobile
Figure 10.64 : interfaces d’affichage de la localisation et les lieux à proximité d’un produit
99
Chapitre 10 : Sprints Application Mobile
3.3.
Ces tests ont permis de tester automatiquement les traitements qui se trouvent dans la
couche repository ainsi que les tests de widgets afin de tester le fonctionnement de l’interface de
l’utilisateur.
Conclusion :
100
Chapitre 10 : Sprints Application Mobile
Nous avons vu l’architecture de l’application ainsi que les fonctionnalités les plus
prioritaires. Cette application mobile est complémentaire au sites web front. Elle fournit aux
clients finaux un accès aux catalogues afin de découvrir les produits de notre tenant d’une façon
claire et rapide.
101
Conclusion Générale
Notre Projet de fin d’études effectué au sein de l’entreprise Easy Soft a abouti à une
réécriture complète de la solution qui est destinée aux acteurs impliqués de la chaîne touristique
et dans le domaine d’e-tourisme en général. Nous avons commencé par l’étude de la nouvelle
architecture qui est basée sur les micro-services en utilisant lors de développement des
technologies open source. Cette architecture est conçue par notre expert.
Ensuite, nous étions responsables sur la réalisation d’une plateforme de Back office et
d’une application mobile, en même temps nous avons eu d’autres responsabilités telles que le
support techniques des développeurs, la mise en place des règles techniques et ergonomiques, la
résolution des points d’architecture, la rédaction de la documentation, la formation d’intégration
des nouveaux développeurs stagiaires.
Nous avons pu résoudre plus de 800 points remontés avec plus de 1300 contributions.
Durant les 7 derniers mois nous avons réalisé une tranche de 33% de la totalité du travail sur
différentes plateformes qui inclut 16 autres développeurs active.
À présent, les 20 sprints que nous avons réalisés répondent pratiquement aux objectifs
énoncés au niveau de la Backlog et le client utilise déjà ses modules en mode production.
En plus, nous avons développé une application mobile en utilisant une technologie
moderne qui a apparu en 2019.À travers cette application nous pensions que nous avons fait un
travail complet qui réunit le développement d’un projet web et mobile.
Faute de temps, nous n’avons pas commencé la version 3 des modules. Nous allons
continuer avec l’équipe dans les mois qui suivent afin de déployer autres incréments qui
comportent des traitements plus avancés de calcul et des fonctionnalités plus complexes ainsi
que le système de cache, le système de log et plein d’autres choses qui nous aident à bien
préparer les enjeux futurs.
102
Webographie
[1] https://symfony.com/doc/current/index.html , consulté le 17 Décembre 2019.
تلخيص
يلخص هذا التقرير العمل المنجز في إطار مشروع نهاية الدراسات للحصول على دبلوم الترخيص التطبيقي في تكنولوجيا المعلومات
ضمن شركة إيزي سوفت.
يتمثل العمل في إنشاء منصة مكتب خلفي وتطبيقة محمولة للسياحة اإللكترونية مخصصة للجهات الفاعلة في السلسلة السياحية على أساس
بنية الخدمات الدقيقة باإلضافة إلى إيجاد بدائل لبعض التقنيات التي عرضت حدودها.
ويب باك أٌونكور، فالتّر، أ بي إي بالت فورم، سكروم،سيرفيس- ميكرو،5 سامفوني، السياحة اإللكترونية:الكلمات المفاتيح.
Résumé
Le présent rapport synthétise le travail effectué dans le cadre du projet de fin d’études pour
l’obtention du diplôme de Licence Appliquée en Technologies de l'Informatique au sein de
l’entreprise Easy Soft.
Le travail consiste à réaliser une plateforme Back office et une application mobile e-tourisme
destinée aux acteurs de la chaîne touristique en se basant sur une architecture micro-services
ainsi que de trouver des alternatives pour quelques technologies qui ont présenté leurs limites.
Mots clés: E-tourisme, Symfony 5, Micro-services, Scrum, API-Platform, Flutter, Web pack
Encore.
Abstract
This report summarizes the work carried out within the framework of the end of studies project
to obtain the diploma of Applied License in Information Technology within the company Easy
Soft.
The work consists in creating a Back office platform and a mobile e-tourism application intended
for actors in the tourist chain based on a micro-services architecture as well as finding
alternatives for some technologies which have presented their limits.