---
id: overview
title: Vue d'ensemble Veza Platform
sidebar_label: Vue d'ensemble
description: Plateforme de streaming audio et chat en temps réel - Architecture microservices moderne
keywords: [veza, platform, streaming, audio, chat, real-time, microservices]
---

# 🎵 Veza Platform - Vue d'ensemble

**Plateforme de streaming audio et chat en temps réel** construite avec une architecture microservices moderne.

## 🚀 Services Principaux

<div className="row">
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>🌐 Frontend Web</h3>
      </div>
      <div className="card__body">
        <p>Application React 19 + TypeScript avec streaming audio, chat temps réel, et interface moderne.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/sectors/web" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
  
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>🔧 Backend API</h3>
      </div>
      <div className="card__body">
        <p>API REST en Go avec Gin, gestion de l'authentification, base de données PostgreSQL et cache Redis.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/backend/go-api" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
  
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>💬 Chat Server</h3>
      </div>
      <div className="card__body">
        <p>Serveur de chat en Rust avec WebSocket, gestion des messages en temps réel et modération automatique.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/backend/rust-chat" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
</div>

<div className="row">
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>🎵 Stream Server</h3>
      </div>
      <div className="card__body">
        <p>Serveur de streaming audio en Rust avec compression adaptative, analytics et gestion des fichiers.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/backend/rust-stream" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
  
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>🛡️ Infrastructure</h3>
      </div>
      <div className="card__body">
        <p>HAProxy + Coraza WAF, observabilité complète (Prometheus, Grafana, ELK), et sécurité avancée.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/infra/observability" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
  
  <div className="col col--4">
    <div className="card">
      <div className="card__header">
        <h3>📊 Monitoring</h3>
      </div>
      <div className="card__body">
        <p>Stack complète d'observabilité avec métriques, logs, traces et alertes automatisées.</p>
      </div>
      <div className="card__footer">
        <a href="/docs/infra/observability" className="button button--primary button--block">
          Voir la documentation
        </a>
      </div>
    </div>
  </div>
</div>

## 🏗️ Architecture

Veza suit une **architecture microservices** moderne avec séparation claire des responsabilités, scalabilité horizontale et résilience intégrée.

```mermaid
flowchart TB
    subgraph "Client Layer"
      WEB[Web App<br/>React + TypeScript<br/>Port: 5176]
      DESKTOP[Desktop App<br/>Electron<br/>Port: 3000]
      MOBILE[Mobile App<br/>React Native<br/>Port: 8081]
    end
    
    subgraph "Edge Layer"
      LB[Load Balancer<br/>HAProxy<br/>Port: 80/443]
      WAF[WAF<br/>Coraza<br/>Security Layer]
    end
    
    subgraph "API Gateway"
      GATEWAY[API Gateway<br/>Go + Gin<br/>Port: 8080]
    end
    
    subgraph "Microservices"
      API[API Service<br/>Go + Gin<br/>Port: 8081]
      CHAT[Chat Service<br/>Rust + Axum<br/>Port: 3001]
      STREAM[Stream Service<br/>Rust + Axum<br/>Port: 3002]
      AUTH[Auth Service<br/>Go + JWT<br/>Port: 8082]
    end
    
    subgraph "Data Layer"
      PG[(PostgreSQL<br/>Primary Database<br/>Port: 5432)]
      REDIS[(Redis<br/>Cache + Sessions<br/>Port: 6379)]
      S3[(S3 Storage<br/>Audio Files<br/>AWS/MinIO)]
    end
    
    subgraph "Message Queue"
      NATS[NATS<br/>Event Streaming<br/>Port: 4222]
    end
    
    subgraph "Observability"
      PROM[Prometheus<br/>Metrics<br/>Port: 9090]
      GRAF[Grafana<br/>Dashboards<br/>Port: 3000]
      ELK[ELK Stack<br/>Logs<br/>Port: 9200]
    end
    
    WEB --> LB
    DESKTOP --> LB
    MOBILE --> LB
    
    LB --> WAF
    WAF --> GATEWAY
    
    GATEWAY --> API
    GATEWAY --> CHAT
    GATEWAY --> STREAM
    GATEWAY --> AUTH
    
    API --> PG
    API --> REDIS
    API --> S3
    
    CHAT --> REDIS
    CHAT --> NATS
    
    STREAM --> S3
    STREAM --> NATS
    
    AUTH --> PG
    AUTH --> REDIS
    
    PROM --> API
    PROM --> CHAT
    PROM --> STREAM
    PROM --> AUTH
    
    GRAF --> PROM
    ELK --> API
    ELK --> CHAT
    ELK --> STREAM
```

## 📚 Sections de Documentation

### 🏗️ Architecture
- [Architecture Système](/docs/architecture/system) - Vue d'ensemble des microservices
- [Architecture des Données](/docs/architecture/data/er-diagram) - Modèle de données et relations

### 🌐 Sectors
- [Web Application](/docs/sectors/web) - React 19 + TypeScript + Vite

