Projet EPSI • B3 DEV IA Atelier : Coder avec l’IA Générative
Ce projet consiste à développer un dashboard analytique interactif permettant de visualiser, analyser et interpréter les données issues des sessions d’interprétariat médical de Dashaalia, une plateforme d’interprétariat augmentée par Intelligence Artificielle.
L’application propose :
- une analyse quantitative des sessions,
- des indicateurs métier (KPIs) clairs,
- des visualisations interactives,
- des filtres dynamiques globaux,
- une page “Insights IA” générant automatiquement des analyses textuelles simulant une IA générative.
🎯 L’objectif pédagogique est de démontrer la capacité à :
- concevoir une application de data analytics maintenable,
- exploiter un dataset réel de bout en bout,
- intégrer l’IA générative comme assistant de développement et d’analyse.
⚙️ Technologie utilisée : Python • Streamlit • Plotly
📁 Dataset : sessions_dataset_320.csv (320 lignes)
dashboard-analytics/
│
├── data/
│ └── sessions_dataset_320.csv
│
├── src/
│ ├── app.py # Application principale Streamlit
│ ├── data_loader.py # Chargement & nettoyage du dataset
│ ├── charts.py # Fonctions de visualisation Plotly
│ ├── filters.py # Gestion des filtres Streamlit
│ ├── utils.py # Calculs, KPIs & Insights IA
│
├── assets/
│ └── logo.png # Logo Dashaalia (optionnel)
│
├── tests/
│ └── test_data.py # Tests unitaires sur les données (bonus)
│
├── README.md
├── requirements.txt
└── .gitignore
Les indicateurs sont calculés dynamiquement selon les filtres appliqués :
- Nombre total de sessions
- Durée moyenne des sessions (minutes)
- Score moyen de qualité (0–1)
- Pourcentage de segments audio non reconnus
- Ratio interactions patient / praticien
Toutes les visualisations utilisent Plotly, offrant :
- zoom,
- survol (hover),
- export d’images.
| Visualisation | Description |
|---|---|
| Top des langues | Classement des langues les plus utilisées |
| Évolution des sessions | Série temporelle (jours / mois) |
| Répartition par service | Diagramme circulaire |
| Interactions patient/praticien | Scatter plot comparatif |
| Notes des praticiens | Histogrammes et statistiques |
| Segments non reconnus | Analyse qualité & détection visuelle |
Les filtres s’appliquent à l’ensemble de l’application :
- Plage de dates
- Service médical
- Langue
- Type de device (webapp / mobile)
Ils mettent automatiquement à jour :
- KPIs
- graphiques
- tableau de données
- export CSV
- page Insights IA
Une page dédiée 🧠 Insights IA génère automatiquement des analyses textuelles à partir des données filtrées.
Exemples d’insights :
- langue la plus utilisée sur la période,
- service dominant,
- évolution des sessions (hausse / baisse),
- niveau de qualité global,
- alertes sur les segments non reconnus,
- équilibre des interactions patient / praticien.
📌 Ces insights sont produits via des règles analytiques simulant un raisonnement d’IA générative, illustrant l’usage de l’IA pour :
- interpréter des données,
- produire des conclusions lisibles métier,
- assister la prise de décision.
- Tableau interactif des données filtrées
- Tri et inspection des lignes
- Export CSV du dataset filtré
- Point d’entrée Streamlit
- Gestion de la navigation (Dashboard / Insights IA)
- Application globale des filtres
- Affichage KPIs, graphiques, tableaux
-
Chargement CSV avec cache Streamlit
-
Nettoyage des types et dates
-
Création de colonnes dérivées :
year,monthratio_interactions
- Centralise toutes les visualisations Plotly
- Garantit une logique claire et réutilisable
- Définit les filtres Streamlit
- Applique les conditions au dataframe
- Retourne le dataframe filtré unique (
dff)
- Calcul des KPIs
- Fonctions d’agrégation
- Génération des Insights IA automatiques
-
Tests unitaires (bonus) :
- chargement du dataset
- cohérence des colonnes
- types de données
- validité des dates
- Python 3.9+
- pip
- Streamlit
git clone https://github.com/.../dashboard-analytics.git
cd dashboard-analytics
pip install -r requirements.txtpython -m streamlit run src/app.py📍 Application accessible sur : 👉 http://localhost:8501
| Colonne | Description |
|---|---|
| session_id | Identifiant unique |
| date | Date de la session |
| service | Service médical |
| langue | Langue parlée |
| duree_minutes | Durée totale |
| interactions_patient | Interactions patient |
| interactions_praticien | Interactions praticien |
| interactions_totales | Total interactions |
| note_praticien | Note (0–5) |
| qualite_score | Score (0–1) |
| segments_non_reconnus | Segments audio non reconnus |
| device | webapp / mobile |
L’IA générative a été utilisée pour :
- concevoir l’architecture modulaire du projet
- générer et améliorer le code Python
- proposer les visualisations pertinentes
- corriger les erreurs (debug assisté)
- générer automatiquement les Insights IA
- rédiger la documentation et les tests unitaires
📸 Des captures d’écran des échanges avec l’IA doivent être intégrées dans le rapport (exigence du barème).
- Détection automatique d’anomalies
- Comparaison période N / N-1
- Alertes qualité
- Analyse prédictive
- Intégration future d’un vrai LLM (API)
Projet réalisé dans le cadre du module « Coder avec l’IA Générative » — EPSI B3 DEV IA
👥 Équipe :
- Mansour Djamil NDIAYE
- Arsene Arayi Mbengue
- Mamadou Seck
👩🏫 Encadré par :
- Ghalloussi Samah