Blog
Outils & Plateformes

Déployer un dashboard interactif avec Streamlit : tutoriel pas-à-pas

Yacine Allam (PhD.)
November 4, 2025
Résumez cet article avec une IA

Dans le monde de la data science, présenter des résultats d'analyse de manière claire et interactive est devenu un enjeu majeur. Les tableaux statiques et les présentations PowerPoint ne suffisent plus pour captiver l'attention des équipes et faciliter la prise de décision. C'est là qu'intervient Streamlit, une solution Python révolutionnaire qui permet de créer des dashboards interactifs en quelques lignes de code.

Streamlit s'est imposé comme l'outil de prédilection des data scientists et analystes qui souhaitent transformer rapidement leurs notebooks Jupyter en applications web professionnelles. Sans nécessiter de connaissances en développement web, HTML ou CSS, vous pouvez déployer un dashboard fonctionnel et esthétique en moins d'une heure. Cette démocratisation de la création d'interfaces interactives représente une véritable révolution dans la manière de partager et valoriser les résultats d'analyses, notamment pour ceux qui débutent dans leur premier projet data science avec Python.

Pourquoi choisir Streamlit pour vos dashboards

Streamlit se distingue par sa simplicité d'utilisation et sa philosophie "code minimal, résultats maximaux". Contrairement à d'autres frameworks qui nécessitent une architecture complexe, Streamlit adopte une approche linéaire où votre code Python s'exécute du haut vers le bas à chaque interaction utilisateur.

Les avantages de cette librairie sont nombreux. La courbe d'apprentissage est exceptionnellement courte : si vous maîtrisez Python et Pandas, vous êtes déjà équipé pour créer votre premier dashboard. L'écosystème Python est pleinement supporté, vous permettant d'intégrer facilement vos bibliothèques favorites comme Plotly, Matplotlib ou Seaborn. Le rechargement automatique lors de modifications du code accélère considérablement le développement, tandis que le déploiement gratuit via Streamlit Cloud simplifie le partage avec vos équipes. Pour approfondir vos compétences en visualisation, consultez notre guide sur comment choisir le bon outil de data visualisation pour votre entreprise.

Installation et configuration de l'environnement

Avant de créer votre premier dashboard, vous devez préparer votre environnement de développement. L'installation de Streamlit s'effectue simplement via pip, le gestionnaire de paquets Python. Ouvrez votre terminal et exécutez la commande suivante :

pip install streamlit

Pour vérifier que l'installation s'est déroulée correctement, testez avec l'application de démonstration :

streamlit hello

Cette commande lance une application exemple dans votre navigateur, vous permettant de découvrir les différentes fonctionnalités disponibles. Pour démarrer votre propre projet, créez un nouveau fichier Python, par exemple dashboard.py, dans le dossier de votre choix.

Création de votre premier dashboard

La structure de base d'une application Streamlit est remarquablement simple. Commençons par créer un dashboard affichant des données et des visualisations interactives.

import streamlit as st
import pandas as pd
import plotly.express as px

# Configuration de la page
st.set_page_config(page_title="Mon Dashboard", layout="wide")

# Titre principal
st.title("Dashboard d'analyse de ventes")

# Chargement des données
data = pd.read_csv('data.csv')

# Affichage des métriques clés
col1, col2, col3 = st.columns(3)

with col1:
    st.metric("Chiffre d'affaires", "250K€", "+15%")

with col2:
    st.metric("Nombre de clients", "1,234", "+8%")

with col3:
    st.metric("Panier moyen", "203€", "+3%")

# Création d'un graphique interactif
fig = px.line(data, x='date', y='ventes', title='Évolution des ventes')
st.plotly_chart(fig, use_container_width=True)

Pour lancer votre dashboard, naviguez vers le dossier contenant votre fichier Python dans le terminal et exécutez :

streamlit run dashboard.py

Votre navigateur s'ouvrira automatiquement sur localhost:8501 et affichera votre dashboard interactif. Avant de visualiser vos données, assurez-vous de les avoir correctement nettoyées et préparées avec les outils adéquats.

Ajouter de l'interactivité avec les widgets

La vraie puissance de Streamlit réside dans sa capacité à créer des interfaces interactives sans effort. Les widgets permettent aux utilisateurs de filtrer, explorer et manipuler les données en temps réel.

