- 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
93 lines
2.3 KiB
Markdown
93 lines
2.3 KiB
Markdown
# 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](https://rustup.rs) 1.80+
|
|
- Un serveur [Imago](https://git.dracodev.net/Projets/Imago) fonctionnel
|
|
- Une clé API client Imago
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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).
|
|
|
|
```toml
|
|
[imago]
|
|
url = "http://imago.dracodev.net:8000"
|
|
api_key = "CHANGE_ME"
|
|
|
|
[watcher]
|
|
capture_images = true
|
|
poll_interval_ms = 500
|
|
```
|
|
|
|
## Architecture
|
|
|
|
Voir [[imagod-web-architecture|Document d'architecture complet]] dans le vault Obsidian IT.
|
|
|
|
## Licence
|
|
|
|
MIT — Copyright (c) 2026 Bruno Charest
|