Nous expliquons en images comment créer un AppleScript exécutable pour lancer une application sur le Terminal.
Problème
Vous voulez lancer un AppleScript qui exécute plusieurs commandes et vous souhaitez que ce script soit exécutable sous la forme d’une application standard du Mac. Alternativement, vous avez une application que vous ne pouvez lancer qu’à partir du Terminal, comme par exemple un port installé grâce à Fink, Macports ou Homebrew, et vous souhaitez lancer ce programme comme une application normale. Voici comment faire.
(Note: toutes les images de l’article peuvent être cliquées pour un agrandissement)
Création d’un AppleScript avec l’éditeur d’AppleScript
Nous allons effectuer toutes les tâches dont nous avons besoin grâce à un AppleScript et avec l’éditeur d’AppleScript fourni avec votre Mac. Celui-ci s’apple Editeur AppleScript.app et se trouve dans le répertoire des Applications sous Utilitaires. Une façon simple de le lancer est de cliquer sur la loupe à côté de l’horloge pour invoquer Spotlight et de commencer à taper « applescript ». En général, « ap » suffit pour que l’éditeur apparaisse en têtes des propositions et il ne vous reste plus qu’à cliquer dessus.
Lancez l’Editeur AppleScript avec Spotlight
Une fois l’éditeur lancé, nous pouvons taper dedans notre code AppleScript et tester son exécution.
Voici l’interface de l’Editeur d’AppleScript
Pour notre exemple, nous allons créer une application capable de lancer GNU Octave, le logiciel de calcul mathématique GNU. Une version native pour OS X de ce programme n’existe pas actuellement, il est donc nécessaire de passer par un port via Fink, Macports ou Homebrew. Nous allons donc créer un code AppleScript simple capable de lancer GNU Octave:
tell application « Terminal »
activate
do script « octave »
end tell
Voici le code du script que nous allons tenter de transformer en application
Ici les deux premières lignes permettent de lancer le Terminal, la troisième permet d’invoquer GNU Octave à partir du terminal et la dernière ligne clôture le script. Ce script se comporte exactement comme si vous aviez lancé vous-même le terminal, pour ensuite taper dedans « octave » (qui est la commande pour lancer octave du terminal si vous l’avez correctement installé) et appuyer sur Entrée.
Vous pouvez tester son bon fonctionnement directement dans l’éditeur d’AppleScript via le bouton Exécuter. Octave se lance immédiatement.
On peut cliquer sur Exécuter pour tester le script
Octave se lance immédiatement
Création d’une application avec un AppleScript
La seconde étape consiste à créer une application standard OS X avec ce script. C’est très facile à réaliser avec les outils proposés par Apple. En fait, il suffit simplement de sauver votre script comme une application. Dans l’Editeur d’AppleScript faites, Fichier>>Enregistrer (si vous avez déjà enregistré une version de votre script vous pouvez aussi faire Fichier>>Exporter).
Choisir d’Enregistrer ou d’Exporter votre script
Vous avez à présent accès aux options d’enregistrement, c’est ici que la magie s’opère. Dans « format de fichier », choisir « Application ».
Il est important de choisir Application comme format de fichier
Il est important de choisir Application comme format de fichier
Il est important de choisir Application comme format de fichier
Vous pouvez laisser les autres options décochées et cliquer sur Enregistrer. L’éditeur vous a crée une magnifique application fonctionnelle qui porte le nom du script, dans mon exemple, elle s’appelle Octave.app.
Voici votre application !
Avant de finir, nous allons apporter une petite touche d’embellissement en changeant l’icône de cette application. Nous allons télécharger une image plus conforme à GNU Octave sur internet et la transformer en icône d’application.
Trouver une icône pour GNU Octave
Les icônes d’application Mac sont au format icns, il nous faudra donc convertir notre image de départ en icns. Rien de plus simple avec l’application Img2icns. Dans Img2icns, nous allons simplement glisser-déposer l’image pour GNU Octave au format png que nous venons de télécharger et cliquer sur icns pour obtenu notre icône.
Dans Img2icns nous cliquons sur ICNS pour obtenir notre icône
Voici l’icône…
…que nous renommons en applet.icns
Nous allons renommer ce fichier applet.icns. A présent, cliquez droit sur l’application que nous avons crée avec l’Editeur d’Applescript puis choisir « Afficher le contenu du paquet ». Nous rappelons au passage que les fichiers avec l’extension app sur OS X ne sont en fait que des répertoires particuliers que le système traite comme un tout mais qu’il est possible d’afficher leur contenu en faisant « Afficher le contenu du paquet ».
Cliquer droit sur l’application et choisir Afficher le contenu du paquet
Dans le contenu de l’application, nous sommes intéressés par le répertoire Contents>>Resources où se trouve déjà un fichier icône nommé « applet.icns ».
Nous allons supprimer l’ancienne icône de l’application et la remplacer par la nouvelle que nous avons crée
Nous allons supprimer ce fichier applet.icns et le remplacer par celui que nous avons crée et renommé précédemment. En sortant du contenu du fichier app, nous nous apercevons que l’icône de l’application a changé !
Notre application affiche à présent sa nouvelle icône
Et voilà le tour est joué. Il suffit maintenant de copier votre nouvelle application dans le répertoire des Applications.
Et voilà, notre application a été déplacée dans le répertoire des Applications et est prête à être exécutée comme toute autre application.
Un exemple pour lancer une commande UNIX qui commence par ./
donc une commande dans ma HOME directory
tell application « Terminal »
do script « ./aisdispatcher -u -h 0.0.0.0 -p 10110 -H data.aishub.net:2615 -G -g »
end tell
Bonjour et merci pour ce auto très utile !
J’essaie de faire de même avec un exécutable UNIX que je peux lancer depuis le Terminal en tapant son nom précédé de ./ mais je ne parviens pas à trouver la bonne « formulation » pour créer un script fonctionnel.
Pouvez vous m’aider ?
Cordialement.