Une seule frappe suffit à démarrer un VPN sur Mac, et deux méthodes natives d’Apple permettent de la lier. Shortcuts donne à chaque raccourci sa propre combinaison de touches et une entrée dans la barre des menus. Automator vous fournit une Quick Action dont vous assignez la touche dans Réglages Système, hors du workflow lui-même. Les deux voies envoient la même requête au même service de connexion, si bien que les différences qui comptent sont l’endroit où vit la liaison, les barrières d’autorisation que vous traversez et ce que vous inspectez quand la touche semble ne rien faire.

Tout ce qui suit suppose un service VPN système existant qui apparaît dans scutil --nc list. Si votre fournisseur livre un client tiers dont la connexion n’y apparaît jamais, aucun des deux outils ne peut le piloter via scutil, et c’est l’action propre à ce fournisseur qu’il vous faut.

Les deux voies appellent le même service

Commencez par la liste, pas par l’app. scutil --nc list affiche chaque service enregistré avec son état et son nom d’affichage exact, et c’est cette chaîne que vous devez mettre entre guillemets dans la commande :

/usr/sbin/scutil --nc start "Office VPN"

Cette ligne est une demande d’activation. Elle revient dès que la requête est acceptée ; elle n’attend pas un second facteur, ne signale pas que le DNS privé est défini et ne confirme pas que le serveur de fichiers répond. Traitez-la comme le même clic que vous feriez dans le menu, sans le menu.

Il n’y a pas non plus de bascule dans scutil. Des actions séparées pour se connecter et se déconnecter se raisonnent plus facilement qu’une touche qui inverse l’état, car une bascule pressée pendant une poignée de main peut arrêter une connexion qui n’a jamais fini de monter. Si vous voulez une seule touche, branchez sur la sortie de scutil --nc status "Office VPN" et décidez explicitement ; n’alternez pas à l’aveugle.

Shortcuts : une touche par action, plus de surface d’autorisation

  1. Créez un raccourci local dans Shortcuts et nommez-le d’après la tâche, par exemple Connect Office VPN.

  2. Ajoutez Run Shell Script et collez la requête de démarrage, le nom du service étant saisi littéralement plutôt que tiré du presse-papiers ou d’un texte sélectionné.

  3. Exécutez-le une fois depuis l’éditeur dans votre propre session ouverte et terminez le flux d’authentification normal, afin que le système enregistre l’autorisation dont il a besoin.

  4. Ouvrez les détails du raccourci et liez une combinaison avec Add Keyboard Shortcut. Apple documente cette liaison dans son guide d’utilisation de Shortcuts ; les combinaisons que le système réserve déjà ne peuvent pas être reprises.

La liaison voyage avec le raccourci, si bien qu’une action peut aussi se placer dans la barre des menus ou sur le Dock sans travail supplémentaire. Le prix est une seconde autorisation : Shortcuts n’exécute pas de script shell tant que la scriptabilité n’est pas autorisée dans ses réglages, et sur un Mac géré ce réglage peut être verrouillé par une stratégie. Autorisez-le pour des raccourcis que vous avez écrits ou lus, pas pour un fichier importé au contenu incertain.

La synchronisation est l’autre piège. Un raccourci copié depuis un autre Mac porte encore le nom de service littéral de ce Mac. Sur une machine où le service porte un autre nom, la touche se déclenche, le script se termine, et rien ne vous dit pourquoi.

Automator : moins de pièces mobiles, une touche à dénicher

  1. Dans Automator, choisissez Quick Action, réglez le workflow pour ne recevoir aucune entrée dans aucune application, et ajoutez Run Shell Script avec la même commande, shell /bin/zsh.

  2. Enregistrez-le sous un nom que vous reconnaîtrez dans une liste, car c’est ce nom que vous chercherez plus tard.

  3. Ouvrez Réglages Système, puis Clavier, puis Raccourcis clavier, puis Services. Trouvez le workflow, cochez-le s’il ne l’est pas, et enregistrez une combinaison.

Le workflow est invoqué comme un service, donc la touche vit dans la table des services et dépend du nom du workflow. Si vous renommez le workflow enregistré plus tard, vous devriez rouvrir ce panneau pour confirmer que l’affectation a survécu. Le raccourci de service est global, ce qui est pratique jusqu’à ce qu’il entre en collision avec une combinaison qu’une autre app veut.

Ce que vous gagnez, c’est un artefact plus petit et une invite d’autorisation en moins : un simple fichier de workflow, aucun élément de barre des menus à lui, aucune bascule de scriptabilité à débattre. Ce que vous perdez, c’est la découvrabilité, car l’action n’apparaît dans la liste Services qu’une fois le workflow enregistré et vu par le système.

Où elles divergent quand la touche ne fait rien

SymptomShortcuts routeAutomator route
Key fires, nothing connectsService name mismatch; re-read scutil --nc listSame name mismatch inside the shell action
Key never fires anywhereBinding collides with a reserved or app-level combinationService entry unticked in Keyboard Shortcuts, or renamed
An authorization dialog appears every timePrompt comes from the VPN type, not from ShortcutsSame prompt, same cause; the script runs as you
Connects, no reachable resourceReadiness not checked after the requestIdentical gap, identical fix
Works only inside one appRare; check where the shortcut is made availableWorkflow set to receive input from a specific app

Le tableau est bancal à dessein : dans deux de ses cinq lignes, le correctif est réellement différent. La plupart des frappes qui échouent viennent du même couple de défauts, un nom qui ne correspond pas au service enregistré et une requête prise pour une connexion terminée, et changer d’outil n’en guérit aucun.

Les deux voies refusent aussi de stocker des identifiants. Une combinaison de touches ne peut pas transformer une connexion interactive en connexion sans surveillance, et coller un mot de passe dans un script est une pire idée que de le taper une fois par jour.

Choisissez selon ces trois conditions

Prenez Shortcuts quand vous voulez une touche par action plus un accès par la barre des menus, et quand la scriptabilité est déjà autorisée sur la machine. Prenez Automator quand vous voulez un seul fichier à copier entre Macs et aucune bascule supplémentaire. Si votre organisation verrouille la scriptabilité de Shortcuts, la Quick Action est la seule des deux qui tournera sans changement de stratégie, ce qui tranche la question pour vous.

Avant de compter sur la touche, parcourez cette liste : confirmez le service dans scutil --nc list ; pressez la touche depuis un démarrage à froid et surveillez scutil --nc status ; ouvrez la ressource pour laquelle le tunnel existe ; et créez une action de déconnexion distincte et clairement nommée. Ne placez pas la seule action d’arrêt sur une session distante que vous auriez besoin du tunnel pour atteindre.

Étape suivante : ne liez que Connect, laissez Disconnect non lié pendant une journée, et notez à quelle fréquence vous tendez quand même vers le menu. Cela vous dit si la frappe fait gagner du temps ou ne fait que masquer l’état.

Articles similaires