### 🔧 Backend Services
- [Go API Service](/docs/backend/go-api) - API REST principale
- [Rust Chat Server](/docs/backend/rust-chat) - Chat temps réel
- [Rust Stream Server](/docs/backend/rust-stream) - Streaming audio

### 🛡️ Infrastructure
- [Conteneurs](/docs/infra/containers) - Docker, Docker Compose, Kubernetes
- [Réseau](/docs/infra/networking) - HAProxy, Coraza, load balancing
- [Sécurité](/docs/infra/security) - WAF, authentification, autorisation
- [Observabilité](/docs/infra/observability) - Prometheus, Grafana, ELK, Jaeger
- [CI/CD](/docs/infra/ci-cd) - GitHub Actions, déploiement automatisé

### 🔧 SRE & QA
- [CI/CD](/docs/infra/ci-cd) - Déploiement automatisé et intégration continue

### 📖 API Reference
- [OpenAPI](/docs/api-reference/openapi) - Documentation interactive

### 📈 Product
- [Roadmap](/docs/product/roadmap) - Feuille de route produit

## 🛠️ Technologies Utilisées

| Service | Langage | Framework | Base de Données | Port |
|---------|---------|-----------|-----------------|------|
| Web App | TypeScript | React 19 + Vite | - | 5176 |
| Desktop App | TypeScript | Electron | - | 3000 |
| Mobile App | TypeScript | React Native | - | 8081 |
| Backend API | Go | Gin + GORM | PostgreSQL + Redis | 8081 |
| Chat Server | Rust | Axum + WebSocket | PostgreSQL + Redis | 3001 |
| Stream Server | Rust | Axum + Symphonia | S3 + Redis | 3002 |
| Auth Service | Go | JWT + bcrypt | PostgreSQL + Redis | 8082 |
| Load Balancer | - | HAProxy | - | 80/443 |
| WAF | - | Coraza | - | 80/443 |
| Monitoring | - | Prometheus + Grafana | - | 9090/3000 |

## 🚀 Démarrage Rapide

### Prérequis
- Docker et Docker Compose
- Node.js 18+
- Go 1.23+
- Rust 1.70+

### Installation
```bash
# Cloner le repository
git clone https://github.com/okinrev/veza-full-stack.git
cd veza-full-stack

# Démarrer avec Docker Compose
docker-compose up -d

# Ou développement local
make dev
```

### Accès aux Services
- **Frontend Web**: http://localhost:5176
- **Backend API**: http://localhost:8081
- **Chat Server**: http://localhost:3001
- **Stream Server**: http://localhost:3002
- **Grafana**: http://localhost:3000
- **Prometheus**: http://localhost:9090

## 📈 Fonctionnalités Principales

### 🎵 Streaming Audio
- **Formats Supportés**: MP3, AAC, OGG, FLAC, WAV
- **Qualité Adaptative**: Ajustement automatique selon la bande passante
- **Compression Intelligente**: Optimisation de la qualité et de la taille
- **Live Recording**: Enregistrement en direct avec gestion des métadonnées
- **Multi-utilisateurs**: Synchronisation temps réel

### 💬 Chat en Temps Réel
- **WebSocket**: Communication bidirectionnelle instantanée
- **Salons Privés**: Création et gestion de salons de discussion
- **Messages Privés**: Communication directe entre utilisateurs
- **Modération**: Filtrage automatique et outils de modération
- **Présence**: Indicateurs de présence et de frappe

### 🔐 Authentification & Sécurité
- **JWT Tokens**: Authentification stateless sécurisée
- **OAuth2**: Intégration avec Google, GitHub, Discord
- **Magic Links**: Authentification sans mot de passe
- **2FA**: Authentification à deux facteurs
- **Rate Limiting**: Protection contre les abus
- **WAF**: Protection contre les attaques web

### 📊 Analytics & Monitoring
- **Métriques Temps Réel**: Utilisateurs actifs, messages, streams
- **Health Checks**: Monitoring de la santé des services
- **Logs Structurés**: Traçabilité complète des opérations
- **Alertes**: Notifications automatiques en cas de problème
- **Dashboards**: Visualisation des métriques et KPIs

## 🤝 Contribution

Nous accueillons les contributions ! Consultez notre guide de contribution :

- [Guide de Développement](/docs/meta/contributing-docs)
- [Guide de Déploiement](/docs/infra/ci-cd)
- [Style Guide](/docs/meta/style-guide)

## 📞 Support

- **GitHub Issues**: [Signaler un bug](https://github.com/okinrev/veza-full-stack/issues)
- **Discussions**: [Forum communautaire](https://github.com/okinrev/veza-full-stack/discussions)
- **Documentation**: Cette documentation complète

---

<div className="alert alert--info">
  <strong>💡 Conseil</strong> : Commencez par la section <a href="/docs/architecture/system">Architecture</a> pour comprendre l'ensemble du système, puis explorez les services qui vous intéressent.
</div>

<div className="alert alert--warning">
  <strong>⚠️ Important</strong> : L'architecture évolue constamment. Consultez les dernières mises à jour dans la documentation des services individuels.
</div>