brève documentation : https://lvmh-sephora.readthedocs.io/fr/latest/
L'API LVMH Sephora est une interface de programmation permettant d'interagir avec la base de données de Sephora, une société de produits de beauté et de parfumerie appartenant au groupe LVMH.
Ici je tiens à souligner que cette base de données est avant tout fictive, car inventée par mes propres soins, dans le cadre du cours de Base de Données Avancées que je dispense en Master 1 Data Engineer.
l'objectif de ce cours était triple :
- Faire du postgreSQL en utilisant des mécanimses d'optimisations de requêtes et aborder la notion des extensions
- Mettre en place une api qui interagit avec cette base de données, dans le but d'emmener les étudiants à appréhender en profondeur la nécessité d'une bonne modélisation avec UML dans le respect des normes de l'industrie du génie logiciel
- enfin, de mieux maîtriser les notions de roles, users et privilèges dans la manipulation d'une base de données ainsi que leurs impactes au sein d'une application
Pour notre API, avons utilisé :
- le patron de conception DAO
- le langage python
- 2 exemples de framework comme point d'accès : Flask (dont les routes sort reprises ci-dessous) et Fast (repris dans sa doc automatique)
- une base d données postgreSQL sur supabase
- connecté la bd supabase sur le client pgAdmin
- Et enfin nous avons généré une documentation grace à https://readthedocs.org/
-
Dans le dossier api >
python mainFlask.pyoupython mainFast.py -
Dans les deux cas, l'adresse est :
http://127.0.0.1:5000ouhttp://10.188.255.1:5000ouhttp://localhost:5000ouhttp://0.0.0.0:5000
-
Obtenir la liste des marques : GET /api/lvmh/sephora/postgresql/getbrands/
-
Obtenir les produits triés par prix : GET /api/lvmh/sephora/postgresql/getprodbyprice/
-
Obtenir le catalogue complet des produits : GET /api/lvmh/sephora/postgresql/get_catalogue_prod/
-
Obtenir les dépenses moyennes d'un client : GET /api/lvmh/sephora/postgresql/depenses_moyenne/
-
Obtenir les commandes d'un client par statut : GET /api/lvmh/sephora/postgresql/cmd_by_status//
-
Rechercher des produits par texte intégral : GET /api/lvmh/sephora/postgresql/searchPleinText/
-
Passer une commande : POST /api/lvmh/sephora/postgresql/commander
-
Créer un nouvel utilisateur : POST /api/lvmh/sephora/postgresql/create_user
-
Créer un nouveau rôle : POST /api/lvmh/sephora/postgresql/create_role
-
Attribuer des privilèges à un rôle : POST /api/lvmh/sephora/postgresql/assign_privileges
-
Attribuer un rôle à un utilisateur : POST /api/lvmh/sephora/postgresql/assign_role
-
Annuler une commande : DELETE /api/lvmh/sephora/postgresql/cancel_order/<order_id>
-
Générer une facture : GET /api/lvmh/sephora/postgresql/generate_invoice/<invoice_id>
fastAPI donne la posisbilité d'accéder à une documentation générée automatiquement à partir de ce lien :
http://127.0.0.1:5000/docs
- L'API utilise le framework Flask et/ou Fast pour la gestion des routes.
- Les logs des requêtes sont enregistrés dans un fichier
logs.jsonlorsqu'il s'agit de l'api FLASK. - La politique de confidentialité est affichée à la racine de l'API.
MULAPI TITA Ketsia ([email protected])
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Vous pouvez retrouver la documentation dans le chemin suivant : /lvmh_sephora/docs/_build/index.html


