Format de fichier

Le fichier .json d’un quiz : ce qu’il contient et comment l’ouvrir

Un quiz CanQuiz s’exporte sous forme de fichier .json : du texte qui contient les questions, les options et les réponses. Voici son format, champ par champ, avec un exemple qui s’ouvre dans le navigateur sans créer de compte.

Il s’ouvre sur app.canquiz.com/abrir. Le fichier est lu dans ton navigateur.

Ce que c’est et d’où il vient

C’est ce que tu télécharges depuis la “Bibliothèque” : dans le menu “Plus” d’un quiz, “Télécharger” puis “Fichier CanQuiz (pour l’envoyer à quelqu’un)”. Il pèse quelques kilo-octets, circule par WhatsApp ou par e-mail comme n’importe quelle pièce jointe et n’a pas de date d’expiration. C’est pour ça que les quiz passent de main en main de cette façon.

Si quelqu’un te l’a envoyé, tu n’as besoin de rien comprendre de ce qui suit : dépose-le sur app.canquiz.com/abrir et fais le quiz. Cette page s’adresse à qui veut savoir ce qu’il y a dedans, en écrire un à la main ou en faire générer par un autre outil.

Le niveau racine

Le fichier est un objet JSON. La seule partie indispensable est la liste des questions : si l’objet des réglages manque, CanQuiz le remplit avec les valeurs par défaut.

questionslisteobligatoire
Les questions, dans l’ordre où elles apparaissent. Au moins une. Chacune est décrite plus bas.
settingsobjet
La façon dont le quiz se déroule : mélange, note pour réussir, explications. Il peut manquer, et CanQuiz applique alors les réglages par défaut ; tous ses champs sont facultatifs.
metadataobjet
Les données du quiz. Celle que CanQuiz lit à l’ouverture est title_suggestion, le titre proposé si le fichier n’en apporte pas d’autre, jusqu’à 120 caractères. Le reste est conservé tel quel.
_canquiz_urltexte
L’export l’ajoute avec _canquiz et _canquiz_titulo : le lien du quiz, seulement s’il était partagé par lien, une note d’une ligne et le titre sous lequel il a été téléchargé. Ils sont retirés à l’ouverture du fichier : tu peux donc les supprimer ou les laisser.

Le même contenu s’ouvre aussi enveloppé dans un autre objet à deux champs, title et content : title devient le titre du quiz, et content contient questions, settings et metadata.

Chaque question

Les mêmes champs pour tous les types. Les réponses sont comparées au texte exact : ce que tu mets dans correct_answer doit être écrit exactement comme dans options.

idtexteobligatoire
Un identifiant court, comme q1, q2, q3. Il n’est pas affiché, mais il ne peut pas se répéter dans un même quiz : l’enregistrement dans un compte refuse les doublons.
typetexteobligatoire
Le type de question, tel quel : single_choice, multiple_choice, true_false, question_answer ou short_answer. Ils sont expliqués dans la section suivante.
questiontexteobligatoire
L’énoncé, jusqu’à 2000 caractères. Uniquement du texte : le format ne contient pas d’images.
optionsliste
Les options, chacune jusqu’à 1000 caractères. Obligatoires pour les questions à choix ; les questions ouvertes n’ont pas ce champ.
correct_answertexte ou listeobligatoire
Le texte exact de la bonne option, ou une liste de textes pour multiple_choice. Pour les questions ouvertes, la réponse attendue. Jusqu’à 2000 caractères.
explanationtexte
Pourquoi c’est la bonne réponse, jusqu’à 20000 caractères. Affichée à la correction si les explications sont activées dans le quiz.

Types de questions

La valeur de type détermine les champs nécessaires et la façon dont la réponse est corrigée.

