Game
Commun
Vue d’ensemble du Game
Rôle de cette page Cette page est la carte d'entrée du projet Game. La documentation suit les fro...
Bootstrap et composition runtime
Responsabilité Le bootstrap commun décide où le client se connecte, quel jeu est chargé, quelle f...
Machine d’état client — login, chargement et navigation
Architecture Le démarrage et la navigation principale utilisent des GameState. Chaque état effec...
Controllers, modèles et listeners runtime
Pattern général Le projet sépare les objets de données sérialisables des controllers runtime. Les...
Simulations, activités, équipes et utilisateurs
Hiérarchie métier commune flowchart TD USER[UserDetails] --> SIM[Simulation] SIM --> ACT[Activiti...
Infrastructure runtime et utils Unity
Dossier Assets/Src/Utils/ contient l'infrastructure Unity qui ne relève pas directement d'un doma...
Backend Unity ↔ BrainCloud
Contrat côté Unity BackEndBase définit le contrat backend utilisé par le reste du client. Les con...
Commandes, documents et persistance BrainCloud
Architecture serveur commune Le backend du Game repose principalement sur les Cloud Scripts dans ...
Référence des Cloud Scripts communs
But Cette page est l'index des points d'entrée BrainCloud communs sous server_scripts/_command. ...
Référence des utils serveur BrainCloud
Carte générale Fichier/dossier Responsabilité utils.js Helpers transversaux, UIDs, calculs simple...
RTT, messages et synchronisation
Chaîne de synchronisation BrainCloud RTT permet au serveur d'avertir les clients déjà connectés l...
Système d’évaluation commun
Couche commune Les deux familles utilisent un socle d'évaluation partagé : StudentEvaluationBase...
Données statiques et pipeline import/export
Vue complète La static data n'est pas maintenue uniquement à la main dans Unity. Le dépôt contien...
Textes, localisation et mise à jour
Pipeline flowchart LR S[Google Sheets] --> I[importUploadTexts.js] I --> JSON[shared_texts / game...
UI, prefabs et composants récurrents
Frontière Cette page décrit uniquement les briques UI réellement communes. Les écrans Data-Driven...
Tutoriels — création de A à Z et architecture
But de cette page Cette page explique comment créer, déclencher, persister, tester et déboguer un...
Build Unity, WebGL et versioning client
Build WebGL Le build est défini dans Assets/Src/Editor/Builder.cs. Le menu Unity Uniksim → Build...
Tests automatisés des Server Scripts
But Les tests automatisés valident la logique métier des Cloud Scripts sans passer par l'UI Unity...
Debug local des Server Scripts BrainCloud
Pourquoi ce système existe Le dossier node.js/backend/braincloud/debugging/ recrée localement un...
Outils BrainCloud et import/export des scripts
But Cette page documente les outils qui synchronisent les Cloud Scripts entre le dépôt et les app...
Scénarios runtime — configuration, réponses et évaluation
Rôle du système Scenario Le système Scenario gère le contenu d'introduction/contexte, les questio...
Timelines Unity — architecture et création de séquences
Rôle des Timelines Unity Les Timelines sont des séquences audiovisuelles Unity basées sur Playab...
Les jeux UnikSim — rôle, contenu et navigation de la documentation
Pourquoi cette page existe Cette page est une carte fonctionnelle du produit. Elle explique ce qu...
Logbook — sauvegarde, historique et évaluation
Structure des données Le logbook est stocké par équipe dans teamsLogbooks, avec teamUid comme U...
By Module
Architecture By Module / Accounting
Rôle By Module est le framework où une activité est composée de modules configurables. Accounting...
acc_base, acc1 et acc2 — séparation des responsabilités
Principe La vraie logique Accounting partagée côté serveur vit dans acc_base. acc1 et acc2 son...
Modèle de données et cycle de vie d’un Team Module
Document central Le document persistant central est teamsModules. Côté Unity, BackEndBrainCloud...
Configuration Accounting — guide des JSON
Objectif Cette page sert de carte des fichiers de configuration du système Accounting / ByModule....
Constantes, préférences et conditions By Module
Source serveur _utils/by_module/byModule_utils.js construit un cache de constantes utilisé par l'...
UI data-driven, pages, tables et prefabs By Module
Rôle L'UI By Module est générée à partir de module_pages.json, des pages_settings et des donnée...
Custom Commands et édition des pages By Module
Routeur serveur La majorité des actions étudiantes passent par _utils/command/utils_custom_comma...
Système de formules
Vue d’ensemble Le système de formules permet à un étudiant de calculer automatiquement la valeur ...
Création du Module Type Data
Point d'entrée Le moteur est _utils/by_module/byModule_utils_create_module_type_data.js. Il fabr...
Pipeline des Bills — architecture et ajout d’un nouveau type
Comment ça fonctionne Le système de bills traverse la configuration, le backend Node.js/BrainClou...
Inventaire et stocks
Modèle serveur _utils/by_module/classes/InventoryProduct.js représente un produit d'inventaire. I...
Immobilisations et amortissement
Responsabilité Les immobilisations couvrent la génération des achats d'immobilisations, leur duré...
Contrats
Responsabilité Les contrats Accounting sont des données métier persistées/générées qui servent à ...
Régularisations de fin de période
Rôle Les régularisations transforment les données accumulées pendant le module en écritures de fi...
Answer Key — génération des bonnes réponses
Rôle byModule_utils_answer_key_module.js construit les décisions correctes complètes d'un module....
Chaîne comptable — journaux, ledger et états financiers
Vue d'ensemble Le moteur Accounting est construit en chaîne. Les journaux représentent les écritu...
Grading, reassemble et calcul des scores
Trois étapes distinctes La correction By Module n'est pas un seul calcul. Elle sépare : grading b...
Résultats, évaluations et correction de module
Génération des résultats byModuleGenerateTeamModuleResults() orchestre grading + reassemble puis ...
Procédure annuel pour updater les taxes (updated version 2026)
Note: La procédure assume que les liens utilisés resteront les mêmes et que la structure des fich...
Contextes Accounting — cycle, héritage et données entre périodes
Rôle des contextes Accounting Un contexte représente une période/situation comptable simulée avan...
Accounting 1 vs Accounting 2 — différences réelles
But de cette page ACC1 et ACC2 partagent le même moteur By Module / Accounting, mais ils ne diffè...
Fuzzy matching — logique de correspondance du grading Accounting
À quoi sert le fuzzy matching ? Le grading doit retrouver quelle facture ou écriture attendue cor...
By Year
Architecture By Year
Rôle By Year est le framework historique où une activité progresse année par année. À chaque anné...
Modèle de données By Year
Objets Unity SimulationByYear : simulation et options propres à la famille; ActivityByYear : anné...
Cycle d’une année, calendrier et jobs
startYear() utils_by_year.startYear(actData, updateYearFinished) incrémente l'année si nécessaire...
Commandes serveur, réouverture et transitions By Year
Entrées communes Le framework annuel est exposé par des commandes communes et par des wrappers ga...
Décisions et génération des résultats By Year
Principe Le framework By Year ne connaît pas la structure détaillée des décisions. Il délègue à ...
Bots et simulations asynchrones By Year
Quand les bots sont utilisés Dans generateResultsJob(), si actData.isAsync est vrai, takeBotsD...
Évaluations, logbook, scénarios et rankings By Year
Évaluations _utils/utils_eval.js fournit le cadre commun pour activité, présence, logbook, custom...
UI et prefabs By Year
Socle commun Assets/Src/UI/SimByYear/ contient l'UI réutilisée par les jeux annuels. Le contenu m...
ENT1 — architecture et logique game-specific
Positionnement ENT1 est un jeu By Year centré sur une entreprise qui combine production, usines, ...
HR1 — architecture et logique game-specific
Positionnement HR1 est le jeu By Year orienté gestion des ressources humaines : staffing, rémunér...
MGT1 — architecture et logique game-specific (DEPRECATED)
Positionnement MGT1 modélise la gestion d'une équipe de développement : employés, temps de travai...
MK1 — architecture et logique game-specific
Positionnement MK1 est le moteur marketing By Year centré sur création de produit, choix de segme...
Notifications et présence
Notifications envoyées depuis Unity Le Game envoie les notifications au backend Web. Notificatio...
MK2 — architecture et logique game-specific
Positionnement MK2 reprend le cœur marketing de MK1 mais ajoute notamment la logique pays/segment...