← Back to list

🚀Détection de Spam avec LLM et Analyse d’Emails : Un Projet Streamlit + Docker + DeepSeek

🎯 Objectif du Projet

Mohamed Sebnet · 2025-04-15 12:42 · 0 claps · 3.0 min read
#data #dataminingthecity #software-engineering #technology
Open on Medium ↗
Wiki topics: LLM · Large Language Models CRY · Crypto & Web3 ☁️ · DevOps & Cloud

🚀Détection de Spam avec LLM et Analyse d’Emails : Un Projet Streamlit + Docker + DeepSeek

🎯 Objectif du Projet

Ce projet a pour but de créer une application web intelligente capable de :

  • Détecter automatiquement les emails suspects (SPAM) à l’aide d’un modèle LLM.
  • Analyser les tendances de spam dans des fichiers CSV d’emails.
  • Utiliser le modèle open-source DeepSeek-R1 dans un environnement Dockerisé via Ollama.

Une solution complète, clé en main, pour mieux comprendre et filtrer ses emails entrants grâce à l’intelligence artificielle.

🧱 Stack Technologique

Voici les outils principaux utilisés dans ce projet :

📁 Structure du Projet

project/ ├── Dockerfile ├── docker-compose.yml ├── requirements.txt ├── home.py ├── Detection_spam.py ├── Analyse_des_tendances.py └── pages/ ├── 1_Détection_de_Spam.py └── 2_Analyse_des_Tendances.py

🚀 Mise en place du projet depuis GitHub 🔗

Pour récupérer les fichiers du projet et préparer l’environnement local, suivez les étapes ci-dessous :

Étape 1 : Cloner le repo GitHub

Ouvrez votre terminal et exécutez :

git clone https://github.com/yassir156/data_mining_avance.git
cd data_mining_avance

Étape 2 : Vérifier la structure du projet

Assurez-vous que tous les fichiers requis sont bien présents :

ls

Vous devriez voir une structure similaire à celle-ci :

Dockerfile
docker-compose.yml
requirements.txt
home.py
Detection_spam.py
Analyse_des_tendances.py
pages/

⚙️ Déploiement

Option 1 — via Docker (recommandé)

docker-compose up - build

Option 2 — en local

pip install -r requirements.txt
ollama run deepseek-r1
streamlit run home.py

🔐 N’oubliez pas de sécuriser vos identifiants email via un fichier .env :

EMAIL_ACCOUNT=youremail@gmail.com
EMAIL_PASSWORD=yourapppassword

🧪 Module 1 : Détection de SPAM avec LLM

Ce module effectue une analyse automatique des 10 derniers emails de votre boîte de réception en suivant ces étapes :

  1. Connexion sécurisée via IMAP.
  2. Extraction des entêtes et contenus des emails.
  3. Envoi des prompts au modèle DeepSeek-R1.
  4. Affichage d’un score (0 à 100) et d’un label : SPAM ou NON SPAM.

Exemple de prompt :

Voici un email :
E x p d i t e u r : spam@promo . com
Objet : VOUS AVEZ G A G N
Contenu : Cliquez ici ...
Donne un score de SPAM entre 0 et 100.

📊 Module 2 : Analyse des Tendances

Ce second module permet d’importer un fichier .csv contenant un historique d’emails pour en extraire des tendances globales.

Fonctionnalités :

  • Chargement du fichier CSV.
  • Traitement en batchs de 15 lignes.
  • Résumé automatique généré par le LLM.

📄 Format CSV attendu :

Expéditeur,Objet,Contenu,Score,Label
a@spam.com,"Promo","Clique ici",95,SPAMcc

🖼️ Interface Utilisateur (UI)

L’application Streamlit est divisée en deux modules facilement accessibles via une barre latérale.

1. Accueil — Détection de SPAM

Permet d’analyser instantanément les 10 derniers emails reçus en un seul clic.

2. Détail d’un Email

Affichage complet de l’expéditeur, du contenu, du score de détection, et du verdict SPAM ou NON SPAM.

3. Analyse des Tendances

Permet d’importer un fichier CSV et de lancer une analyse globale de tous les emails qu’il contient.

lignes

🔐 Recommandations Sécurité

  • Intégration de Streamlit Authenticator pour la protection par mot de passe.
  • Chiffrement HTTPS (via proxy ou configuration Render).
  • Logging avec loguru.
  • Export des résultats vers une base PostgreSQL (optionnel).

☁️ Déploiement Render.com (Bonus)

Pour déployer votre app sur le cloud, vous pouvez utiliser Render.com :

  1. Connectez votre dépôt GitHub.
  2. Ajoutez un fichier start.sh :
ollama serve &
sleep 5
streamlit run home.py --server.port=10000

🔗 Ressources utiles

💬 Conclusion

Grâce à ce projet, vous pouvez détecter automatiquement les spams, visualiser des tendances globales sur vos emails, et tirer parti d’un LLM performant — le tout dans une interface simple et responsive.


메타데이터
post_id
983039a2acbd
slug
détection-de-spam-avec-llm-et-analyse-demails-un-projet-streamlit-docker-deepseek-983039a2acbd
url
https://medium.com/@mohamed.sebnet/d%C3%A9tection-de-spam-avec-llm-et-analyse-demails-un-projet-streamlit-docker-deepseek-983039a2acbd
canonical_url
https://medium.com/@mohamed.sebnet/d%C3%A9tection-de-spam-avec-llm-et-analyse-demails-un-projet-streamlit-docker-deepseek-983039a2acbd
author_url
https://medium.com/@mohamed.sebnet
status
ok
fetched_at
2026-07-28 06:17:56