====== Le langage de script d'Instrumenpoche ======
Les constructions géométriques d’Instrumenpoche sont enregistrées au format XML.
Il s’agit de fichiers "textes" lisibles avec n’importe quel éditeur de texte. Ces fichiers décrivent les constructions, à l’aide de balises comparables à celles du langage HTML (le langage utilisé pour les pages web).
Ce format de fichier a plusieurs avantages :
* il est lisible et compréhensible par un humain, il suffit d’utiliser n’importe quel éditeur de texte ou le bouton {{:interface:btn_script.png|}} d'Instrumenpoche ;
* il est universel : de nombreux programmes utilisent des formats semblables (la suite bureautique OpenOffice.org, le client de messagerie Thunderbird...) ce qui permet, à partir d’un même fichier, de produire des documents de divers formats (animation lue par le lecteur Instrumenpoche, page web statique, document imprimable...)
Vous pouvez donc facilement modifier ces fichiers, les copier, les échanger...
L'[[interface:presentation_generale|interface de création]] d'Instrumenpoche crée automatiquement, au fur et à mesure des actions effectuées, le script correspondant à la construction. Il est possible de voir le script correspondant et de le modifier en cliquant sur le bouton {{:interface:btn_script.png|}}
===== Structure des scripts =====
Avec l'interface de création d'Instrumenpoche, cliquons deux fois sur le bouton {{:interface:btn_crayon.png|}} On voit le [[interface:crayon]] apparaître puis disparaître. Cliquons ensuite sur {{:interface:btn_script.png|}} pour voir le script correspondant à cette animation toute simple, qui consiste juste à montrer puis masquer le crayon. Le texte suivant apparaît (les couleurs et indentations ne font pas partie du script, elles sont justes définies pour faciliter la lecture) :
Bien que très simple, ce code contient tous les éléments obligatoires d'un script Instrumenpoche :
* un en-tête qui indique que le fichier est au format XML et que l'encodage de caractères est en unicode :
* Une balise ouvrante et une fermante, nommées ''INSTRUMENPOCHE''. Le code de la construction se trouvera entre ces deux balises. Pour des raisons de compatibilité avec l'ancienne version, il faut préciser ''version="2"'' dans la première balise.
...
* Des nœuds XML, tous de la même forme : '''' avec différents attributs qui caractérisent l'action qu'ils décrivent. Parmi tous les attributs possibles, ''mouvement'' et ''objet'' sont obligatoires : ils précisent l'action à effectuer et l'objet sur lequel se porte l'action.
Un autre type de nœud est possible, qui ne décrit pas une action Instrumenpoche mais un commentaire destiné à faciliter la lecture du script. Dans ce cas, le nœud doit se nommer ''commentaire'' et comporter un seul attribut nommé ''texte''. Dans l'exemple ci-dessus, on pourrait ainsi préciser :
Les commentaires sont ignorés par Instrumenpoche en mode lecture.
Une action d'Instrumenpoche est donc enregistrée sous forme d'un nœud XML composé d'attributs, comme par exemple pour le [[script:crayon]] :
L'ordre dans lequel ces attributs sont écrits importe peu. Ainsi, le nœud précédent est identique à :
==== Temporisation ====
Il est parfois souhaitable, entre deux étapes de construction, de forcer Instrumenpoche à faire une pause pour que le lecteur puisse lire un texte, se rendre compte d'un mouvement particulier... Dans ce cas, il faut ajouter l'attribut ''tempo'' dans le nœud décrivant l'action qui est juste avant la pause, en précisant, comme valeur d'attribut, le nombre de dixièmes de seconde de la pause. Par exemple, pour faire une pause de deux secondes //après// l'apparition du crayon :
===== Modifier un script =====
On peut modifier un script d'Instrumenpoche par deux moyens :
* soit en cliquant sur le bouton {{:interface:btn_script.png|}} qui fait apparaître une fenêtre montrant le script ;
* soit collant le script dans un éditeur de textes.
==== Dans Instrumenpoche ====
Appuyer sur le bouton {{:interface:btn_script.png|}} fait apparaître une fenêtre semblable à celle-ci :
{{ :interface:fenetre_script.png |}}
Le texte du script qui y apparaît est modifiable.
Les boutons {{:interface:btn_texte_plus.png|}} et {{:interface:btn_texte_moins.png|}} permettent de modifier la taille du texte.
Le bouton {{:interface:btn_plus.png|}} ajoute un nouveau nœud minimal à compléter, à la fin du script :
Le bouton {{:interface:btn_coloration_syntaxique.png|}} permet d'activer et désactiver la coloration syntaxique, qui met en couleur les mots-clés du script.
Le bouton {{:interface:btn_valider.png|}} valide le texte affiché dans la fenêtre comme nouveau script courant d'Instrumenpoche.
Le bouton {{:interface:btn_fermer.png|}} ferme la fenêtre sans valider le script.
Pour en savoir plus : [[:interface:script]].
==== Avec un éditeur de textes ====
Un script d'Instrumenpoche peut également être modifié dans un éditeur de texte. Le site Framasoft présente des
[[http://www.framasoft.net/rubrique157.html|éditeurs de textes]] ou, plus puissants, des [[http://www.framasoft.net/rubrique443.html|environnements de programmation]] libres. Cette méthode permet de bénéficier des fonctionnalités de ces logiciels : coloration syntaxique, fonctions avancées de recherche et remplacement de texte, etc.
Il faut toutefois distinguer un //éditeur// de texte (qui traite un texte brut) d'un logiciel de //traitement// de textes, comme Microsoft Word ou OpenOffice.org, qui met le texte en forme. On peut toutefois utiliser ces logiciels pour modifier un script d'Instrumenpoche, à condition de l'enregistrer au format "texte brut" : choisir "enregistrer sous..." puis "texte brut". Sinon le logiciel enregistrera le fichier dans un autre format, qu'Instrumenpoche ne pourra pas lire.