smart_ide/services/docv/README.md

37 lines
2.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 dinté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 denvironnement 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 lorsquil 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)