# Ouvrir une appplication avec Applescript



## greensource (17 Juin 2008)

Bonjour, je voudrais faire un script pour ouvrir une application en deux trois truc ensuite.
Mais je n'arrive même pas à l'ouvrir ;-)
J'execute ceci:

```
tell application "QuickTime Player"
open
end tell
```
et j'ai le message d'erreur suivant:






J'ai essayer d'écrire: 
	
	



```
open "QuickTime Player"
```
directement mais ça marche pas non plus.

Merci d'avance


----------



## Didier Guillion (17 Juin 2008)

Bonsoir,

Apres Open, il te faut le chemin sur ton fichier.

Par exemple :


```
tell application "QuickTime Player"
    open "/Developpement/Solfege.src/Musiques/Midi/saltydog.mid"
end tell
```

Cordialement


----------



## greensource (17 Juin 2008)

En fait je ne voudrais pas ouvrir de fichier, (mais merci ça me reservira surement) Je veux juste que l'application soit lancé.
De ce que j'ai pu comprendre, faire 
	
	



```
tell application "NomDeLAppli"
```
 ça lance l'application. Mais moi quand je met juste ça j'ai rien qui se lance dans le Dock, hors si l'application est lancé c'est bien là que je devrais la voir non?
Donc je me suis dit avec open ça devrais marcher. Mais en fait open il faut plutôt l'entendre par "ouvrir quelques choses dans l'application appelé" c'est bien ça?

Je suis en même temps en train de lire la doc apple sur le sujet mais si quelqu'un sais comment faire, merci d'avance.


----------



## Didier Guillion (17 Juin 2008)

Alors :


```
tell application "Finder"
    activate
    open application file "QuickTime Player.app" of folder "Applications" of startup disk
end tell
```


Cordialement


----------



## greensource (17 Juin 2008)

Ah parfait c'est exactement ce que je voulais faire. Merci beaucoup de te rapidité.
Je suis tombé sur un autre souci, c'est quand je veux quitter l'application (avec quit) il y a une fenêtre avec un bouton ok et un annuler.

Comme je l'ai dit plus haut j'essais de me renseigner par moi même (si tu as des bonnes références pour apprendre) donc je vais tous vous demander je vais chercher avant. Je reviendrais si je bloque vraiment.

Merci encore.

[edit: par contre je crois être tombé sur un os, toutes les applications ne semble pas être "Applescriptable"?]


----------



## ceslinstinct (18 Juin 2008)

greensource a dit:


> Comme je l'ai dit plus haut j'essais de me renseigner par moi même (si tu as des bonnes références pour apprendre) donc je vais tous vous demander je vais chercher avant. Je reviendrais si je bloque vraiment.
> 
> Merci encore.
> 
> [edit: par contre je crois être tombé sur un os, toutes les applications ne semble pas être "Applescriptable"?]


Bonjour

Cette page d'Apple en Français, pour débuter.

http://docs.info.apple.com/help/guide.html?path=AppleScript/2.1/fr/

Le plus simple pour savoir si une application possède un dictionnaire pour AppleScript c'est de déposer l'icône de l'application sur l'icône de l'éditeur de script.

Si le dictionnaire existe, l'ouvre.
Si le dictionnaire n'existe pas fenêtre signalant qu'il n'existe pas.

@+


----------



## greensource (19 Juin 2008)

Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.


----------



## Didier Guillion (19 Juin 2008)

greensource a dit:


> Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
> Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.



Via un "Kill" peut etre, puisqu'AppleScript peut commander le Terminal, mais je ne te le recommanderait pas, c'est assez violent...

Cordialement


----------



## ceslinstinct (19 Juin 2008)

greensource a dit:


> Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
> Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.


Bonjour

Comme tu parle de *QuickTime Player* j'ai fait un test pour le quitter avec AppleScript.
*QuickTime Player* a un dictionnaire.

Façon Terminal:
Le nom de l'application entre guillemet et anti-slash pour faire prendre en compte l'espace dans le nom de l'application (ou tout caractères non utilisés par un clavier US)


