# 🛡️ Web Sentinel - Architecture Professionnelle

## 🏗️ Structure du Projet

Web Sentinel suit une architecture modulaire professionnelle organisée en couches logiques :

```
web-sentinel/
├── 📁 src/                          # Code source principal
│   └── web_sentinel/
│       ├── 🧠 core/                 # Modèles et orchestration
│       ├── 🔍 scanning/             # Moteur de scan et CLI  
│       ├── 🎨 ui/                   # Interface utilisateur
│       └── 🏗️ infrastructure/        # Services support
│
├── ⚙️ config/                       # Configuration centralisée
├── 🎭 assets/                       # Ressources visuelles
├── 📚 resources/                    # Fichiers de données
├── 🧪 tests_new/                    # Suite de tests structurée
├── 📜 scripts/                      # Scripts d'automatisation
└── 📖 docs/                         # Documentation complète
```

## 🔧 Modules Principaux

### 🧠 Core (`web_sentinel/`)
- **model.py** : Modèles de données (ScanRequest, ScanResult, Finding)
- **orchestrator.py** : Orchestrateur principal des scans

### 🔍 Scanning (`web_sentinel/`)
- **scanner.py** : Moteur de scanning principal
- **cli.py** : Interface ligne de commande
- **reporting.py** : Génération de rapports
- **checks/** : Modules de vérification spécialisés

### 🎨 UI (`web_sentinel/gui/`)
- **modern_tabbed_window.py** : Interface graphique moderne bilingue
- **i18n.py** : Gestionnaire de localisation

### 🏗️ Infrastructure (`web_sentinel/`)
- **auth/** : Système d'authentification
- **license/** : Gestion des licences
- **subscription/** : Abonnements et limitations
- **payment/** : Système de paiement

## ⚙️ Configuration

### Configuration Centralisée
- `config/app_config.py` : Paramètres principaux
- `config/modules_config.py` : Configuration des modules de scan

### Ressources
- `assets/images/` : Images et icônes
- `assets/templates/` : Templates HTML pour rapports
- `resources/localization/` : Fichiers de traduction

## 🧪 Tests Structurés

```
tests_new/
├── unit/           # Tests unitaires par module
├── integration/    # Tests d'intégration
└── e2e/           # Tests end-to-end
```

## 📦 Points d'Entrée

- **web_sentinel_app.py** : Point d'entrée principal
- **scripts/build/build_modern.py** : Script de build PyInstaller

## 🚀 Avantages de cette Architecture

### ✅ Maintenabilité
- Séparation claire des responsabilités
- Modules indépendants et testables
- Configuration centralisée

### ✅ Évolutivité  
- Ajout facile de nouveaux modules
- Structure extensible
- Tests complets

### ✅ Professionnalisme
- Organisation standard industrielle
- Documentation complète
- Build automatisé

## 🔄 Migration depuis l'ancienne structure

- ✅ `web_sentinel/` est désormais l'unique package officiel.
- 🗃️ L'ancien prototype `src/web_sentinel/` a été archivé dans `docs/legacy/src_web_sentinel_prototype` pour référence historique.

## 📚 Documentation

- `docs/api/` : Documentation API
- `docs/user/` : Guide utilisateur
- `docs/developer/` : Guide développeur
- `docs/project/` : Documentation projet
