13 - Randomisation

Anti-triche

Chaque élève a un ordre de questions différent mais reproductible.

Algorithme

// Seed unique par élève
$seed = crc32($userId . $testCodeId . $sessionId);
mt_srand($seed);

// Mélanger
shuffle($exercices);

// Sauvegarder ordre
$testSession->update([
    'question_order' => $exercices->pluck('id')->toArray()
]);

Avantages

✅ Ordre différent chaque élève ✅ Impossible de copier ✅ Reproductible si reprise ✅ Équité totale

Configuration

Last updated