90 lines
4.4 KiB
Markdown
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 |
|