CodexEval est un environnement d'évaluation interactif, sécurisé et sans distraction, conçu pour tester la logique de programmation, la connaissance des frameworks et les compétences en résolution de problèmes des développeurs.
- Surveillance Stricte (Proctoring) : Suivi avancé des changements d'onglets et du mode plein écran. Toute violation déclenche des avertissements personnalisés de l'interface utilisateur, fermant automatiquement la session après 3 infractions.
- Génération Dynamique : Sélectionne aléatoirement des questions depuis une base de données sécurisée, garantissant une évaluation unique pour chaque candidat.
- Synchronisation Globale : Suivi du classement en temps réel. Observez les classements évoluer instantanément au fur et à mesure que les candidats terminent leurs évaluations.
- Environnement Isolé : Interface utilisateur bloquée forçant la concentration maximale du candidat.
- HTML5 (Sémantique et structure)
- CSS3 (Variables natives, Flexbox, Grid, design responsive)
- JavaScript (ES6+) (Logique de session, manipulation du DOM, système anti-triche)
Ce projet ne nécessite aucun build system ou dépendance serveur pour son interface de base.
-
Clonez le dépôt :
git clone https://github.com/adjagbafortune/codexeval.git
-
Naviguez dans le répertoire du projet :
cd codexeval -
Lancement : Ouvrez le fichier index.html directement dans votre navigateur web.
Note pour les utilisateurs de VS Code : Un fichier de configuration .vscode/settings.json est inclus. Si vous utilisez l'extension Live Server, le projet se lancera automatiquement et de manière optimale sur le port 5501.
La banque de questions est entièrement découplée de la logique principale pour faciliter son enrichissement. Pour ajouter ou modifier des questions :
-
Ouvrez le fichier questions.js.
-
Localisez le tableau questionsDatabase.
-
Ajoutez un nouvel objet JSON en respectant scrupuleusement cette syntaxe :
{ question: "Votre question technique ici ?", options: ["Option A", "Option B", "Option C", "Option D"], correctIndex: 0, // L'index de la bonne réponse (de 0 à 3) difficulty: "Facile", // "Facile", "Moyen" ou "Difficile" explanation: "L'explication détaillée affichée après la soumission." }
Ce projet est sous License MIT. Voir le fichier pour plus de détails.