Vue d’ensemble du système Web
ObjectifBut de cette page
Cette page sertest dela carte globaled’entrée du système Web Uniksim.Uniksim. Elle présentepermet de comprendre rapidement quelles applications existent, comment elles communiquent, où sont stockées les grandes couches, leurs responsabilitésdonnées et lesdans principauxquel fluxchapitre entrechercher elles.lorsqu’un problème survient.
ArchitectureCarte généraleglobale du système
flowchart LR
USER[Utilisateur] --> ANG[Frontend Angular]
ADMIN[Administrateur] --> ANG
ANG -->|HTTP| NEST[NestJS principal :3000]
applicationANG <-->|Socket.IO| WS[SupportGateway]
ANG --> UNITY[Unity WebGL]
UNITY -->|HTTP / heartbeat / données jeu| NEST
NEST --> CTRL[Controllers]
CTRL --> SVC[Services métier]
SVC --> ORM[TypeORM]
ORM --> MYSQL[(MySQL)]
SVC --> REDIS[(Redis)]
SVC --> BC[BrainCloud]
SVC --> FB[Firebase / FCM]
SVC --> MAIL[Mail]
SVC --> AI[Serveur IA :8106]
NEST --> ADMINEXP[Admin Server Express :8105]
ADMINEXP --> BC
ADMINEXP --> REDIS
AI --> CHROMA[(Chroma / embeddings)]
AI --> PROVIDER[Provider IA]
NEST --> STATIC[Frontend Angular compilé]
STATIC --> USER
Les grandes briques
Frontend Angular
Application principale côté navigateur dans uniksimFrontEnd/.
Backend : application NestJS
Serveur HTTP principal dans uniksim-back-end/. Le point d’entrée est src/main.ts et l’assemblage global se fait dans src/app.module.ts. Il expose les APIs utilisateur, jeu, administration, support, notifications, push, mail et IA.
Admin Server Express
Serveur HTTP auxiliaire séparé dans src/node.js/server/admin_server.js, sur le port 8105. Il sert principalement certaines opérations historiques/BrainCloud, Redis, copie de simulations et SSE.
Serveur IA
Le backend attend que le serveur IA soit prêt avant de lancer NestJS. La logique se trouve sous src/node.js/server/ai/. Le système gère génération, embeddings, RAG, contrôle des coûts et intégration au support.
Unity WebGL
Le jeu Unity est intégré au Web. Angular affiche le build WebGL et Unity communique avec le backend pour les versions, textes, données utilisateur, heartbeat, classements, images et crash logs.
Persistance
Flux typique d’une requête Web
sequenceDiagram
participant U as Utilisateur
participant A as Angular
participant C as Controller NestJS
participant S as Service
participant D as MySQL / Redis / BrainCloud
U->>A: Action dans l’interface
A->>C: Requête HTTP
C->>C: Guard / validation
C->>S: Appel métier
S->>D: Lecture / écriture
D-->>S: Résultat
S-->>C: Données métier
C-->>A: Réponse API
A-->>U: Mise à jour de l’interface
Flux temps réel
Le système support/notifications utilise Socket.IO et des événements backend. Le frontend maintient son état local et reçoit les entitéschangements sans attendre un prochain GET. Voir les pages Support temps réel et Notifications et Push.
Build et hébergement
Le build Angular de production est généré dans uniksim-back-end/src/, puis NestJS est buildé à son tour. Le backend sert ensuite le frontend compilé avec entities/frontServeStaticModule. L’instance de développement hébergée est sim.dev.uniksim.com. Voir Build et déploiement Web.
Où chercher selon le problème
Écran, navigation ou composant → chapitre Frontend Angular.Points d’entrée principauxessentiels
uniksimFrontEnd/src/main.ts: démarrage Angular.uniksimFrontEnd/src/app/app.module.ts: module racine, déclarations, dépendances et routing principal.uniksim-back-end/src/main.ts: bootstrap NestJS, CORS, limites de payload et démarrage HTTP.uniksim-back-end/src/app.module.ts: assemblage des contrôleurs, services, guards, TypeORM, i18n et fichiers statiques.uniksim-back-end/src/app.controller.ts
uniksim-back-end/src/database.providers.ts
uniksim-back-end/src/node.js/server/constantsVariable.js
uniksim-back-end/src/node.js/server/admin_server.js
uniksim-back-end/src/node.js/server/ai/
Flux simplifié
Utilisateur ↓ Angular ↓ HTTP / WebSocket NestJS ↓ Services / Guards / Gateways ↓ TypeORM / Redis / Firebase / IA / autres services ↓ Base de données et services externes
Comment naviguer dans cette documentation
Voir les chapitres Frontend Angular, Serveurs et API, Support et IA et Intégrations et systèmes transversaux pour les détails.