# Lancement script avec Calendrier



## titigrou (2 Novembre 2016)

Hello hello!

J'ai une petite question concernant le lancement des scripts applescript!
Auparavant, il me semblait que on pouvait créer un événement sur ical et que on pouvait lancer un script à l'heure de cet événement. 
Cette solution a disparue ou c'est moi qui suis aveugle?

Merci d'avance pour vos réponses.

Antoine


----------



## Ma Dalton (2 Novembre 2016)

Hello,

l'option a bien disparu, depuis Mountain Lion semble-t-il.

Une solution est de passer par Automator, regarde ici : http://apple.stackexchange.com/questions/59257/ical-no-longer-runs-scripts

Qui renvoie vers : https://discussions.apple.com/message/19044839#19044839


----------



## zeltron54 (3 Novembre 2016)

Bonjour,
On peut toujours lancer un script (une application) depuis "calendriers".

Ton script étant enregistré comme application et ayant été lancé au moins une fois (pour valider la demande: cette application est ouverte pour la première fois , voulez-vous etc...)

1 - Tu crées ton évènement  dans calendrier
2 - Tu cliques sur la date, tu paramètres: commence, se termine etc...
3 - Tu cliques sur" alerte aucune", tu sélectionnes personnaliser ...
3 - A la place de message tu choisis "ouvrir le fichier" 
4 - A la place de calendrier tu choisis "Autre..." et tu sélectionnes ton script
5 - Tu choisis le nombre de "minutes avant" l'évènement pour exécuter ton script.
6 - Tu cliques sur "OK"


----------



## philou6942 (25 Août 2017)

zeltron54 a dit:


> Bonjour,
> On peut toujours lancer un script (une application) depuis "calendriers".
> 
> Ton script étant enregistré comme application et ayant été lancé au moins une fois (pour valider la demande: cette application est ouverte pour la première fois , voulez-vous etc...)
> ...


Hello
je me permet de déterrer ce post afin de poser ma question concernant le fonctionnement d'automator avec calendrier:

J'ai créer un script automator qui "zip" un fichier et qui le place dans un dossier; ce dossier est synchroniser avec le cloud via adobe cloud. jusqu'ici tout va bien, le script marche.
Je veux lancer ce script plusieurs fois dans la journée: je rajoute un évènement dans calendrier avec comme alerte d'ouvrir un fichier (mon script automator en question).
Si je regarde après coup ce qu'il y a dans calendrier je ne vois plus ouvrir un fichier avec le fichier correspondant dans Alerte mais c'est marqué "aucune"...du coup la fonction ne se lance pas........je clic bien pourtant sur appliquer: je ne comprends pas ce qui cloche.
d'autres part je ne peux lancer mon script qu'une fois dans la journée: comment faire pour le lancer plusieurs fois: faut il dupliquer l'évènement ou il y a t'il une autre méthode?

merci


----------



## zeltron54 (25 Août 2017)

Bonjour,

Je viens de tester le lancement d'un script applescript dans le calendrier, aucun problème...

Pour un script automator le calendrier lance bien automator et il faut cliquer sur exécuter pour lancer mon script que j'ai sous enregistrer sous "mon script.workflow".

Pour le lancer plusieurs fois dans la journée il faut bien créer autant d' événement que de lancement ...

Dans le calendrier, en ouvrant l'événement je vois bien "ouvrir le fichier (alerte au moment de l'événement)"


----------



## philou6942 (25 Août 2017)

effectivement je viens de refaire la manip mais en mettant le fichier automator dans mon dossier perso et là ça à l'air de  fonctionner......

merci


----------



## zeltron54 (25 Août 2017)

Ok
Pour un script automator qui doit directement se lancer il faut l'enregistrer au format application ( mon script.app ).

Bonne journée.


----------



## philou6942 (25 Août 2017)

en fait ça ne marche pas tout à fait: ça a marché une fois après j'ai duplique l'évènement pour en faire un autre et après je suis revenu sur le premier et zou il n'y avait plus le rappel avec l'ouverture du fichier.......c'est très étrange tout ça et pourtant ça me parait très simple pourtant!!


----------



## zeltron54 (25 Août 2017)

Celà doit être un problème avec ton calendrier, je viens de dupliquer un événement 2 fois par jour et sur 5 jours, et tous gardent bien les infos de ma programmation.

Faudrait que tu testes sur une autre session (un autre utilisateur) pour cerner si le problème viens de ta session ou du programme calendrier.


----------



## philou6942 (25 Août 2017)

j'ai testé sur une autre session (invité ) et du coup ça à marché même après avoir fermé calendrier......
Mais maintenant que dois je faire pour régler ce problème?

merci.


----------



## zeltron54 (25 Août 2017)

Il doit y avoir un fichier corrompu dans ta bibliothèque. Mais là je suis moins à l'aise pour le trouver!

Un premier test serais de déplacer sur ton bureau le dossier calendar.
lors de l'ouverture de l'application calendrier un nouveau dossier calendar sera recréer et tu pourras faire un essai si ca fonctionne, si oui il faudra alors chercher dans le dossier quel élément est corrompu !


----------



