- Copy enso/docs tree to services/docv/enso-docs (refresh via cp -a from enso repo) - Document mirror and refresh command in services/docv/README.md - Ignore services/docv/target for local Rust workspace - Track docv-service-integration, API docv.md, and related doc index updates
46 lines
2.9 KiB
Markdown
46 lines
2.9 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`).
|
||
|
||
## Documentation Enso (`enso-docs/`)
|
||
|
||
Une **copie** de l’arborescence **`docs/`** du dépôt **enso** (source typique : `/home/ncantu/code/enso/docs`) est conservée sous **[`enso-docs/`](./enso-docs/)** pour consultation dans le monorepo **sans dépendre du clone enso** sur la machine. Point d’entrée : [`enso-docs/README.md`](./enso-docs/README.md). Après évolution majeure de la doc enso, **recopier** depuis le dépôt enso :
|
||
|
||
```bash
|
||
rm -rf services/docv/enso-docs
|
||
cp -a /chemin/vers/enso/docs services/docv/enso-docs
|
||
```
|
||
|
||
## 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)
|