CAT Architecture Probématique de l'architecture pour l'intégration du CAT 🧩 Note de conception : Centralisation de la source des items pour le moteur CAT 📌 Objet Cette note justifie la décision d’ isoler la source des items du moteur CAT (Computerized Adaptive Testing) à la seule Item Bank , excluant les tests instanciés ( TestStandard , TestLive , etc.) comme source directe d’items. ✅ Raisons principales 1. Respect de l’architecture conceptuelle L’Item Bank est conçue comme le référentiel stable des items, calibrés, tagués et versionnés. Les tests sont des instanciations pédagogiques temporaires , contextualisées et susceptibles de dupliquer les items. Le moteur CAT doit s’appuyer sur une source non dupliquée, stable et pérenne . 2. Prévention des doublons et biais psychométriques Un même item utilisé dans plusieurs tests devient plusieurs objets identifiables distinctement (différents _id ), générant un risque de sélection multiple dans le CAT. Cela brouille l’évaluation (mesure redondante), biaisant la distribution de difficulté et alourdit les procédures de dédoublonnage. 3. Performances de traitement Les objets Test sont plus profonds et nécessitent une navigation hiérarchique (sections, pages, éléments…). L’Item Bank permet un accès direct et indexé aux items, optimisé pour des requêtes filtrées ou pondérées. 4. Scalabilité et évolutivité Si de nouveaux types de test sont introduits ( TestLive , TestExploratoire , etc.), cela imposerait de modifier le moteur CAT pour intégrer de nouvelles structures. En s’appuyant exclusivement sur l’Item Bank, le moteur CAT reste découplé, modulaire et maintenable , sans dépendance à l’évolution des types de test. 5. Centralisation des métadonnées de calibrage Les données critiques pour le CAT (difficulté estimée, thème, discrimination, historique de performance) doivent être centralisées et versionnées dans l’Item Bank . Cela garantit une traçabilité et une meilleure qualité du calibrage . 🛠 Recommandation technique Restreindre la logique de sélection adaptative ( itemPool ) du moteur CAT à la seule Item Bank . Introduire éventuellement un champ booléen eligibleForCAT: true dans les items, pour faciliter le filtrage. Définir un système de tag/filtrage par niveau, thème, etc., directement dans les métadonnées des items. 📌 Bénéfices Aspect Avec Item Bank Avec objets Test Stabilité des items ✅ élevée ❌ sujette à duplications Risque de doublons ✅ contrôlé ❌ élevé Performance ✅ rapide, accès direct ❌ plus lent (structure profonde) Maintenabilité ✅ découplée ❌ dépend du type de test Extensibilité ✅ sans refonte ❌ recodage à chaque nouveauté Qualité psychométrique ✅ optimisée ❌ résultats potentiellement biaisés