Skip to main content

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...