Architecture
CyberOrigen est construit sur une architecture moderne et evolutive concue pour les charges de travail de securite et de conformite en entreprise.
Vue d'Ensemble du Systeme
┌─────────────────────────────────────────────────────────────────────┐
│ COUCHE DE PRESENTATION │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────┐ ┌───────────────────┐ │
│ │ Portail Admin │ │ Site Marketing │ │
│ │ (React + Vite) │ │ (React + Vite) │ │
│ └─────────┬─────────┘ └─────────┬─────────┘ │
│ │ │ │
└─────────────┼──────────────────────────────┼────────────────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────────────────────────────────┐
│ COUCHE API │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Backend FastAPI │ │
│ │ │ │
│ │ • Points de terminaison API REST (OpenAPI/Swagger) │ │
│ │ • Authentification JWT + MFA │ │
│ │ • Limitation de debit et validation des requetes │ │
│ │ • Traitement des taches en arriere-plan │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ COUCHE DE SERVICES │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Service IA │ │ Mappeur │ │ Service │ │
│ │ │ │ Conformite │ │ Email │ │
│ │ • Anthropic │ │ │ │ │ │
│ │ • OpenAI │ │ • Mappage │ │ • SMTP │ │
│ │ • Google │ │ controles │ │ • Modeles │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Service │ │ Service │ │ Service │ │
│ │ Scanner │ │ Risques │ │ Preuves │ │
│ │ │ │ │ │ │ │
│ │ • Scan vuln │ │ • Scoring │ │ • Upload │ │
│ │ • Rapports │ │ • Cartes th.│ │ • Organiser │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ COUCHE DE DONNEES │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ PostgreSQL │ │ Redis │ │
│ │ │ │ │ │
│ │ • Base principale │ │ • Stockage sessions │ │
│ │ • ORM SQLAlchemy │ │ • Limitation debit │ │
│ │ • Migrations Alembic│ │ • File de taches │ │
│ │ • Chiffrement AES-256│ │ • Mise en cache │ │
│ │ │ │ │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘Stack Technologique
Frontend
| Composant | Technologie | Objectif |
|---|---|---|
| Framework | React 18 | Composants UI |
| Outil de Build | Vite | Developpement et builds rapides |
| Langage | TypeScript | Securite des types |
| Bibliotheque UI | shadcn/ui | Systeme de composants |
| Styles | Tailwind CSS | CSS utilitaire |
| Etat | TanStack Query | Gestion de l'etat serveur |
| Graphiques | Recharts | Visualisation des donnees |
Backend
| Composant | Technologie | Objectif |
|---|---|---|
| Framework | FastAPI | API haute performance |
| Langage | Python 3.12 | Logique serveur |
| ORM | SQLAlchemy | Abstraction base de donnees |
| Migrations | Alembic | Versioning du schema |
| Auth | python-jose | Gestion JWT |
| Validation | Pydantic | Validation des donnees |
Infrastructure
| Composant | Technologie | Objectif |
|---|---|---|
| Conteneur | Docker | Packaging d'applications |
| Orchestration | Docker Compose | Developpement local |
| Base de donnees | PostgreSQL | Stockage principal |
| Cache | Redis | Sessions et cache |
| Cloud | Enterprise Cloud | Hebergement production |
| CDN | Global CDN | Cache en bordure |
Architecture de Securite
Flux d'Authentification
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Client │────▶│ Connexion│────▶│ MFA │────▶│ Token │
│ │ │ (email/ │ │ (TOTP) │ │ d'Acces │
│ │ │ mdp) │ │ │ │ (JWT) │
└──────────┘ └──────────┘ └──────────┘ └──────────┘Chiffrement des Donnees
- Au Repos : AES-256-GCM pour les champs sensibles
- En Transit : TLS 1.3 pour toutes les connexions
- Secrets : Service de gestion des secrets
Multi-Tenancy
Les organisations sont isolees au niveau de la base de donnees :
sql
-- Toutes les requetes incluent le contexte de l'organisation
SELECT * FROM controls WHERE organization_id = :org_idMappage de Conformite
La plateforme mappe automatiquement les controles entre les referentiels :
┌─────────────┐
│ Bibliotheque│
│ Controles │
└──────┬──────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Mappeur de Conformite │
├─────────────────────────────────────────────────┤
│ │
│ SOC 2 PCI-DSS ISO 27001 HIPAA RGPD │
│ ↓ ↓ ↓ ↓ ↓ │
│ CC1.1 Req 1.1 A.5.1.1 164.312 Art 32 │
│ │
└─────────────────────────────────────────────────┘Modeles de Deploiement
Developpement
- Docker Compose pour tous les services
- Hot reload active
- Base de donnees locale avec donnees de test
Production
- Orchestration de conteneurs
- Base de donnees PostgreSQL geree
- Cache Redis gere
- Stockage objet pour les preuves
- CDN pour les actifs statiques