```
tell application "Finder"
    activate
    do shell script "killall \"QuickTime Player\""
end tell
```

Façon quitter par la barre des menus:

Avec cette façon tu doit arriver a fermer toutes les applications qui dans la barre des menus ont une commande pour quitter.


```
tell application "QuickTime Player" to activate
tell application "System Events"
    keystroke "q" using command down
end tell
```

Les 2 fonctionnent sur mon iMac intel.

@+


----------



## tatouille (19 Juin 2008)

Didier Guillion a dit:


> Bonsoir,
> 
> Apres Open, il te faut le chemin sur ton fichier.
> 
> ...





```
open -a "QuickTime Player" via shell

osascript -e 'tell app "QuickTime Player" to activate'
osascript -e 'tell app "QuickTime Player" to launch'
osascript -e 'tell app "QuickTime Player" to open' #never
```


----------



## greensource (20 Juin 2008)

Bien merci à tous j'ai finalisé le script que je voulais obtenir. Je le met pas car c'est à la limite de la légalité (ça l'est quand même).
En tous cas j'ai fini par utilisé la commande:
	
	



```
do shell script "killall \"QuickTime Player\""
```
D'ailleurs si je comprend bien, "do shell script" execute la commande entre guillemet c'est bien ça? C'est un langage de commande particulier ou bien ça marche pour tous?


----------



## tatouille (20 Juin 2008)

greensource a dit:


> Bien merci à tous j'ai finalisé le script que je voulais obtenir. Je le met pas car c'est à la limite de la légalité (ça l'est quand même).
> En tous cas j'ai fini par utilisé la commande:
> 
> 
> ...



c'est a dire?


----------



## Didier Guillion (20 Juin 2008)

greensource a dit:


> D'ailleurs si je comprend bien, "do shell script" execute la commande entre guillemet c'est bien ça? C'est un langage de commande particulier ou bien ça marche pour tous?



"do shell script" est la commande AppleScript qui permet de lancer la commande que tu veut dans le Terminal.

Cordialement


----------



## pv_bain (10 Février 2010)

bonjour, je relance la discussion, je voudrais savoir quelle serait la commande applescript pour qu'il fasse la commande suivante :

si l'application est ouverte, il la ferme
si l'applicatioin est fermée, il l'ouvre.

merci d'avance

pv


----------



## ceslinstinct (10 Février 2010)

pv_bain a dit:


> bonjour, je relance la discussion, je voudrais savoir quelle serait la commande applescript pour qu'il fasse la commande suivante :
> 
> si l'application est ouverte, il la ferme
> si l'applicatioin est fermée, il l'ouvre.
> ...


Bonsoir

Une façon parmi tant d'autres.


```
if application "Safari" is not running then
    tell application "Safari" to activate -- Safari fermé l'ouvre
else
    tell application "Safari" to quit -- Safari ouvert alors quitte
end if
```

@+


----------



## boninmi (16 Février 2015)

ceslinstinct a dit:


> Bonsoir
> 
> Une façon parmi tant d'autres.
> 
> ...


Y a-t-il moyen de préciser qu'on veut une ouverture en plein écran ?


----------



## Nyx0uf (18 Février 2015)

boninmi a dit:


> Y a-t-il moyen de préciser qu'on veut une ouverture en plein écran ?




```
if application "Safari" is not running then
    tell application "Safari" to activate
    tell application "System Events" to tell process "Safari"
        set isfullscreen to value of attribute "AXFullScreen" of window 1
    end tell
    if isfullscreen is false then
        tell application "System Events" to keystroke "f" using {command down, control down}
        delay 2
    end if
else
    tell application "Safari" to quit
end if
```


----------



## boninmi (21 Février 2015)

La tentative d'exécution à partir de Editeur Applescript me donne:


```
error "Erreur dans System Events : Il est impossible d’obtenir window 1 of process \"Safari\".
Index non valable." number -1719 from window 1 of process "Safari"
```

OK, erreur de débutant de ma part apparemment, il fallait enregistrer le script en tant qu'application.

Merci pour corto77


----------

