Comment piloter Airport depuis la ligne de commande et avec Automator ?

Automator

Vous connaissez Airport, même s’il a disparu de la barre des menus pour prendre le nom de WI_FI c’est toujours la composante de mac OS X en charge da la communication sans fil.

 Le menu WI-FI de Mountain Lion renferme au moins un astuce, vous pouvez obtenir un complément d’informations sur votre connexion WI-FI en pressant la touche « alt », le menu affiche alors des informations sur la qualité de la réception, la norme utilisée ou le canal.

Airport 01

(Menu WI-Fi avec l’option « Alt » activée)

 Ce menu repose sur une commande Unix, qui dans certains cas se trouve plus précise ou pratique que le menu proposé par Apple. Voici comment utiliser cette commande…

La commande est la suivante :

 $ /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

 Cette commande est longue mais nous verrons comment l’utiliser différemment. Comme toute bonne commande unix, il existe des paramètres, le plus intéressante est « -s » (le s est en minuscule, ce qui donne :

 $ /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport –s

Airport effectue un SCAN complet des bandes fréquences (radio) utilisées par les normes WI-FI « b/g » et « n » si votre matériel le permet, vous obtiendrez un écran similaire à celui-ci :

Airport 02

(La fenêtre du terminal affichant les résultats de cette commande).

Un autre argument peut se trouver intéressant dans certaines circonstances : « -z », dans ce cas Airport se déconnecte du réseau auquel il est connecté. La carte Airport est toujours actuve mais votre Mac ne communique plus en WI-FI.

Compte tenu de la « criticité » de cette commande, vous devrez utiliser la commande » sudo » , un mot de passe sera nécessaire pour lancer cette ordre de déconnexion (plutôt brutal).

$ sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport –z

 Comment récupérer un fichier contenant tous les réseaux WI-FI ?

Une fois que l’on a trouvé une information avec le Terminal, le plus simple si l’on souhaite l’utiliser souvent est de placer le commande dans « Automator ». Prenons un exemple, vous chercher à récupérer les noms des réseaux dans un fichier texte, voici comment :

Sélectionnez « Application » dans le menu d’Automator. Sur le plan de travail (colonne de droite) glissez l’action « Exécuter un script de Shell » (Automator -> Exécuter un Script de Shell), remplacez la commande « cat » par la ligne de commande cité plus haut, afin d’obtenir la liste des réseau WI-FI.

Placez ensuite l’action « Créer un fichier texte »  (TextEdit -> Créer un fichier texte), donnez un nom au fichier en sorti  (« Liste Réseaux WI-FI.txt » dans l’exemple) auquel j’ai ajouté la variable « Heure actuelle » ce qui me permet de connaître l’heure du SCAN, ce n’est pas obligatoire.

 

Airport 03

 (Le flux complet de création d’un fichier de réseaux WI-FI)

Voici le programme terminé. Enregistrez le et donnez lui un nom « Liste des réseaux WI-FI » par exemple. Et distribuez le ! Car l’intérêt d’automation est de créer des applications distribuables.

 

Airport 04

(Le fichier texte contenant la liste des réseaux WI-FI)

Si vous souhaitez recevoir ce fichier par message électronique, rein de plus facile, ajoutez juste après l’action de création un action « Nouveau Message Mail (Mail-> Nouveau Message Mail), indiquez votre adresse email, un objet et un texte pour le corp du message. Ce genre d’application est intéressant lorsque vous « pilotez » plusieurs réseaux pour des amis ou de la famille.

Airport 05

 (Le message créé par le script Automator)

En vous arrêtant à la création du Message, celui-ci ne sera pas envoyé. Il faut ajouter une action « Envoyer les messages de la boite d’envoi » pour que ce message soit envoyé. Mais comme le nom l’indique c’est toutes les messages en instance d’envoie qui partiront. Il vaut mieux donc laisser le choix à l’utilisateur.

 

 Airport 06

(Flux complet avec l’envoie du message par Mail)

Pour se faire ajoutez un action « Demander une confirmation » (Automator -> Demander une confirmation). Si l’utilisateur répond Oui, la relève du courrier sera exécutée et le massage partira. S’il répond « Annuler » le script s’interrompt.

Les puristes « Unixien » diront probablement que tout ça aurait put être réalisé dans un script Shell, ou mais Automator Existe, alors pourquoi s’en priver…

Henri Dominique Rapin

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s