Statements
La programmation AppleScript en exemples.

Une application qui reste ouverte.
Imaginons qu'on veuille exécuter une tâche avec une fréquence donnée comme par exemple consulter l'état du trafic routier dans Paris. Comme on n'a pas envie de recharger manuellement l'image. On va créer un script qui télécharge l'image, l'ouvre dans Safari et cela toutes les 60 secondes.

Tout comme pour la Droplet, ce script ne peut fonctionner que s'il est enregistré au format Application et avec l'option "Stay open" ou "Rester en arrière-plan" cochée.

Statement 4 : récupérez l'AppleScript ici.

Le Script :

on idle

set mon_image to ((path to desktop) as string) & "parisint.gif"
set mon_url to "http://www.sytadin.tm.fr/tempsreel/parisint.gif"
try
tell application "URL Access Scripting" to set mon_image to download mon_url to mon_image replacing yes
on error
tell application "URL Access Scripting" to set mon_image to download mon_url to mon_image replacing yes
end try
tell application "Safari" to open mon_image

return
60
end idle


Explications :
Il existe deux façons de créer une application qui reste ouverte. La première consistant à faire une boucle infinie et la seconde à utiliser le statement d'AppleScript prévu à cette effet : "on idle".
Comme mentionné plus haut, ce statement ne fonctionne qu'avec les applications dont la case "Rester en arrière plan" a été cochée.
La durée entre deux exécution est fixée par "
return 60" qui est un nombre entier de seconde(s).


Astuces :
• la valeur "60" représente la durée entre la fin de l'exécution et le début de la prochaine exécution : c'est-à-dire que si le script prend 32 secondes pour s'exécuter entièrement, alors on aura une exécution toutes les 22 secondes.
• on ne peut pas demander une durée inférieure à 1 seconde entre 2 exécution.
• on a utilisé la fonction "try" deux fois de suite essentiellement parce que lors du premier lancement, si le fichier "parisint.gif" n'existe pas sur le bureau, l'application renvoie un message d'erreur.