| PANORAMA D'APPLESCRIPT AppleScript est un système de script qui permet de controler toutes les applications Macintosh scriptables, y compris Mac Os lui-même. Plutôt que d'utiliser la souris ou le clavier pour manipuler les applications, vous créez des scripts - écrit en langage commun - pour automatiser des tâches, controler des application en local ou en réseau, ainsi que le control de complexes "workflows". Il y a quelques exemples de sujet de scripts AppleScripts dans ce qui suit. AppleScript est le langage de script préféré des utilisateurs de Macintosh. Afin de pourvoyer les scripteurs de leur incroyable flexibilité et puissance, les développeurs doivent rendre leurs applications scriptables, ou capable de répondre à des Apple Events. Bien que les applications Carbon et les applications Cocoa utilisent un mécanisme complètement différent pour supporter ce système de script, les AppleScriteurs quant à eux accèdent de la même manière à une application scriptable, permettant ainsi de concevoir des combinaisons entre plusieurs applications. Les AppleScriteurs plus expérimentés, utilisent AppleScript pour réaliser des solutions personalisées, qui ont pour particularité d'utiliser de nombreuses applications scriptables, incluant la partie scriptable de Mac Os, comme : - - le Finder, qui est le support central de toutes les opérations sur les fichiers, dossiers, fenêtres et tous les composants du bureau du Macintosh.
- - le Mail, qui traite les opérations de prise, de lecture et de suppression d ' E_mail. AppleScript Studio contient une application simple, Watson, décrite en détail dans le chapitre "Watson Tutorial: Designing the Application", qui utilise des scripts pour effectuer des recherches dans les mailboxes de l'application Mail de Mac Os X.
- - le lecteur QuickTime, qui traite les opérations d'ouverture, d'éxécution et d'affichage des vidéos. Une application de base, The Talking Head, montre comment éxécuter une vidéo Quicktime depuis une application AppleScript Studio.
- - Sherlock, qui traite la recherche de texte dans un fichier ou sur internet.
AppleScript est capable d'appeller une application sur n'importe quel ordinateur d'un réseau et tout à fait capable de lancer des procédure au travers d'internet (depuis la version 10.1 de Mac Os X). AppleScript inclus les procédures de réseau, tel que XML-RPC et les requêtes SOAP, qui permettent un accès à un serveur web pour valider une traduction, obtenir des stocks quotes, et bien plus. L'application AppleScript Studio SOAP Talk, montre une interface utilisateur pour accéder à une service SOAP. Pour plus de documentation sur les procédures pour travailler avec un réseau, vous pouvez consulter XML-RPC et SOAP Requests à http://developer.apple.com/techpubs/macosx/CoreTechnologies/coretechnologies.html Sur les fondements d'un langage de script, supporté par la plupart des applications scriptables et disponible sur presque tous les Mac, AppleScript c' est la force qui se cache derrière AppleScript Studio. COMMENT APPLESCRIPT EST IMPLEMENTE Vous pouvez utiliser AppleScript Studio pour créer des solutions complexes sans avoir une connaissance précise de l'implémentation d'AppleScript dans MacOs X. C'est pour cette raison que cette section survolera cette question par une bref description de cette implémentation. Pour plus de détail, voir les documentations additionnelles listées à "Related Documentation". La suite de la discussion portera sur les structures key frameworks et autres composants du support de script de Mac OX. Notez que , quoi qu'il en soit , vous ne serez jamais amené à vous servir directement de ces structures dans votre projet AppleScript Studio. - - L' Open Scripting Architecture (OSA) fournit un API pour la compilation et l'éxécution d'un script, et pour la création de composants, ainsi que pour AppleScript lui-même. Il est implémenté dans l' OpenScripting.framework, une sous- structure de Carbon.framework .
- - L' Apple Event Manager fournit un API pour envoyer et recevoir les Apple Events et travailler les informations qu'ils contiennent. Les composants scripts utilisent les Apple Events pour envoyer des commandes et des données sur une application cible. L' Apple Event Manager est implémenter dans AE.framework, une sous-structure de ApplicationServices.framework.
- - L' AppleScript component dans Mac Os X implémente le langage de script AppleScript. Ce composant de script fournit le service pour la compilation et l'éxécution des scripts (et relayé par l'OSA).
- - le Script Editor application fournit l'outil pour éditer, compiler et éxécuter les scripts. Il examine la terminologie du script et des applications scriptables ( les termes que vous utilisez pour communiquer avec les applications), et éxécute les autres tâches du script. Lorsque vous l'utilisez pour éxécuter un script, le Script Editor appelle un composant d' AppleScript pour convertir la syntaxe du script dans un langage approprié aux Apple Events afin de dialoguer avec les applications. Dans Mac Os X, Script Editor est localisé à /Applications/AppleScript
La majorité des AppleScripteurs sont familiarisés avec Script Editor, et vous pouvez en savoir davantage dans la section AppleScript Help de l' Help Center. Mais, comme vous allez le constater dans la section suivante, AppleScript Studio fournit un environnement de programmation beaucoup plus complet. SCRIPTER DANS APPLESCRIPT STUDIO Lorsque vous écrivez un script avec AppleScript Studio, il est possible de cibler n'importe quelle application scriptable dans Mac Os, inclus depuis Mac Os Classic ou depuis des machines en réseau. Il est possible aussi d'accéder à l'ensemble des scripts de Mac Os lui-même et des capacités fournis par AppleScript. En somme, vous pouvez utiliser n'importe quel script écrit ailleurs que dans AppleScript Studio. Evidemment, AppleScript Studio apporte beaucoup plus de fonctionnalité, tel que: - - la création de long script,
- - le chercher-remplacer et le drag and drop dans le script,
- - un debuggeur pas à pas, avec la visualisation des variables,
- - un accès, depuis un script, à la richesse des objets d'interface Cocoa, tel que les boutons et les champs textes ou pop-up menus, .... Pour plus d'informations, voir le chapitre "Cocoa User Interface Objects"
Pour écrire des scripts à l'aide d'AppleScript Studio, vous devez connaître la syntaxe que vous pouvez utiliser avec les objects d'interface d'une application. Vous pouvez éxaminer la syntaxe éxacte en regardant le dictionnaire d' AppleScript Studio, ainsi que les exemples d'applications livrées avec AppleScript Studio. Pour plus de détail, consulter le chapitre "Terminology Browser". Pour finir, les objects d'interface de Cocoa sont décrits dans le chapitre "Cocoa User Interface Objects", dans le Chapitre 8, "AppleScript Studio Scripting Terminology", et fournissent toutes les informations nécessaires à propos de cette terminologie. SYNTAXE POUR LES CLASSES ET LES OBJECTS Ce livre utilise les définitions suivantes pour aider à distinguer les principales différences entre les classes Cocoa et les classes AppleScript, les objets Cocoa et les objet AppleScript dont vous serez ammené à cotoyer : - les classes d'interface utilisateur Cocoa sont des classes Objective-C, généralement définies dans l' AppKit.framework, et contiennent les définitions de l'interface. Par exemple , NSButton et NSBrowser sont des classes d'interface utilisateur Cocoa. - les objects d'interface utilisateur Cocoa, sont des instances de classe d'interface utilisateur. Lorsque vous créez une interface depuis AppleScript Studio avec Interface Builder, par exemple, vous draggez un bouttons ou un champ texte dans la fenêtre de votre application, ces objects sont des instances de NSButton et de NSBrowser, respectivement. Lorsque vous sélectionner un objet d'interface Cocoa depuis Interface Builder et que vous examinez la fenêtre d'information (Info Window), vous pouvez voir le nom de la classe dans le titre de la fenêtre (par exemple, NSButton). - Une classe d'object AppleScript est une catégorie d'object AppleScript qui contient ses caractéristiques, ses propriétés et ses éléments. Par exemple, si vous ouvrez le dictionnaire d' AppleScript Studio, vous verrez "button" dans la liste des classes dans la fenêtre de control. - Un object AppleScript est une instance de la classe d'object AppleScript. Un object AppleScript est un object distinct dans une application ou dans le document où il est spécifié par le script. Dans AppleScript Studio, par exemple, vous pouvez écrire un code comme ce qui suit : set currentButton to button "Search" of window "Some Window" Où currentButton fait référence à un object AppleScript spécifique de nom "Search". Ce bouton fait référence lui-même à un object d'interface utilisateur Cocoa ( à l'instance NSButton) dans l'application. Dans AppleScript Studio, il y a une correspondance naturelle entre un object Cocoa et le même object AppleScript. FIN DE CETTE PAGE | |