Menu
1. Dossiers / Questions
1.1. QuestionFolder
GET /api/question_folders
Description :
Récupère un ensemble de données sur les dossiers de questions présents dans le menu Evaluations > Questions.
Les Dossiers Tirage Au Sort (DTAS) ne sont pas concernés.
Paramètres d’entrĂ©e :Â
title (string) : Chaine de caractères contenu dans le titre du/des dossiers
tags.name (string) : Chaine de caractères contenu dans le nom de l’/les Ă©tiquettes
createdAt[before] (string) : Dates inférieures ou égales pour lesquelles des dossiers ont été créés
createdAt[strictly_before] (string) : Dates strictement inférieures pour lesquelles des dossiers ont été créés
createdAt[after] (string) : Dates supérieures ou égales pour lesquelles des dossiers ont été créés
createdAt[strictly_after] (string) : Dates strictement supérieures pour lesquelles des dossiers ont été créés
archived (boolean) : Statut du dossier (archivé ou non)
page (integer) : 1 (Valeur par défaut)
RĂ©ponse :Â
{
...
"hydra:member": [
{
"@id": "string", // Id du dossier
"@type": "string", // Type de l'élément (=question_folders)
"title": "string", // Titre du dossier
"createdAt": "2023-08-21T13:28:26.171Z", // Date de création
"type": "string", // Type de dossier (dl,dp,kfp,tcspool,lca)
"independant": true, //True si le dossier est présent dans le menu Evaluations > Questions. Il est, par exemple, possible qu'il soit créé dans une autoévaluation (False dans ce cas).
"archived": true, // État d'archivage du dossier
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": 0,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
],
...
}
GET /api/question_folders/{id}
Description :
RĂ©cupère un ensemble de donnĂ©es d’un dossier, dont la liste des questions prĂ©sentes.
Les Dossiers Tirage Au Sort (DTAS) ne sont pas concernés.
Paramètres d’entrĂ©e :
Id (string) : Identifiant du dossier.
Réponse :
{
"@context": "string",
"@id": "string", // Id du dossier
"@type": "string", // Type de l'élément (=QuestionFolder)
"introduction": [], // Elements qui composent l'introduction
"folderQuestions": [
{
"@type": "string", // Type de l'élément (=FolderQuestionDto)
"question": {
"@id": "string", // Id de l'élément Question
"@type": "string", // Type de l'élément (=Question)
"title": "string", // Titre de la question
"createdAt": "2024-08-12T14:38:20.421Z", // date et heure de création
"type": "string", // Type de la question ("qrm", "qru", "textq" (QROC), "numeric", "listmatching" (ASSO), "qrp", "open_textq" (QROL), "zoning_question" (ZONE))
"independant": true,
"archived": true, // État d'archivage de la question
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": 0,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
},
"position": 0,
"obsoleteAt": "2024-08-12T14:38:20.421Z"
}
],
"title": "string", // Titre du dossier
"createdAt": "2023-08-21T13:30:15.021Z", // Date de création
"type": "string", // Type du dossier (dl,dp,kfp,tcspool,lca)
"independant": true, //True si le dossier est présent dans le menu Evaluations > Questions. Il est, par exemple, possible qu'il soit créé dans une autoévaluation (False dans ce cas).
"archived": true, // État d'archivage du dossier
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": 0,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
```
1.2. RandomQuestionFolder
GET /api/random_question_folders
Description :
RĂ©cupère un ensemble de donnĂ©es sur les Dossiers Tirage Au Sort (DTAS) prĂ©sents dans le menu Evaluations > Questions.Â
Le DTAS est un dossier composĂ© d’un ou plusieurs dossiers libres. L’objectif est de venir tirer au sort un certain nombre de questions dans chacun de ces dossiers libres.
Paramètres d’entrĂ©e :Â
title (string) : Chaine de caractères contenu dans le titre du/des dossiers
tags.name (string) : Chaine de caractères contenu dans le nom de l’/les Ă©tiquettes
createdAt[before] (string) : Dates inférieures ou égales pour lesquelles des dossiers ont été créés
createdAt[strictly_before] (string) : Dates strictement inférieures pour lesquelles des dossiers ont été créés
createdAt[after] (string) : Dates supérieures ou égales pour lesquelles des dossiers ont été créés
createdAt[strictly_after] (string) : Dates strictement supérieures pour lesquelles des dossiers ont été créés
archived (boolean) : Statut du dossier (archivé ou non)
page (integer) : 1 (Valeur par défaut)
RĂ©ponse :Â
{
...
"hydra:member": [
{
"@id": "string", // Id du dossier
"@type": "string", // Type de l'a route'élément (=RandomQuestionFolder)
"title": "string", // Titre du dossier
"createdAt": "2023-08-21T13:59:52.577Z", // Date de création du dossier
"type": "string", // Type de dossier (=rndpoolgroup)
"independant": true, //True si le dossier est présent dans le menu Evaluations > Questions. Il est, par exemple, possible qu'il soit créé dans une autoévaluation (False dans ce cas).
"archived": true, // État d'archivage du dossier
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": 0,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
],
...
}
GET /api/random_question_folders/{id}
Description :
RĂ©cupère un ensemble de donnĂ©es d’un Dossiers Tirage Au Sort (DTAS).
Le DTAS est un dossier composĂ© d’un ou plusieurs dossiers libres. L’objectif est de venir tirer au sort un certain nombre de questions dans chacun de ces dossiers libres.
Paramètres :Â
Id (string) : Identifiant du DTAS. Il est important de noter que l’identifiant correspond Ă celui renseignĂ© sur la plateforme.
RĂ©ponse :Â
{
"@context": "string",
"@id": "string", // Id du dossier
"@type": "string", // Type de la route
"introduction": [],
"folderQuestions": [
{
"@id": "string", // Id du dossier libre
"@type": "string", // Type de l'élément (=RandomQuestionFolderQuestionFolder)
"questionFolder": "string", // Identifiant du dossier libre au sein du DTAS
"nbToPick": 0 // Nombre de questions piochées
}
],
"title": "string", // Titre du dossier
"createdAt": "2023-08-21T13:59:00.387Z", // Date de création
"type": "string", // Type de dossier (=rndpoolgroup)
"independant": true, //True si le dossier est présent dans le menu Evaluations > Questions. Il est, par exemple, possible qu'il soit créé dans une autoévaluation (False dans ce cas).
"archived": true, // État d'archivage du dossier
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": 0,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
1.3. Question
GET /api/question
Description :
RĂ©cupère un ensemble de donnĂ©es concernant l’ensemble des questions
Paramètres :Â
title (string) : Chaine de caractères contenu dans le titre de la/des questions
tags.name (string) : Chaine de caractères contenu dans le nom de l’/les Ă©tiquettes
createdAt[before] (string) : Dates inférieures ou égales pour lesquelles des questions ont été créés
createdAt[strictly_before] (string) : Dates strictement inférieures pour lesquelles des questions ont été créés
createdAt[after] (string) : Dates supérieures ou égales pour lesquelles des questions ont été créés
createdAt[strictly_after] (string) : Dates strictement supérieures pour lesquelles des questions ont été créés
archived (boolean) : Statut de la question (archivée ou non)
page (integer) : 1 (Valeur par défaut)
RĂ©ponse :Â
{
"hydra:member": [
{
"@id": "string", // Id de la question
"@type": "string", // Type de l'élément (=Question)
"title": "string", // Titre de la question
"createdAt": "2023-08-21T13:30:46.344Z", // Date de création de la question
"type": "string", // Type de la question ("qrm", "qru", "textq" (QROC), "numeric", "listmatching" (ASSO), "qrp", "open_textq" (QROL), "zoning_question" (ZONE))
"independant": true,
"archived": true, // État d'archivage de la question
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": null,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
],
...
}
GET /api/question/{id}
Description :
RĂ©cupère un ensemble donnĂ©es d’une question.
Paramètres :
Id (string) : Identifiant de la question isolĂ©e. Il est important de noter que l’identifiant correspond Ă celui renseignĂ© sur la plateforme.
Réponse :
{
"@context": "string",
"@id": "string", // Id de la question
"@type": "string", // Type de l'élément (=Question)
"statement": {
"@type": "string", // Type de l'a route l'élément (=ContainerBlockDto)
"@id": "string", // Id du ContainerBlockDto
"textBlocks": [
{
"@type": "string", // Type de l'élément (=ContainerBlockDto)
"@id": "string", // Id du bloc de texte
"textContent": "string", // Contenu du bloc texte de l'enoncé
"contentType": "string", // Type du contenu (=html)
"position": 0 // Position du bloc
}
],
"imageBlocks": [
{
"@type": "string", // Type de l'élément (=ImageBlockDto)
"@id": "string", // Id du bloc image
"fileLink": {
"@type": "string", // Type d'élément (=FileLinkDto)
"@id": "string", // Id du fichier
"fileUrl": "string" // URL du fichier utilisé
},
"position": 0 // Position du bloc
}
],
"videoBlocks": [
{
"@type": "string", // Type de l'élément (=VideoBlockDto)
"@id": "string", // Id du bloc vidéo
"fileLink": {
"@type": "string", // Type d'élément (=FileLinkDto)
"@id": "string", // Id du fichier
"fileUrl": "string" // URL du fichier utilisé
},
"position": 0 // Position du bloc
}
],
"audioBlocks": [
{
"@type": "string", // Type de l'élément (=AudioBlockDto)
"@id": "string", // Id du bloc audio
"fileLink": {
"@type": "string", // Type d'élément (=FileLinkDto)
"@id": "string", // Id du fichier
"fileUrl": "string" // URL du fichier utilisé
},
"position": 0 // Position du bloc
}
],
"position": 0 // Position du ContainerBlockDto
},
"title": "string", // Titre de la question
"createdAt": "2023-08-21T13:31:47.342Z", // Date de création
"type": "string", // Type de la question ("qrm", "qru", "textq" (QROC), "numeric", "listmatching" (ASSO), "qrp", "open_textq" (QROL), "zoning_question" (ZONE))
"independant": true,
"archived": true, // État d'archivage de la question
"status": 0, // Statut du dossier (Brouillon=0, Prêt à valider=1, Validé=2, Validé par la commisision=3, Visé par la scolarité=4, Obsolète=5)
"weight": null,
"tags": [
{
"@id": "string", // Id de l'étiquette
"@type": "string", // Type de l'élément (=Tag)
"name": "string", // Nom de l'étiquette
"category": "string" // Id de la catégorie de l'étiquette
}
]
}
2. Examens
GET /api/exams
Description :
RĂ©cupère un ensemble de donnĂ©es concernant l’ensemble des examens et confĂ©rences prĂ©sents dans le menu Evaluations > Epreuves.
Les entrainements et devoirs ne sont pas concernés.
Paramètres d’entrĂ©e :Â
creator (string) : Chaine de caractères contenu dans l’identifiant complet de l’utilisateur ayant créé des Ă©preuves (= « /api/groups/28743″)
creator[] (array[string]) : Tableau des identifiants des utilisateurs ayant créé des épreuves
title (string) : Chaine de caractères contenu dans le titre de l’Ă©preuve
page (integer) : 1 (Valeur par défaut)
Réponse :
{
...
"hydra:member": [
{
"@id": "string", // Id de l'épreuve
"@type": "string", // Type de l'élément (=Exam)
"startDate": "2023-08-21T12:32:40.075Z", // Date de début de l'épreuve
"endDate": "2023-08-21T12:32:40.075Z", // Date de fin de l'épreuve
"accessCode": "string", // Code d'accès de l'épreuve (null si aucun code paramétré)
"title": "string", // Titre de l'épreuve
"creator": "string", // Id du créateur de l'épreuve
"archived": true // État de l'archivage de l'examen
}
],
...
}
GET /api/exams/{id}
Description :
RĂ©cupère un ensemble de donnĂ©es d’un examen ou d’une confĂ©rence.
Paramètres d’entrĂ©e :Â
Id (string) : Identifiant de l’Ă©preuve. Il est important de noter que l’identifiant correspond Ă celui renseignĂ© sur la plateforme.
RĂ©ponse :Â
{
"@context": "string",
"@id": "string", // Id de l'épreuve
"@type": "string", // Type l'élément (=Exam)
"accessCode": "string", // Code d'accès de l'épreuve (null si aucun code paramétré)
"title": "string", // Titre de l'épreuve
"creator": "string", // Id du créateur de l'épreuve
"assessmentOptions": "string", // Id de l'élément assessment_options
"archived": true, // État d'archivage de l'examen
"anticheatEnabled": true // État de l'option anti-triche
}
GET /api/exams/{id}/correction
Description :
Initie le calcul des notes pour l’ensemble des participants d’une Ă©preuve terminĂ©e.
Une fois l’Ă©preuve terminĂ©e, il est impĂ©ratif d’appeler cette route afin de pouvoir exporter les notes.
Paramètres :Â
Id (string) : Identifiant de l’Ă©preuve.
RĂ©ponse :Â
{
"@context": "string",
"@id": "string", // Id de l'examen
"@type": "string", // Type de l'élément (=Exam)
"correction": [
"pendingJobs": false, // Statut du processus de calcul de notes
"pendingJobsResult": [],
"correctionStatus": true, // Statut de génération des notes
"isFinishedExam": true // Statut de fin d'examen
]
}
GET /api/exams/{id}/checkjobs
Description :
RĂ©cupère un ensemble de donnĂ©es concernant les processus asynchrones d’une Ă©preuve.
Cette route permet de vérifier, par exemple, que le calcul des notes est bien terminé avant de réaliser un export.
Paramètres :Â
Id (string) : Identifiant de l’Ă©preuve.
RĂ©ponse :Â
{
"@context": "string",
"@id": "string", // Id de l'épreuve
"@type": "string", // Type de l'élément (=Exam)
"checkJobs": [
"string"
"pendingJobs": false, // Statut du processus de calcul de notes
"pendingJobsCount": null // Nombre de jobs en cours
]
}
GET /api/exams/{id}/participant_groups
Description :
RĂ©cupère la liste des participants d’un examen inscrits via l’inscription par groupe.
Les personnes inscrites via l’inscription individuelle ne sont pas concernĂ©es.
Paramètres :
Id (string) : Identifiant de l’examen
page (integer) : 1 (Valeur par défaut)
Réponse :
{
...
"hydra:member": [
{
"@id": "string", // Id de l'élément AssessmentParticipantGroup
"@type": "string", // Type de l'élément (=AssessmentParticipantGroup)
"assessment": {
"@id": "string", // Id de l'épreuve
"@type": "string" // Type de l'élément (=Exam)
},
"group": "string", // Id du groupe inscrit
"participants": [
"string" // Id des participants du groupe
]
}
],
...
}
GET /api/exams/{id}/participants
Description :
RĂ©cupère un ensemble de donnĂ©es sur l’ensemble des participants Ă un examen ou une confĂ©rence qu’ils soient inscrits par groupe ou individuellement.
Paramètres :Â
id (string) : Identifiant de l’Ă©preuve
lastCorrectionDate[before] (string) : Dates inférieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[strictly_before] (string) : Dates strictement inférieures des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[after] (string) : Dates supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[strictly_after] (string) : Dates strictement supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
user (string) : Chaine de caractères contenu dans l’identifiant complet de l’utilisateur ayant participĂ© Ă l’Ă©preuves (= « /api/groups/28743″)
user[] (array[string]) : Tableau des identifiants des utilisateurs ayant participĂ© Ă l’Ă©preuve
RĂ©ponse :Â
{
...
"hydra:member": [
{
"@id": "string", // Id de l'élément ExamParticipant
"@type": "string", // Type de l'élément (=ExamParticipant)
"additionalTime": 0,
"status": 0,
"placeNumber": 0, // Numéro de place du participant
"participantGroups": [], // Id du groupe inscrit à l'épreuve de l'utilisateur
"user": "string" // Id de l'utilisateur
}
],
...
}
GET /api/exams/{id}/participants_results
Description :
RĂ©cupère les rĂ©sultats de l’ensemble des participants.
Il est important de noter que les notes finales ne sont pas fournies dans la rĂ©ponse. En effet, grâce aux attributs Score et Weight qui reprĂ©sentent respectivement la note /1 et la pondĂ©ration de chaque question, il est possible de calculer la note final de chaque Ă©tudiant en utilisant le barème final souhaitĂ© (/10, /20, /100, …).
Il suffit simplement de multiplier Score par Weight et d’additionner le rĂ©sultat de chaque question. La dernière Ă©tape sera d’appliquer le coefficient adĂ©quat afin d’obtenir le barème final souhaitĂ©. Cette manipulation devra ĂŞtre effectuĂ©e pour l’ensemble des Ă©tudiants.
Paramètres :Â
id (string) : Identifiant de l’Ă©preuve
lastCorrectionDate[before] (string) : Dates inférieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[strictly_before] (string) : Dates strictement inférieures des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[after] (string) : Dates supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
lastCorrectionDate[strictly_after] (string) : Dates strictement supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)
user (string) : Chaine de caractères contenu dans l’identifiant complet de l’utilisateur ayant participĂ© Ă l’Ă©preuves (= « /api/groups/28743″)
user[] (array[string]) : Tableau des identifiants des utilisateurs ayant participĂ© Ă l’Ă©preuve
page (integer) : 1 (Valeur par défaut)
RĂ©ponse :Â
{
...
"hydra:member": [
{
"@id": "string", // Id de l'élément ExamParticipant
"@type": "string", // Type de l'élément (=ExamParticipant)
"additionalTime": 0,
"status": 0,
"placeNumber": 0, // Numéro de places du participant
"assessmentSessions": [
{
"@id": "string", // Id de l'élément AssessmentSession
"@type": "string", // Type de l'élément (=AssessmentSession)
"status": 0, // Statut de la session d'examen
"createdAt": "string", // Date et heure de création de la session d'examen. Il s'agit de la date à laquelle le participant a cliqué sur l'icone de démarrage.
"beginDate": "string", // Date de départ de la session d'examen (*)
"endDate": "string", // Date de soumission. null si la copie n'est pas soumise.
"score": "string",
"questionFoldersResults": [
{
"@type": "string", // Type de l'élément (=QuestionFolderResultDto)
"@id": "string", // Id de l'élément QuestionFolderResultDto
"correctionConfiguration": {
"@type": "string", // Type de l'élément (=QuestionFolderCorrectionConfigurationDto)
"@id": "string", // Id de l'élément QuestionFolderCorrectionConfigurationDto
"questionnaireQuestionFolder": "string", // Id de l'élément QuestionnaireFolder
"weight": 0, // Pondération du dossier au sein de l'épreuve
"markScheme": "string"
},
"questionResults": [
{
"@type": "string", // Type de l'élément (=QuestionResultDto)
"@id": "string", // Id de l'élément QuestionResultDto
"correctionConfiguration": {
"@type": "string", // Type de l'élément (=QuestionCorrectionConfigurationDto)
"@id": "string", // Id de l'élément QuestionCorrectionConfigurationDto
"question": "string", // Id de la question
"weight": 0 // Pondération de la question dans l'épreuve
},
"score": 0, // Score obtenu /1 Ă la question
"answered": true, // État d'enregistrement de la réponse
"discordanceCount": 0, // Nombre de discordance Ă la question
"fatalResponded": "string" // Au niveau du QRM, true si le
//participant a coché une case inacceptable ou indispensable
},
}
]
}
],
"firstScore": "string",
"lastScore": "string",
"lastCorrectionDate": "string",
"firstCorrectionDate": "string"
},
],
...
}
* BeginDate : Pour une confĂ©rence, createdAt sera Ă©quivalente Ă begindate. Pour un examen, la diffĂ©rence entre ces deux dates et heures correspond au temps mis par l’Ă©tudiant pour renseigner le code d’accès ou passĂ© dans la salle d’attente.
GET /api/exams/{id}/questionnaire
Description :
RĂ©cupère les donnĂ©es concernant l’organisation des dossiers d’une autoĂ©valuation appelĂ©e dans une session de formation.Â
Paramètres :Â
Id (string) : Identifiant de l’Ă©preuve
RĂ©ponse :Â
{
...
"hydra:member": [
{
"@id": "string", // Id de l'élément questionnaire
"@type": "string", // Type de l'élément (=Questionnaire)
"questionFolders": [
{
"@id": "string", // Id de l'élément QuestionnaireFolder
"@type": "string", // Type de l'élément (=QuestionnaireFolder
"folder": {
"@id": "string", // Id du dossier
"@type": "string" // Type de l'élément (=QuestionFolder)
},
"position": 0 // Position du dossier dans l'examen
}
]
}
],
...
}
POST /api/exams/{id}/participant_groups
Description :
Inscrit un groupe d’utilisateurs Ă une Ă©preuve.
Paramètres d’entrĂ©e :Â
Id (string) : Identifiant de l’Ă©preuve
Corps de la requĂŞte :
{
"participantGroups": [
{
"group": "string" //Id complet du groupe (Ex : /api/groups/28737)
}
]
}
RĂ©ponse :Â
{
"@context": "string",
"@id": "string", // Id de l'épreuve
"@type": "string", // Type de l'élément (=exam)
"participantGroups": [
{
"@id": "string", // Id de l'élément assessment_participant_groups
"@type": "string", // Type de l'élément (AssessmentParticipantGroup)
"group": "string" // Id du groupe
}
]
}