L`environnement de programmation

Transcription

L`environnement de programmation
1
L’environnement de
programmation
Partie I Le langage
L’environnement de programmation AppleScript est
essentiellement fondé sur l’Éditeur de scripts, qui permet
d’éditer, de compiler, d’exécuter et de sauvegarder vos
scripts. Il dispose de plusieurs fonctionnalités d’aide à
l’édition qui vous faciliteront l’écriture de scripts.
Utiliser d’autres éditeurs de scripts est possible ; à titre
d’exemple, ce chapitre montre comment déboguer avec
Script Debugger et l’Annexe A expose la réalisation d’un
projet AppleScript Studio.
Configurer AppleScript
AppleScript est livré avec tous les systèmes Mac depuis la
version Mac OS 7 (1992). Il est situé dans le dossier
Applications/AppleScript (voir Figure 1.1).
Figure 1.1 : Le dossier Applications/AppleScript
Book_AppleScript.indb 13
3/09/09 14:23:52
14
CHAPITRE 1 L’environnement de programmation
Ce dossier contient les éléments suivants :
• Config. actions de dossier. Permet d’activer la fonctionnalité d’actions de dossier (voir la section « Définir
une action de dossier » au Chapitre 7).
• Éditeur de scripts. L’éditeur AppleScript par défaut.
Il est possible d’utiliser un autre éditeur (par exemple
Script Debugger, voir la section « Déboguer un script »)
en le spécifiant à l’aide de l’Utilitaire AppleScript.
• Example Scripts. Alias vers le dossier Bibliothèque/
Scripts, qui contient une compilation de scripts classés
par thèmes.
• Utilitaire AppleScript (voir Figure 1.2). Règle les
préférences AppleScript : éditeur utilisé, activation des
fonctions GUI Scripting (voir Annexe B) et actions de
dossier, paramétrage du menu des scripts.
Figure 1.2 : Utilitaire AppleScript
Utiliser le menu des scripts
Le menu des scripts regroupe les scripts d’exemples du
dossier Bibliothèque/Scripts, qui concernent diverses thématiques : Finder, Internet, Mail, navigation, impression, etc.
Il peut être réorganisé (ordre des sous-menus, emplacement
Book_AppleScript.indb 14
3/09/09 14:23:54
Utiliser le menu des scripts
15
des scripts, etc.) en modifiant en conséquence le dossier
Bibliothèque/Scripts.
Par ailleurs, le dossier des scripts de l’utilisateur courant
(~Bibliothèque/Scripts) peut être utilisé pour stocker,
outre des scripts (AppleScript ou autres : shell, Perl, etc.),
des raccourcis, des applications, des processus Automator,
des documents, etc. La Figure 1.3 montre un menu de
scripts personnalisé et le dossier ~Bibliothèque/Scripts
correspondant. Les éléments personnalisés sont affichés
dans la deuxième partie du menu, en bas de celui-ci.
Figure 1.3 : Menu des scripts personnalisé
Attention
Pour avoir accès au menu des scripts, il faut au préalable avoir
cliqué sur « Afficher le menu des scripts dans la barre de
menus » dans l’Utilitaire AppleScript (voir section précédente).
Dans cette même application, décocher la case Afficher les scripts
de la Bibliothèque permet de ne pas faire apparaître les scripts du
dossier Bibliothèque/Scripts dans le menu des scripts. Dans ce
cas, seuls les scripts de l’utilisateur (ceux du dossier
~Bibliothèque/Scripts) sont affichés.
Book_AppleScript.indb 15
3/09/09 14:23:55
16
CHAPITRE 1 L’environnement de programmation
Une autre fonctionnalité pratique consiste à faire afficher
dans le menu les scripts dédiés à une application quand
celle-ci est active. Pour cela, il faut avoir au préalable coché
la case Afficher les scripts de l’application dans l’Utilitaire
AppleScript. Puis créer un dossier Applications dans le
dossier ~Bibliothèque/Scripts, qui contiendra les scripts
classés par applications dans des dossiers nommés selon les
noms des applications concernées. Lorsqu’une application
sera au premier plan, seuls les scripts de cette application sont
affichés dans le menu (en haut ou en bas, selon le choix fait
dans l’Utilitaire AppleScript).
Attention
Lorsque vous créez le dossier associé à une application dont le
nom inclut une apostrophe (Carnet d’adresses, par exemple), il
sera nommé dans le Finder avec une apostrophe droite : la
correspondance nom de dossier/nom d’application ne fonctionnera alors pas. Il faut impérativement nommer les dossiers
selon le nom des applications.
La Figure 1.4 montre le cas du Finder et l’organisation correspondante du dossier ~Bibliothèque/Scripts/Applications.
Figure 1.4 : Menu des scripts applicatifs
Book_AppleScript.indb 16
3/09/09 14:23:56
Éditer un script
17
Astuce
Si vous préférez stocker vos scripts ailleurs que dans les dossiers
~Bibliothèque/Scripts ou ~Bibliothèque/Scripts/Applications,
il suffit de créer des alias dans ces mêmes dossiers.
Par ailleurs, le menu des scripts présente certaines astuces de
fonctionnement intéressantes :
•
Cliquer sur un sous-menu ouvre le sous-dossier correspondant dans le Finder.
•
Maj+clic sur un script du menu ouvre le sous-dossier qui le
contient dans le Finder et présélectionne le script.
•
Alt+clic ouvre le script dans l’Éditeur de scripts.
Éditer un script
L’Éditeur de scripts est l’outil privilégié pour visualiser et
écrire des scripts .
Pour ouvrir un script, il suffit de double-cliquer sur son
icône ou d’utiliser le menu Fichier > Ouvrir. Ouvrons le
script duree.scpt, situé dans le dossier SCRIPTS/iTunes.
Il calcule la durée en heures des morceaux contenus dans
votre bibliothèque musicale iTunes.
Astuce
Le meilleur moyen de débuter avec AppleScript est d’ouvrir
dans l’éditeur les scripts d’exemple du menu des scripts (en
les sélectionnant dans le menu avec Alt+clic), de les exécuter et de les analyser. Des scripts élémentaires peuvent
également être trouvés sur les pages http://www.iscript.fr et
http://www.macosxautomation.com/AppleScript.
Le menu Script permet d’enregistrer un script, d’arrêter
son enregistrement ou son exécution (Cmd+R), de l’exécuter et de le compiler (vérification de la syntaxe sans
exécution du script et production d’un code compilé).
Book_AppleScript.indb 17
3/09/09 14:23:57
18
CHAPITRE 1 L’environnement de programmation
Quatre boutons situés en haut à gauche de la fenêtre d’édition du script reprennent ces commandes. Le cinquième
bouton, Contenu du paquet, est actif lorsque le script affiché a été sauvegardé sous forme de bundle (voir la section
« Enregistrer un script »). Cet ensemble de boutons est
configurable à l’aide du menu Présentation > Personnaliser
la barre d’outils.
barre d’outils
barre
de navigation
fenêtre
d’édition
zone
d’information
Figure 1.5 : Fenêtre d’édition de scripts
Attention
AppleScript ne fonctionne pas par enregistrement des actions
de l’utilisateur sur l’interface graphique des applications. Bien
qu’un bouton Enregistrer un script soit apparu avec les versions
récentes de l’Éditeur de scripts, ces enregistrements ne sont
possibles qu’avec un nombre limité d’applications (dont le
Finder). Lors d’un enregistrement, les actions de l’utilisateur
sont converties en instructions AppleScript, qui apparaissent
dans la fenêtre du script, au fur et à mesure des interactions
avec les IHM des applications.
En dessous de la barre d’outils se trouve la barre de navigation, affichable par le biais du même menu Présentation.
Le menu déroulant de gauche liste les composants OSA
(voir la section « Compléments de pilotage » du Chapitre 4)
installés ; par défaut, AppleScript. Le menu de droite donne
un accès rapide aux fonctions, propriétés et variables globales du script.
Book_AppleScript.indb 18
3/09/09 14:23:58
Éditer un script
19
La fenêtre d’édition est constituée de deux panneaux, la
zone d’édition des scripts à proprement parler et une zone
d’affichage d’informations contrôlée par les boutons situés
en bas de la fenêtre (Description, Résultat, Hist. des événements, voir section « Déboguer un script »). La barre horizontale permet de répartir l’espace entre ces deux
panneaux ; un double-clic sur cette barre masque la zone
d’information alors qu’un Alt+double-clic masque la zone
d’édition.
Le panneau Description sert à saisir un texte qui sera affiché à l’utilisateur avant l’exécution du script, si celui-ci est
enregistré sous forme d’application ou de progiciel (voir la
section « Enregistrer un script »).
Aides à la programmation de l’Éditeur de scripts
Une aide à la saisie existe par le biais d’un menu contextuel (clic
droit ou Ctrl+clic), qui permet d’insérer des routines prédéfinies
dans le code (contrôle de flot, itération, gestionnaire d’erreurs,
boîtes de dialogue, etc.). Ces routines sont stockées dans le dossier
Bibliothèque/Scripts/Script Editor Scripts, dont le contenu est
modifiable (en termes de dossiers et de fichiers). Il est donc possible
d’y ajouter des portions de code que vous prévoyez d’utiliser
régulièrement.
Certaines des routines fournies par Apple se contentent d’insérer
un squelette de code dans le script en cours d’édition (par exemple
une instruction conditionnelle if-then). D’autres vont plus loin, en
utilisant votre code pour bâtir autour de lui une portion de code
complète. Dans l’exemple de la Figure 1.6, après avoir sélectionné
une variable de type liste, le menu Repeat Routines > Process Every
Item produit la boucle repeat, qui permettra de parcourir tous ses
éléments.
Book_AppleScript.indb 19
3/09/09 14:24:00
20
CHAPITRE 1 L’environnement de programmation
Figure 1.6 : Le menu contextuel de l’Éditeur de scripts
Une fonction de saisie semi-automatique (Assistant Script) peut
être activée dans l’onglet Modification des Préférences de l’Éditeur
de scripts. Elle suggère les termes complétant ce que le programmeur
est en train de saisir. Ces termes sont les mots-clés du langage
ainsi que les éléments de programmation des dictionnaires de
pilotage de base (suites Standard, Finder, etc.), mais pas ceux des
applications tierces.
Une suggestion multiple est indiquée par des points de suspension.
La touche F5 affiche la liste des termes suggérés (ou accepte la
suggestion si elle est unique) ; la touche F5 permet ensuite de
valider un choix effectué dans cette liste à l’aide des flèches haut
et bas (ou avec la souris). La touche Esc a le même effet.
Figure 1.7 : L’aide à la saisie de l’Éditeur de scripts
Book_AppleScript.indb 20
3/09/09 14:24:00