Files-Tools — Gestion & Conversion de Fichiers
Boîte à outils web conteneurisée pour la manipulation sécurisée et locale de documents : conversion PDF, extraction JPG, compression et traitement sans dépendance cloud externe ni fuite de métadonnées.
🎯 1. Contexte & Problématique
De nombreux services en ligne de conversion de fichiers (PDF vers Word, JPG vers PDF, etc.) capturent les métadonnées et le contenu des documents sur des serveurs distants à l'étranger, ce qui pose un risque de confidentialité inacceptable pour des fichiers d'entreprise ou administratifs.
🧭 2. Objectifs techniques
- Offrir un outil de conversion multi-format léger et auto-hébergeable en 1 conteneur Docker
- Garantir qu'aucun fichier ne sorte du réseau local ou de la machine hôte
- Gérer la conversion par lot et la compression de fichiers lourds
- Mettre en place une politique stricte d'effacement automatique des fichiers temporaires
🛠️ 3. Architecture & Réalisations
Micro-service sous Docker associant un frontend épuré, un reverse proxy Nginx pour le contrôle des flux d'upload et des scripts Python utilisant des bibliothèques de traitement de documents optimisées.
💼 4. Rôle & Contributions
- Développement des modules de conversion (PDF, compression d'images, extraction de texte)
- Création de l'image Docker avec réduction des couches pour une taille minimale
- Sécurisation des permissions de volumes et isolation de l'espace de stockage temporaire
- Mise en place d'un cron interne de purge après chaque cycle de traitement
⚡ 5. Stack technologique
⚖️ 6. Décisions techniques
Exécution locale éphémère : Les fichiers sont stockés dans un dossier temporaire en mémoire RAM (tmpfs) et supprimés dès la fin du téléchargement par l'utilisateur.
📊 7. Résultats
Outil autonome consommant moins de 150 Mo de mémoire vive, rapide d'exécution et utilisé au quotidien sur l'infrastructure de laboratoire privé.
💡 8. Apprentissages clés
Maîtrise du traitement de fichiers en flux, des protections contre les dépassements de mémoire tampon (buffer overflow sur fichiers malveillants) et du packaging Docker minimaliste.