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, CacheManager

  • src/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.