Files
imagod-web/CHANGELOG.md
T
bruno 8e4743b6da chore: mise à jour ROADMAP, CHANGELOG et version v0.2.0
- ROADMAP: phases 3 et 6 marquées complétées avec tests et statuts
- CHANGELOG: v0.2.0 documentée (phases 3/6, fix thumbnails, navigation, tests)
- Cargo.toml: version bump 0.1.0 → 0.2.0
2026-06-25 10:47:53 -04:00

3.8 KiB

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

📚 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