**Language / Langue :** **FR** | [[en:editeur:linter-export|EN]] ====== Éditeur graphique - Linter et export ====== ===== Linter intégré ===== Le linter analyse votre scénario en temps réel et signale les erreurs et avertissements. **Lancer le linter :** bouton **Linter** (icône 🔍) dans la barre d'outils, ou ''Ctrl+Shift+L''. **Types de messages :** * 🔴 **Erreur** - problème bloquant (variable inexistante, syntaxe incorrecte, impasse) * 🟡 **Avertissement** - problème potentiel (salle inaccessible, variable non utilisée) * 🔵 **Info** - suggestion d'amélioration **Erreurs détectées notamment :** * Variables référencées mais non déclarées * Identifiants ''declencher_event:'' qui n'existent pas * Salles sans sortie (impasses) * Conditions avec opérateurs invalides * Timers armés mais jamais annulés * Choix sans ''bouton:'' ni ''commande:'' : aucun bouton ne s'affiche et le joueur ne peut rien saisir * Timer global déclaré sans ''id:'', que le moteur ignorerait * Lien vidéo qui ne désigne pas une vidéo précise (page de chaîne ou playlist) Le libellé d'un choix s'écrit ''bouton:''. Écrit ''texte:'', le choix garde sa destination mais n'affiche aucun bouton : la salle paraît sans issue. Le linter le signale et rappelle la clé attendue. **Avertissements propres aux supports.** Avec un profil Discord ou Terminal, le rapport ajoute les incompatibilités de ce support avec leur emplacement : au-delà de 25 options dans une salle, un libellé de plus de 100 caractères, ou un média que Discord ne peut pas atteindre publiquement. Cliquer sur une erreur ouvre la salle concernée dans l'inspecteur. Pour une variable non déclarée, le clic mène à l'endroit qui l'utilise ; si elle est utilisée à plusieurs endroits, une fenêtre les liste avec leur type d'usage. ===== Bouton Tester ===== Le bouton **Tester** lance une partie directement dans l'éditeur, sans passer par Discord. Une fenêtre de jeu s'ouvre avec le moteur complet. Cela permet de vérifier les conditions, le déroulement des événements, les timers, le HUD - exactement comme si vous jouiez dans le navigateur. ===== Export ===== **Export YAML** - génère un fichier ''.yaml'' compatible avec le moteur. **Export HTML5 standalone** - génère un ZIP prêt à être hébergé ou uploadé sur itch.io (format HTML5 Game). * Runtime JS autonome : se lance directement en jeu, sans backend JDR-Bot * Slug propre basé sur le nom de fichier (dossier ''jdrbot-'' dans le ZIP) * Reprise automatique locale (progression restaurée côté navigateur) * Variables online converties en variables persistantes locales * Assets classés : embarqués, externes, ou manquants - avec remapping automatique * Export UTF-8 : les textes accentués s'affichent correctement **Export PDF livre-jeu** - génère un PDF avec les chapitres numérotés, renvois entre chapitres, fiche de suivi, champs éditables - jouable imprimé comme un livre dont vous êtes le héros. Les deux exports incluent tous les assets (sons, images) référencés par URL dans le scénario.