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
}
]
}