single_choiceune seule réponse
Une seule bonne option parmi plusieurs. correct_answer est un texte qui doit correspondre à l’une des options.
multiple_choiceplusieurs réponses
Au moins deux options, avec une ou plusieurs bonnes réponses. correct_answer est une liste avec le texte de chaque bonne option.
true_falsevrai ou faux
Exactement deux options, dans la langue de ton choix (Vrai et Faux, True et False). correct_answer est l’une des deux.
question_answerquestion ouverte
Sans options. On y répond par écrit, et l’IA la corrige en comparant avec correct_answer, la réponse attendue. Cette correction demande un compte.
short_answerréponse courte
Sans options. On y répond par un mot ou une courte phrase, comparé à la bonne réponse sans tenir compte des majuscules, des accents, de la ponctuation ni d’un article devant ; si ça ne correspond pas, l’IA regarde si le sens est le même. correct_answer peut être une liste de réponses acceptées.

Les réglages

Tous facultatifs. Un réglage absent est considéré comme désactivé, ou à sa valeur habituelle.

shuffle_questionstrue ou false
Mélange l’ordre des questions à chaque fois que le quiz est fait.
shuffle_optionstrue ou false
Mélange l’ordre des options dans chaque question.
passing_scorenombre
Le pourcentage pour réussir, de 0 à 100. Il est accepté et conservé, mais CanQuiz ne l’applique pas aujourd’hui : le résultat n’indique pas si tu as réussi ou échoué.
show_explanationtrue ou false
Affiche l’explication à la correction de chaque question.
show_progresstrue ou false
Affiche combien de questions sont faites et combien il en reste.
time_limitnombre
Une limite en secondes, supérieure à 0. Elle est acceptée et conservée, mais CanQuiz ne l’applique pas aujourd’hui : un quiz isolé n’a pas de compte à rebours.
ai_strictness_levelnombre
De 1 à 10 : le niveau d’exigence de la correction par l’IA des questions ouvertes.

Un exemple complet

Quatre questions de quatre types différents, avec leurs réglages, toutes corrigées sans compte. Copie-le ou télécharge-le, et ouvre-le sur app.canquiz.com/abrir pour voir le résultat.

{
  "metadata": {
    "title_suggestion": "L’eau (exemple)"
  },
  "settings": {
    "shuffle_questions": false,
    "shuffle_options": true,
    "passing_score": 70,
    "show_explanation": true,
    "show_progress": true
  },
  "questions": [
    {
      "id": "q1",
      "type": "single_choice",
      "question": "À quelle température l’eau pure bout-elle au niveau de la mer ?",
      "options": [
        "90 °C",
        "100 °C",
        "110 °C",
        "120 °C"
      ],
      "correct_answer": "100 °C",
      "explanation": "À une pression d’une atmosphère, l’eau pure bout à 100 °C."
    },
    {
      "id": "q2",
      "type": "multiple_choice",
      "question": "Quels éléments composent une molécule d’eau ?",
      "options": [
        "Hydrogène",
        "Oxygène",
        "Carbone",
        "Azote"
      ],
      "correct_answer": [
        "Hydrogène",
        "Oxygène"
      ],
      "explanation": "H₂O : deux atomes d’hydrogène et un atome d’oxygène."
    },
    {
      "id": "q3",
      "type": "true_false",
      "question": "La glace flotte sur l’eau liquide parce qu’elle est moins dense qu’elle.",
      "options": [
        "Vrai",
        "Faux"
      ],
      "correct_answer": "Vrai",
      "explanation": "En gelant, l’eau se dilate et sa densité descend à environ 0,92 g/cm³."
    },
    {
      "id": "q4",
      "type": "short_answer",
      "question": "Comment appelle-t-on le passage de l’eau de l’état liquide à l’état gazeux en dessous de son point d’ébullition ?",
      "correct_answer": "Évaporation",
      "explanation": "Elle se produit à la surface, à n’importe quelle température : c’est pour ça que le linge étendu sèche sans atteindre 100 °C."
    }
  ]
}

Si tu le modifies, enregistre-le en texte brut avec l’extension .json. Un éditeur de code te signale une virgule ou des guillemets oubliés.

Pourquoi un fichier ne s’ouvre pas

À l’ouverture d’un fichier, CanQuiz ne devine rien : soit le fichier respecte le format, soit tu reçois un avertissement. Voici les erreurs les plus courantes.

La bonne réponse sous forme de lettre

“B” ou “2” dans correct_answer ne marchent pas dans un fichier : il faut le texte de l’option, écrit à l’identique.

