Ouvrir le menu principal

MacGeneration

Recherche

Astuce : ouvrir une page de Safari dans un autre navigateur [MàJ]

Nicolas Furno

mardi 15 mars 2011 à 19:11 • 28

macOS

Avec Safari 5.0.4, Apple a modifié le comportement du sous-menu "Ouvrir la page avec" situé dans le menu "Développement". Jusque-là, Apple affichait seulement le nom du navigateur, mais la dernière version de Safari ajoute entre parenthèses le numéro de version. Aucune importance, sauf si vous utilisiez ce menu pour ouvrir la page actuelle dans un autre navigateur. En associant un raccourci clavier au nom d'un navigateur, on pouvait ainsi se passer du plug-in Flash dans Safari, mais ouvrir rapidement une page avec du contenu multimédia dans Google Chrome qui intègre Flash, par exemple (lire : Astuce : comment vivre sans Flash sur Mac OS ?).

http://static.igen.fr/img/2011/2/skitched-20110315-173849.jpg

Avec Safari 5.0.4, il faudrait modifier le raccourci à chaque mise à jour de Google Chrome. Autant dire que la solution n'était plus praticable, d'autant que les mises à jour de Chrome se font de manière silencieuse. Une autre solution consiste à passer par un script écrit en AppleScript. Ce script est très simple, il se contente d'envoyer l'adresse du site en cours dans un nouvel onglet de Google Chrome.