## philou6942 (25 Août 2017)

le dossier calendar dans application?


----------



## zeltron54 (25 Août 2017)

Non dans ta bibliothèque. Qui se trouve dans Utilisateurs--> ta petite maison.


----------



## philou6942 (25 Août 2017)

je n'ai rien trouvé dans 'ta petite maison' il n'y a pas de dossier bibliothèque


----------



## zeltron54 (25 Août 2017)

il s'agit du dossier bibliothèque qui est dans le dossier représenté par une petite maison

Si cette bibliothèque est cachée tu peux y accéder depuis le bureau dans la barre menu cliquer sur aller puis en appuyant sur la touche option (alt) la bibliothèque devrait apparaître dans le menu.


----------



## philou6942 (25 Août 2017)

On avance (ouf) : effectivement il doit bien y a voir un fichier corrompu car les évènements s'affiche bien maintenant avec le nouveau dossier calendar....


----------



## zeltron54 (25 Août 2017)

Si tu n'as rien de spécial dans ton calendrier tu peux rester comme ça, et re-entrer les événement qui étaient dans l'ancien dossier calendar.
Sinon si tu as trop de choses à remettre en place il te faut remettre l'ancien dossier calendar à sa place et virer les fichiers qu'il contient un par un jusqu'a trouver le coupable !
Bon courage !


----------



## philou6942 (25 Août 2017)

J'ai trouvé pour le fichier corrompu : j'ai fermé la session puis je l'ai réouverte ce qui a remis mes calendriers par défaut auxquels j'étais abonnés et depuis ça marche!!
pourvu que ça dure!!

milles merci


----------



## zeltron54 (25 Août 2017)

Formidable ! !
bonne journée . . .


----------



## philou6942 (25 Août 2017)

Quand même je me disais pour un truc tout neuf à peine sorti du carton...enfin bref....l'essentiel c'est que tout fonctionne!
Bon week-end!


----------



## philou6942 (25 Août 2017)

j'en profites pendant que te tiens pour te poser une autre question: comment faire pour mettre une condition en entrée?
par exemple je veux tester la présence d'un fichier si il est présent en entrée on sort du script et bien sûr si il est n'est pas présent on continue.

merci!


----------



## zeltron54 (25 Août 2017)

Je ne connais pas bien automator, mais il me semble qu'il ne gère pas les conditions.
Pour faire ce que tu veux il te faut passer par un applescript.


----------



## philou6942 (25 Août 2017)

aie..... ça se corse!


----------



## zeltron54 (26 Août 2017)

Mais non ! c'est assez simple.

1- tu mets l'action :  obtenir les éléments du finder indiqués, dans cette action tu glisses le dossier dans lequel tu veux contrôler la présence ou non d'un fichier.
2 - tu mets l'action : exécuter un script applescript, dans cette action tu fais un copier coller de ceci:

on run {input, parameters}
   set chemin to input as alias
   tell application "Finder"
       set les_fichiers to files of chemin
       repeat with chaque_fichier in les_fichiers
           set nom to name of chaque_fichier
           if nom = "xxxx.zip" then
               display dialog "le fichier " & nom & " existe"
               error number -128
           end if
       end repeat
   end tell
   return input
end run

Dans ce script tu remplaces (xxxx.zip) par le nom du fichier qui doit arrêter le script s' il existe.

c'est tout : Si le fichier existe , le script s'arrête  et te met une boite de dialogue qui te préviens sinon le script continu


----------



## philou6942 (26 Août 2017)

bon ben....merci!


----------



## zeltron54 (26 Août 2017)

Coucou
as-tu tester si ça fonctionne ?
Si tu ne veux pas de boite de dialogue en cas d'arrêt du script, tu supprimes la ligne : (display dialog "le fichier " & nom & " existe") qui n'est qu'informative !


----------



## zeltron54 (26 Août 2017)

Petit info complémentaire:
La ligne: (error number -128) arrête le processus mais ne quitte pas l'application automator
Pour quitter l'application tu remplaces (error number -128) par :

tell application "Automator"
quit saving no
end tell

Dans ce cas l'application automator quitte complétement.


----------



## philou6942 (26 Août 2017)

hello
non je n'ai pas testé car en fait je (enfin toi aussi) on s'est fait un peu ch... pour rien car je cherchais un moyen de sauvegarder un seul fichier (il s'agit de mon catalogue Lightroom) de manière automatique dans le dossier adobe cloud: or il y avait seulement un point bloquant: ne sauvegarder que ce fichier et pas le fichier de previews qui sert au vignette que l'on affiche dans le logiciel (il me semble) qui va avec mais qui est assez lourd (le mien fait 2 giga):ce qui interdisait d'office de le sauvegarder dans le cloud d'abode (j'ai l'espace de 2 giga). En fait la solution a été simple puisqu'il a suffit de dire à lightroom de sauvegarder (il sauvegarde en zip automatiquement) dans le répertoire  "creative cloud files"....et c'est tout! je ne savais pas que c'était possible: ça m'apprendras!

En tout cas merci pour ton soutien car ça m'a permis de résoudre un problème sur le calendrier....
Philippe


----------

