Skip to content

Installation locale

Objectif

Faire tourner Finoptika sur votre machine (API + PostgreSQL + dashboard React) pour évaluer la plateforme ou développer. Public : SRE, platform engineer, développeur.

Prérequis

OutilVersionRôle
Docker DesktoprécentPostgreSQL, Redis, Qdrant
Python3.12+API backend
Node.js20+SPA frontend
MakequelconqueCommandes de confort (optionnel)

Démarrage rapide (recommandé)

bash
cd finoptica-next

# 1. Infra Docker + install deps + migrations Alembic
make setup

# 2. Terminal A — API sur :8000 (hot-reload)
make dev-api

# 3. Terminal B — Frontend sur :5173
make dev-frontend

# 4. Ouvrir l'application
open http://localhost:5173

Connectez-vous avec Acme Admin (permissions complètes) ou Globex Viewer (tenant en lecture seule).

Variantes de setup

  • make setup-backend — backend uniquement (sans npm).
  • make setup-no-docker — sans Docker (nécessite un PostgreSQL local sur :5432, user/db/pass finoptica).

Services d'infrastructure

ServicePortNotes
PostgreSQL5432user/pass/db : finoptica
Redis6379workers Celery (optionnel en dev)
Qdrant6333RAG copilot (optionnel)

Installation manuelle (étape par étape)

bash
# 1. Infrastructure
docker compose -f deploy/local/docker-compose.yml up -d
docker compose -f deploy/local/docker-compose.yml ps   # attendre PostgreSQL healthy

# 2. Backend
cd backend
python3 -m venv .venv && source .venv/bin/activate   # Windows : .venv\Scripts\activate
pip install -e .
alembic upgrade head
uvicorn app.main:app --reload --port 8000

# 3. Frontend (autre terminal)
cd frontend && npm install && npm run dev

Vérifier l'installation

  • API / Swagger (dev) : http://localhost:8000/docs
  • Frontend : http://localhost:5173
  • Santé : voir la page Santé plateforme une fois connecté.

Authentification en développement

  • Mode HS256 JWT minté par POST /api/v1/dev/token (persona admin ou viewer), disponible quand APP_ENV=development.
  • La page de login appelle ce endpoint et stocke le JWT en localStorage.

Charger des données

Aucune donnée n'est visible tant que rien n'est ingéré :

  1. Connectez-vous en admin.
  2. Suivez Ingest & mapping pour importer un fichier de coûts.
  3. Refresh les dashboards.

Dépannage

SymptômeCause probableRésolution
getcwd EPERM avec les outils previewcwd non définiRenseigner cwd explicite dans .claude/launch.json
Port 8000/5173 occupéAutre processLibérer le port ou changer --port
PostgreSQL non healthyConteneur pas prêtAttendre ; docker compose ps
Dashboards videsAucune donnée ingéréeLancer un ingest

Voir aussi

Documentation Finoptika · Estimations P90 consultatives, jamais garanties · Données isolées par tenant (RLS + RBAC).