Compression Image Excel
Introduction
Cette application a été développée pour répondre au besoin de compresser les images dans un fichier Excel. Elle permet aux utilisateurs de télécharger un fichier contenant des images de grande taille, de compresser ces images afin de réduire le poids total du document, et de récupérer une version compressée.
L'application répond aux objectifs suivants :
Compression d’images : réduction de la qualité des images pour optimiser la taille du fichier.
Interface sécurisée : accès à l’interface uniquement via un mot de passe.
Contrôle de la qualité de compression : l’utilisateur peut choisir le niveau de qualité souhaité pour les images, permettant de s'adapter à différents besoins de résolution.
Conception et Développement de l’Application
Environnement et technologies utilisées
Cette application a été construite avec les outils et technologies suivants :
Python & Flask : utilisés pour gérer le serveur web et les requêtes HTTP.
Pillow (PIL) : bibliothèque de traitement d’images permettant de compresser les images.
Bootstrap : framework CSS pour structurer l'interface utilisateur avec un design moderne et responsive.
HTML : langage de balisage pour la structure des pages.
GitBook : utilisé pour documenter le projet et suivre les modifications.
Architecture de l’application
L'application est organisée autour des fichiers et dossiers suivants :
app.py
: fichier principal de l'application contenant le code de l'API Flask, la logique de compression, et la gestion des utilisateurs.templates/
: dossier contenant les fichiers HTML pour l'interface utilisateur.uploads/
etcompressed/
: dossiers de stockage temporaire pour les fichiers téléchargés et compressés.
Le flux de travail de l'application est conçu comme suit :
L’utilisateur se connecte en fournissant un mot de passe. S'il est correct, il est redirigé vers l’interface de téléchargement.
L’utilisateur peut ensuite glisser-déposer ou sélectionner un fichier Excel contenant des images.
La compression des images s’effectue en arrière-plan avec le niveau de qualité spécifié par l'utilisateur.
Le fichier Excel compressé est proposé en téléchargement.
Développement de chaque fonctionnalité
Sécurité (Authentification par mot de passe)
L'application utilise un système de session basé sur Flask pour gérer l'authentification. La page de connexion protège l'accès à l'interface principale. L'utilisateur doit entrer un mot de passe unique pour accéder aux fonctionnalités de l'application. En cas de mot de passe incorrect, un message d'erreur s'affiche pour inviter à réessayer.
Mise en place : le code utilise session['logged_in']
pour vérifier si un utilisateur est connecté. La route /login
traite les demandes de connexion et /logout
permet la déconnexion sécurisée.
Téléchargement et compression des images
Le cœur de l'application consiste à permettre à l'utilisateur de télécharger un fichier Excel et à compresser les images à l'intérieur. Voici comment cela fonctionne :
Téléchargement du fichier : Le fichier Excel est chargé dans le dossier
uploads
via un champ de téléchargement.Compression des images : À l'aide de la bibliothèque
Pillow
, chaque image est compressée selon la qualité choisie par l’utilisateur. Les images sont ensuite réintégrées dans le fichier Excel.Gestion de la qualité : Un champ de saisie permet à l’utilisateur de spécifier une qualité de compression entre 1 et 100, 1 étant le niveau de compression maximal (qualité la plus basse) et 100 étant la qualité la plus élevée.
Interface Utilisateur avec Bootstrap
Bootstrap est utilisé pour créer une interface utilisateur intuitive et responsive. Les éléments sont structurés pour une interaction simple et accessible, incluant :
Formulaire de connexion : Champ de mot de passe avec messages d’erreur en cas de tentative incorrecte.
Formulaire de téléchargement : Champ de téléchargement de fichier et champ de qualité de compression.
Boutons : Boutons stylisés pour soumettre le fichier, choisir la qualité de compression, et se déconnecter.
Chaque composant de l’interface suit le style Bootstrap, garantissant une expérience utilisateur moderne et professionnelle.
Conclusion et Prochaines étapes
Cette application répond efficacement aux besoins de réduction de la taille des fichiers Excel contenant des images. Elle simplifie la gestion de fichiers Excel volumineux en offrant une compression adaptée, tout en restant facile à utiliser.
Possibilités d’évolution :
Améliorer la sécurité : Ajouter une gestion multi-utilisateurs et un chiffrement pour le mot de passe.
Créer une API REST : Permettre l’accès à la compression via des requêtes API, facilitant l'intégration avec d’autres systèmes.
Gestion de plusieurs fichiers simultanés : Ajouter la possibilité de traiter plusieurs fichiers en une seule session.
Application
Last updated