Documentation
Le guide complet de Tralo
Tout ce qu'il faut savoir pour créer, partager et améliorer vos histoires à embranchements — y compris le format JSON pour l'import et l'export.
1. Démarrer
Créez un compte gratuit, et vous arrivez sur votre dashboard : c'est votre bibliothèque. Vous y trouvez d'office deux histoires de démonstration (badge « ✦ Démo ») : jouez-les pour comprendre l'expérience élève. Elles ne sont pas modifiables, mais le menu ⋯ permet de les dupliquer dans votre bibliothèque pour les adapter librement.
Le bouton + Nouvelle histoire crée un brouillon avec une première scène et ouvre l'éditeur.
2. Écrire une histoire
Une histoire est une suite de scènes. Chaque scène raconte une situation (texte + image facultative) et propose des choix à l'élève :
— Un choix ✓ bonne réponse mène à la scène suivante (champ « Mène à la scène »). Vous pouvez y ajouter un renforcement : une phrase qui confirme et explique.
— Un choix ✗ fausse piste affiche son explication (« pourquoi c'est une erreur »), puis l'élève réessaie sur la même scène. Si vous lui donnez une scène cible, il part au contraire sur cette branche : utile pour créer de vraies bifurcations.
Une scène marquée « Scène finale » termine l'histoire, avec un ton : 🎉 réussite, ✦ neutre ou 💥 échec. L'onglet 🗺️ Carte montre toutes les scènes et leurs connexions (vert = bonnes réponses, pointillés vermillon = fausses pistes).
Au moment de publier, Tralo vérifie votre histoire : scènes sans bonne réponse, bonnes réponses sans destination, scènes non reliées au départ, absence de fin… Vous pouvez corriger ou publier quand même.
3. Partager aux élèves
Le bouton 🔗 Partager de l'éditeur active le lien élève (de la forme tralo.fr/s/abc123). Vos élèves l'ouvrent sur n'importe quel appareil, sans créer de compte.
Vous pouvez définir un code d'accès (ex. 6EMEB) pour réserver l'histoire à votre classe : les élèves le saisissent une fois, il reste mémorisé pendant leur session. Désactivez le lien à tout moment — il cesse immédiatement de fonctionner.
4. Statistiques
Chaque lecture via le lien élève alimente l'onglet 📊 Stats de l'éditeur : nombre de lectures, taux de complétion, score moyen, erreurs par lecture, et surtout les scènes les plus difficiles (où vos élèves se trompent le plus) — précieux pour ajuster vos explications.
Les données sont anonymes: aucune information sur les élèves n'est collectée. Vos propres aperçus d'auteur ne comptent pas. Le bouton « Réinitialiser » efface l'historique (par exemple entre deux classes).
5. Organiser sa bibliothèque
Créez des dossiers colorés (par classe, matière, projet…) depuis la barre latérale du dashboard. Le menu ⋯ de chaque histoire permet de la déplacer, la dupliquer, l'exporter ou la supprimer. Supprimer un dossier ne supprime pas ses histoires : elles reviennent à la racine.
6. Import / export et format JSON
Chaque histoire s'exporte en fichier .json (menu ⋯ → Exporter, ou paramètres de l'éditeur). Le bouton Importer (.json) du dashboard (réservé aux formules payantes) accepte :
— une histoire seule (le format ci-dessous) ;
— une sauvegarde complète : { "stories": [ … ] } (générée par « Tout exporter » dans les paramètres).
À l'import, tous les identifiants sont régénérés et l'histoire arrive en brouillon à la racine : aucun risque de collision, vous pouvez importer le même fichier plusieurs fois.
| Champ | Type | Rôle |
|---|---|---|
| title | string | Titre de l'histoire (obligatoire). |
| description | string | Présentation affichée aux élèves avant de commencer. |
| emoji | string | Emoji de couverture (ex. "🗝️"). |
| coverGradient | number | Couleur de couverture, de 0 à 11. |
| startSceneId | string | id de la scène de départ — doit exister dans scenes (obligatoire). |
| scenes | Scene[] | La liste des scènes (obligatoire). |
| Champ | Type | Rôle |
|---|---|---|
| id | string | Identifiant unique dans le fichier (libre : "scene-1"…). |
| title | string | Titre de la scène (affiché en en-tête côté élève). |
| text | string | Le récit. \n pour les sauts de ligne. |
| image | string | null | URL d'une image, ou null. |
| choices | Choice[] | Les choix proposés ([] pour une scène finale). |
| isEnding | boolean | true = scène finale (termine l'histoire). |
| endingTone | string | "success", "neutral" ou "failure" — l'écran de fin. |
| Champ | Type | Rôle |
|---|---|---|
| id | string | Identifiant unique dans le fichier. |
| text | string | Le texte du choix présenté à l'élève. |
| targetSceneId | string | null | id de la scène d'arrivée. Pour une fausse piste, null = l'élève réessaie sur place. |
| isCorrect | boolean | true = bonne réponse, false = fausse piste. |
| explanation | string | Le feedback pédagogique affiché après le choix. |
Exemple complet (importable tel quel) :
{
"title": "Le Trésor du CDI",
"description": "Une enquête au CDI pour apprendre à chercher l'information.",
"emoji": "🗝️",
"coverGradient": 2,
"startSceneId": "scene-depart",
"scenes": [
{
"id": "scene-depart",
"title": "L'énigme",
"text": "Un mot mystérieux vous attend sur la table du CDI : « Le trésor se cache dans le livre qui parle des volcans d'Auvergne. »\n\nComment le trouver ?",
"image": null,
"choices": [
{
"id": "choix-catalogue",
"text": "Chercher « volcans Auvergne » dans le catalogue en ligne",
"targetSceneId": "scene-rayon",
"isCorrect": true,
"explanation": "Exact : le catalogue indique la cote du livre en quelques secondes."
},
{
"id": "choix-hasard",
"text": "Ouvrir tous les livres un par un",
"targetSceneId": null,
"isCorrect": false,
"explanation": "Avec 5 000 livres au CDI, il vous faudrait des semaines. Le catalogue est fait pour ça !"
}
],
"isEnding": false,
"endingTone": "neutral"
},
{
"id": "scene-rayon",
"title": "Au rayon 550",
"text": "Le catalogue indique la cote 551.21 VOL. Vous trouvez le livre… et à l'intérieur, une carte de lecteur dorée !",
"image": null,
"choices": [],
"isEnding": true,
"endingTone": "success"
}
]
}💡 Ce format se prête bien à la génération par une IA : donnez-lui ces tables et demandez une histoire sur votre sujet, puis importez le résultat.
Générer une histoire avec une IA — prompt prêt à copier
Collez le texte ci-dessous dans l'assistant de votre choix (ChatGPT, Claude, Gemini…), remplacez ce qui est entre crochets par votre sujet et vos réglages, puis enregistrez la réponse dans un fichier .json que vous importerez avec le bouton Importer (.json) du dashboard.
Tu es concepteur pédagogique. Crée une histoire interactive à embranchements
(un récit dont l'élève fait avancer l'intrigue en répondant à des questions) destinée à
être importée dans Tralo.
PARAMÈTRES — remplace ce qui est entre crochets :
- Sujet / thème : [SUJET — ex. le cycle de l'eau]
- Discipline : [MATIÈRE — ex. SVT]
- Niveau de classe : [NIVEAU — ex. 6e]
- Objectif pédagogique : [CE QUE L'ÉLÈVE DOIT APPRENDRE OU SAVOIR FAIRE]
- Nombre de scènes : [ENVIRON 8]
- Nombre de fins : [AU MOINS 2 — dont une réussite et un échec]
- Choix par scène : [2 À 3]
- Ton / ambiance : [ex. enquête, aventure, vie quotidienne]
- Durée de lecture visée : [ex. 10 minutes]
- Langue : [français]
- À éviter / à privilégier : [vocabulaire imposé, notions hors-programme à exclure, etc.]
CONSIGNES :
- Chaque scène propose des choix : au moins une bonne réponse qui fait progresser le récit,
et des fausses pistes. Chaque fausse piste a une explication pédagogique claire (pourquoi
c'est faux et ce qu'il fallait comprendre).
- Une fausse piste avec "targetSceneId": null fait réessayer l'élève sur la même scène ;
sinon elle peut mener à une autre branche.
- Adapte le récit et le vocabulaire au niveau indiqué, sans fautes. L'erreur doit toujours
être instructive.
- Prévois le nombre de fins demandé, avec des tons variés (réussite / échec / neutre).
FORMAT DE SORTIE — réponds UNIQUEMENT par un objet JSON valide, sans aucun texte autour ni
balise Markdown, strictement conforme à ce modèle :
{
"title": "string",
"description": "string (présentation affichée avant de jouer)",
"emoji": "un seul emoji de couverture",
"coverGradient": entier de 0 à 11,
"startSceneId": "id d'une scène de la liste ci-dessous",
"scenes": [
{
"id": "identifiant unique, ex. scene-1",
"title": "string",
"text": "le récit de la scène (\n pour un saut de ligne)",
"image": null,
"choices": [
{
"id": "identifiant unique, ex. choix-1",
"text": "le choix présenté à l'élève",
"targetSceneId": "id de la scène d'arrivée, ou null pour réessayer sur place",
"isCorrect": true ou false,
"explanation": "le feedback affiché après ce choix"
}
],
"isEnding": true ou false,
"endingTone": "success" | "neutral" | "failure"
}
]
}
RÈGLES IMPÉRATIVES :
- Tous les "id" (scènes et choix) sont uniques dans le fichier.
- "startSceneId" correspond exactement à l'"id" d'une scène existante.
- Chaque "targetSceneId" non nul pointe vers une scène existante.
- Une scène finale a "isEnding": true et "choices": [].
- Toute scène non finale a au moins un choix avec "isCorrect": true et un "targetSceneId" valide.
- Laisse "image": null partout (tu n'ajoutes pas d'images ici).
- Le JSON doit être valide et importable tel quel.⚠️ Une IA peut se tromper : ouvrez l'histoire importée dans l'éditeur et vérifiez les liens entre scènes, les bonnes réponses et les fins avant de la partager. L'import contrôle le format du fichier, pas la justesse pédagogique.
7. Paramètres du compte
La page Paramètres (menu avatar → Paramètres) regroupe :
— Profil: changer votre nom ; changer d'e-mail (confirmé par un lien envoyé à la nouvelle adresse).
— Sécurité : changer de mot de passe.
— Mes données : compteurs et export complet de toutes vos histoires en un fichier (votre sauvegarde).
— Zone sensible : tout supprimer (après confirmation), demander la suppression du compte, se déconnecter.
Une question que cette page n'a pas résolue ? Écrivez-nous.
8. Abonnement & factures
Tout se gère depuis Paramètres → Abonnement & Factures, sans passer par un site externe. Vous pouvez à tout moment changer de formule, basculer entre mensuel et annuel (la différence est calculée au prorata), résilier ou réactiver. Vos factures y sont consultables et téléchargeables en PDF.
Les formules : 🌱 Gratuit (3 histoires, sans images), ✒️ Essentiel (100 histoires, sans images), ⭐ Pro (histoires illimitées + images dans les scènes). 👥 Duo & Petite équipe (2 à 5 personnes) donne à chaque membre un accès Pro nominatif, un Dossier partagé et une facture unique — gérez les membres depuis Réglages → Équipe.
💡 Code « TRALO50 » : à saisir sur la page de paiement, dans le champ « code ». Il offre −50 % pendant 3 mois et fonctionne sur l'abonnement mensuel.
Que se passe-t-il si mon abonnement s'arrête ?Si vous résiliez ou qu'un paiement n'aboutit pas, l'accès aux fonctions payantes est suspendu, mais vos histoires restent là pendant un mois. Vous recevez un e-mail, puis un rappel une semaine avant, puis deux jours avant. Passé ce mois, le contenu est supprimé (histoires, dossiers, images, statistiques) — mais votre compte est conservé : vous pouvez revenir et reprendre un abonnement quand vous voulez. Pendant ce mois, deux options : réactiver votre formule, ou télécharger tout votre travail.
9. Télécharger mes histoires et images
Vous gardez la main sur vos données. Pour tout récupérer, images comprises :
— Paramètres → Mes données → « Tout exporter (.zip) ». Vous obtenez un fichier .zip contenant tralo-sauvegarde.json (toutes vos histoires) et un dossier images/ avec toutes vos illustrations.
— Juste les images ? Depuis le dashboard → « 🖼️ Mes images », téléchargez une image à la fois, ou « Tout télécharger (.zip) ».
Pour réimporter plus tard, utilisez le bouton Importer (.json) du dashboard avec le fichier tralo-sauvegarde.json issu du zip (voir le format JSON).