Aucune question

questions doit être présent et contenir au moins une question. settings, en revanche, peut manquer : CanQuiz applique les réglages par défaut.

Un vrai ou faux avec plus de deux options

true_false en prend exactement deux. Pour trois ou plus, utilise single_choice.

Une question ouverte avec des options

question_answer ne peut pas avoir d’options. Si elle en a, c’est une question à choix.

Un type mal écrit

multiple-choice avec un tiret ou MultipleChoice ne sont pas des types : ils s’écrivent en minuscules, avec un tiret bas.

Un texte trop long

Chaque champ a un plafond de caractères, là pour bloquer les fichiers absurdes : un énoncé de plus de deux mille caractères ne s’ouvre plus.

Des id en double

Deux questions avec le même id peuvent être faites sans compte, mais ne peuvent pas être enregistrées dans un compte.

Si tu veux qu’une IA le fasse

Pas besoin d’écrire le JSON. Avec le plugin CanQuiz dans ChatGPT, tu demandes le quiz et il est enregistré dans ton compte, prêt à faire. La marche à suivre est sur la page créer des questions à choix avec ChatGPT.

Questions fréquentes

Faut-il un compte pour ouvrir un .json ?

Non. Sur app.canquiz.com/abrir, tu le déposes ou tu le choisis, et tu fais tout le quiz, avec corrections et explications. Un compte n’est utile que pour l’enregistrer, le réviser plus tard ou le modifier : appuie sur “Se connecter et l’enregistrer” et, à ton retour, le quiz est dans ton compte avec les réponses déjà données. Le quiz devient alors le tien, et la personne qui te l’a envoyé ne peut plus le modifier.

Le fichier est-il envoyé sur un serveur ?

Tant que tu ne te connectes pas à un compte, le fichier n’est enregistré nulle part : le navigateur le lit sur ton appareil et le quiz se fait là. Seulement si une réponse courte ne correspond pas à la bonne, cette question et ce que tu as écrit partent vers l’IA pour vérifier si le sens est le même, sans être conservés. Si tu décides d’enregistrer le quiz, il est alors conservé dans ton compte CanQuiz.

Comment exporter l’un de mes quiz en JSON ?

Dans la “Bibliothèque”, ouvre le menu “Plus” du quiz, appuie sur “Télécharger” et choisis “Fichier CanQuiz (pour l’envoyer à quelqu’un)”. Le même menu propose aussi “Tableur (CSV)” et “Anki (texte avec tabulations)”.

Puis-je écrire un quiz à la main dans ce format ?

Oui. Pars de l’exemple de cette page, change les questions et les réponses avec n’importe quel éditeur de texte et enregistre le fichier avec l’extension .json. S’il ne s’ouvre pas, vérifie d’abord que chaque correct_answer est écrit exactement comme son option.

Une autre IA ou mon propre programme peut-il le générer ?

Oui, c’est du JSON ordinaire. Si un programme le génère, suis les champs de cette page et le fichier s’ouvrira comme un fichier exporté. Si tu veux qu’un chat d’IA le fasse, le plus simple est le plugin CanQuiz dans ChatGPT ou la connexion de ton compte à Claude : le quiz est enregistré directement, sans fichier.

Peut-il ouvrir des fichiers Quizlet, Kahoot ou un CSV ?

Non. CanQuiz n’ouvre que son propre JSON. Il exporte en JSON, en CSV et pour Anki, mais ne reprend rien de ces outils et n’exporte pas vers Quizlet ou Kahoot. Si tes questions sont ailleurs, tu peux les coller en texte et laisser l’IA monter le quiz.

Combien de questions tiennent dans un fichier ?

À l’ouverture, CanQuiz ne fixe pas de nombre maximal de questions : ce qui est plafonné, c’est le texte de chaque champ, de deux mille caractères pour l’énoncé à vingt mille pour l’explication. Un long quiz reste léger, quelques kilo-octets de texte.

On t’a envoyé un .json ?

Dépose-le dans CanQuiz et fais le quiz maintenant, dans ton navigateur et sans créer de compte.