# Multi-tenant et organisation des espaces

## Multi-tenant

### Fonctionnel
Le SaaS doit gérer plusieurs clients/organisations.

### Technique
Décision :
- multi-tenant logique dès le départ ;
- hybride possible plus tard pour grands comptes.

Tous les objets structurants devront porter :

```txt
organizationId
workspaceId
ownerId
```

## Organisation des espaces

### Fonctionnel
Une organisation peut contenir plusieurs workspaces. Chaque workspace contient :
- un espace partagé ;
- un espace personnel par utilisateur.

Structure validée :

```txt
Organisation
  └── Workspaces
        ├── Shared Space
        │     └── Dossiers / Sous-dossiers
        │           └── Objets BI
        └── Personal Spaces
              └── User
                    └── Dossiers / Sous-dossiers
                          └── Objets BI
```

### Technique
Concepts à modéliser :

```txt
Organization
Workspace
Space
Folder
FolderTree
ObjectLocation
PersonalSpace
SharedSpace
```

Chaque objet BI devra contenir :

```txt
workspaceId
spaceType: shared | personal
ownerUserId
folderId
```
