Exécuter un programme automatiquement avant extinction mac

Pédrolinno

Membre actif
23 Mars 2010
156
3
41
Bonjour à tous,
Avant tout, veuillez excuser mon ignorance, je suis peu être sur une autre planète avec ce sujet...
Voici quelques mois que je suis sur mac, je commence à découvrir des petites choses sympathiques dont Applescript, que je ne me maîtrise pas du tout et qui est normalement présent pour nous faciliter la tâche afin d'automatiser des actions récurrentes (si j'ai bien compris !) ...

J'utilise Appigo afin de synchroniser mes tâches locale avec toodledo. Le problème de ce logiciel c'est qu'il ne peut pas synchroniser plus que toute le heures du coup, avant chaque extinction de mon mac, je suis obligé d'aller synchroniser manuellement, ce qui a tendance à bien me gonfler...
L'idée serait d'automatiser cette action, est-ce possible, si oui comment faire ?

Merci beaucoup d'avance pour vos lumières et votre précieuse aide. J'espère avoir été assez clair dans ma requête.:rolleyes:
Au plaisir...
 
Bon, merci quand même pour l'aide ...:(
Bonjour

Jusque à OS 9 c'était possible, Apple dans sa grande bonté à supprimé cette possibilité sur OS X.

Si tu trouve une solution, tu rendras service à beaucoup de monde.

@+
 
Bonjour

Pour mettre en veille où éteindre l'ordinateur j'utilise un AS dans le Dock (ça m'évite d'aller dans la barre des menus).

Il suffit de lui demander d'exécuter ta routine et ensuite d'éteindre.

C'est une habitude à prendre.

@+
 
Le problème est là, je ne sais pas comment faire
Bonjour

Si j'ai bien compris (détrompe moi si je fais une erreur) c'est pour synchroniser ton iPhone avec le Mac?

Car dans ta demande il n'est fait aucune mention de synchronisation de 2 appareils différents.

@+
 
c'est possible avec une approche un peu plus strong que mike, j'avais queques tests (experimentations perso),

tu crees un startupitem ou lauchd service qui pointe sur ton deamon, ton deamon hook les deux system events, et va lire un dossier d'actions a appliquer lors de ces deux evenements bien sur c'est instable dans certain cas car n'ayant pas un "hold on a sec system call shutdown" wait for background tasks, donc je n'ai pas continué car ne pouvant garantir un 100% safe, soit parfois sa stop l'arret ou cela tue les donnees.

mais je suis 100% d'accord cela devrait etre present dans l'os.
 
Bonjour

Ne connaissant rien du terminal, j'aurais testé en AppleScript.

Un code en tache de fond qui recherche toutes les X secondes si le code de l'instinction (dans le dock) est lancé.

Ce dernier lancé, quitte l'application nommé ci-dessus.
Lance la synchronisation.
Contrôle le dossier (où fichier) de réception, pour savoir quand le travail est terminé.
Éteind l'ordinateur.

Il faut que le premier code soit lancé au démarrage de l'ordinateur.

C'est une idée.

@+
 
le probleme est la phase de controle, il n'y rien pour deleyer l'event, tu le recois mais tu n'as pas le le controle sur logout ou shutdown il va continuer, donc ce qui se passe: c'est rapide ca marche, c'est un peu lent tu obtients un cancel du finder, c'est rapide mais pas assez rapide, l'application quitte au milieu du save... le pire des cas, et selon mes tests ca arrive environ 15% des fois ce qui est carrement pas une aide, le truc est super dependent de la machine si le cpu est occupé, beaucoup d'appli en memoire ecetera et l'ordre des "extinctions", si le shutdown etait aussi controllé que le boot pour l'ordre des services cela fonctionnerait super bien.
 
le probleme est la phase de controle, il n'y rien pour deleyer l'event, tu le recois mais tu n'as pas le le controle sur logout ou shutdown il va continuer, donc ce qui se passe: c'est rapide ca marche, c'est un peu lent tu obtients un cancel du finder, c'est rapide mais pas assez rapide, l'application quitte au milieu du save... le pire des cas, et selon mes tests ca arrive environ 15% des fois ce qui est carrement pas une aide, le truc est super dependent de la machine si le cpu est occupé, beaucoup d'appli en memoire ecetera.

Bon, tu m'oblige à faire le test (JE PARLE EN APPLESCRIPT).

Mes explications marchent pour un téléchargement (même si il dure 3 heures), donc la tu me donne un doute sur la pertinence de ma réponse.

Un manant comme moi doit contrôler si ces dires devant un maître, si ça fonctionne comme il le pense.

