smart_ide/docs/platform-target.md
Nicolas Cantu 7f1cee487c Cursor ia-dev bridge, versioned project confs, docv and ecosystem docs
- Add .cursor agents ia-dev-* and smart-ide-ia-dev-bridge rule
- Track ia_dev project conf under projects/smart_ide; link script for ia_dev/projects
- Document docv AI integration and ecosystem architecture/sync strategy
- Update README, platform-target, system-architecture, submodule doc
2026-04-03 16:30:42 +02:00

89 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# Plateforme de développement en ligne — cible produit
Ce document fixe la **vision densemble** du monorepo `smart_ide` : interface unifiée, services locaux, trois environnements dexploitation, IA sur hôte unique (variante courante), SSO avec docv, et règle darbitrage pour un **service navigateur** optionnel.
## Objectifs
- **Création logicielle** : édition, Git, agents, scripts et mémoire documentaire dans un flux cohérent (intentions, pas explorateur comme flux nominal — voir [ux-navigation-model.md](./ux-navigation-model.md)).
- **Documents + IA** : ONLYOFFICE (bureautique riche), Local Office (API programmatique docx), AnythingLLM (RAG par projet), Ollama (inférence locale).
- **Apprentissage / indexation automatisés** : pipelines **déterministes** (sync après pull, `.4nkaiignore`, journal dindexation consultable) — pas d« apprentissage » opaque non audité.
- **Évolution du produit** : recettes versionnées, timeline (événements gateway, Git, indexation) — voir [system-architecture.md](./system-architecture.md).
## Variantes de déploiement
| Variante | Description | Doc |
|----------|-------------|-----|
| **Machine IA unique** | Ollama et AnythingLLM sur le **même hôte** ; services `smart_ide` sur cet hôte ou derrière le même reverse proxy. Lapce et/ou front web consomment les APIs localement ou via TLS interne. | Ce fichier ; [deployment-target.md](./deployment-target.md) § variante |
| **Client Linux + SSH** | Poste client ; socle IA et repos sur **serveur distant** ; tunnels ou VPN pour les URLs « localhost » côté serveur. | [deployment-target.md](./deployment-target.md) |
Les deux variantes peuvent coexister selon léquipe ; la **matrice denvironnement** (test / pprod / prod) sapplique dans les deux cas.
## Trois environnements : test, pprod, prod
Chaque environnement possède sa propre **configuration** (non versionnée : `.secrets/<env>/`, variables dhébergement) :
| Paramètre | Exemple de distinction |
|-----------|-------------------------|
| URL publique AnythingLLM | Sous-domaine ou chemin dédié par env |
| Clés API AnythingLLM | Une clé ou jeu de clés par env |
| `REPOS_DEVTOOLS_ROOT`, tokens micro-services | Racine Git et secrets distincts |
| URL orchestrateur / ia-dev-gateway | Hôte + port ou route derrière gateway |
| SSO (OIDC) | Client OAuth distinct par env, ou même IdP avec `audience` / realm différent |
| CORS et reverse proxy | TLS partout ; pas dalternative HTTP de contournement |
Les **garde-fous** prod (policy, droits déploiement, refus explicites) sont plus stricts quen test ; la doc métier des projets (`ia_dev` / `projects/<id>/`) reste la source des scripts réels.
## Intégration navigateur (services)
**Par défaut** : **ne pas** embarquer Chromium / Playwright dans le cœur des autres services. La prévisualisation et lUI AnythingLLM passent par le **navigateur système** ou un onglet web du shell (Lapce / front).
**Ouvrir un service dédié** `browser-automation-api` (futur) uniquement si besoin de : capture de rendu, E2E agents, snapshot PDF, scraping sur **allowlist**, tests visuels sans dépendre du poste utilisateur. Critères détaillés : [features/browser-automation-criteria.md](./features/browser-automation-criteria.md).
## SSO avec docv (Enso)
Le **front web** de la plateforme peut sauthentifier auprès de **docv** (filière Enso) via **OpenID Connect**. Flux et contrats : [features/sso-docv-enso.md](./features/sso-docv-enso.md). Les endpoints exacts du dépôt Enso se calent lorsque le code docv est disponible sur la machine de build.
## API IA pour le backend docv
Le monorepo expose des **services HTTP génériques** (orchestrateur, gateway, RAG, inférence) que le **back docv** peut consommer **par projet** ; clones Git et workspaces AnythingLLM doivent exister et être tenus à jour. Détail : [features/docv-ai-integration.md](./features/docv-ai-integration.md).
## Chaîne technique de référence
```mermaid
flowchart TB
subgraph envs [Environnements]
test[test]
pprod[pprod]
prod[prod]
end
subgraph ui [Interfaces]
Lapce[Lapce_core_ide]
Web[Web_front_SSO]
end
subgraph orch [Orchestration]
Orch[smart_ide_orchestrator]
IaGw[ia_dev_gateway]
end
subgraph ia_host [Hôte_IA_typique]
Ollama[Ollama]
ALLM[AnythingLLM]
Micro[services_micro_HTTP]
end
envs --> ui
Lapce --> Orch
Web --> Orch
Orch --> Micro
Orch --> ALLM
Orch --> IaGw
IaGw --> Ollama
ALLM --> Ollama
```
## Documents liés
- [system-architecture.md](./system-architecture.md) — couches, gateway, registre agents
- [features/ia-dev-service.md](./features/ia-dev-service.md) — service `ia-dev-gateway`
- [features/orchestrator-api.md](./features/orchestrator-api.md) — contrat HTTP orchestrateur
- [features/lapce-porting-roadmap.md](./features/lapce-porting-roadmap.md) — portage extension → Lapce
- [API/README.md](./API/README.md) — index des API services