# Services sur l’hôte (socle technique) Ce document décrit les **services logiciels** typiques sur l’**hôte** (serveur distant **ou** machine IA unique — voir [deployment-target.md](./deployment-target.md) et [platform-target.md](./platform-target.md)), en complément de [system-architecture.md](./system-architecture.md). **Ollama** et **AnythingLLM** peuvent cohabiter sur le même hôte que les micro-services ; l’**orchestrateur** HTTP ([features/orchestrator-api.md](./features/orchestrator-api.md)) et **`ia-dev-gateway`** ([features/ia-dev-service.md](./features/ia-dev-service.md)) sont spécifiés pour unifier les appels depuis Lapce ou le front. ## Ollama - **Rôle** : inférence LLM locale. - **Accès** : URL/port configurés sur l’hôte (souvent `127.0.0.1:11434` côté serveur) ; depuis le client, tunnel SSH si besoin. ## AnythingLLM - **Rôle** : RAG, mémoire documentaire, **un workspace par projet**. - **Déploiement** : souvent Docker sur le même hôte que les dépôts ; chemins de persistance sur l’hôte. - Détail : [anythingllm-workspaces.md](./anythingllm-workspaces.md). ## ONLYOFFICE - **Rôle** : bureautique métier (documents, feuilles, présentations), édition riche. - Utilisé dans la couche **doc-services** de l’architecture ; ne pas confondre avec Local Office. ## Local Office (`services/local-office/`) - **Rôle** : **API REST** pour applications tierces ou agents : upload de fichiers Office, métadonnées, téléchargement, **commandes programmatiques** sur les **docx** (`replaceText`, `insertParagraph`). Stockage fichiers + SQLite ; isolation par clé `X-API-Key` ; rate limiting. - **Emplacement dans le monorepo** : [`../services/local-office/`](../services/local-office/). - **Documentation** : [features/local-office.md](./features/local-office.md) et [services/local-office/README.md](../services/local-office/README.md). - **Sécurité** : définir `API_KEYS` via variables d’environnement ou fichiers hors dépôt (voir `.env.example` dans `services/local-office/`). En production, préférer **bind `127.0.0.1`** derrière un reverse proxy TLS plutôt que `0.0.0.0` exposé. - **Périmètre fonctionnel** : édition par commandes **docx** ; xlsx/pptx peuvent être stockés mais les commandes d’édition peuvent renvoyer **400** selon l’implémentation actuelle. ## docv (hors monorepo, contrat sous `services/docv/`) - **Rôle** : gestion documentaire métier pour les projets Enso ; processus HTTP dans le **dépôt docv**, pas dans smart_ide. - **Données** : convention **`${PROJECTS_CLONE_ROOT}//data/`** (souvent **`../projects//data`** relatif à smart_ide) ; variable **`DOCV_PROJECTS_ROOT`** côté docv. - **Documentation** : [features/docv-service-integration.md](./features/docv-service-integration.md), [services/docv/README.md](../services/docv/README.md), [API/docv.md](./API/docv.md). ## Micro-services HTTP sous `services/` Services d’appoint sur **`127.0.0.1`** (souvent auth **Bearer**) : Git devtools, LangExtract, recherche regex, proxy claw, **`ia-dev-gateway`** (agents / runs stub), **`smart-ide-orchestrator`** (routage intentions) — voir tableau dans [system-architecture.md](./system-architecture.md), la **référence API** dans [`API/README.md`](./API/README.md), et README de chaque sous-dossier de [`../services/`](../services/). ## Documentation liée - [platform-target.md](./platform-target.md) - [features/local-office.md](./features/local-office.md) - [system-architecture.md](./system-architecture.md) - [anythingllm-workspaces.md](./anythingllm-workspaces.md) - [API/README.md](./API/README.md) - [features/docv-service-integration.md](./features/docv-service-integration.md)