<sect1 id="tool-scriptbuilder">
<title
>L'outil de génération de scripts</title>
<indexterm
><primary
>Outils</primary>
<secondary
>Génération de scripts</secondary>
</indexterm>

<para
>Les applications KDE 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 Desktop COmmunication Protocol (<abbrev
>DCOP</abbrev
>). KStars utilise cette fonction pour permettre à des comportements plutôt complexes d'être scriptés et rejoués à n'importe quel moment. Ceci peut être utilisé par exemple pour créer une démonstration de salle en classe pour illustrer un concept astronomique. </para>
<para
>Le problème avec les scripts DCOP 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 DCOP pour KStars, rendant très facile l'écriture de scripts complexes. </para>

<sect2 id="sb-intro">
<title
>Introduction au générateur de scripts</title>

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

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

<para
>Le générateur de scripts est affiché dans la capture d'écran ci-dessus. La zone à gauche est la <firstterm
>zone de script courant</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 <firstterm
>panneau des arguments 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 devrez déplacer la fenêtre de générateur de script hors du chemin 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. Du haut vers le bas, ce sont : <guibutton
>Ajouter une fonction</guibutton
>, <guibutton
>Supprimer une fonction</guibutton
>, <guibutton
>Copier une fonction</guibutton
>, <guibutton
>Monter</guibutton
> et <guibutton
>Descendre</guibutton
>. <guibutton
>Ajouter une 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 le dupliquant, soit en changeant sa position dans le script courant. </para>
</sect2>

<sect2 id="sb-using">
<title
>Utilisation du générateur de scripts</title>
<para
>Pour illustrer l'utilisation du générateur de scripts, nous présentons un petit didacticiel 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 arguments de fonction 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 arguments 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 arguments de fonction 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. Ceci 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 arguments de fonction. 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 a 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 arguments de fonctions. Enfin, rendez sa valeur <quote
>false</quote
> ou <quote
>0</quote
>. </para
><para
>Une dernière étape : le changement d'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 remplir votre nom en tant qu'auteur. Écrivez <quote
>Suivi le 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
>Mantenant 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. D'une autre manière, vous pouvez exécuter le script depuis KStars en utilisant l'élément <guimenuitem
>Exécuter un script</guimenuitem
> du menu <guimenu
>Fichier</guimenu
>. </para>
</sect2>

</sect1>
