# Script pour forcer Google Chrome à rester ouvert



## habitatparisien (16 Septembre 2015)

Bonjour à tous,


Je cherche à faire en sorte que Google Chrome ne se ferme jamais pour avoir quelques notifications qui n'arrivent que si l'application est ouverte (pas forcément une fenêtre, mais au moins en background) sur mon iMac fin-2013 sous OS X Mavericks. (10.9)

Je peux faire en sorte qu'il s'ouvre à la session automatiquement, mais si quelqu'un le ferme manuellement, je souhaite qu'il s'ouvre de nouveau automatiquement.

On peut faire ça via un script Automator? Je n'y suis pas trop familier mais je suis débrouillard, je peux le faire avec un tutoriel ou une marche à suivre.


Merci d'avance pour votre aide.


----------



## JacqR (16 Septembre 2015)

Bonjour,

La meilleure solution est un "launch agent" :
Ouvre l'application "*TextEdit*"
Si le format est RTF par défaut, sélectionne le menu "Convertir au format texte" dans le menu "*Format*" (ceci est très important).

Copie/colle ce texte dans la fenêtre de "*TextEdit*"

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>CheckGoogleChrome</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
```
Il n'y a rien à changer si "*Google Chrome*" est à la racine du dossier "Applications", sinon il faut changer le chemin dans le texte.
Enregistre-le avec comme nom "CheckGoogleChrome.plist", décoche la case "*Utiliser " .txt " à défaut d'extension*"
Place ce fichier dans le dossier "*LaunchAgents*" de ton dossier "*Bibliothèque*" dans ta Maison

Ton dossier "*Bibliothèque*" est invisible, pour l'afficher, va dans le Finder, presse la touche Option et sélectionne le menu "*Bibliothèque*" dans le menu "*Aller*".
Si le dossier "*LaunchAgents*" n'existe pas, il suffit de le créer.

Ferme ta session, ouvre ta session pour que *launchD* prenne en compte ce nouveau fichier.


----------



## habitatparisien (21 Septembre 2015)

Bonjour,



Merci beaucoup pour ta réponse! Ca a marché super pour Chrome.

Malheureusement, je ne suis pas encore satisfait à 100% ;-)

En fait, j'ai des extensions Chrome ("Chrome Apps" maintenant) qui doivent s'ouvrir aussi avec Chrome.

J'ai essayé de faire le même LaunchAgent en remplaçant les termes et ça marche PRESQUE.

Le problème est que lorsque la session s'ouvre, il faut forcer à quitter une première fois l'application et ensuite elle se relancera (comme il se doit). La fonctionnalité est donc bonne mais il y a quelque chose qui cloche à l'ouverture de session.


J'ai veillé à désactiver "Ouvrir avec la session" pour ne pas créer de conflit (sinon deux fenêtres s'ouvrent en même temps)


Voila ce que j'ai écrit: 


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>CheckWhatsChrome</string>
<key>ProgramArguments</key>
<array>
<string>/Users/imac215/Applications/Chrome Apps.localized/WhatsChrome.app/Contents/MacOS/app_mode_loader</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>



Ps : WhatsChrome est une extension pour avoir ses conversations WhatsApp sur son ordinateur synchronisés avec son iPhone.


Vous avez peut-être une idée de ce qui ne va pas?


Encore une fois, merci pour votre aide.

J'imagine que je peux appliquer ce même script (en changeant les chemins d'accès) à tous les applications.

Le fait que cette application ne soit pas dans le dossier Applications du système mais dans un dossier séparé des Chrome Apps?



Merci d'avance.


Samuel


----------



## JacqR (21 Septembre 2015)

habitatparisien a dit:


> Merci beaucoup pour ta réponse! Ca a marché super pour Chrome.
> 
> Malheureusement, je ne suis pas encore satisfait à 100% ;-)


Ok,

C'est parce que cela ouvre une nouvelle instance de l'application.
Ce n'est pas un problème pour les applications en générale, mais dans ton cas utilise ce PLIST pour ouvrir *Google Chrome* (le chemin est le paquet de l'application, pas le chemin de l'exécutable de l'application)

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>checkGoogleChrome</string>
    <key>ProgramArguments</key>
    <array>
        <string>lsappinfo</string>
        <string>launch</string>
        <string>launchandhide=true</string>
        <string>nofront=true</string>
        <string>/Applications/Google Chrome.app</string>
    </array>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
```

Si vous ouvrez *Google Chrome* (normalement) et que cela ouvre les extensions, vous n'aurez pas besoin de créer d'autres fichier plist pour ouvrir les extensions
Important: la commande *lsappinfo* fonctionne à partir de la version OS 10.9 ou plus récent.

Une fois que vous aurez modifié le fichier plist , vous devez fermer votre session,  cela est nécessaire pour que le système prenne en compte les modifications.


----------



## habitatparisien (28 Septembre 2015)

Bonjour,


Malheureusement, ça ne marche pas. 

Google Chrome s'ouvre à la session, ainsi que l'extension WhatsChrome. Chrome se relancera si fermé, mais pas WhatsChrome. 

Par contre, je peux ouvrir WhatsappWeb dans une fenêtre de Chrome et en faire une page par défaut au lancement, et dans ce cas ça marche très bien, je n'ai pas besoin d'une extension en plus finalement.

Mais, il est possible que j'utilise cette méthode à l'avenir (ou quelqu'un d'autre) pour d'autres extensions, donc si vous trouvez une solution, j'en serai ravi.

Je manque de temps dernièrement, mais j'essaierai de m'y plonger et d'essayer de modifier ça aussi.


Merci encore !


Samuel


----------

