# Web Sentinel VS Code Companion

Cette extension permet d'exécuter les scans de l'API Web Sentinel directement depuis Visual Studio Code :

- scan de fichier source (endpoint `/api/v1/scan-source`);
- scan du workspace entier (séquentiel par fichier) ;
- scan d'un domaine (endpoints `/api/v1/scan-domain` ou `/api/v1/scan`) ;
- vérification de licence via `/api/v1/license/verify`.

## Installation locale

```bash
cd integrations/vscode-web-sentinel
npm install
npm run compile
```

Dans VS Code, lancez la tâche `Run Extension` (F5) pour démarrer en mode debug.

## Paramètres

| Clé                          | Description |
|-----------------------------|-------------|
| `webSentinel.apiUrl`        | URL de base de l'API (par défaut `https://api.web-sentinel.taaazzz-prog.fr/api/v1`). |
| `webSentinel.apiKey`        | Clé API utilisée pour authentifier les scans. |
| `webSentinel.licenseEmail`  | Email associé à la licence, utilisé pour les vérifications. |
| `webSentinel.licenseTier`   | Tier attendu lors de la vérification (`free`, `pro`, `enterprise`, `sysop`). |
| `webSentinel.autoScanOnSave`| Si activé, déclenche un scan au `Ctrl+S` pour les langages supportés. |
| `webSentinel.minimumSeverity` | Seuil minimal des vulnérabilités affichées dans l'éditeur. |

La commande `Web Sentinel: Configure API Credentials` met à jour ces valeurs via des boîtes de dialogue.

## Commandes principales

- `Web Sentinel: Scan Current File` (`web-sentinel.scanFile`)
- `Web Sentinel: Scan Workspace` (`web-sentinel.scanWorkspace`)
- `Web Sentinel: Scan Domain` (`web-sentinel.scanDomain`)
- `Web Sentinel: Configure API Credentials` (`web-sentinel.configureCredentials`)
- `Web Sentinel: Verify License` (`web-sentinel.verifyLicense`)

Chaque scan remet les findings dans l'onglet **Problems** et ajoute un résumé dans le panneau **Web Sentinel**.

## Tests rapides de l'API

Pour vérifier la connectivité sans VS Code, vous pouvez réutiliser `client_production.py` :

```bash
export WEB_SENTINEL_API_KEY="votre_clé"
python client_production.py
```

Actionnez ensuite les commandes de l'extension pour comparer les réponses obtenues.
