mirror of
https://github.com/Ladebeze66/devsite.git
synced 2026-05-12 01:06:26 +02:00
2.0 KiB
2.0 KiB
Architecture globale
Dernière mise à jour : 2026-04-01
Schéma logique
flowchart LR
Browser[Navigateur]
Next[Next.js :3000]
Strapi[Strapi :1337]
FastAPI[FastAPI :8000]
Ollama[Ollama :11434]
RemoteAPI[api.fernandgrascalvet.com]
Browser --> Next
Next -->|"fetch REST (getApiUrl)"| Strapi
Next -->|"fetch REST"| RemoteAPI
Next -->|"/api/proxy → llmapi.*"| FastAPI
FastAPI --> Ollama
En développement local, le front appelle souvent Strapi sur localhost:1337 (voir getApiUrl). En production, les appels client pointent vers https://api.fernandgrascalvet.com.
Le chatbot ne parle pas à FastAPI en local par défaut : la route app/api/proxy/route.js appelle https://llmapi.fernandgrascalvet.com/ask (URL absolue).
Services et ports
| Service | Port local typique | Rôle |
|---|---|---|
| Next.js | 3000 | Site public, rewrites /api/* → Strapi distant (voir next.config.ts) |
| Strapi | 1337 | CMS, REST /api/* |
FastAPI (llm-api/api.py) |
8000 | Pont HTTP vers Ollama /api/generate |
| Ollama | 11434 | Inférence LLM (modèle mistral dans le code actuel) |
Fichiers clés
next.config.ts— rewrites,NEXT_PUBLIC_API_URL, domaines images.app/utils/getApiUrl.ts— choix de l’URL Strapi (local vs prod, client vs serveur).app/api/proxy/route.js— proxy vers l’API LLM hébergée (llmapi.fernandgrascalvet.com).llm-api/api.py— implémentation FastAPI locale (Ollama).
Points d’attention
next.configrewrites : les requêtes vers/api/*côté Next sont renvoyées vers l’URL Strapi configurée — conflit sémantique avec la route Nextapp/api/proxy(chemin différent : le proxy est sous/api/proxy, pas sous le rewrite générique de la même façon ; à vérifier selon l’ordre de matching Next).app/utils/config.tsexposeAPI_URLavec défautlocalhost:1337, alors quenext.config.tsutilise par défaut le domaine de prod : usages distincts, ne pas les confondre.