Colas Mérand
29/06/2025
Streamlit
Python
IA
5 minutes
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.
L'hébergement de votre application Streamlit sur un domaine personnalisé présente plusieurs avantages significatifs :
Avant de commencer, assurez-vous de disposer des éléments suivants :
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
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
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
Dans votre espace client OVH :
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
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
Pour garantir la stabilité et les performances de votre application :
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.
Voici quelques problèmes fréquents et leurs solutions :
/var/log/nginx/error.log).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.
Vous préférez discuter de vive voix ? Nous aussi et c'est évidemment sans engagement !
Une question, un besoin de renseignements ? N'hésitez pas à nous contacter.