[HRT-226] Dashboard consommation IA + alertes visuelles #17

Open
admin wants to merge 3 commits from feature/HRT-226-consumption-dashboard into master
Owner

Description

Dashboard consommation IA temps réel intégré au SaaS portal (port 8792).

Fichiers modifiés

  • portal_server.py — Routes proxy
  • consumption_dashboard.html (nouveau) — KPI, Chart.js
  • consumption_history.html (nouveau) — Table paginé, export CSV
  • consumption_alerts.html (nouveau) — CRUD alertes

Backup

portal_server.py.backup_20260524_0927*

Co-Authored-By: Paperclip noreply@paperclip.ing

## Description Dashboard consommation IA temps réel intégré au SaaS portal (port 8792). ### Fichiers modifiés - **portal_server.py** — Routes proxy - **consumption_dashboard.html** (nouveau) — KPI, Chart.js - **consumption_history.html** (nouveau) — Table paginé, export CSV - **consumption_alerts.html** (nouveau) — CRUD alertes ### Backup portal_server.py.backup_20260524_0927* Co-Authored-By: Paperclip <noreply@paperclip.ing>
admin added 3 commits 2026-05-24 11:29:56 +02:00
- New api_v1/routes/admin.py: admin client management blueprint
- admin_users table for admin role (no ALTER TABLE needed)
- require_admin decorator for endpoint protection
- GET/PUT/DELETE /api/v1/admin/clients/<id>
- POST /api/v1/admin/setup (first-time admin init)
- POST /api/v1/admin/clients/<id>/suspend|activate
- GET /api/v1/admin/stats (client counts by plan)
- Registered in api_v1/__init__: auto-wired into portal_server.py
- No new service, no merge tables, no ALTER TABLE
- 4 provider adapters: OpenAI (SDK), Anthropic (SDK), Google (google-genai), Mistral (direct HTTP)
- Core router with automatic failover + exponential backoff
- Flask blueprint with /api/v1/ai/* endpoints
- Auth via token-broker verify endpoint
- DB models for ai_providers, ai_model_mapping, ai_router_log
- /health endpoint (parallel provider check), /usage stats
- 21 unit tests (all passing)
- 3 nouvelles pages HTML servies sous /dashboard/consumption*
- Proxy routes /api/v1/consumption/* -> port 8784 (consumption-tracker)
- Proxy routes /api/v1/ai/usage* -> port 8783 (AI Router)
- consumption_dashboard.html: KPI cards, Chart.js tokens/cost/provider/calls charts, period selector 24h/7j/30j, auto-refresh 30s, alertes visuelles temps reel
- consumption_history.html: Tableau pagine, filtres provider/status/date range, tri colonnes, export CSV
- consumption_alerts.html: CRUD alertes, toggle actif/inactif, seuils visuels badges, modal creation/edition

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/HRT-226-consumption-dashboard:feature/HRT-226-consumption-dashboard
git checkout feature/HRT-226-consumption-dashboard
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/turf_saas#17