bruno 9bb440707c
CI / Lint & Format (push) Failing after 11s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
AI Vision: multi-provider config, model testing, per-client AI preferences
Backend:
- Add ai_provider + ai_model columns to APIClient model
- New admin_ai router: GET /admin/api/ai/status + POST /admin/api/ai/test
- Update ai_vision.py: provider_override + model_override support
- Update pipeline: load client AI prefs for image processing
- ClientUpdate/ClientResponse schemas include ai_provider/ai_model

Frontend:
- New AIConfigSection component: provider list, model dropdowns,
  test button with live results (no page refresh needed)
- AI types (ai.types.ts) + API (api/ai.ts)
- APIClient types extended with ai_provider/ai_model
2026-06-25 10:30:50 -04:00

Imago Hub v2.0.0

Imago est un hub Backend & Traitement IA multi-tenant open-source dédié à la gestion d'images. Conçu pour propulser des applications frontend riches, il offre un stockage média hautement concurrent, des traitements asynchrones planifiés, une observabilité complète du pipeline et des intégrations poussées avec l'Intelligence Artificielle.

Fonctionnalités

Catégorie Détails
Upload & Stockage Multi-tenant, miniatures auto, stockage local ou S3 (MinIO/AWS/Cloudflare R2)
Métadonnées EXIF, GPS, résolution
OCR Tesseract + fallback IA
Vision IA Description de scènes + tags (OpenRouter / Gemini)
Temps réel WebSocket via Redis Pub/Sub
Sécurité API Key SHA-256+pepper, scopes, rate limiting par plan
Admin Panel Interface React : clients, galerie, métriques, logs
SDK Python imago-client pour intégration programmatique

Structure du projet

imago/
├── docker-compose/                # Fichiers Docker Compose
│   ├── docker-compose.yml         # Développement local (build + S3)
│   ├── docker-compose.prod.yml    # Production (images pré-buildées)
│   └── .env.example               # Template de configuration
├── scripts/
│   ├── setup.sh                   # Préparation unique du serveur
│   └── deploy.sh                  # Déploiement / mise à jour
├── app/                           # Code backend FastAPI
├── imago-admin/                   # Frontend admin React
├── sdk/                           # SDK Python
└── docs/                          # Documentation

Déploiement rapide

Sur un nouveau serveur (2 commandes)

sudo git clone https://git.dracodev.net/Projets/Imago.git /opt/imago
cd /opt/imago

# 1. Préparer le serveur (une seule fois)
sudo bash ./scripts/setup.sh

# Déconnectez/reconnectez-vous (groupe docker)
# 2. Déployer
cd /opt/imago
bash ./scripts/deploy.sh

Le script interactif vous guidera : création du .env, saisie des clés API, démarrage des services. Au premier lancement, la clé admin bootstrap s'affiche.

Commandes au quotidien

./scripts/deploy.sh -u     # Mise à jour (pull + recréation)
./scripts/deploy.sh -s     # État des conteneurs
./scripts/deploy.sh -l     # Logs en temps réel

URLs d'accès

Service URL
Admin UI http://<serveur>:3001
API Docs http://<serveur>:8001/docs
Health http://<serveur>:8001/health

Développement local

# Stack Docker complète (build from source)
docker compose -f docker-compose/docker-compose.yml up -d --build

# Récupérer la clé admin
docker compose -f docker-compose/docker-compose.yml logs backend | grep "Bootstrap client"
# Sans Docker
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env  # Configurer DATABASE_URL, clés AI
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
python worker.py      # Terminal séparé

Build des images

# Depuis Windows (WSL Debian requis)

# Backend
cd C:\dev\git\python\imago
docker build --no-cache -t docker-registry.dev.home:5000/imago-backend:latest -f Dockerfile .

# Admin
cd imago-admin
docker build --no-cache -t docker-registry.dev.home:5000/imago-admin:latest .

# Push
docker push docker-registry.dev.home:5000/imago-backend:latest
docker push docker-registry.dev.home:5000/imago-admin:latest

Tests

pip install -r requirements-dev.txt
pytest tests/ -v

Documentation

Spécification OpenAPI : http://<serveur>:8001/docs

S
Description
Application de gestion d'images
Readme
1.2 MiB
Languages
Python 48.1%
TypeScript 44.6%
Shell 5.4%
CSS 0.6%
PowerShell 0.5%
Other 0.8%