Files
ImageReducer/README.md

127 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🖼️ Image Reducer WebApp
**Image Reducer** est une application web simple et efficace, développée avec [Bottle](https://bottlepy.org/) et [Pillow](https://python-pillow.org), qui permet duploader un dossier entier dimages, de les redimensionner (en parallèle !), et de télécharger un `.zip` contenant les images optimisées.
💡 L'interface est moderne et inclut une galerie avec **prévisualisation Lightbox**, un **loader animé**, et une gestion du cache automatique.
---
## 🚀 Fonctionnalités
- ✅ Upload dun **dossier complet dimages**
- ✅ Redimensionnement via **ratio personnalisable**
- ✅ Traitement **multi-process** (accéléré)
- ✅ Conservation des **métadonnées EXIF**
- ✅ Interface web avec **loader**, **galerie** & **Lightbox zoom**
- ✅ Téléchargement dun **ZIP** contenant les images réduites
- ✅ Prêt à déployer avec **Docker**
---
## 📸 Démo (capture écran)
*📸* à insérer ici si tu veux des images de lUI
---
## 📦 Installation locale
### 1. Cloner le projet
```bash
git clone https://git.jool-tech.com/Jool-Monitor/image-reducer.git
cd image-reducer
```
### 2. Créer un environnement virtuel (optionnel mais recommandé)
```bash
python -m venv venv
source venv/bin/activate # sous Windows : venv\Scripts\activate
```
### 3. Installer les dépendances
```bash
pip install -r requirements.txt
```
### 4. Lancer lapplication
```bash
python app.py
```
Accédez à linterface sur [http://localhost:8080](http://localhost:8080)
---
## 🐳 Utilisation avec Docker
### 1. Construire limage
```bash
docker build -t image-reducer .
```
### 2. Lancer le conteneur
```bash
docker run -p 8080:8080 image-reducer
```
### 3. Avec synchronisation en live (développement)
```bash
docker run -p 8080:8080 -v $(pwd):/app image-reducer
```
---
## 📁 Structure du projet
```
image-reducer/
├── app.py # Application Bottle principale
├── requirements.txt # Dépendances Python
├── Dockerfile # Image Docker prête à builder
├── views/ # Templates HTML Bottle
│ ├── index.tpl # Formulaire upload avec loader
│ └── result.tpl # Page de galerie + Lightbox + download
```
---
## ⚙️ Technologies
- Python 3.9+
- Bottle (micro-framework web)
- Pillow (traitement dimages)
- Lightbox2 (galerie zoom)
- Docker (conteneurisation)
- HTML5 / CSS3
---
## ✅ Roadmap (à venir ?)
- [ ] Affichage de la **qualité dimage**
- [ ] Option pour choisir un **format de sortie** (`.jpg`, `.webp`, `.png`)
- [ ] Progression en temps réel (AJAX)
- [ ] Authentification utilisateur (pour usage pro ?)
- [ ] Intégration Django + Celery (scalabilité massive 🚀)
---
## 🙌 Crédits
Développé avec ❤️ par [Votre Nom ou Organisation]
Design frontend custom, inspiré d'UX modernes (Dropbox, Google Photos)
---
## 📄 Licence
Ce projet est sous licence MIT — libre à toi de lutiliser, modifier et déployer 🚀