AppleScript :: Du changement dans Applescript sous Mountain Lion

SEScriptEditorXApplescript est un langage naturel de Scripting. Ce langage reprend la syntaxe anglaise, ce qui le rend facilement utilisable pour les Anglo-Saxons mais beaucoup moins naturel pour nous francophone… Il permet pourtant d’automatiser des opérations au sein des applications et se révèle bien plus puissant qu’Automator son petit frère.

Contrairement aux autres langages de Scripting, Applescript doit être « compilé » avant d’être enregistré. Avez-vous essayé d’enregistrer un script avec une erreur de syntaxe ? Et bien ce n’est pas possible enfin … jusqu’à Mountain Lion.

Cela est dû à la sauvegarde en continu des fichiers (« Auto save » en Anglais et utilisée en français surle site d’Apple). Si cette fonctionnalité est apparue dans Lion elle n’a été implémentée dans l’éditeur de script que dans Mountain Lion.

Image 01

(la fenetre de l’editeur AppleScript avec la gestion des versions)

Le problème est le suivant, vous ne pouvez « modifier » en continu un script compilé… puis ce qu’il doit etre validé d’un piint de vue de la syntaxe. Par contre enregistrer en continu un fichier texte ne pose pas de problème, mais un exécutable (fichier compilé) c’est une autre affaire. Apple a une fois de plus contourné le problème en proposant un nouveau format de fichier.

Pour contourner le problème du fichier « .scpt » impossible à enregistrer en continu. Apple a développé une solution pour les fichiers « .app ». (Pour rappel, les fichiers « .App » se comporte comme des applications Apple, ce sont en réalité des dossiers, des exécutables et des objets graphiques).

L’éditeur de script enregistre deux versions du script dans le même dossier, l’une en mode texte et l’autre en mode compilé. L’opération est transparente pour l’utilisateur, il n’en voit qu’une des deux dans l’éditeur de texte, alors que la version compilée du script sera présente dans le dossier de l’application. A noter que le script au format texte porte l’extension « .rtf » (plutôt étrange).

Image 02

(Deux versions du Script sont présentes, l’une auformat RTF et l’autre avce l’extension SCPT)

Le problème est à deux niveaux : Vous pouvez avoir une différence dans votre script entre la version texte « affichée dans l’éditeur de script » et la version Texte qui n’est pas compilée, donc non vérifiée.

En théorie Apple ne créé le fichier texte que lorsqu’il y a un souci à la compilation. Si donc vous rencontrez une Application (créée avec Applescript) et contenant un fichier RTF alors il y a un souci. L’autre souci se pose lors de l’utilisation de ces scripts avec des versions antérieures.

Image 03

(Message d’alerte indiquant que des modifications n’ont pas été compilée)

Ce fonctionnement est complètement transparent pour l’utilisateur, mais il doit être connu. La question que l’on peut légitiment se poser est pourquoi implémenter de l’enregistrement en continu dans un éditeur de script ? 

Pour info,  vous pouvez enregistrer vos scripts Apple Script sous 4 formats, chacun ayant son extension :

  1. Fichiers avec l’extension « .scpt », elle concerne les scripts au format « compilé ». Il s’agit du type de fichier le plus courant. Double cliqué dessus et le script sera ouvert dans l’editeur de script. Pour être compilé un script doit être syntaxiquement correct.
     
  2. Fichiers avec  « .applesscript » comme extension, utilisée pour enregistrer les fichiers au format texte.
    Dans ce format le script peut être ouverte avec n’importe quel éditeur de texte.
     
  3. Fichiers avec l’extension « .scptd », utilisée pour enregistrer les scripts (.scpt) en tant que fichier. Pour une utilisation comme la création d’extension pour AppleScript. Voici le contenu du « paquet » :

Image 04(Dans ce format, le script et placé dans une dossier et porte le nom de « main.scpt »)

  1. Fichiers avec l’extension « .app », cette fois utilisée pour les fichiers compilés (.scpt) utilisables comme une application dans le Finder (dossier avec sous dossiers). Voici le contenu de l’application :

Image 05

 (le contenu d’une application créée depuis un fichier Apple script)

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s