Déploiement sur Streamlit Community Cloud
Prérequis
Pour déployer sur Streamlit Community Cloud, il faut :
- Un compte GitHub (gratuit)
- Un compte Streamlit Community Cloud (gratuit, inscription sur share.streamlit.io)
- Le projet poussé sur un dépôt GitHub (public ou privé)
Ce que Streamlit Community Cloud fait
Streamlit Community Cloud héberge gratuitement des applications Streamlit. Le service lit le code depuis GitHub, installe les dépendances listées dans requirements.txt, et expose l'application sur une URL publique du type https://monapp.streamlit.app.
À chaque push sur la branche principale, l'application est automatiquement redéployée.
Limitation importante
Streamlit Community Cloud héberge le frontend Streamlit, pas le backend Flask. Pour un projet complet (Flask + Streamlit), il faut déployer Flask séparément — ou adapter l'application pour que Streamlit appelle directement le repository sans passer par HTTP (retour au mode séances 2-4).
Pour ce cours, on déploie le dashboard Streamlit seul, en mode appel direct au repository (sans Flask).
Préparer le projet pour le déploiement
1. S'assurer que requirements.txt est à jour
pip freeze > requirements.txt
Vérifiez que toutes les dépendances nécessaires sont listées : streamlit, plotly, pandas, requests (si utilisé).
2. Configurer les secrets
Sur Streamlit Community Cloud, les secrets sont définis dans l'interface web (pas via un fichier commité). La structure est la même que le fichier secrets.toml local :
# Défini dans l'interface Streamlit Community Cloud
API_BASE_URL = "https://mon-api.example.com"
API_KEY = "ma-cle-production"
3. Vérifier le .gitignore
Assurez-vous que .gitignore exclut bien les fichiers sensibles avant de pousser :
git status # vérifier qu'aucun fichier secret n'est listé
Que fait Streamlit Community Cloud lors du déploiement ?
Déployer
Étape 1 — Pousser le projet sur GitHub
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/username/mon-dashboard.git
git push -u origin main
Étape 2 — Connecter Streamlit Community Cloud à GitHub
Rendez-vous sur share.streamlit.io, cliquez sur "New app", puis autorisez l'accès au dépôt GitHub.
Étape 3 — Configurer le déploiement
Dans l'interface de configuration :
| Champ | Valeur |
|---|---|
| Repository | username/mon-dashboard |
| Branch | main |
| Main file path | app.py |
Étape 4 — Ajouter les secrets
Dans "Advanced settings" puis "Secrets", collez le contenu au format TOML. Utilisez les valeurs de production, pas celles de développement.
API_BASE_URL = "https://mon-api-production.example.com"
API_KEY = "cle-production-secrete"
Accès aux secrets en production
Les secrets définis dans l'interface Streamlit Community Cloud sont accessibles dans le code via st.secrets["CLÉ"], exactement comme avec le fichier .streamlit/secrets.toml en local.
Étape 5 — Déployer
Cliquez sur "Deploy". Streamlit installe les dépendances et démarre l'application. L'URL publique apparaît une fois le déploiement terminé.
Redéploiement automatique
À chaque git push sur la branche main, Streamlit Community Cloud redéploie automatiquement l'application :
# Modifier le code localement
# Tester avec streamlit run app.py
git add .
git commit -m "Amélioration du dashboard"
git push
# L'application en ligne est mise à jour automatiquement
Cycle de développement
Le workflow reste le même qu'en développement local : modifier, tester, commiter, pousser. Le redéploiement est déclenché automatiquement par le lien entre GitHub et Streamlit Community Cloud.
Qu'est-ce qui déclenche un redéploiement automatique sur Streamlit Community Cloud ?
À retenir
Points clés
- Streamlit Community Cloud héberge le dashboard Streamlit — pas le backend Flask
- Le déploiement nécessite un dépôt GitHub et un
requirements.txtà jour - Les secrets sont définis dans l'interface web, pas dans un fichier commité
- Chaque
git pushsurmaindéclenche un redéploiement automatique - L'URL publique est du type
https://monapp.streamlit.app