Spaces:
Sleeping
Sleeping
File size: 2,525 Bytes
fddc7a1 858bf77 fddc7a1 858bf77 fddc7a1 858bf77 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | ---
title: NotificationChannel
emoji: 🔔
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: true
---
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
# 🔔 NotificationChannel
**Service de notifications en temps réel professionnel**
*Notification push • WebSockets • Diffusion ciblée • Historique*
## ✨ Fonctionnalités
- 🚀 **Connexions WebSocket** - Gestion optimisée des connexions persistantes
- 🎯 **Notifications ciblées** - Envoi par utilisateur, rôle ou diffusion globale
- 📊 **Historique intelligent** - Conservation des dernières notifications
- 🔐 **Sécurité renforcée** - Gestion de session et validation
- 📈 **Monitoring intégré** - Statistiques temps réel des connexions
## 🏗️ Architecture
```mermaid
graph TD
A[Client] -->|WebSocket| B(API Gateway)
B --> C{NotificationChannel}
C --> D[(Historique)]
C --> E[Utilisateur]
C --> F[Rôle]
C --> G[Broadcast]
```
## 🚀 Déploiement
```bash
# Construction de l'image
docker build -t notification-channel .
# Lancement du service
docker run -d -p 7860:7860 --name notif-service notification-channel
```
**Accès rapide :**
- Interface : http://0.0.0.0:7860
- Documentation API : http://0.0.0.0:7860/api-docs
## ⚙️ Configuration
| Variable | Défaut | Description |
|--------------------|---------|--------------------------------------|
| `APP_HOST` | 0.0.0.0 | Adresse d'écoute du service |
| `APP_PORT` | 7860 | Port d'écoute du service |
| `MAX_HISTORY_SIZE` | 1000 | Taille max de l'historique |
| `NOTIF_TTL` | 3600 | Durée de vie des notifications (sec) |
## 🔄 Workflow CI/CD
```mermaid
graph LR
A[Code] --> B[Tests]
B --> C[Build Docker]
C --> D[Scan Sécurité]
D --> E[Staging]
E --> F[Validation]
F --> G[Production]
```
## 📋 API Endpoints
### WebSocket
- `ws://localhost:8000/ws/{user_id}` - Connexion utilisateur
- `ws://localhost:8000/ws/broadcast` - Diffusion globale
### REST API
- `POST /notify/user/{user_id}` - Notification individuelle
- `POST /notify/role/{role}` - Notification par rôle
- `POST /notify/broadcast` - Diffusion générale
- `GET /history/{user_id}` - Historique utilisateur
## 🛠️ Développement
```bash
# Installation des dépendances
pip install -r requirements.txt
# Lancement en mode dev
uvicorn main:app --reload --host 0.0.0.0 --port 7860
```
|