Application Mobile Du Projet Synapse
Application Mobile Du Projet Synapse
Application Mobile Du Projet Synapse
L’objectif est de réaliser un projet informatique industriel aidant les décideurs d’une
chaîne de magasins dans la prise de décision. Ce projet se distingue en deux phases. Une
première partie « data » visant à créer, ingérer, stocker, analyser puis visualiser les
différentes données de la chaîne de magasins. La deuxième partie du projet consiste à créer
une application permettant le suivi des activités passées et futures de la chaîne de magasins
sur un terminal mobile. L’application devra communiquer avec l’infrastructure data mise en
place pour présenter ces informations.
Ce document se compose en trois parties. D’abord, une première partie qui consiste à
expliciter le fonctionnement global de l’application. La deuxième partie détaillera plus
spécifiquement l’infrastructure data et les différentes technologies utilisées. Enfin, la
troisième partie expliquera les différents éléments de l’application ainsi que l’intégration des
dashboards et l’authentification nécessaire dans cette application.
Les dashboards sont des indicateurs utiles à l’entreprise pour comprendre les
évènements passés. Un dashboard local est par exemple un graphique des ventes ou
l’affluence quotidienne dans un magasin précis. Un dashboard régional peut être la quantité
de produits vendus sur l’ensemble des magasins d’un territoire. Un dashboard national
recense l’activité du groupe au niveau national (le nombre de ventes en France en 2020). Ces
tableaux de bord concerneront les clients, les ventes et les produits par zones géographiques
sur une période de temps définie.
Les prédictions sont utiles pour prévoir l’activité de l’entreprise dans le futur.
L’application indiquera la prédiction des ventes pour chaque magasin ainsi que la prédiction
du nombre de clients pour la journée (ou les journées) à venir.
2. Partie Data :
Explications :
Une fois que les données sont simulées, elles sont envoyées vers le service Azure Synapse.
Elles sont potentiellement transformées puis stockées dans un Azure Data Lake. Les données
sont alors prêtes. Elles sont soit ingérées dans un pool SQL dédié (Azure DataWarehouse)
soit une virtualisation d’un datawarehouse est réalisée (SQL Pool Serverless). Voir la partie
réflexion sur le choix des technologies. Lorsque le datawarehouse est prêt, les services
d’analytiques travaillent avec les données. On a Azure Machine Learning pour les modèles
prédictifs des ventes et Power BI pour la réalisation des rapports et des tableaux de bord.
Ces services sont intégrés à Azure Synapse. Enfin, l’application mobile récupère les résultats
générés par les services d’analytiques pour les rendre disponibles dans l’application mobile.
b. Schéma du datawarehouse
La modélisation du datawarehouse est primordiale car elle va permettre d’élaborer les
tableaux de bord souhaités à partir de requêtes.
Voici le schéma (type flocon) :
Explications :
On a quatre dimensions différentes. On a d’abord la dimension « temps » permettant
de recenser différents niveaux de granularité. On pourra ainsi avoir des informations
horaires, journalières, mensuelles ou annuelles. On a aussi la dimension
« géographie » permettant d’avoir les informations pour l’ensemble de la chaîne de
magasins. On pourra avoir des informations pour un magasin en particulier, un
ensemble de magasins d’une région ou l’ensemble des magasins au niveau national.
La dimension « produit » possède la marque, le nom et la catégorie du produit. Cela
permettra d’analyser les ventes d’un produit spécifique ou d’une catégorie de
produits. Enfin, la dimension « client » inclut l’âge, le sexe, la catégorie socio-
professionnelle et le code postal. Ces informations permettront d’avoir des
statistiques pour les clients au niveau global (pas un client en particulier). Ces
dimensions sont rattachées à la table des faits « vente». C’est-à-dire que pour un
client, à un instant donné, dans un magasin précis et pour un produit acheté, on aura
la quantité achetée et le prix correspondant. A partir de requêtes, nous pourrons
alors avoir des informations sur les clients d’une région ou les ventes journalières
d’un produit, … Certaines variables (date des vacances, le jour férié, la météo, …)
seront utilisés pour l’algorithme de Machine Learning.
Une évolution future serait d’ajouter les stocks. Il faudrait ajouter pour cela une table
des faits des stocks. Le schéma ci-dessus serait modifié. La nouvelle table des faits
serait rattachée à des dimensions comme le temps, le magasin et le produit.
Lors de l’implémentation de l’architecture data, deux choix sont possibles dans Azure
Synapse. Plus précisément, c’est au niveau du datawarehouse que ce choix
intervient. Les données sont transformées et ingérées dans le data lake. Elles sont
ainsi prêtes pour une ingestion dans le data warehouse. Nous utilisons soit un SQL
pool dédié en tant que datawarehouse, soit nous utilisons un pool SQL serverless.
L’objectif de la partie data est d’automatiser l’ensemble du processus. Dès que l’on
ajoute un fichier, il est automatiquement ajouté dans le datawarehouse puis les
prédictions (si dans un pool SQL dédié) sont effectuées et les tableaux de bord mis à
jour.
Note : Des tests depuis une application vide seront effectués pour pouvoir
découvrir, essayer et mieux comprendre les différentes manières d’intégrer Azure
Active Directory et Power BI dans une application react.
Enfin, l’utilisateur aura accès aux données de son compte à l’aide de l’onglet
« Account ». Il pourra alors quitter l’application.