# Automator - passer d'une configuration à une autre



## Cyr2021 (11 Février 2020)

Bonjour,
Je souhaiterais trouver une astuce pour passer d'une configuration à une autre.
Je voudrais en une action via Automator, peut-être :

Fermer toutes les applications
Activer ne pas déranger (couper toutes les notifications)
Désactiver le bluetooth
Désactiver Economiseur d’écran
Economiseur d’écran: éteindre l’écran après: Jamais
Ouvrir une fenêtre avec choix des applications à ouvrir

Après le travail terminé je souhaiterais revenir en configuration de base en 1 clic :

Fermer les applications en demandant une confirmation d’enregistrement
Revenir à la configuration d'origine (désactiver ne pas déranger, économiseur d’écran, éteindre l’écran après…)
Auriez-vous une ou des solutions ?
D'avance, merci.


----------



## Cyr2021 (4 Mai 2020)

Pour laisser l'ordinateur en éveil il y a la commande "caffeinate -di"
Pour qu'elle fonctionne, le Terminal doit rester ouvert.
Je souhaiterais soit créer un script d'application pour l'intégrer ensuite dans Automator, soit l'intégrer directement dans ce dernier.

Sous automator, "Executer un script Shell" tourne en boucle et il ne peut passer à l'action suivante.

Auriez-vous une idée de comment réaliser ça?


----------



## Cyr2021 (6 Mai 2020)

Bonjour 2021!
L'idée de créer un Applescript pour désactiver l'économie d'énergie, un autre pour choisir l'application à ouvrir parmi une liste de choix, puis les sauvegarder en applications pour enfin les ouvrir dans Automator n'est pas si bête!

Pour le 1er tu peux taper celui-ci :
*set* message *to* "Activer Caffeinate dans le Terminal?"
*set* tempVar *to* *display dialog* message buttons {"Pas besoin...", "C'est plus sûr!"} with title "Mode économie d'énergie OFF!"
*set* boutonAppuye *to* button returned *of* tempVar
*if* boutonAppuye *is* "Pas besoin..." *then* *quit
if* boutonAppuye *is* "C'est plus sûr!" *then* *tell* _application_ "Terminal"
*set* commande *to* "caffeinate -di"
*do script* commande
*activate
end* *tell
tell* _application_ "Terminal" *to* *quit*

Il a l'avantage de quitter la commande "caffeinate" en même temps que la fenêtre du Terminal !!!

Et pour le second:
*set* appList *to* {"M32", "X32", "CL Editor", "Reaper"}
*set* ChoixApp *to* *choose from list* appList with title "Mode Sonorisation" with prompt "Quelle(s) application(s) ouvrir ?" *with* multiple selections allowed
*if* ChoixApp *is* _false_ *then* *quit
if* _item_ 1 *of* ChoixApp *is* "M32" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "M32-Edit.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell
if* _item_ 1 *of* ChoixApp *is* "X32" *then*
*tell* _application_ "Finder"
*activate*
*open* _application file_ "X-AIR-Edit.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell
else* *if* _item_ 1 *of* ChoixApp *is* "CL Editor" *then*
*tell* _application_ "Finder"
*activate*
*open* _application file_ "CL Editor.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell
else* *if* _item_ 1 *of* ChoixApp *is* "Reaper" *then*
*tell* _application_ "Finder"
*activate*
*open* _application file_ "REAPER64.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell
end* *if
*
Un petit plus, en appuyant sur le button annuler, l'application est quittée!

J'espère que cela te fera avancer un peu ;-)


----------



## Cyr2021 (6 Mai 2020)

Ah merci, c'est génial, et ça m'a bien avancé!
Par contre le choix multiple avec "with multiple selections allowed" ne fonctionne pas.
Un expert pourrait éclairer ma lanterne ?


----------



## zeltron54 (6 Mai 2020)

Bonjour,

Le choix multiple se fait en sélectionnant avec la touche cmd enfoncée.

Ne serait il pas plus simple de créer un utilistaeur avec le profil de tous les choix désirés, et simplement de basculer d'un utilisateur à un autre en fonction de ton besoin.


