37 lines
2.4 KiB
Markdown
37 lines
2.4 KiB
Markdown
# docv — intégration (hors monorepo)
|
||
|
||
Ce répertoire ne contient **pas** le code du produit **docv** (gestion documentaire pour les projets Enso). Il documente le **contrat d’intégration** entre le monorepo **smart_ide** et le dépôt **docv**, attendu sous un chemin du type **`…/enso/docv`** sur la machine qui exécute docv (ex. poste local `/home/desk/code/enso/docv`).
|
||
|
||
## Rôle de docv
|
||
|
||
**docv** apporte les **services de gestion documentaire** aux projets : stockage, workflows et API métier documents côté filière Enso. Les **données projet** ne sont pas dans le dépôt **smart_ide** : elles résident sous les clones applicatifs, selon la convention ci-dessous.
|
||
|
||
## Convention de chemins : `PROJECTS_CLONE_ROOT` et `data/`
|
||
|
||
| Concept | Description |
|
||
|---------|-------------|
|
||
| **`PROJECTS_CLONE_ROOT`** | Répertoire absolu parent des dossiers **`<projet>/`** (un clone ou racine métier par identifiant de projet). En pratique, aligné sur **`../projects`** relatif à la racine du clone **smart_ide** (voir [projects/README.md](../../projects/README.md)). |
|
||
| **Données documentaires docv** | Répertoire **`${PROJECTS_CLONE_ROOT}/<projet>/data/`** — contenu synchronisé selon la politique du projet (Git, jobs, rsync, montage NFS, etc.). |
|
||
|
||
Sur le **même hôte** que smart_ide, une valeur typique est :
|
||
`PROJECTS_CLONE_ROOT=/home/…/code/projects`
|
||
si `smart_ide` est dans `/home/…/code/smart_ide`.
|
||
|
||
## Côté dépôt docv (amont)
|
||
|
||
Le code docv doit résoudre le chemin données via une variable d’environnement du type **`DOCV_PROJECTS_ROOT`** (équivalent à `PROJECTS_CLONE_ROOT`), puis :
|
||
|
||
`cheminDonnées = join(DOCV_PROJECTS_ROOT, projectId, 'data')`
|
||
|
||
sans chemins absolus figés dans le code. Détail et multi-hôte : [docs/features/docv-service-integration.md](../../docs/features/docv-service-integration.md).
|
||
|
||
## Consommateurs smart_ide (orchestrateur, front)
|
||
|
||
Pour appeler docv par HTTP lorsqu’il est exposé (réseau interne ou TLS), utiliser des variables documentées dans [`.env.example`](./.env.example). Les valeurs réelles restent **hors dépôt** ([platform-target.md](../../docs/platform-target.md)).
|
||
|
||
## Liens
|
||
|
||
- Gestion documentaire + données + multi-hôte : [docv-service-integration.md](../../docs/features/docv-service-integration.md)
|
||
- API IA consommées par docv : [docv-ai-integration.md](../../docs/features/docv-ai-integration.md)
|
||
- SSO OIDC : [sso-docv-enso.md](../../docs/features/sso-docv-enso.md)
|