Déployer vos applications Streamlit sur votre propre domaine : Guide complet pour une personnalisation professionnelle

Image de couverture de l'article 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 :

  1. Accédez à la section "Domaines" et sélectionnez votre domaine
  2. Allez dans "Zone DNS"
  3. Ajoutez ou modifiez l'enregistrement A pour pointer vers l'adresse IP de votre serveur
  4. 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 :

  1. L'application n'est pas accessible : Vérifiez les pare-feu (ufw) et assurez-vous que les ports nécessaires sont ouverts.
  2. Erreurs de proxy Nginx : Vérifiez les logs Nginx (/var/log/nginx/error.log).
  3. Problèmes de certificat SSL : Assurez-vous que vos certificats sont à jour et correctement configurés.
  4. 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.

Le BlogDes infos, des actus, du fun !
Image de couverture de l'article de blog

Résoudre les problèmes d'affichage WordPress après une mise à jour d'extensions : guide expert

Un guide complet pour diagnostiquer et résoudre les problèmes d'affichage sur WordPress suite à des mises à jour d'extensions, avec des solutions pratiques et des conseils de maintenance préventive.
lire l’article
Image de couverture de l'article de blog

Transition énergétique : Comment les coopératives solaires révolutionnent notre rapport à l'énergie

Découvrez comment les coopératives d'énergie solaire transforment le paysage énergétique en offrant aux particuliers la possibilité de produire, investir et consommer de l'électricité renouvelable.
lire l’article
Image de couverture de l'article de blog

Automatisation des imports de données dans WordPress : optimisez votre flux de travail avec WP All Import

Découvrez comment automatiser l'import de données externes dans WordPress via FTP et XML en utilisant WP All Import Pro, une solution idéale pour les concessionnaires automobiles et autres entreprises gérant des catalogues de produits.
lire l’article
Nous contacterOui allo ?
Nous appeler
Une question, un besoin de renseignements ?
N'hésitez pas à nous contacter.
Nous envoyer un message
facultatif
Prendre rendez-vous
Vous préférez discuter de vive voix ?
Nous aussi et c'est évidemment sans engagement !
logo de Platane.io
5 Rue Robert Rême - 35000, Rennes
69 rue des Tourterelles - 86000, Saint-Benoit
06 81 50 37 23
Retrouvez-nous sur