# 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) ```bash 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) ``` ```bash # 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 ```bash ./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://:3001` | | API Docs | `http://:8001/docs` | | Health | `http://:8001/health` | ## Développement local ```bash # 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" ``` ```bash # 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 ```powershell # 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 ```bash pip install -r requirements-dev.txt pytest tests/ -v ``` ## Documentation - **[Guide d'Utilisation](docs/USER_GUIDE.md)** — Utilisation et portail admin - **[Architecture](docs/ARCHITECTURE.md)** — Stack technique et flux - **[Guide API](docs/API_GUIDE.md)** — Endpoints REST + WebSocket - **[Guide SDK Python](docs/SDK.md)** — Intégration programmatique - **[Guide Déploiement](docs/DEPLOYMENT.md)** — Procédure détaillée - **[Roadmap](docs/ROADMAP.md)** — 107 fonctionnalités planifiées - **[Checklist Production](docs/PRODUCTION_CHECKLIST.md)** — 46 points avant prod - **[CHANGELOG](CHANGELOG.md)** — Historique des versions *Spécification OpenAPI : `http://:8001/docs`*