Facile

Introduction — Séance 6

Les cinq séances précédentes vous ont permis de construire une API REST Flask (séance 1), un dashboard Streamlit (séance 2), des graphiques Plotly (séance 3), des requêtes SQL analytiques (séance 4), et une communication HTTP entre le dashboard et l'API (séance 5). Cette dernière séance couvre trois sujets pour finaliser votre projet.

Contexte

Votre application fonctionne correctement en local — mais elle n'est pas encore prête à être partagée ou déployée. Trois problèmes courants à ce stade :

  • L'état disparaît à chaque interaction : Streamlit réexécute le script entièrement à chaque clic. Certaines informations — région sélectionnée, filtres actifs, compteurs — doivent persister d'un re-run à l'autre.
  • Le projet ne tourne pas sur une autre machine : les dépendances ne sont pas listées, les secrets sont dans le code, la structure est difficile à comprendre pour quelqu'un d'autre.
  • L'application n'est pas accessible depuis l'extérieur : elle tourne uniquement en local.

Cette séance résout ces trois problèmes avec des outils simples et directs.

Dernière séance avant le projet

Cette séance clôture le cours. Les notions vues ici — persistance d'état, structure de projet, déploiement — sont directement utiles pour le projet final.

Objectifs de la séance

À la fin de cette séance, vous serez capable de :

  • Utiliser st.session_state pour persister des valeurs entre les re-runs
  • Créer des interactions croisées entre composants Streamlit (sélection sur un graphique qui filtre un tableau)
  • Structurer un projet Python pour le partager ou le déployer
  • Déployer une application Streamlit sur Streamlit Community Cloud depuis GitHub

Prérequis

  • Séances 1 à 5 complétées : API Flask, dashboard Streamlit, graphiques Plotly, SQL analytique, appels HTTP
  • Compte GitHub (gratuit) — nécessaire pour la partie déploiement
  • Aucune nouvelle bibliothèque à installer pour les parties 1 et 2

Plan de la séance

PartieContenuDurée estimée
st.session_stateSyntaxe, initialisation, paramètre key, 3 cas d'usage25 min
Structure de projetrequirements.txt, venv, .gitignore, .env, README20 min
DéploiementStreamlit Community Cloud, secrets, redéploiement automatique20 min
ExercicesMise en pratique (4 exercices progressifs)40 min
QuizValidation des acquis10 min
ConclusionRécapitulatif, checklist et bilan du cours5 min

Approche de la séance

Les trois parties sont indépendantes. Chacune part d'un problème concret et fournit la solution avec du code fonctionnel.

Premier sujet : st.session_state, le mécanisme qui permet à votre application de conserver les choix de l'utilisateur entre les re-runs.