Files
imagod-web/CHANGELOG.md
T

90 lines
4.4 KiB
Markdown

# Changelog — imagod-web
Toutes les modifications notables de imagod-web sont documentées ici.
---
## [v0.2.0] — 2026-06-25
### 🚀 Ajouts majeurs
- **Phase 3 — Clipboard Watcher (Windows)** : Module `clipboard.rs` avec capture d'image via `arboard`, conversion BGRA→PNG, hachage SHA-256 pour dédoublonnage
- **Phase 6 — Boucle Watcher** : Polling unifié Windows (clipboard) / Linux-macOS (dossier), dédoublonnage SQLite persistant, pipeline complet détection → upload → nettoyage
- **Navigation dashboard** : Barre d'onglets 🖼️ Galerie | 📋 Changelog | ❓ Aide
- **Badge version** : Affichage `v0.2.0` dans l'en-tête du dashboard
- **Pages statiques** : `changelog.html` et `help.html` générées depuis le markdown, encastrées dans le binaire
- **Endpoint version** : `GET /api/version` retourne la version, le build, l'OS et l'architecture
### 🐛 Corrections
- **Thumbnails 404** : Les miniatures échouaient car les balises `<img>` n'envoyaient pas le header `X-API-Key`. Correction : `get_thumbnail()` utilise toujours la clé serveur configurée, pas le header utilisateur
- **Clé API expirée** : Mise à jour de la configuration avec la clé valide
### 🧪 Tests
- **Watcher Linux validé** : Polling dossier fonctionnel, upload réussi vers Imago (image test ID=13), dédoublonnage confirmé
- **Phase 3 compilée** : Code clipboard compilé et prêt, test Windows à venir
- **Cross-compilation Windows** : Build x86_64-pc-windows-gnu réussi (8.1 MB, standalone)
### 🔧 DevOps
- **Phase 10 — Service NSSM** : `imagod-web install` télécharge NSSM, installe le service 'ImagodWeb' avec démarrage auto + redémarrage sur crash
- **Phase 12 — Cross-compilation** : Cible Windows x86_64, linker mingw-w64, config `.cargo/config.toml`
- **Build.rs** : Génération automatique de `changelog.html` et `help.html` depuis CHANGELOG.md et ROADMAP.md à chaque build
- **Routage** : Correction fallback `.html` pour `/changelog` et `/help`
### 📚 Documentation
- **ROADMAP.md** : Créé avec planification complète des phases 3 à 15
- **CHANGELOG.md** : Ce fichier
---
## [v0.1.0] — 2026-06-23
### 🏗️ Architecture
- Structure du projet Rust (Cargo, modules)
- CLI avec `clap` : commandes `start`, `serve`, `stop`, `status`, `config`, `logs`, `install`, `uninstall`
- Configuration TOML (`imagod.toml`) avec auto-génération
- Serveur web `axum` avec frontend vanilla JS embarqué via `rust-embed`
- Multiplateforme : Windows, Linux, macOS (x86_64, ARM64)
### 🎨 Dashboard Web (Phase 7-9)
- Interface sombre moderne, responsive mobile/desktop
- **Authentification** : Login par clé API, validation immédiate, persistence localStorage
- **Galerie d'images** : Affichage responsive avec thumbnails, recherche textuelle, stats (nombre, stockage)
- **Upload** : Zone drag & drop, sélection de fichier, barre de progression
- **Suppression** : Bouton corbeille avec confirmation, toast notification
- **Tags** : Édition inline, ajout/suppression, enregistrement automatique
- **WebSocket** : Connexion temps réel avec indicateur de statut
- **Modale** : Détail complet (EXIF, OCR, description AI, tags, taille)
- **Filtrage** : Recherche par nom, tags, description AI
### 🔌 Client Imago v2
- **Endpoints** : `list_images`, `search_images`, `upload_image`, `delete_image`, `update_tags`
- **`get_thumbnail()`** : Appel `thumbnail-url` + suivi URL signée + fallback `download-url` si 404
- **`get_file()`** : Appel `download-url` + suivi URL signée
- **Auth** : Header `X-API-Key` dynamique (clé serveur ou utilisateur)
- **Multi-tenant** : Support header `X-Tenant-ID`
### 🗄️ Dédoublonnage
- Base SQLite locale pour le cache SHA-256
- Table `dedup_hashes` avec horodatage
- Nettoyage automatique du cache (limite configurable, défaut 10 000 entrées)
### 🔧 Configuration
- `imagod.toml` : sections `[imago]`, `[watcher]`, `[dedup]`, `[ui]`, `[logging]`
- Paramètres watcher : `capture_images`, `poll_interval_ms`, `watch_dir`, `filters`
- Gestion multi-environnement : développement (dev.lab.home) et production
---
## Légende des tags
| Tag | Signification |
|-----|--------------|
| 🚀 | Nouvelle fonctionnalité majeure |
| 🐛 | Correction de bug |
| 🧪 | Tests et validation |
| 📚 | Documentation |
| 🎨 | Interface utilisateur |
| 🔌 | Intégration API |
| 🔧 | Configuration / DevOps |
| 🗄️ | Base de données / Stockage |
| 🏗️ | Architecture / Structure |