Déployer vos applications Streamlit sur votre propre domaine : Guide complet pour une personnalisation professionnelle
Colas Mérand
29/06/2025
Streamlit
Python
IA
5 minutes
Déployer vos applications Streamlit sur votre propre domaine : Guide complet pour une personnalisation professionnelle
Dans un monde où la data science et l'intelligence artificielle sont devenues des outils incontournables pour les entreprises, la capacité à présenter vos projets Python de manière professionnelle est essentielle. Streamlit s'est imposé comme une solution populaire pour créer rapidement des interfaces web pour vos applications Python, mais l'hébergement standard sur nom_de_domaine.streamlit.app
peut manquer de professionnalisme pour des projets d'entreprise.
Dans cet article, nous allons explorer comment déployer votre application Streamlit sur votre propre serveur avec un nom de domaine personnalisé, vous permettant ainsi de présenter vos projets d'IA sous votre propre marque.
Pourquoi héberger votre application Streamlit sur votre propre domaine ?
L'hébergement de votre application Streamlit sur un domaine personnalisé présente plusieurs avantages significatifs :
- Image de marque professionnelle : Un domaine personnalisé renforce votre identité de marque et inspire confiance.
- Contrôle total : Maîtrisez l'infrastructure, les performances et la sécurité de votre application.
- Personnalisation avancée : Intégrez votre application à d'autres services ou à votre écosystème existant.
- Confidentialité des données : Gardez vos données sensibles sur vos propres serveurs.
- Évolutivité : Adaptez les ressources serveur en fonction de vos besoins spécifiques.
Prérequis techniques
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Un serveur (VPS, dédié ou cloud) avec un système d'exploitation Linux
- Un nom de domaine enregistré (par exemple via OVH)
- Des connaissances de base en administration système Linux
- Votre application Streamlit fonctionnelle
Étape 1 : Préparer votre serveur
Commençons par configurer votre serveur pour accueillir votre application Streamlit :
# Mettre à jour le système
sudo apt update && sudo apt upgrade -y
# Installer Python et pip si nécessaire
sudo apt install python3 python3-pip python3-venv -y
# Installer Docker (optionnel mais recommandé)
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker
Étape 2 : Configurer votre application Streamlit pour le déploiement
Pour préparer votre application Streamlit au déploiement, créez un fichier Dockerfile
à la racine de votre projet :
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8501
CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
Créez également un fichier docker-compose.yml
:
version: '3'
services:
streamlit:
build: .
ports:
- "8501:8501"
restart: always
volumes:
- ./:/app
Étape 3 : Configurer Nginx comme proxy inverse
Nginx servira de proxy inverse pour rediriger les requêtes de votre domaine vers votre application Streamlit :
# Installer Nginx
sudo apt install nginx -y
# Configurer un site Nginx
sudo nano /etc/nginx/sites-available/streamlit
Ajoutez la configuration suivante :
server {
listen 80;
server_name votre-domaine.com www.votre-domaine.com;
location / {
proxy_pass http://localhost:8501;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
Activez la configuration et redémarrez Nginx :
sudo ln -s /etc/nginx/sites-available/streamlit /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Étape 4 : Configurer votre nom de domaine OVH
Dans votre espace client OVH :
- Accédez à la section "Domaines" et sélectionnez votre domaine
- Allez dans "Zone DNS"
- Ajoutez ou modifiez l'enregistrement A pour pointer vers l'adresse IP de votre serveur
- Attendez la propagation DNS (peut prendre jusqu'à 24-48 heures)
Étape 5 : Sécuriser votre application avec HTTPS
Pour une sécurité optimale, configurez HTTPS avec Let's Encrypt :
# Installer Certbot
sudo apt install certbot python3-certbot-nginx -y
# Obtenir un certificat SSL
sudo certbot --nginx -d votre-domaine.com -d www.votre-domaine.com
Étape 6 : Déployer et lancer votre application
Revenez au répertoire de votre projet et déployez votre application :
# Construire et démarrer les conteneurs Docker
sudo docker-compose up -d
# Vérifier que tout fonctionne
sudo docker-compose logs
Bonnes pratiques et optimisations
Pour garantir la stabilité et les performances de votre application :
- Monitoring : Mettez en place des outils de surveillance comme Prometheus et Grafana
- Sauvegardes : Planifiez des sauvegardes régulières de votre application et de sa base de données
- Mise à l'échelle : Configurez un équilibreur de charge si vous prévoyez un trafic important
- CI/CD : Automatisez le déploiement avec des pipelines CI/CD (GitHub Actions, GitLab CI, etc.)
Cas d'usage concrets
Chez Platane, nous avons accompagné plusieurs clients dans le déploiement d'applications Streamlit personnalisées. Par exemple, pour le projet Epictory, nous avons développé une plateforme d'analyse de données sportives avec une interface utilisateur intuitive basée sur Streamlit, déployée sur une infrastructure AWS personnalisée avec un domaine dédié.
Notre équipe a également mis en place une solution similaire pour notre propre plateforme de gestion de contenu automatisée par l'IA, où l'interface d'administration utilise Streamlit pour permettre une visualisation et une manipulation efficaces des données.
Dépannage courant
Voici quelques problèmes fréquents et leurs solutions :
- L'application n'est pas accessible : Vérifiez les pare-feu (ufw) et assurez-vous que les ports nécessaires sont ouverts.
- Erreurs de proxy Nginx : Vérifiez les logs Nginx (
/var/log/nginx/error.log
). - Problèmes de certificat SSL : Assurez-vous que vos certificats sont à jour et correctement configurés.
- Performances lentes : Optimisez votre application Streamlit et envisagez d'augmenter les ressources de votre serveur.
Conclusion
Déployer votre application Streamlit sur votre propre domaine est une étape cruciale pour présenter vos projets d'IA et de data science de manière professionnelle. Bien que cela puisse sembler complexe au premier abord, en suivant ce guide étape par étape, vous pouvez créer une solution robuste et personnalisée qui reflète l'identité de votre entreprise.
Chez Platane, nous comprenons l'importance de présenter vos innovations technologiques sous leur meilleur jour. Notre expertise en développement de solutions sur mesure, combinant technologies de pointe comme l'IA générative et déploiements personnalisés, nous permet d'accompagner nos clients dans la réalisation de leurs projets les plus ambitieux.
Vous avez un projet d'application Streamlit ou d'IA que vous souhaitez déployer professionnellement ? N'hésitez pas à prendre rendez-vous via notre formulaire de contact. Notre équipe d'experts se fera un plaisir d'échanger avec vous sur vos besoins spécifiques et de vous proposer une solution adaptée. Collaborer avec Platane, c'est s'assurer d'un accompagnement technique de haut niveau et d'une approche créative pour transformer vos idées en réalisations concrètes.
Résoudre les problèmes d'affichage WordPress après une mise à jour d'extensions : guide expert
Transition énergétique : Comment les coopératives solaires révolutionnent notre rapport à l'énergie
Automatisation des imports de données dans WordPress : optimisez votre flux de travail avec WP All Import
N'hésitez pas à nous contacter.
Nous aussi et c'est évidemment sans engagement !