Donc je suis obligé d'écrire le code pour voir si j'ai raison (les simples d'esprit trouvent toujours (du moins souvent) des solutions).

Il suffit de dire a applescript que le temps d'enregistrement est à zéro pour qu'il te laisse tout le temps nécessaire pour faire ton enregistrement avant de passer a la commande suivante (si tu créer le code correctement).

Je sens que je vais écrire le code que pour moi.

MERCI de ta réponse, ce sont les maîtres comme toi qui obligent a se défoncer pour ne pas paraître ridicule.

PS: Si je te comprend, tu utilise pas le système X et encore moins AppleScript donc c'est normal que l'on se comprenne pas.

Cordialement

@+
 
Bonjour,

Mes explications marchent pour un téléchargement (même si il dure 3 heures), donc la tu me donne un doute sur la pertinence de ma réponse.

Un manant comme moi doit contrôler si ces dires devant un maître, si ça fonctionne comme il le pense.
Ton code va fonctionner sans problème, puisque l'extinction du Mac se fait dans le code.

Ce que tatouille parle, c'est un code qui s'exécute après que l'utilisateur sélectionne "Éteindre..." (solutions posté par Diablovic).
Donc, il faut que ça soit rapide
 
ceslinstinct,

je ne comprend pas que tu prennes mon commentaire pour une critique (mauvais sens tu terme et cela n'etait pas) surtout que nous etions semble-t-il pas sur la meme longueur d'onde :p je n'ai jamais attaqué ta solution, que cela soit applescript ou pas, je parlais d'un truc capable d'overloader les commandes du Finder sur le TearDown, quelque chose de generique pas strictement lié a une application, un truc comme for each app in the pool: commit last change before exiting. Arrete de boire de la Redbull:cool::D (rapport a ta "defonce"). Désolé que tu te sois vexé alors que me concernant je parlais semble t'il tout seul, car t'ayant lu rapidemment. :zen:
 
Bonjour

Si j'ai bien compris (détrompe moi si je fais une erreur) c'est pour synchroniser ton iPhone avec le Mac?

Car dans ta demande il n'est fait aucune mention de synchronisation de 2 appareils différents.

@+

J'ai envie de te dire oui et non, je m'explique... J'utilise Appigo sur mon mac book pro afin de synchroniser mes tâches qui ce trouvent sur le site Toodledoo. Ensuite, sur mon iPhone, j'utilise pocket informant qui lui, ce synchronise aussi avec le site Toodledoo. Un peu le même principe que google agenda partagé sur plusieurs postes...

Tout roule mis à part ce fameux Appigo de mon mbp qui lui, ce lance uniquement toutes les heures, du coup, je suis obligé de l'exécuter avant de quitter mon mac si je veux que mes tâches me suivent sur mon iPhone et sur mes ordi du boulots...

Je suis en train de lire votre grande conversations et espère trouver une réponse :)
 
J'ai envie de te dire oui et non, je m'explique... J'utilise Appigo sur mon mac book pro afin de synchroniser mes tâches qui ce trouvent sur le site Toodledoo. Ensuite, sur mon iPhone, j'utilise pocket informant qui lui, ce synchronise aussi avec le site Toodledoo. Un peu le même principe que google agenda partagé sur plusieurs postes...

Tout roule mis à part ce fameux Appigo de mon mbp qui lui, ce lance uniquement toutes les heures, du coup, je suis obligé de l'exécuter avant de quitter mon mac si je veux que mes tâches me suivent sur mon iPhone et sur mes ordi du boulots...

Je suis en train de lire votre grande conversations et espère trouver une réponse :)

Bonjour

Le plus simple, un AS qui ouvre Appigo qui fait la sauvegarde, avec un contrôle de fin de travail et extinction de l'ordinateur.

Défaut: obligé d'éteindre l'ordinateur par ce code.

tatouille

Il ne faut pas prendre le mot Maître pour une critique, c'est simplement pour faire comprendre que je suis très loin d'avoir tes connaissances.

C'est une marque de respect.:) ;) :D

Défoncer dans ce texte pour moi veut dire, trouver absolument une solution (au Canada ça veut dire quoi dans la même phrase?).

@+
 
Bonjour

J'ai trouvé un AS tout prêt (avec les modifications à ajouter vue que je n'utilise pas l'application de sauvegarde).

Ce que fait le code:

Lors de la première utilisation lui indiquer le chemin du dossier à surveiller.

Mémorise la date de dernière modification de ce dossier.

Lance l'application de synchronisation de ce dossier.

Surveille que la synchronisation est si finie, alors éteind l'ordinateur.

@+