Bonjour,
De retour de vacances, je vois que ta question n'a toujours pas reçu de réponse.
Si tu débutes en programmation, je te déconseille fortement d'utiliser les éléments d'interface utilisateur (champs, boutons,...). L'auteur du logiciel (ici Apple) peut les changer lors des versions suivantes et rendre ton script inopérant.Tu dois donc limiter l'utilisation du GUI scripting (c'est le terme) aux seuls cas où aucune autre solution ne peut être utilisée.
Pour ta demande, il existe un utilitaire en ligne de commande, gracieusement fourni par Apple, qui permet de configurer et lire les paramètres des services de réseau. Il s'agit de "Networksetup".
Si tu ouvres le Terminal, et tape networksetup -h, puis return, tu verras que c'est un véritable couteau suisse pour le réseau.
Apple fournit également un framework pour Airport. Celui-ci est dédié au Wi-Fi.Sur le Terminal, tu tapes l'instruction suivante :
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
Le résultat sera soit un message indiquant que le Wi-Fi est off, soit le nom du réseau.
En chaînant ce résultat avec une commande "awk" pour rechercher le mot SSID (le nom du réseau Wi-Fi) et l'extraire, la commande se complique un peu :
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'
Essaye sur le Terminal et tu verras. N'oublie pas les espaces et apostrophes !
Le résultat est le nom du réseau Wi-Fi connecté ou vide si pas de connection. Le tout à la vitesse Unix...!
In finé, comme pour toute commande Unix, cela peut être exécuté dans un script via la commande do shell script, qui renvoie le résultat comme il est affiché sur le Terminal.
Donc ton script Applescript sera :
set monSSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'"
(n'oublie pas non plus les guillemets)
Dans la suite de ton code, tu n'as plus qu'à tester la variable monSSID qui est vide ou contient le nom du Wi-Fi connecté.Je précise qu'il est possible, un jour, que Apple change ce FrameWork, mais c'est peu probable à moyen terme. Cet utilitaire existe au moins depuis la version OS Tiger (peut être même avant 2004 !), alors que l'interface utilisateur des préférences Apple change un peu près tout les 3/4 ans.
Cordialement
Partager