Facile

Introduction — Séance 2

Lors de la séance 1, vous avez construit une API Flask avec son repository SQLite. Cette séance passe du côté interface utilisateur : visualiser ces données dans un dashboard interactif, sans écrire de HTML, CSS ou JavaScript.

Contexte

La séance 1 a produit une couche d'accès aux données indépendante de tout framework. Ce découplage permet de réutiliser directement le repository dans Streamlit sans modifier le code existant.

Streamlit en deux mots

Streamlit est un framework Python open-source qui génère une interface web à partir d'un script Python. Pas de HTML, pas de JavaScript — uniquement du Python. C'est l'outil de référence pour les data scientists qui veulent produire des dashboards.

Objectifs de la séance

Objectifs :

  • Installer et lancer une application Streamlit
  • Comprendre le modèle d'exécution de Streamlit (re-run complet à chaque interaction)
  • Utiliser les composants essentiels : texte, métriques, tableaux, filtres
  • Réutiliser directement les fonctions repository de la séance 1
  • Construire un dashboard avec KPI cards, tableau filtrable et première visualisation

Prérequis

  • Séance 1 complétée : vous disposez d'une classe VentesRepository avec get_ventes(), get_stats(), get_par_region()
  • Python : syntaxe de base, imports, décorateurs
  • pandas : notions de base sur les DataFrames (vous apprendrez ce qu'il faut en chemin)

Sans la séance 1 ?

Si vous n'avez pas de repository, récupérez le code de référence sur Moodle avant de commencer. Les exercices supposent que l'API Flask de la séance 1 fonctionne.

Plan de la séance

PartieContenuDurée estimée
Composants essentielsStreamlit, re-run, texte, métriques, tableaux, widgets30 min
Cache & RepositoryRéutilisation du code séance 1, décorateurs de cache20 min
Mise en pageSidebar, colonnes, multi-pages, configuration15 min
Premier dashboardAssemblage d'un dashboard20 min
ExercicesMise en pratique45 min
QuizValidation des acquis10 min

Approche

Chaque composant Streamlit est présenté avec un exemple lié aux données de ventes de la séance 1.