Filtres et sélecteurs

Les composants interactifs transforment votre dashboard statique en véritable outil d'exploration :

import streamlit as st
import datetime

# Sélecteur de période
periode = st.selectbox('Sélectionnez une période', ['Semaine', 'Mois', 'Trimestre', 'Année'])

# Curseur de plage de dates
date_range = st.date_input('Plage de dates', value=(datetime.date(2024, 1, 1), datetime.date(2024, 12, 31)))

# Curseur pour valeurs numériques
seuil = st.slider('Seuil minimum', 0, 1000, 100)

# Filtrage des données selon les sélections
data_filtree = data[(data['date'] >= date_range[0]) & (data['date'] <= date_range[1]) & (data['valeur'] >= seuil)]

Organisation avec une barre latérale

Pour une meilleure ergonomie, utilisez la barre latérale pour regrouper vos filtres :

import streamlit as st

with st.sidebar:
    st.header("Filtres")
    
    categorie = st.multiselect(
        'Catégories',
        options=data['categorie'].unique(),
        default=data['categorie'].unique()
    )
    
    afficher_details = st.checkbox('Afficher les détails', value=True)

Créer une application multi-pages

Pour les projets plus complexes, structurer votre dashboard en plusieurs pages améliore l'expérience utilisateur et la maintenabilité du code. Streamlit offre deux approches pour créer des applications multi-pages.

La méthode moderne consiste à créer un dossier pages dans le répertoire de votre application principale. Chaque fichier Python dans ce dossier devient automatiquement une page accessible via un menu de navigation. Par exemple, créez la structure suivante :

  • dashboard.py (page principale)
  • pages/01_exploration.py
  • pages/02_analyse.py
  • pages/03_modelisation.py

Alternativement, vous pouvez gérer la navigation manuellement avec des boutons radio dans la barre latérale, comme dans l'exemple suivant :

import streamlit as st

page = st.sidebar.radio('Navigation', ['Contexte', 'Exploration', 'Analyse', 'Modélisation'])

if page == 'Contexte':
    st.header('Contexte du projet')
    st.write('Description de votre projet...')

elif page == 'Exploration':
    st.header('Exploration des données')
    st.dataframe(data.describe())

elif page == 'Analyse':
    st.header('Analyse approfondie')
    st.write('Résultats de vos analyses...')

elif page == 'Modélisation':
    st.header('Modélisation prédictive')
    st.write('Résultats de vos modèles...')

Optimiser les performances et le déploiement

Un dashboard efficace doit être rapide et accessible. Pour optimiser les performances, utilisez le décorateur @st.cache_data pour mettre en cache le chargement de données volumineuses. Si vous travaillez avec des volumes de données particulièrement importants, découvrez comment gérer les grands volumes de données avec PySpark :

@st.cache_data
def charger_donnees():
    """Charge les données depuis 'grandes_donnees.csv' et les met en cache."""
    return pd.read_csv('grandes_donnees.csv')

data = charger_donnees()

Pour le déploiement, Streamlit Cloud offre une solution gratuite et simple. Après avoir poussé votre code sur GitHub, connectez votre compte Streamlit Cloud et sélectionnez votre dépôt. L'application sera automatiquement déployée et accessible via une URL publique que vous pourrez partager avec vos équipes.

Conclusion

Streamlit révolutionne la manière dont les professionnels de la data partagent leurs analyses. En quelques lignes de code Python, vous pouvez transformer vos notebooks en dashboards interactifs professionnels, sans compétences en développement web. Cette accessibilité permet aux data scientists de se concentrer sur l'essentiel : l'analyse et la communication des insights.

Que vous souhaitiez présenter des résultats d'analyse exploratoire, déployer un modèle de machine learning complet avec Scikit-learn ou créer un outil de monitoring en temps réel, Streamlit offre la flexibilité et la simplicité nécessaires. Commencez dès aujourd'hui avec votre premier dashboard et découvrez comment cet outil data peut transformer votre manière de travailler et de collaborer avec vos équipes.

Vous souhaitez être accompagné pour lancer votre projet Data ou IA ?

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Fondateur Flowt
Co-fondateur Flowt

On travaille ensemble ?

Demander un devis