<sect1 id="tool-scriptbuilder">
<title
>L'outil de construction de scripts</title>
<indexterm
><primary
>Outils</primary>
<secondary
>Construction de scripts</secondary>
</indexterm>

<para
>Les applications &kstars; peuvent être pilotées de l'extérieur par un autre programme, depuis une invite de console ou depuis un script shell en utilisant le protocole de communication inter-processus (&DBus;). &kstars; utilise cette fonction pour permettre à des comportements plutôt complexes d'être traités par scripts et rejoués à n'importe quel moment. Ceci peut être utilisé par exemple pour créer une démonstration en salle de classe pour illustrer un concept astronomique. </para>
<para
>Le problème avec les scripts &DBus; est que leur écriture ressemble à de la programmation et peut sembler difficile à ceux qui n'ont pas l'expérience de la programmation. L'outil de génération de scripts fournit une interface graphique de type pointer-cliquer pour construire des scripts &DBus; pour &kstars;, rendant très facile l'écriture de scripts complexes. </para>

<sect2 id="sb-intro">
<title
>Introduction au constructeur de scripts</title>

<para
>Avant d'expliquer comment utiliser le générateur de scripts, voici une très brève introduction de tous les composants d'interface graphique ; pour plus d'informations, utilisez la fonction <quote
>Qu'est-ce que c'est ?</quote
> du menu <quote
>Aide</quote
>. </para>

<screenshot>
<screeninfo
>L'outil de construction de scripts </screeninfo>
<mediaobject>
  <imageobject>
    <imagedata fileref="scriptbuilder.png" format="PNG"/>
  </imageobject>
  <textobject>
    <phrase
>Outil de construction de scripts</phrase>
  </textobject>
</mediaobject>
</screenshot>

<para
>Le constructeur de scripts est visible dans la capture d'écran ci-dessus. La zone à gauche est la zone de <firstterm
>script actuel</firstterm
> ; elle affiche la liste des commandes que comprend le script actuellement en fonctionnement. La zone à droite est le <firstterm
>navigateur de fonctions</firstterm
> ; il affiche la liste de toutes les fonctions de script disponibles. Sous le navigateur de fonctions se trouve un petit panneau qui affiche une courte documentation sur la fonction de script surlignée dans le navigateur de fonction. Le panneau sous la zone de script courante est le panneau des <firstterm
>paramètres de fonctions</firstterm
> ; quand une fonction est surlignée dans la zone de script courant, ce panneau contient des éléments pour spécifier les valeurs pour n'importe quel argument que la fonction surlignée nécessite. </para
><para
>Le long du haut de la fenêtre, il y a une rangée de boutons qui opèrent sur le script comme un tout. De la gauche vers la droite, il y a : <guibutton
>Nouveau script</guibutton
>, <guibutton
>Ouvrir un script…</guibutton
>, <guibutton
>Enregistrer le script</guibutton
>, <guibutton
>Enregistrer le script sous…</guibutton
> et <guibutton
>Tester le script</guibutton
>. La fonction de ces boutons devrait être évidente, sauf peut-être le dernier bouton. En actionnant <guibutton
>Tester le script</guibutton
>, vous tenterez de lancer le script courant dans la fenêtre principale de &kstars;. Vous devriez déplacer la fenêtre de générateur de script hors de l'emplacement avant d'actionner cela, et ainsi, vous pourrez voir le résultat. </para
><para
>Au centre de la fenêtre se trouve une colonne de boutons qui opèrent sur une fonction individuelle du script. De haut en bas, ce sont : <guibutton
>Ajouter la fonction</guibutton
>, <guibutton
>Supprimer la fonction</guibutton
>, <guibutton
>Copier la fonction</guibutton
>, <guibutton
>Monter</guibutton
> et <guibutton
>Descendre</guibutton
>. <guibutton
>Ajouter la fonction</guibutton
> ajoute la fonction actuellement sélectionnée dans le navigateur de fonctions à la zone de script courant (vous pouvez aussi ajouter une fonction en double-cliquant dessus). Le reste des boutons opère sur la fonction surlignée dans la zone de script courant, soit en l'enlevant, soit en la dupliquant, soit en changeant sa position dans le script courant. </para>
</sect2>

