Mangetamain - Guide de Développement
Application web d’analyse de données culinaires développée avec Streamlit.
Projet académique - Telecom Paris - IADATA700 Kit Big Data
🚀 Installation Rapide
# 1. Cloner et installer
git clone https://github.com/gorreclu/IADATA700_mangetamain.git
cd IADATA700_mangetamain
uv sync
# 2. Générer la matrice précalculée (première fois)
uv run python -m utils.preprocess_ingredients_matrix
# 3. Lancer l'application
uv run python scripts/run_app.py
📋 Pages de l’Application
🏠 Home
Exploration générale des datasets avec métriques clés et statistiques descriptives.
🍳 Clustering des Ingrédients
Matrice de co-occurrence 300×300 précalculée
Clustering K-means (3-20 clusters)
Visualisation t-SNE 2D interactive
Sélection dynamique de 40 à 300 ingrédients
📊 Analyse de Popularité
Relations popularité ↔ notes ↔ caractéristiques
Preprocessing IQR avec détection d’outliers
Scatter plots interactifs
Segmentation par percentiles
🏗️ Architecture
Voir le Diagramme de Classes pour l’architecture détaillée.
Modules principaux :
src/core/: DataLoader, DataExplorer, InteractionsAnalyzer, CacheManagersrc/components/: Pages Streamlit (IngredientsClusteringPage, PopularityAnalysisPage)utils/: IngredientsMatrixPreprocessor (génération offline de la matrice)scripts/: Utilitaires de lancement et téléchargement
⚡ Optimisations
Preprocessing Offline
uv run python -m utils.preprocess_ingredients_matrix
Génère la matrice 300×300 en ~5-10 min (une seule fois).
Système de Cache
Données d’interactions : cache disque automatique
Matrice d’ingrédients : versionnée dans git
Cache Streamlit natif pour chargements optimisés
🧪 Tests
# Tous les tests (124)
uv run pytest
# Avec couverture
uv run pytest --cov=src --cov-report=html
📖 Documentation Complète
Voir l”API Reference pour la documentation détaillée de tous les modules.