Articles :: Programmation :: AppleScript

Introduction à AppleScript

samedi 7 mai 2005 par Julien, Kyrill

Sommaire

Niveau : débutant

AppleScript, un nom qui vous dit peut être quelque chose... En effet, son intégration remonte à MacOS 7.1 et sa place devient de plus en plus importante. Mais qu’est-ce donc ?

AppleScript est un langage de programmation qui sert à automatiser des tâches entre applications. De plus en plus puissant, notamment grâce à MacOS X, il peut même servir à développer des applications autonomes.

AppleScript permet de piloter des applications, ainsi au lieu d’utiliser votre souris et votre clavier, c’est des instructions AppleScript qui prendront le contrôle de vos applications.

Piloter quelles applications ?

De nombreuses applications peuvent être contrôlées par AppleScript, on les appelle des applications pilotables. Pour savoir les applications pilotables que vous avez, ouvrez l’application Éditeur AppleScript du dossier AppleScript. Ensuite allez dans le menu "Fichier" puis "Ouvrir un dictionnaire".

Les classes sont des informations (appelées propriétés) que nous pouvons obtenir de l’application. Celles qui ne sont pas suivies par [r/o] sont modifiables par AppleScript. Quand dans une classe vous voyez "<Inheritance>", cela veut dire qu’en plus des propriétés que vous voyez, celle classe dispose des propriétés de la classe indiquée.

Les commandes sont des actions à exécuter.

Prenons iTunes pour découvrir son dictionnaire. Une fois le dictionnaire ouvert, cliquez sur iTunes Suite puis Classes puis track. Nous voyons alors toutes les informations que nous pouvons obtenir sur une piste. Allez dans Commandes, vous voyez les actions que vous pouvez effectuer dans iTunes.

Les instructions

Les instructions AppleScript sont basées sur l’anglais courant. Commençons par la première : "tell". Celle-ci sert à dire à une application d’effectuer une action.

Voici un exemple :

tell application "iTunes" to play

Tapez cet exemple dans la fenêtre vierge de l’éditeur de scripts, puis cliquez sur le bouton "Compiler" puis "Lire".

iTunes va commencer la lecture : vous avez fait votre premier AppleScript !

Si nous avions plusieurs instructions à dire à iTunes, nous ferions :


tell application "iTunes"
   play
   fast forward
end tell

Cela s’appelle un bloc "tell". Il en existe plusieurs que nous verrons par la suite.

Pratique avec le script iSearch 1.0

Nous allons décortiquer le script d’une partie de iSearch 1.0, un programme de recherche que j’ai créé.

set chosensite to button returned of (display dialog "Que voulez-vous rechercher ?" buttons ["Une image", "Une page web"])

if chosensite is "Une page web" then

set searchstr to text returned of (display dialog "Tapez un mot-clés ci-dessous :" default answer "")

open location "http://www.google.fr/search ?hl=fr&q=" & searchstr & "&btnG=Recherche+Google&meta="

end if

if chosensite is "Une image" then

set searchstr to text returned of (display dialog "Tapez un mot-clés ci-dessous :" default answer "")

open location "http://images.google.fr/images ?q=" & searchstr & "&hl=fr&lr=&sa=N&tab=wi"

end if

Vous trouvez peut-être qu’il faut être pro en AppleScript pour faire ça ? Et bien non, c’est très simple ! ’’display dialog "texte" buttons ["1er bouton", "2e bouton"]’’ vous l’aurez peut-être deviné, sert à afficher une fenêtre avec du texte et des boutons ! (maximum de 3 boutons) On peut aussi mettre une case où l’utilisateur pourra écrire, avec la commande " default answer’’ ’’ " à la place des boutons. ’’set chosensite to button returned’’ ça, ça veut dire que l’utilisateur va choisir un des deux boutons, désignés ici par le mot chosensite ; si l’on veut remplacer "button" par "text", alors l’utilisateur va taper un texte désigner par le même mot. Le mot chosensite va être réutiliser plus tard, avec ’’if’’ ici.

’’if chosensite is "1er bouton" then

(...)

end if’’

veut dire "si le mot chosensite désigne ’’1er bouton’’ on a : tel script. fin de l’action liée au bouton ’’1er bouton’’" En gros, si l’utilisateur clique sur le bouton nommé "1er bouton", il activera un script quelconque. Souvenez-vous maintenant de ce que veux dire "set searchstr to text returned of..." ça veut dire que l’utilisateur va taper un texte désigné par la variable searchstr. Il va être réutiliser pour se connecter à une page internet avec la commande ’’open location’’ puis le lien entre guillemets, ici, si l’utilisateur tape "MacTouch" par exemple, il aura la page

"http://www.google.fr/search ?hl=fr&q=MacTouch&btnG=Recherche+Google&meta=" que le script appelle "http://www.google.fr/search ?hl=fr&q=" & searchstr & "&btnG=Recherche+Google&meta="

On a donc appris... A utiliser display dialog pour que l’utilisateur place un texte : set variable to texte returned of (display dialog "texte" default answer"") Et pour placer des boutons : set variable to button returned of (display dialog "texte" buttons ["1er bouton", "2e bouton"] A aller vers une page web : open location "http://url.url" Et a aller vers une page web avec plusieurs parties : open location "http://www." & variable & ".com"

AppleScript (page en anglais)

Certains caractères sont marqués comme des codes dans cet article, pour mieux comprendre, je vous ai mis des captures en .pdf Ainsi, dans Script Editor, il faudra, à la place de ] ou [ mettre alt + ) ou alt + (

Doc:Fenêtre avec boutons, 7.5 ko, 48x52

Fenêtre avec boutons

(pdf, 7.5 ko)

Doc:Fenêtre avec texte, 8.8 ko, 48x52

Fenêtre avec texte

(pdf, 8.8 ko)

Les anciennes réactions :

  • COMMENT UTILISER APPLE SCRIPT POUR IMPRIMER

    , par fabrice

    J’ai 20 à 25 fichiers Xpress de 16 pages chacun à imprimer. Je voudrais que le Mac gère l’impression seul : il lance les 25 fichiers tour à tour, sans que je n’ai besoin d’être là.

    Apple script doit pouvoir m’aider ! mais comment ? je ne connais pas son utilisation. merci de votre aide

Recherche

A propos — Site collaboratif édité sous licence GNU FDL [pourquoi ?] — © 2004-08 — Mentions légalesContact
Syndication RSS — Powered by SPIPstockbanddonné


Contenu édité sous licence GNU FDL sans sections invariantes
© MacTouch 2004-08 — Powered by SPIP
http://www.mactouch.com/.