Skip to content

Repository files navigation

Gestion SDA — Monorepo

Version Next.js Express Python MSSQL

Architecture

Monorepo avec 4 workspaces indépendants :

.
├── INTERFACE/           # Frontend Next.js (port 3000)
├── api/                 # API REST Express unifiée (port 3026)
├── parlant-agent/       # Agent IA FastAPI/Python (port 8800)
├── evidence-reports/    # Rapports BI Evidence (port 3010)
├── .claude/agents/      # 12 AI agents (Claude Code)
├── README.md            # Ce fichier
├── RUN_LOCALLY.md       # Guide de lancement local
└── logs.md              # Journal des modifications
Workspace Stack Port Description
INTERFACE/ Next.js 15.5, React 19, shadcn/ui, TailwindCSS v4 3000 Interface web : IVR, Gestion SDA, Admin
api/ Express.js, Sequelize 6, MSSQL 3026 API REST unifiée — modules telephony / svi / general-data
parlant-agent/ Python, FastAPI, Mistral 8800 Assistant IA contextuel SDA (Vincenza)
evidence-reports/ Evidence (SvelteKit), MSSQL 3010 Rapports BI (embed iframe derrière l'auth)

Lancement rapide

# Backend — les 3 services (API + Vincenza + Evidence) en une commande :
cd api && npm start          # :3026 (API) + :8800 (Parlant) + :3010 (Evidence)

# Frontend (Next.js) :
cd INTERFACE && npm run dev  # :3000

cd api && npm start orchestre les trois services backend dans un seul terminal (Ctrl+C arrête tout). Voir RUN_LOCALLY.md pour l'installation des dépendances et le lancement d'un service isolé (npm run start:api | start:parlant | start:evidence). L'interface consomme l'API via le hook useTelephonyApi.

INTERFACE/ — Frontend

Technologies

  • Framework : Next.js 15.5 (App Router), React 19
  • UI : shadcn/ui + Radix UI + Lucide React + TailwindCSS v4
  • Graphiques : Recharts
  • Auth : JWT (Jose) + cookies httpOnly + RBAC
  • BDD : Sequelize 6 + MSSQL (FIMAINFO_INTERFACE_MGT)

Modules

Module Prefix Description
IVR /svi/* Gestion des stratégies SVI (fin de stratégie, ligne directe)
Gestion SDA /sda-manage/* DID, commandes, clients, campagnes, audit, stats
Admin /admin/* Utilisateurs, permissions, GLPI, dashboard
SMS/WhatsApp /sms/*, /whatsapp/* Envoi en masse SMS et WhatsApp

Pages Gestion SDA

Route Description
/sda-manage Dashboard : KPI, graphiques, statistiques
/sda-manage/dids CRUD DID avec détail, historique, export
/sda-manage/commandes Workflow commandes (brouillon → livré)
/sda-manage/mes-campagnes Campagnes utilisateur
/sda-manage/demandes-campagne Demandes affectation DROIT+/DROIT++
/suivi/audit Journal d'audit filtrable + export CSV
/sda-manage/statistiques Stats par client, région, opérateur
/sda-manage/{clients,operateurs,...} Tables de référence (CRUD)

Workflow commandes

BROUILLON → SOUMISE → VALIDEE → EN_COURS → LIVREE
                    ↘ REJETEE
                    ↘ ANNULEE

api/ — API REST unifiée

Technologies

  • Runtime : Node.js 18+, Express.js
  • ORM : Sequelize 6 + MSSQL
  • Logging : Pino + OpenTelemetry (SigNoz)
  • Tests API : Bruno Collection (69 requêtes)

Endpoints principaux

Ressource Endpoints Description
DID CRUD /api/telephony/dids Gestion des numéros
Commandes CRUD /api/telephony/commandes Workflow commandes
Dashboard GET /api/telephony/dashboard Statistiques
Views GET /api/telephony/views/* Vues agrégées
Demandes CRUD /api/telephony/demandes-campagne DROIT+/DROIT++
Notifications CRUD /api/telephony/notifications In-app + email + Teams
Audit GET /api/telephony/audit Journal d'audit
Parlant GET/POST /api/telephony/parlant/* Contexte IA
Référence CRUD /api/telephony/{indicatifs,regions,...} Tables de référence

Documentation

parlant-agent/ — Agent IA

Agent conversationnel contextuel pour la gestion SDA (Vincenza) :

  • Contexte filtré par rôle (admin/client/readonly), dérivé du JWT côté serveur
  • LLM : Mistral (medium) par défaut, OpenAI / Anthropic en option (LLM_PROVIDER)
  • Recherche audit, documentation glossaire
  • Widget chat intégré dans l'interface (ParlantChat.jsx)

Auth & Permissions

Élément Description
JWT Token 24h, cookie httpOnly
RBAC Permissions par page : read, create, update, delete, admin
Rôles admin (accès complet), user (selon permissions)
Niveaux droit Standard, DROIT+, DROIT++

Déploiement

Docker

# Interface
cd INTERFACE && docker compose -f docker-compose-prod.yml up -d --build

# API
cd api && docker compose -f docker-compose-prod.yml up -d --build

CI/CD

Chaque workspace a son propre .gitlab-ci.yml avec déploiement automatique sur les branches preprod et prod.

AI Agents (Claude Code)

12 agents spécialisés installés dans .claude/agents/ :

Catégorie Agents
Engineering Backend Architect, Frontend Developer, Senior Developer, Software Architect, Code Reviewer
Design UI Designer, UX Architect
Testing API Tester, Reality Checker, Performance Benchmarker
Security Security Engineer, Threat Detection Engineer

Propriétaire — Tous droits réservés

About

Fimainfo

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages