Algorithms · Runner
Le code utilisateur est exécuté dans un Web Worker éphémère avec timeout. Le thread principal ne fait pas d’évaluation dynamique du code.
Limites
src/domain/algoXpRunnerPolicy.js bloque les accès navigateur, réseau, stockage, les imports/exports, les échappatoires globales et les boucles manifestement infinies. Les tests personnels passent par le même Worker et un contrat d’expression limité ; ils ne peuvent pas injecter une instruction séparée.
Le runner n’est pas présenté comme une sandbox de sécurité pour du code hostile. Il s’agit d’un environnement borné pour les exercices du parcours.
Vérifications attendues
- un exercice exécute les tests visibles puis cachés ;
- un timeout termine le Worker et révoque son Blob URL ;
- une erreur conserve un message et les résultats déjà produits ;
- une expression de test vide, trop longue ou contenant une instruction est refusée ;
- le stockage ne reçoit jamais le code d’un exercice sans limite de taille.