Outil de sauvegarde sécurisée de boîtes mail IMAP
Application web permettant aux consultants IT de sauvegarder intégralement des boîtes mail IMAP avant une migration de serveur, avec vérification automatique de l'intégrité des données et génération d'un rapport de conformité.
- Catégorie
- Outils IT
- Date

À propos de ce projet
Lors d'une migration de serveur de messagerie, la perte d'emails est un risque majeur pour les entreprises. Mail Backup répond à ce besoin en offrant aux consultants IT un outil fiable pour exporter, vérifier et archiver l'intégralité d'une boîte mail avant la bascule.
L'outil se connecte directement au serveur IMAP du client via une interface web sécurisée. Le consultant peut naviguer dans l'arborescence des dossiers, consulter les emails et leurs pièces jointes, puis lancer un export complet en un clic. Le backup est généré en arrière-plan avec un suivi de progression en temps réel, évitant tout problème de timeout même sur des boîtes volumineuses.
Le point fort de l'outil est son système de vérification à trois niveaux. Chaque email exporté est contrôlé : vérification de la taille, parsing du format .eml, et validation des pièces jointes. Un test d'import automatique simule la réimportation des emails sur un serveur de test pour garantir que le backup est exploitable. Un rapport de vérification complet est généré au format HTML, consultable hors-ligne, accompagnant le ZIP de sauvegarde.
L'architecture a été pensée pour la sécurité : aucun mot de passe n'est stocké (ni en base, ni sur disque), les credentials IMAP existent uniquement en mémoire le temps de la session, et toutes les communications transitent en TLS. L'application ne nécessite aucune base de données, tout l'état vit en RAM avec un TTL de 30 minutes.
Fonctionnalités clés
Connexion IMAP universelle
Support de tous les hébergeurs (OVH, Gmail, Outlook, Gandi, o2switch, IONOS, Infomaniak) avec presets préconfigurés et connexion SSL/TLS.
Navigation des emails
Exploration complète de l'arborescence des dossiers, lecture des emails et téléchargement individuel des pièces jointes directement depuis le navigateur.
Export ZIP vérifié
Sauvegarde complète avec structure organisée par dossier et date, index CSV, et vérification automatique à trois niveaux (taille, parsing, pièces jointes).
Test d'import automatique
Simulation de réimportation sur un serveur IMAP de test pour garantir que le backup est exploitable avant la migration.
Rapport de conformité
Génération d'un rapport HTML autonome détaillant le résultat de chaque vérification, consultable hors-ligne et livrable au client.
Zéro stockage de données
Aucun mot de passe ni email n'est sauvegardé. Architecture sans base de données, sessions volatiles en RAM avec expiration automatique.
Galerie
Défis rencontrés
Le principal défi technique a été de contourner la contrainte de timeout HTTP de 30 secondes imposée par l'hébergeur Scalingo. La génération d'un backup complet peut prendre plusieurs minutes selon la taille de la boîte mail, rendant impossible un téléchargement synchrone classique. La solution a été d'implémenter une architecture asynchrone avec un thread de génération en arrière-plan, un système de polling AJAX pour le suivi en temps réel, et l'écriture du ZIP sur le système de fichiers temporaire plutôt qu'en mémoire pour éviter les dépassements de RAM.
Un second défi a été de garantir l'intégrité des données sans base de données. Le choix d'une architecture « zero-storage » impose de gérer les sessions IMAP en mémoire tout en protégeant contre les accès concurrents, puisque la bibliothèque imaplib de Python n'est pas thread-safe. Un mécanisme de verrouillage empêche toute interaction IMAP pendant la génération du backup.
Leçons apprises
Ce projet m'a permis d'approfondir ma maîtrise des contraintes de déploiement en PaaS, notamment la gestion des timeouts HTTP, la limitation mémoire des containers, et le fonctionnement des systèmes de fichiers éphémères. J'ai également renforcé mes compétences en sécurité applicative web, en implémentant un hardening complet (headers CSP, Permissions-Policy, cookie sécurisé, protection CSRF) qui a obtenu un score A sur SecurityHeaders.com.
La principale leçon est qu'une architecture simple et bien pensée, sans base de données, sans file de messages, sans Redis peut être parfaitement adaptée à un outil métier ciblé, à condition d'en comprendre et d'en assumer les limites (single container, sessions volatiles).
Technologies
- scalingo
- IMAP
- Django
- Python
- Docker
Thèmes
- Outils IT
- Migration de messagerie
- Sauvegarde d'emails
- Application web
- Sécurité des données
- Consultants IT
Questions fréquentes
Ce qu'on me demande le plus souvent sur ce projet.
L'outil se connecte à tous les hébergeurs de messagerie qui utilisent le protocole IMAP. Des réglages préconfigurés existent pour OVH, Gmail, Outlook, Gandi, o2switch, IONOS et Infomaniak. La connexion est chiffrée (SSL/TLS).
Non. Aucun mot de passe ni aucun email n'est enregistré, ni dans une base de données, ni sur un disque. Les identifiants existent uniquement en mémoire le temps de la session, avec une expiration automatique au bout de 30 minutes, et toutes les communications sont chiffrées.
Chaque email exporté est contrôlé à trois niveaux : sa taille, la lisibilité de son format et ses pièces jointes. L'outil réalise aussi un test d'import à blanc sur un serveur de test, pour vérifier que les emails pourront être réimportés. Un rapport détaille le résultat de chaque contrôle.
Vous recevez une archive ZIP organisée par dossier et par date, accompagnée d'un index qui liste les emails. Un rapport de vérification autonome, consultable hors-ligne, est fourni avec. Le consultant peut le remettre à son client comme preuve que rien n'a été perdu.
Oui. La sauvegarde est préparée en arrière-plan et une barre de progression indique l'avancement dossier par dossier. Le fichier est écrit sur un espace temporaire plutôt qu'en mémoire, ce qui évite les interruptions même quand la boîte est très remplie.
Il a été conçu comme un outil ciblé, volontairement simple, qui ne conserve aucune donnée. Une session expire après 30 minutes, et aucune autre action sur la boîte n'est possible pendant la génération de la sauvegarde. Ces choix privilégient la sécurité et la fiabilité.
Un projet en tête ?
Contactez-moi pour discuter de vos besoins et obtenir un devis personnalisé.