Académique Documents
Professionnel Documents
Culture Documents
et de la Recherche Scientifique
*** * ***
Université de Carthage
*** * ***
Ecole Nationale d’Ingénieurs de Carthage
Elaboré par :
SAID Khouloud
Entreprise d’accueil :
Année universitaire:
2022 - 2023
Remerciements
Intrénéoduction generale
1 Etude préliminaire
1.1 Introduction
1.2 Présentation de L’entreprise
1.2.1 fiche d’identité
1.2.2 services
1.2.1 Approche MapsIT
1.3 Enoncé du sujet de stage
1.4 Problématique du projet
1.5 Plan du travail
1.5.1 Organisation de rapport
1.5.2 Diagramme de Gantt
3 Conception et planification
3.1 Méthodologie de conception
3.1.1 Presentation de Scrum
3.1.2 Avantages de Scrum
3.2 Méthodologie de développement
3.2.1 Presentation d’UML
3.2.2 Les diagrammes des cas d’utilisation
3.3 Gestion des risques
3.3.1 Identification des risque
3.3.2 Resolution et actions preventives
4 Realisation
4.1 Solution proposées
4.2 Les étapes d'intégration
4.3 Les choix technologiques :
4.3.1 Environnement matériel
4.3.2 Environnement logiciel
4.4 Les interfaces
Conclusion
Bibliographie
Table des figures
1.1 logo de l’entreprise Maps-IT
1.2 Diagramme de Gantt de projet
Introduction générale
Notre initiative vise à créer un site web innovant qui facilite la vie des caissiers
en optimisant leurs opérations et en fournissant des fonctionnalités de pointe,
le tout en garantissant sécurité et accessibilité quel que soit le lieu ou
l'appareil utilisé. Ce projet aura un impact positif même pour les petits
magasins et les personal shoppers, leur permettant de gagner du temps et de
l'énergie au quotidien.
1.2.2 Services
Dans cette partie, nous allons présenter les différents services proposés
par Maps-IT
- Marketing Numerique
- Développement Web
- Développement d’applications mobiles
- Image de marque et Design
- Développement de logiciels personnalisés
- Services de consulting
- Conception et développement des APIs
- E-commerce
Pour un bon travail, il nous faut un rapport bien structuré qui peut être exploité
après la mise en place de notre solution, pour cela nous allons organiser notre
rapport de la manière suivante .Nous allons commencer ce rapport en mettant
en avant l'étude préliminaire du projet en introduisant l’entreprise d'accueil.
Ensuite, nous allons faire une analyse des fonctionnalités qui bénéficieront
d’une amélioration grâce à notre solution hors ligne. Nous identifierons
également les besoins fonctionnels et non fonctionnels associés, afin de
développer une vision plus claire du projet dans son ensemble. Après, nous
allons passer à la phase de conception. Cette étape cruciale permettra de
visualiser la structure sous-jacente de notre solution avant de passer à sa
réalisation concrète. Enfin , nous présenterons la phase de réalisation,
dévoilant la solution finale et ses interfaces. en abordant également les
différents environnements de travail matériels et logiciels que nous avons
utilisés pour entamer le projet.
2 Analyse de l’existant et
Spécification des besoins
Ce chapitre présente le sprint de démarrage ou nous nous plongeons dans
une exploitation approfondie de l’existant en analysant les aspects
fondamentaux du projet “caissa.tn” et en recueillant les besoins fonctionnels
et non fonctionnels qui guideront la mise en place de la solution en mode
hors ligne. Nous aborderons également les solutions envisageables pour
répondres à cette problématique
Cette phase est l’un des étapes les plus importantes, les autres étapes de
cycle de développement dépendant des résultats élaborés durant cette phase
Angular offre la possibilité d'utiliser les Service Workers pour créer des
Progressive Web Apps (PWA). Les Service Workers sont des scripts exécutés
en arrière-plan qui permettent de gérer les requêtes réseau, de mettre en
cache des ressources et de fournir des fonctionnalités hors ligne. En utilisant
les Service Workers, vous pouvez mettre en cache les données et les
ressources nécessaires à l'application afin qu'elles soient disponibles même
lorsque l'utilisateur est déconnecté. Les PWA sont ensuite installables sur le
bureau ou l'écran d'accueil des appareils, offrant ainsi une expérience
similaire à celle des applications natives.
● LocalStorage et IndexedDB
Les besoins fonctionnels ont pour rôle de représenter les exigences du future
utilisateur, ils décrivants les fonctionnalités spécifique que la solution en mode
offline doit offrir
- Synchronisation des données :
La capacité de synchroniser automatiquement les données locales avec
le serveur dès que la connexion internet est rétablie
- Ajout de données en local :
La possibilité d’ajouter de nouvelles commandes en mode hors ligne.
- Gestion de panier et commandes :
La capacité pour les utilisateurs de créer une panier en mode hors
ligne, en ajoutant des produits pour une commande future.
La possibilité de passer des commandes en mode hors ligne, avec une
sauvegarde locale des commandes en attente de synchronisation.
La spécification des besoins non fonctionnels sont toutes les spécifications qui
n’expriment pas une fonction du système mais plutôt les contraintes que le
système doit garantir.
Les besoins mise en jeu sont:
- Convivialité et Expérience Utilisateur :
Fournir une interface utilisateur intuitive et conviviale et Minimiser les
interruptions et les messages d’erreur pour fournir une meilleur
expérience utilisateur
- Disponibilité et Performance:
l’application doit être en mesure de satisfaire tous les clients., assurer
une réponse rapide et une latence minimal pour garantir une
expérience utilisateur fluide et réactive
- Coûts :
Optimiser les coûts en utilisant efficacement les ressources, en
adoptant des modèles de tarification adaptés et en éliminant les
ressources non utilisées
- Evolutivité :
Prévoir la possibilité d'étendre les fonctionnalités en mode hors ligne à
l’avenir sans nécessiter de modifications majeures de l’architecture
3 Conception et planification
Le but principal de toute méthodologie de travail est de gérer le projet et
d’organiser le travail en une seule entité structurée. Pour le développement de
notre plateforme nous avons choisi le schéma de développement < Scrum >
La gestion des risques est essentielle pour anticiper et atténuer les obstacles
potentiels tout au long du projet.
Parmi les risques possibles, citons les problèmes de retard dans la mise en
place du mode hors ligne, les problèmes d'incompatibilité avec les services
AWS, les difficultés techniques liées aux fonctionnalités hors ligne tel que la
gestion des données locales , la synchronisation et la gestion des conflits
3.3.2 Resolution et actions preventives
La gestion proactive des risques est essentielle pour minimiser leur impact et
assurer le succès du projet Voici quelques actions préventives à considérer
:Des tests Rigoureux pour la synchronisation des données, faire attention aux
versions pour ne pas avoir des conflits de versions.
4 Realisation
4.1 Solution proposée
2- créer user :
4-installing Docker
6-créer dossier
7-créer fihier docker-compose.yml
9-run docker-compose
Angular
Angular Angular est un framework côté client, open source, basé sur
TypeScript.Il permet la création d’applications Web.
Le Framework est basé sur une architecture du type MVC et permet donc de
séparer les données, le visuel et les actions pour une meilleure gestion des
responsabilités. Un type d’architecture qui a largement fait ses preuves et qui
permet une forte maintenabilité et une amélioration du travail collaboratif.
Les principaux blocs de construction sont des modules, des composants, des
modèles, des métadonnées, la liaison de données, des directives, des
services et de l’injection de dépendance.
Spring boot
Spring Boot permet de créer une API de services très simplement. Il suffit
d’embarquer directement le serveur d’application dans un seul et unique Jar
qui est exécutable, par exemple, directement dans un service de conteneur. .
Aussi , il a une intégration facile car il s’intègre particulièrement bien dans une
architecture orientée micro services
C’est un environnement dans lequel le code Java est compilé pour être
transformé en bytecode afin que la machine virtuelle JAVA (JVM) puisse
l’interpréter. Les composants primaires du JDK sont une sélection d’outils de
programmation
Intellij IDEA
API Postman
Postman est une plate-forme API pour la création et le test d’API. Postman
simplifie chaque étape du cycle de vie des API et rationalise la collaboration
afin que vous puissiez créer de meilleures API plus rapidement
PostgresQL
La figure suivante présente la page d’accueil qui s’affiche dès que l’on accède
à notre site web : Dashboard
31 aout 2023
Bibliographie
1. Comment définir les besoins fonctionnels en gestion de projet ?
https://www.advaloris.ch/nos-services/gestion-de-projet/definir-besoins-f
onctionnels-gestion-de-projet
2. Diagramme de Gantt
https://fr.wikipedia.org/wiki/Diagramme_de_Gantt
3. Qu’est ce que la méthodologie UML
https://www.ionos.fr/digitalguide/sites-internet/developpement-web/uml-
un-langage-de-modelisation-pour-la-programmation-orientee-objet/#:~:t
ext=Le%20langage%20UML%20(Unified%20Modeling,un%20logiciel%
20ou%20un%20syst%C3%A8me.
4. Qu'est ce que la méthode Scrum
https://fr.wikipedia.org/wiki/Diagramme_de_Gantt
https://www.qrpinternational.fr/blog/glossaire/scrum-cest-quoi-definition-
scrum/
5. Service workers and pwa
https://web.dev/learn/pwa/service-workers/
6. Diagramme de cas d’utilisation
https://www.ibm.com/docs/fr/rational-soft-arch/9.5?topic=diagrams-use-
case