Plusieurs méthodes sont possibles pour utiliser ce script. On pourrait simplement le sauvegarder dans le dossier des scripts Safari, mais le plus simple et efficace est de créer un service à l'aide d'Automator. Ouvrez le logiciel (à l'aide de Spotlight) et créez un service à l'ouverture.

http://static.macg.co/img/2011/2/skitched-20110315-183046.jpg

Ce service va être simple, il va simplement consister à exécuter du code AppleScript. Ajoutez tout d'abord l'action nommée "Exécuter un script AppleScript". Vous pouvez la retrouver facilement en faisant une recherche dans le champ de recherche (1). Glissez ensuite le script dans la partie centrale du logiciel (2) et copiez/collez le script dans la partie dédiée au code (3).

http://static.macg.co/img/2011/2/skitched-20110315-183353.jpg

voici le code AppleScript à insérer dans le service créé par Automator :


property theURL : ""

on run {input, parameters}

tell application "Safari"
set theURL to URL of current tab of window 1
end tell
tell application "Google Chrome"
if not (exists window 1) then make new window
tell window 1
if URL of active tab is "chrome://newtab/" then
set myTab to active tab
else
set myTab to make new tab at end of tabs
end if
end tell
set URL of myTab to theURL
activate

end tell

return input
end run


La ligne "activate" met au premier plan Chrome après l'opération. Si vous préférez envoyer l'URL en arrière-plan, supprimez simplement cette ligne. Quand vous êtes satisfait du code, appuyez sur le petit marteau pour vérifier que vous n'obtenez pas d'erreur.

Il ne reste plus qu'à configurer le comportement général du service. Configurez le service pour n'attendre "aucune entrée" en réception et "n'importe quelle application" en ordre (4). De cette manière, le service sera accessible depuis n'importe quelle application, mais vous pouvez aussi restreindre le champ d'action du service à Safari en choisissant "Safari" dans la liste déroulante des applications.

Enregistrez simplement ce service et il sera immédiatement accessible dans le menu "Services" de Safari ou toute autre application. Le script ouvrira automatiquement Chrome s'il n'est pas déjà ouvert, il ouvrira un nouvel onglet sauf si l'onglet en cours dans Chrome est un onglet vierge et il ouvrira dans cet onglet l'adresse de la page en cours dans Safari. Le service fonctionne si Safari est aussi fermé, mais dans ce cas un onglet vide s'ouvrira dans Chrome.

http://static.macg.co/img/2011/2/skitched-20110315-184231.jpg

La dernière étape consiste à ajouter un raccourci clavier à ce service pour simplifier son utilisation. Cela se fait depuis les préférences systèmes, panneau "Clavier" puis onglet "Raccourcis clavier". Deux possibilités alors, soit ajouter le raccourci au service directement dans la dédiée aux Services, soit ajouter un raccourci d'applications pour toutes les applications en utilisant le nom du service. Dans les deux cas, vous pourrez désormais ouvrir la page en cours de Safari dans Chrome à n'importe quel moment et quelle que soit la version de Chrome…

http://static.macg.co/img/2011/2/skitched-20110315-190837.jpg

[MàJ] : un lecteur nous a signalé une solution beaucoup plus simple que l'AppleScript décrit plus haut. Cette solution utilise le langage Shell, plus puissant, mais aussi plus complexe à maîtriser même si le résultat est extrêmement simple.

Pour la mettre en œuvre, vous devez toujours créer un service dans Automator en veillant à indiquer "pas d'entrée" dans "Réception du service" (1)

http://static.macg.co/img/2011/2/skitched-20110316-174254.jpg

Ajoutez à ce service deux actions Automator (utilisez la recherche du logiciel pour les trouver) : "Obtenir la page Web actuelle de Safari" (2) puis "Exécuter un script Shell" (3). La première action ne nécessite aucune intervention de votre part.

Pour l'action dédiée au script Shell, commencez par modifier le champ "Données en entrées" pour le positionner sur "comme arguments" (4). Dans la partie centrale, enlevez tout le code qui sera ajouté automatiquement et remplacez-le par celui-ci : « open $1 -a /Applications/Google\ Chrome.app ». Ce code va ouvrir dans l'application Chrome (c'est le sens du -a) l'URL envoyée par l'action précédente d'Automator (c'est le sens du $1).

Ce service fonctionne aussi bien que le script Apple Script précédent. Si Chrome n'est pas ouvert, il sera automatiquement lancé. Seule différence, un nouvel onglet sera toujours créé, même si l'onglet actuel est vide. Si l'astuce vous intéresse, choisissez l'une ou l'autre solution, sachant que cette dernière est plus élégante et sans doute plus fiable.

merci @JegnuX

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Promo : les prix des MacBook Air M4 et MacBook Pro M4 continuent de baisser - jusqu'à 10 % de remise ! 🆕

15:56

• 8


Sortie de veille : le futur de l’iPad se trouve-t-il dans le Mac ?

08:00

• 9


Quand Apple a sorti... une molaire

18/04/2025 à 22:15

• 43


Redonnez vie à vos photos floues : l'IA d’Aiarty passe à la vitesse supérieure 📍

18/04/2025 à 22:01

• 0


Clap de fin pour Mythic Quest, qui voit son épisode final modifié pour mieux clore la série

18/04/2025 à 21:30

• 17


Un support pour Mac mini M4 qui en bouche un coin(-coin)

18/04/2025 à 20:45

• 45


Choosy permet de choisir un navigateur web différent en fonction du lien à ouvrir

18/04/2025 à 18:00

• 17


Doom, Mario, Civilization : les IA génératives peuvent-elles terminer des jeux des années 90 ?

18/04/2025 à 17:30

• 8


Les agences immobilières peuvent intégrer DossierFacile sur leur site

18/04/2025 à 15:04

• 9


Assistant d’évaluation : un rapport de bug peut servir à entraîner Apple Intelligence

18/04/2025 à 12:43

• 4


macOS 15.4 ne blanchit plus le fond de l'écran

18/04/2025 à 12:05

• 5


Netflix augmente ses prix en France sur fond de bons résultats

18/04/2025 à 08:11

• 197


Les dernières publicités de Beats vantent avec humour les mérites des nouveaux câbles colorés de la marque

18/04/2025 à 08:03

• 26


Incogni lance un plan Unlimited (et c’est une petite révolution dans la protection des données) 📍

17/04/2025 à 23:58

• 0


Tim Cook, plus que jamais dans les petits papiers de Donald Trump

17/04/2025 à 21:30

• 80


Guide d’achat : quel MacBook acheter en ce début 2025 ?

17/04/2025 à 20:30

• 11