01 75 60 34 00 | conseil@ensae.fr | Prenez RDV |

Python expert — Développement d’interfaces graphiques et dataviz avancée

Prochaine session 19 et 20 nov. 2026
S'inscrire
Voir les autres sessions
Python expert — Développement d’interfaces graphiques et dataviz avancée

Objectifs pédagogiques

  • Appréhender les problématiques de traitement visuel de l’information amplifiées par le développement du Big data
  • Maitriser les librairies open source de dataviz
  • Comprendre les possibilités offertes par Python en dataviz et le potentiel des librairies open source afin d’exploiter des données et de réaliser des visualisations pertinentes
  • Acquérir les connaissances théoriques sur les principes de bases de conception et de réalisation de dataviz mais aussi le développement de savoir-faire pratiques directement utilisables en situation professionnelle

Programme détaillé

La data visualisation est une représentation graphique des données qui permet de visualiser et de comprendre rapidement les tendances, les relations et les patterns dans les données. Elle utilise des graphiques, des diagrammes, des tableaux et des cartes pour représenter les données de manière claire et intuitive. Les data visualisations peuvent être utilisées dans de nombreux domaines, tels que la data science, la recherche, la finance ou le marketing. Elles permettent aux utilisateurs de voir les données de manière globale, de faire des comparaisons et de découvrir des insights cachés dans les données.

De nombreuses librairies permettent de faire de la dataviz en Python mais nous allons au cours de cette formation nous focaliser sur les plus populaires telles que matplotlib, seaborn, plotly et dash.

Introduction, bonnes et mauvaises pratiques de dataviz 1h

Présentation de la librairie de visualisation standard Matplotlib et Seaborn et cas pratique 2h

Présentation de la librairie de visualisation open-source Plotly et réalisation de graphiques interactifs 3h

  • Line plots, scatter plots, bar charts, error bars, box plots, histograms, heatmaps, maps…)
  • Affichage des graphiques dans un notebook Jupyter et sauvegarde au format HTML ou PDF

Création d’une web-app analytique avec Dash et Plotly 6h

  • Présentation de la librairie Dash
  • Comment définir de la mise en page de l’app
  • Comment manipuler des composants Dash core et html
  • Comment rendre l’app interactive avec les Callbacks

Public visé

Toute personne souhaitant développer une utilisation avancée de Python dans le domaine de la visualisation des données, notamment les data scientists et data analysts déjà utilisateurs de Python.

Prérequis

Parmi nos formations au langage Python, cette formation est le NIVEAU 3. Elle requiert une bonne maîtrise et une utilisation régulière de Python (contenu des formations niveau 1 - Python initiation et niveau 2 - Python intermédiaire).

En vous inscrivant aux deux autres modules Python expert (Machine learning engineer et Traitement du langage naturel), bénéficiez d’un tarif réduit sur le prix total des 3 modules : 4200 € au lieu de 4590 €, pour 6 jours de formation.

Voir les 3 modules Python expert

Approche pédagogique

Moyens pédagogiques
Exposé théorique de concepts Démonstration Expérimentation Applications pratiques sur ordinateur Étude de cas concrets Échanges sur les pratiques et expériences des participants Suivi pédagogique individualisé Temps de questions / réponses Exercices, quiz, etc.
Méthodes pédagogiques
Méthode expositive Méthode démonstrative
Satisfaction globale
★★★★★ ★★★★★
4,5/5

Calculés à partir de 12 avis recueillis depuis 14/12/2021, lors de 3 sessions de cette formation.

Contenu
★★★★★ ★★★★★ 4,6/5
Durée et rythme
★★★★★ ★★★★★ 4,2/5
Formateur
★★★★★ ★★★★★ 4,8/5
Supports et ressources
★★★★★ ★★★★★ 4,7/5

Dash : de la dataviz interactive à l'application web en Python

Un graphique Plotly est déjà interactif : on peut zoomer, survoler un point, masquer une série. Mais dès que l’utilisateur doit choisir une région, une période ou un indicateur, il faut une application. En Python, Dash est l’outil historique pour cela, et sa manière de déclarer l’interactivité le distingue de ses concurrents.

De Plotly à Dash

La société Plotly, fondée à Montréal en 2012, a d’abord développé une bibliothèque de graphiques interactifs pour le navigateur, plotly.js, rendue libre fin 2015 ; la bibliothèque Python plotly en est l’interface. Dash a été publié en open source le 21 juin 2017 : il assemble plotly.js pour les graphiques, React pour les composants d’interface et Flask pour le serveur web, si bien qu’une application web entière s’écrit en Python, sans HTML ni JavaScript.

Le callback : une dépendance écrite noir sur blanc

Une application Dash se compose d’une mise en page (layout), faite de composants, et de callbacks, des fonctions qui relient ces composants :

import pandas as pd
import plotly.express as px
from dash import Dash, dcc, html, Input, Output, callback

ventes = pd.read_csv("ventes.csv")

app = Dash()
app.layout = html.Div([
    dcc.Dropdown(sorted(ventes["region"].unique()), "Nord", id="region"),
    dcc.Graph(id="courbe"),
    html.P(id="total"),
])

@callback(Output("courbe", "figure"), Output("total", "children"), Input("region", "value"))
def mettre_a_jour(region):
    d = ventes[ventes["region"] == region]
    return px.line(d, x="mois", y="montant"), f"Total : {d['montant'].sum()}"

app.run()

Le décorateur @callback déclare ce que la fonction lit (Input) et ce qu’elle met à jour (Output). À chaque changement dans la liste déroulante, Dash appelle la fonction sur le serveur et renvoie au navigateur le nouveau graphique et le nouveau total. Rien n’est deviné : chaque dépendance est écrite. C’est plus verbeux que la réactivité implicite de Shiny, où le framework reconstitue lui-même le graphe des dépendances (voir R expert — Créer une application R Shiny), mais le fonctionnement de l’application se lit directement dans le code. Pour lire la valeur d’un composant sans qu’un changement déclenche le calcul, par exemple attendre un clic sur « Valider », on la déclare en State plutôt qu’en Input.

Et Streamlit ?

Streamlit, lancé en 2019 et racheté par Snowflake en 2022, a fait le choix inverse (il n’est pas traité dans cette formation). À chaque interaction, le script entier est réexécuté de haut en bas : c’est très rapide à prendre en main pour un prototype, mais il faut mettre en cache les calculs coûteux dès que l’application grossit. Le modèle de Dash, qui ne relance que les callbacks concernés par le composant modifié, reste lisible quand les pages et les contrôles se multiplient.