# Test de personnalité

> Apprenez à créer un test de personnalité avec des variables et des conditions. Découvrez comment calculer des scores par profil et afficher le résultat correspondant.

https://docs.pandasuite.com/fr/essentials/gamification/personality-quiz/

**Créez un test de personnalité qui attribue un profil à l'utilisateur en fonction de ses réponses. Chaque réponse incrémente le score d'un profil spécifique, et le profil avec le score le plus élevé est affiché à la fin.**

[Vidéo : Démo du template de test de personnalité : « What kind of creator are you? », cinq questions à trois réponses, puis le profil Creative Strategist]

[Modèle : Test de personnalité](https://pandasuite.com/fr/templates/test-personnalite/)

## Comment fonctionne un test de personnalité

Un test de personnalité repose sur un système de **calcul de scores** en fonction des réponses de l'utilisateur. La logique est simple :

1. **Chaque profil a sa propre variable** (par exemple : profil\_explorateur, profil\_créatif, profil\_stratège)
2. **Chaque réponse incrémente le score d'un profil** spécifique
3. **À la fin du test, les scores sont comparés** avec des [conditions](https://docs.pandasuite.com/fr/essentials/components/condition/)
4. **L'écran du profil gagnant est affiché**

> **Info**
>
> Ce tutoriel est accessible aux utilisateurs débutants ayant des bases sur les
> [variables](https://docs.pandasuite.com/fr/essentials/data/variables/) et les
> [conditions](https://docs.pandasuite.com/fr/essentials/components/condition/).

## Étape 1 : Créer les variables de score

Créez une [variable](https://docs.pandasuite.com/fr/essentials/data/variables/) pour chaque profil possible.

1. Ajoutez un **Datastore** au niveau **Projet**
2. Cliquez sur **Ajouter une propriété** pour chaque profil
3. Choisissez le type **Nombre** et définissez la valeur par défaut à `0`

**Exemple avec 3 profils :**

- Variable `score_explorateur` : Nombre = 0
- Variable `score_créatif` : Nombre = 0
- Variable `score_stratège` : Nombre = 0

## Étape 2 : Incrémenter les scores selon les réponses

Pour chaque bouton de réponse, configurez une action qui **incrémente** la variable du profil correspondant.

1. Sélectionnez un bouton de réponse
2. Allez dans **Actions** > déclencheur **Tap / clic**
3. Ajoutez l'action **Agir sur une source de données** > **Datastore**
4. Choisissez **Modifier la donnée** > sélectionnez la variable du profil
5. Fonction : **Incrémenter** > Valeur : `1`

**Exemple :** Le bouton "J'aime explorer de nouveaux endroits" incrémente `score_explorateur` de 1.

> **Astuce**
>
> Vous pouvez incrémenter de différentes valeurs selon l'importance de la
> question (par exemple : +2 points pour certaines questions clés).

## Étape 3 : Comparer les scores à la fin du test

Après la dernière question, utilisez un composant **Condition** pour déterminer quel profil a le score le plus élevé.

1. Ajoutez un composant **Condition** au niveau **Projet**
2. Créez une condition par profil (ex: "Profil Explorateur gagnant")
3. Configurez les expressions pour comparer les scores :

**Exemple pour "Profil Explorateur gagnant" :**

- Expression 1 : `score_explorateur` **Supérieur ou égal à** `score_créatif`
- Logique : **ET** (toutes les expressions doivent être vraies)
- Expression 2 : `score_explorateur` **Supérieur ou égal à** `score_stratège`

Répétez cette configuration pour chaque profil.

> **Attention**
>
> Vous pouvez gérer les égalités en ajoutant des conditions supplémentaires ou
> en définissant un ordre de priorité.

## Étape 4 : Afficher le bon profil

Configurez la navigation vers l'écran résultat correspondant au profil gagnant.

1. Sélectionnez le dernier bouton (ou l'écran de transition)
2. Dans **Actions** > déclencheur **Au toucher / clic**
3. Ajoutez l'action **Déclencher** > sélectionnez votre composant **Condition** > **Évaluer**
4. Dans le composant **Condition**, pour chaque condition de profil :
   - Déclencheur : **Évaluation de la condition**
   - Action : **Aller à l'écran** > sélectionnez l'écran du profil correspondant

**Exemple :** Quand "Profil Explorateur gagnant" est vraie, l'action **Aller à l'écran** redirige vers "Écran Résultat Explorateur".

## Vidéo tutoriel (ancienne méthode)

La vidéo ci-dessous présente une méthode alternative plus ancienne utilisant un simple compteur de bonnes réponses au lieu d'un système de scores par profil. Bien que fonctionnelle, l'approche décrite dans ce tutoriel (avec plusieurs variables et conditions) est plus flexible et recommandée pour créer des tests de personnalité complets.

[Vidéo : Ancien tutoriel : créer un test de personnalité avec un simple compteur de bonnes réponses](//www.youtube.com/embed/Q4tDMUoKHDw?autoplay=0&showinfo=0&)

## Pour aller plus loin

- [Variables](https://docs.pandasuite.com/fr/essentials/data/variables/) : comprendre le fonctionnement des variables
- [Condition](https://docs.pandasuite.com/fr/essentials/components/condition/) : maîtriser les conditions et la logique
- [Score](https://docs.pandasuite.com/fr/essentials/gamification/score/) : découvrir d'autres mécanismes de score
