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

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