Système d’évaluation commun
Couche commune
Les deux familles utilisent un socle d'évaluation partagé : StudentEvaluationBase, TeamEvaluationBase, leurs controllers, les stubs et les commandes BrainCloud communes.
Sources de notes
- performance d'activité;
- présence;
- logbook;
- scenario / segments;
- pair evaluation;
- custom evaluations;
- teacher overrides;
- By Module : scores de modules;
- By Year : scores annuels game-specific.
Commandes communes
Le contrat backend inclut notamment GetEvaluation, GetStudentEvaluationStub, GetActPerfEvaluation, GetLogbookEvaluation, GetCustomEvaluation, GetPresenceEvaluation, création/modification/suppression de custom eval, pair eval et teacher overrides.
Pondérations
La simulation conserve les ponderations d'évaluation et d'ActPerf. Les changements sont persistés serveur puis propagés en RTT afin que les contrôles professeur/étudiant se mettent à jour.
Stubs
SimulationBaseController maintient des caches de EvalStudentStub et EvalTeamStub. Ils sont marqués dirty lorsque certains messages arrivent afin d'éviter de recharger toutes les évaluations en permanence.
Spécialisation
flowchart TD
BASE[Évaluation commune] --> BM[By Module]
BASE --> BY[By Year]
BM --> MOD[Module scores / correction]
BY --> YR[Year results / game-specific Eval]
BASE --> LOG[Logbook]
BASE --> PRES[Presence]
BASE --> CUST[Custom / Pair / Overrides]
Règle de maintenance
Les calculs propres à un jeu restent dans son moteur Eval; la composition, les ponderations, les stubs et les mécanismes de sauvegarde/override restent communs.