[Script automatique] Ouvrir & refermer Safari

Résolu
Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   -  
 toxi -
Salut à tous !

Ne connaissant pas du tout MacOs, je souhaiterais un script automatique (équivalent de .BAT sous Windows ou .SH sous Linux, par exemple), pour :
- Ouvrir Safari avec comme page http://www.google.fr/ (c'est un exemple, bien sûr; j'adapterai),
- Fermer Safari,
- Fermer la fenêtre du script.

Merci aussi de m'indiquer le contenu total du fichier (avec en-tête, etc...), ainsi que le nom de fichier (s'il y a une extension spéciale requise).

Merci beaucoup d'avance !

Thomas

--
   ___________________
  |__ .: Thom@s :. ___|

4 réponses

  1. Iger Messages postés 346 Date d'inscription   Statut Membre 85
     
    Salut Thomas,
    Je ne peux te donner un fichier tout fait vu que j'ai pas de mac.
    Alors sur mac, il y a Applescript, c'est peut-être le langage le plus facile à utiliser.

    Et presque tous les logiciels ont ce qu'on appelle le dictionnaire, qui est un ensemble de fonctions qu'on peut utiliser pour le piloter. Pour avoir le dictionnaire de safari, il te suffit de glisser son icône sur l'icône de l'éditeur de script.

    C'est dans l'éditeur de script que tu écris les script. T'inquiètes, c'est très facile. Ca doit ressembler à ça:
    Tell application Safari to activate
        -- ici tu mets les commandes, peut-être du genre:
        open "http://www.google.fr"
    end tell
    Tell application Safari to exit
    end tell


    Tu peux compiler le code si tu ne veux pas ouvrir l'éditeur de script à chaque fois.

    Fais aussi quelques recherches sur google, il doit y avoir des tutos pour débuter.

    Bon courage :)
    0
    1. Gihef Messages postés 5165 Statut Contributeur 2 781
       
      Bonjour,

      Juste pour préciser :
      tell app "Safari" to quit

      permet de mettre la commande sur une seule ligne et donc d'éviter le “end tell”
      Sinon, ça provoque une erreur.

      Tu n'as pas de Mac, mais tu connais bien.

      0
      1. Iger Messages postés 346 Date d'inscription   Statut Membre 85 > Gihef Messages postés 5165 Statut Contributeur
         
        Merci Gihef pour la correction :)
        0
  2. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
     
    Salut !

    Merci pour ta réponse :-)
    Mais je n'ai pas de Mac sous la main pour le faire. En fait, je dois le faire sur mon PC (Windows ou Linux), puis l'envoyer par e-mail à quelqu'un qui a un Mac.

    J'ai donc fait ça (en faisant comme un bash pour Linux) :
    Note: Les deux fichiers seront exécutés l'un à la suite de l'autre.
    ---------------  fichier "script1.sh" -----------------
    #!/bin/bash
    safari "http://www.google.fr/"
    exit
    
    --------------  fichier "script2.sh" -------------------
    #!/bin/bash
    killall safari
    exit

    Ma question serait donc :
    Est-ce que, d'après vous, ça marcherait sur MacOS ?

    Merci beaucoup d'avance !
    0
  3. Gihef Messages postés 5165 Statut Contributeur 2 781
     
    Bonjour,

    Deux petits scripts AppleScript, plus faciles à mettre en œuvre que des Shell scripts et qui font ce que tu demandes.
    Testés. Fonctionnent.

    1- Pour lancer Safari et afficher Google :
    tell application "Safari"
    	activate
    	open location "http://www.google.fr"
    end tell
    


    2- Pour quitter Safari
    tell application "Safari"
    	quit
    end tell
    


    Il suffit à ton correspondant de les enregistrer sous « Format de fichier : application » dans l'Éditeur de scripts (voir http://cjoint.com/?mvwachPK3J).
    Elles prendront automatiquement l'extension « .app » qui sera masquée.
    Elles s'exécuteront alors avec un double-clic et “se” quitteront aussitôt après.
    0
    1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
       
      Cool, merci beaucoup :)

      Je vais de ce pas envoyer ça :-)

      A+
      0
    2. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
       
      Re,

      Finalement, j'ai fait un "mix" des deux :
      tell application "Safari"
      	activate
      	open location "http://www.google.fr"
      tell application "Safari" to quit
      end tell


      Est-ce que vous pensez que ça marchera ?

      Merci d'avance ! :)

      A+
      0
      1. Iger Messages postés 346 Date d'inscription   Statut Membre 85 > Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention  
         
        Plutôt comme ça:
        tell application "Safari"
        	activate
        	open location "http://www.google.fr"
                quit
        end tell
        

        Il va donc ouvrir Safari, google, et quitter, sans qu'on ne puisse même pas naviguer d'abord ;-)
        0
      2. Gihef Messages postés 5165 Statut Contributeur 2 781 > Iger Messages postés 346 Date d'inscription   Statut Membre
         
        Content que tu aies pu t'en servir tout de suite :)
        0
      3. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678 > Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention  
         
        OK, merci beaucoup, je vais essayer ça :)

        A+ :-)
        0
  4. toxi
     
    Bonjour,
    J'ai une question, j'utilise ce script pour quitter l'application Microsoft Entourage de manière automatisée avant un backup. Mais parfois, une action réseau est en cours et une boite de dialogue apparait pour demander si on veut interrompre la tâche en cours ce qui met en échec le script. J'aimerais que lorsque celà se produise, le système réponde "Non" dans la boite de dialogue, qu'il attende la fin de l'action réseaux, par exemple 30 seconde avant de fermer l'application. Est ce possible? si oui comment le lui dire?
    Merci
    0