Open Food Facts
D’un CSV de 326 Mo à une plateforme décisionnelle : bases OLTP et OLAP sur Azure, workflows Knime et tableaux de bord Power BI.
Contexte
SAE S4.C.01 du BUT Informatique, « développement avec une base de données et visualisation » (2024-25). Il fallait améliorer une base collaborative existante, y intégrer des ventes simulées, produire des rapports et entraîner des modèles capables d’attribuer le Nutri-Score malgré l’absence de données sur les fibres et le sodium.
Équipe et mon rôle
Projet de groupe, 5 personnes.
J’ai écrit les scripts SQL qui assurent la cohérence des clés entre les deux serveurs Azure, et réalisé dans Knime les jointures, les correspondances d’identifiants et les transformations nécessaires.
Démarche
- Base OLTP : modèle normalisé sur Azure PostgreSQL, avec index sur les clés étrangères et vues dédiées à la visualisation.
- Ventes simulées : script Python générant les ventes de 1 000 produits sur 3 ans, selon des lois de Poisson et normales.
- Base OLAP : deux tables de faits, composition et ventes, alimentées par Azure Data Factory et Knime.
- Exploration : clustering k-Means et DBSCAN, évalué avec un scorer d’entropie.
- Modèles : arbres de décision puis Random Forest, le meilleur résultat venant de quatre modèles entraînés par groupe PNNS.
- Score composite : création de l’Open Food Facts Score (OFFS), qui additionne Nutri-Score, groupe Nova et éco-score, puis un arbre de décision pour l’attribuer aux nouveaux produits.
- Restitution : deux rapports Power BI, l’un sur le modèle OLTP, l’autre sur le modèle OLAP.
Visuels
Chiffres et faits
- CSV Open Food Facts de départ
- 326,6 Mo
- modèles OLTP et OLAP, plus 11 vues
- 16 + 7 tables
- de ventes simulées sur 3 ans
- Plus de 600 000 lignes
- de précision globale sur le Nutri-Score
- 77 %
- de précision sur l’éco-score et le groupe Nova, sur données inconnues
- 85 % et 82 %
- de précision pour attribuer le score composite, sur données inconnues
- 86 %
- rapports Power BI OLTP et OLAP
- 4 + 4 pages
Ce que j’en retiens
Les difficultés et les apprentissages sont venus du management du projet et de l’initialisation du cahier des charges.



