Files
bruno a3b853de04 chore: initialiser le projet imagod-web (Rust)
- Structure du projet Cargo avec dépendances (clap, axum, reqwest, rusqlite, arboard, tray-icon)
- CLI avec sous-commandes start, serve, stop, status, config, install, uninstall, logs
- Module config: parsing TOML, chemins Windows/Linux
- Module dedup: dédoublonnage SHA-256 avec cache SQLite
- Module imago_client: client HTTP pour API Imago (upload, search, get)
- Module watcher: boucle de polling stub
- Module server: serveur web axum avec routes API REST stub
- Platform-specific: clipboard, tray, service, window_info (Windows)
- Frontend placeholder HTML
- Config par défaut (imagod.toml)
- README.md, LICENSE (MIT), .gitignore
2026-06-22 16:44:47 -04:00

2.3 KiB

imagod-web

Imago Daemon + Dashboard — Service de capture automatique de screenshots + Dashboard web embarqué.

Un binaire Rust unique qui remplit deux rôles :

Mode Plateforme Rôle
imagod-web start Windows Watcher clipboard + Dashboard web :9090
imagod-web serve Linux/Raspi Dashboard web uniquement (sans watcher)

Fonctionnalités

  • Capture automatique : surveille le clipboard Windows, détecte les nouveaux screenshots
  • Dédoublonnage : SHA-256 pour éviter les doublons
  • Upload Imago : envoi vers le backend Imago pour OCR + AI Vision + Tags
  • Dashboard web embarqué : galerie, recherche, preview, copie/partage
  • Cross-platform : Windows (watcher+dashboard), Linux/Raspi (dashboard)
  • System tray : icône native Windows avec menu contextuel
  • Service Windows : installation via NSSM pour démarrage automatique

Prérequis

  • Rust 1.80+
  • Un serveur Imago fonctionnel
  • Une clé API client Imago

Installation

# Compiler depuis les sources
git clone https://git.dracodev.net/Projets/imagod-web.git
cd imagod-web
cargo build --release

# Le binaire est dans target/release/imagod-web (ou imagod-web.exe)

Cross-compilation

# Windows
cargo build --release --target x86_64-pc-windows-msvc

# Linux x86_64 (openclaw-1)
cargo build --release --target x86_64-unknown-linux-gnu

# Linux ARM64 (Raspberry Pi)
cargo build --release --target aarch64-unknown-linux-gnu

Utilisation

# Windows — lancer le watcher + dashboard
imagod-web start --port 9090 --open-browser

# Linux — dashboard uniquement
imagod-web serve --port 9090 --host 0.0.0.0 --no-watcher

# Voir le statut
imagod-web status

# Configurer
imagod-web config show
imagod-web config set imago.api_key "ik_..."

# Installer comme service Windows (admin requis)
imagod-web install

Configuration

Fichier imagod.toml dans %APPDATA%/imagod-web/ (Windows) ou ~/.config/imagod-web/ (Linux).

[imago]
url = "http://imago.dracodev.net:8000"
api_key = "CHANGE_ME"

[watcher]
capture_images = true
poll_interval_ms = 500

Architecture

Voir imagod-web-architecture dans le vault Obsidian IT.

Licence

MIT — Copyright (c) 2026 Bruno Charest