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.
setmon_imageto((path to desktop)as string)&"parisint.gif" setmon_urlto"http://www.sytadin.tm.fr/tempsreel/parisint.gif" try tell application "URL Access Scripting"tosetmon_imageto download mon_url to mon_image replacing yes on error tell application "URL Access Scripting"tosetmon_imageto download mon_url to mon_image replacing yes endtry 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.