----------



## Cyr2021 (6 Mai 2020)

Merci pour tes réponses.
J'ai pensé à la solution du profil utilisateur mais cela ne me convient pas pour de multiples raisons.

Le soucis étant qu'une seule application s'ouvre. Peut-être que c'est dû aux "if" ?!
Je continu de creuser.


----------



## zeltron54 (6 Mai 2020)

Pour ouvrir toutes les applications que tu sélectionnent ton code doit être:


```
set appList to {"M32", "X32", "CL Editor", "Reaper"}
set ChoixApp to choose from list appList with title "Mode Sonorisation" with prompt "Quelle(s) application(s) ouvrir ?" with multiple selections allowed
if ChoixApp is false then quit
repeat with Unchoix in ChoixApp
    tell application Unchoix
        activate
    end tell
end repeat
```


----------



## Cyr2021 (6 Mai 2020)

Merci beaucoup, je vais essayer ça.


----------



## zeltron54 (7 Mai 2020)

Bonjour,
Je n’ai pas précisé mais il faut que les noms de la liste soient les noms exact de l’application à ouvrir ...


----------



## Cyr2021 (7 Mai 2020)

Encore merci zeltron54!
J'ai inséré ton code comme indiqué. J'ai eu du mal à comprendre au début car au lancement du script une fenêtre apparaissait. Celle-ci me demandait d'indiquer quelle application ouvrir en fonction du résultat.
Le script n'est peut-être pas conventionnel mais ça fonctionne bien.

Encore merci.


--- création de string (chaine) nommée appList
*set* appList *to* {"M32", "X32", "CL Editor", "DiGiCo", "Reaper"}
--- ouverture d'une fenêtre, nommée ChoixApp, avec une liste choix parmi la chaine applist. ChoixApp devient une chaine
*set* ChoixApp *to* *choose from list* appList with title "Mode Sonorisation" with prompt "Quelle(s) application(s) ouvrir ?" *with* multiple selections allowed
--- Que faire en cas d'annulation? Quitter
*if* ChoixApp *is* _false_ *then* *quit*
--- répétition
*repeat* *with* Unchoix *in* ChoixApp
*tell* _application_ Unchoix
*activate*
*end* *tell
end* *repeat*
--- si dans la chaine ChoixApp M32 est selectionné
*if* _item_ 1 *of* ChoixApp *is* "M32" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "M32-Edit.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell*
--- si dans la chaine ChoixApp X32 est selectionné
*if* _item_ 1 *of* ChoixApp *is* "X32" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "X-AIR-Edit.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell*
--- si dans la chaine ChoixApp CL Editor est selectionné
*if* _item_ 1 *of* ChoixApp *is* "CL Editor" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "CL Editor.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell*
--- si dans la chaine ChoixApp Reaper est selectionné
*if* _item_ 1 *of* ChoixApp *is* "Reaper" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "REAPER64.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell*
--- si dans la chaine ChoixApp DiGiCo est selectionné
*if* _item_ 1 *of* ChoixApp *is* "DiGiCo" *then* *tell* _application_ "Finder"
*activate*
*open* _application file_ "Digico-S-Editor.app" *of* _folder_ "Applications" *of* startup disk
*end* *tell*


----------



## Cyr2021 (7 Mai 2020)

Je m'auto-réponds... en fait tout ce qu'il y a après la répétition est inutile!


----------



## zeltron54 (7 Mai 2020)

Bonoisr,

Si une fenêtre te demandait de sélectionner l'appli, c'est que son nom n'étais pas exact.
Il me paraissait évident que mon script était complet, ( annule et remplace ) le tien et non pas à insérer...

Tu dis pas conventionnel ???
Enfin, tu as l'air d'avoir réussi ! tant mieux pour toi.


----------



## Cyr2021 (7 Mai 2020)

Oui j'avais mal compris, puisque le début était pareil j'ai cru que je devais juste insérer la notion de repeat.
Je parlais de mon script qui me paraissait non conventionnel avec tous ces "if".
Je découvre l'AppleScript.


----------

