# TRAIL DPS Workspace 1.1.3-lot3 - Authentification multi-organisations

## Objet

Ce sous-lot permet à une installation PLACE unique d'être associée à plusieurs organisations Workspace, tout en conservant une sélection explicite de l'organisation et un cloisonnement local par base SQLite.

## Évolution de l'authentification

Lorsque des identifiants valides donnent accès à plusieurs organisations et qu'aucune organisation n'est précisée, `/auth/login` retourne :

```text
HTTP 409 - ORGANIZATION_SELECTION_REQUIRED
```

La réponse contient la liste métier des organisations accessibles avec leur nom et le rôle de l'utilisateur. Le serveur ne choisit plus arbitrairement la première organisation triée par UUID.

Après sélection, le contexte authentifié contient également `organization_name`.

## Association du poste physique

La table historique `client_instances` conserve la dernière organisation active pour compatibilité. La nouvelle table `client_instance_organizations` enregistre toutes les organisations utilisées par un même `client_instance_uuid` physique.

La migration reprend automatiquement les associations existantes depuis `client_instances`.

## Migration

Migration ajoutée :

```text
007_multi_organization_client_instances
```

Après remplacement des fichiers, exécuter `scripts/migrate.php`, puis les contrôles d'installation et de readiness. Les scripts vérifient désormais explicitement la présence de la migration et de la nouvelle table.

## Compatibilité

- Les refresh tokens restent liés à une organisation et à un poste.
- Les quotas collaboratifs comptabilisent les postes via la table d'association multi-organisations.
- Aucun changement n'est apporté aux contrats mobiles, au Tracking ou au service Licence OVH.
- Aucune configuration active ni aucun secret ne fait partie du ZIP incrémentiel.