<sect2 id="sb-using">
<title
>Utilisation du constructeur de scripts</title>
<para
>Pour illustrer l'utilisation du constructeur de scripts, nous présentons un petit tutoriel où nous faisons un script qui suit la Lune, alors que l'horloge fonctionne à une vitesse accélérée. </para
><para
>Si nous voulons suivre la Lune, nous aurons besoin de pointer l'affichage dessus d'abord. La fonction <firstterm
>lookToward</firstterm
> est utilisée pour faire cela. Surlignez cette fonction dans le navigateur de fonctions et notez la documentation affichée dans le panneau au-dessous. Actionnez le bouton <guibutton
>Ajouter une fonction</guibutton
> pour ajouter cette fonction à la zone de script courante. Le panneau des paramètres de fonctions comportera maintenant une liste combinée libellée <quote
>Dir</quote
>, abréviation de direction. C'est la direction dans laquelle l'affichage doit être pointé. La liste combinée ne contient que les points cardinaux, pas la Lune ni d'autres objets. Vous pouvez soit écrire <quote
>Lune</quote
> dans la zone à la main, soit actionner le bouton <guibutton
>Objet…</guibutton
> pour utiliser la fenêtre de <guilabel
>recherche d'objet</guilabel
> pour sélectionner la Lune dans la liste des objets nommés. Notez que, comme d'habitude, un centrage sur un objet engage automatiquement le mode de suivi, de telle manière qu'il n'y a pas besoin d'ajouter la fonction <firstterm
>setTracking</firstterm
> après lookToward. </para
><para
>Maintenant que nous avons pris soin de pointer la Lune, nous voulons ensuite faire passer le temps en accéléré. Utilisez la fonction <firstterm
>setClockScale</firstterm
> pour cela. Ajoutez-la au script en double-cliquant dessus dans le navigateur de fonctions. Le panneau des paramètres de fonctions contient un compteur de pas du temps pour régler le pas désiré pour l'horloge de simulation. Changez le pas sur 3 heures. </para
><para
>Bien. Nous avons pointé la Lune et accéléré l'horloge. Maintenant, nous voulons simplement que le script attende plusieurs secondes pendant que l'affichage suit la Lune. Ajoutez la fonction <firstterm
>waitFor</firstterm
> au script et utilisez le panneau des paramètres de fonctions pour spécifier qu'il devrait attendre 20 secondes avant de continuer. </para
><para
>Pour finir, réinitialisons le pas d'horloge à la valeur normale d'une seconde. Ajoutez une autre instance de setClockScale et positionnez sa valeur sur 1 sec. </para
><para
>En fait, tout n'est pas fini. Nous devons probablement nous assurer que l'affichage utilise les coordonnées équatoriales avant que le script ne suive la Lune avec le pas accéléré. Sinon, si l'affichage utilise les coordonnées horizontales, il tournera très vite sur de grands angles au lever et au coucher de la Lune. Cela peut être troublant, et on l'évite en réglant l'option d'affichage <firstterm
>UseAltAz</firstterm
> sur <quote
>False</quote
>. Pour changer une option d'affichage, utilisez la fonction <firstterm
>changeViewOption</firstterm
>. Ajoutez cette fonction au script et examinez le panneau des paramètres de fonctions. Il y a une liste combinée qui contient la liste de toutes les options d'affichage qui peuvent être ajustées par changeViewOption. Comme nous savons que nous voulons l'option UseAltAz, nous pouvons simplement la sélectionner dans la liste combinée. Cependant, la liste est assez longue, et il n'y a pas d'explication sur l'utilisation de chaque élément. Pour cela, il peut être plus facile d'actionner le bouton <guibutton
>Parcourir l'arborescence…</guibutton
>, qui ouvrira une fenêtre contenant une vue arborescente des options disponibles, organisées par sujet. De plus, chaque élément dispose d'une courte explication sur ce que fait l'option, et le type de donnée de valeur de l'option. Nous trouvons UseAltAz sous la catégorie <guilabel
>Options de carte du ciel</guilabel
>. Surlignez simplement cet élément et actionnez <guibutton
>Ok</guibutton
> et elle sera sélectionnée dans la liste combinée du panneau des paramètres de fonctions. Enfin, rendez sa valeur <quote
>False</quote
> ou <quote
>0</quote
>. </para
><para
>Une dernière étape : le changement « UseAltAz » à la fin du script n'est pas bon ; nous avons besoin de le changer avant que quelque chose d'autre n'arrive. Ainsi, assurez-vous que cette fonction est surlignée dans la zone de script courant et actionnez le bouton <guibutton
>Monter</guibutton
> jusqu'à ce que ce soit la première fonction. </para
><para
>Maintenant que nous avons fini le script, nous devrions l'enregistrer sur le disque. Actionnez le bouton <guibutton
>Enregistrer le script</guibutton
>. Cela ouvrira d'abord une fenêtre dans laquelle vous pouvez fournir un nom pour le script et saisir votre nom comme auteur. Écrivez <quote
>Suivi de la Lune</quote
> comme nom, et votre nom comme auteur et actionnez le bouton <guibutton
>Ok</guibutton
>. Ensuite, vous verrez la boîte de dialogue standard de &kde; d'enregistrement des fichiers. Donnez un nom de fichier pour le script et actionnez <guibutton
>Ok</guibutton
> pour enregistrer le script. Notez que si votre nom de fichier ne se termine pas par <quote
>.kstars</quote
>, ce suffixe sera automatiquement ajouté. Si vous êtes curieux, vous pouvez examiner le fichier de script avec un éditeur de texte. </para
><para
>Maintenant que nous avons un script terminé, nous pouvons le lancer de plusieurs manières. De l'invite d'une console, vous pouvez simplement exécuter le script tant qu'une instance de &kstars; est en fonctionnement. Vous pouvez également exécuter le script depuis &kstars; en utilisant l'élément <menuchoice
><guimenu
>Fichier</guimenu
> <guimenuitem
>Exécuter un script…</guimenuitem
></menuchoice
>. </para>
</sect2>
</sect1>

