Modèle de Questionnaire par Catégorie
Le composant CategoryQuiz sert aux diagnostics qui demandent un scoring sur plusieurs dimensions (ex. Communauté, Compétence, Crédibilité, Compassion) ainsi qu’un score global.
Utilisation
Pour créer un nouveau quiz par catégorie, créez un fichier markdown et utilisez le composant ainsi :
vue
<CategoryQuiz
:questions="questions"
:categories="categories"
:overall="overall"
emailEndpoint="/.netlify/functions/record-quiz"
quizName="Mon quiz par catégorie"
>
<template #intro>
<h2>Mon Diagnostic</h2>
<p>Notez-vous sur ces dimensions clés.</p>
</template>
</CategoryQuiz>
<script setup>
const questions = [
{
id: 'q1',
prompt: 'Texte de question...',
categoryId: 'cat1',
options: [
{ value: 5, label: 'Tout à fait d’accord' },
{ value: 1, label: 'Pas du tout d’accord' }
]
}
];
const categories = {
cat1: {
title: 'Catégorie 1',
thresholds: [
{
min: 4.0,
max: 5.0,
label: 'Haut',
description: 'Vous excellez sur cette dimension.'
},
{
min: 0,
max: 3.9,
label: 'Bas',
description: 'Cette dimension demande du travail.'
}
]
}
};
const overall = {
thresholds: [
{
min: 4.0,
max: 5.0,
label: 'Excellent',
description: 'Performance globale excellente.'
},
{
min: 0,
max: 3.9,
label: 'À améliorer',
description: 'Espace d’amélioration global.'
}
]
};
</script>Props
| Prop | Type | Obligatoire | Description |
|---|---|---|---|
questions | Array | Oui | Tableau d’objets question. |
categories | Object | Oui | Définition des catégories et seuils. |
overall | Object | Oui | Définition des seuils du score global. |
emailEndpoint | String | Non | URL pour envoyer les résultats par POST. |
quizName | String | Non | Nom du quiz pour le suivi. |
Structures de données
Objet Question
javascript
{
id: 'unique_id',
prompt: 'Texte de question',
categoryId: 'id_categorie_correspondant',
options: [
{ value: 5, label: 'Texte de l’option' }
]
}Définition de Catégorie
javascript
{
title: 'Titre affiché',
thresholds: [
{
min: 0,
max: 5,
label: 'Libellé du résultat',
description: 'Texte d’interprétation.'
}
]
}Checklist d’implémentation
- Définir les catégories : identifiez les dimensions à mesurer.
- Mapper les questions : chaque question doit posséder un
categoryIdvalide. - Fixer les seuils : définissez des plages min/max claires pour chaque catégorie et pour le score global.
- Routage : ajoutez le nouveau quiz à
docs/fr/quizzes/index.mdmanuellement. Ne pas utiliser le frontmatterslugsi vous comptez sur le routage standard par dossier.

