# 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** de référence vivent sur les **environnements déployés** ; docv (et les jobs de synchro AnythingLLM) les **récupèrent via SSH** vers une zone locale ou de service — voir [features/remote-deployed-data-ssh.md](../../docs/features/remote-deployed-data-ssh.md). ## Convention de chemins : clones et zone de travail | Concept | Description | |---------|-------------| | **`PROJECTS_CLONE_ROOT`** | Répertoire absolu parent des **clones** **`/`** (code). Souvent **`../projects`** relatif à **smart_ide** ([projects/README.md](../../projects/README.md)). | | **Données pour docv / RAG** | Répertoire résolu par **`DOCV_PROJECTS_ROOT`** (ou équivalent) : contenu **aligné sur les serveurs** test / pprod / prod après **pont SSH** (rsync, dumps, etc.), pas un dossier `data/` versionné dans Git. | Sur un poste de développement, **`DOCV_PROJECTS_ROOT`** pointe typiquement vers un **cache ou miroir** alimenté par les scripts documentés dans le dépôt docv et [docv-service-integration.md](../../docs/features/docv-service-integration.md). ## 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)