# TRAIL DPS 4.2.7 - LOT 3.2.4 - Hotfix transport Workspace interne local HMAC

## Cause confirmee

Le recalcul Licence recoit `workspace_http_0:Failed to connect ... port 443: Connection refused` depuis l'hebergement mutualise OVH. Le rattachement commercial Workspace est correct (`active_courses=28` lors du calcul local), mais le processus Licence ne peut pas reboucler en HTTPS vers le sous-domaine Workspace du meme compte.

Le domaine Tracking disposait deja d'un transport `local_hmac`; WorkspaceInternalClient ne proposait encore que HTTPS.

## Correctif

- `WorkspaceInternalClient` utilise maintenant un transport `auto` par defaut.
- HTTPS reste tente en premier.
- Un echec de transport de type HTTP 0 / connection refused declenche un fallback local HMAC.
- La passerelle locale resout automatiquement le Workspace sous `../programme/traildpsworkspace-staging` depuis la racine du compte OVH ; `workspace.local_root` peut surcharger ce chemin si necessaire.
- La signature HMAC et le nonce anti-rejeu sont verifies par les classes du Workspace avant execution.
- Les services Workspace existants `UsageService` et `ProjectionService` sont reutilises : aucun SQL Workspace n'est ajoute au domaine Licence.
- Aucun changement de schema MySQL n'est necessaire.

## Validation apres deploiement

Depuis `/home/synolui/ovh` :

```bash
php tests/lot3_contracts.php
php -r 'require "config/bootstrap.php"; $r=$subscriptionUsageService->compute("28eedafa-b70e-4dec-8406-d10160168c87", true); echo json_encode($r, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE), PHP_EOL;'
```

Attendu : `active_courses` = 28, `freshness.courses` = `fresh`, `sources.workspace` = `WORKSPACE_API_HMAC`, aucune erreur `workspace`.
