Automator: Obtenir son adresse ip avec les règles de mail
Lorsque je suis au bureau, il m’arrive souvent de vouloir me connecter à l’iMac de mon domicile, ne serait-ce que pour récupérer un document ou de lancer des téléchargements à distance. Cependant, n’ayant pas d’adresse IP fixe à domicile (merci Belgacom), et ne désirant pas utiliser un service comme DynDNS, j’ai eu pour idée d’utiliser les outils que MacOS X mettait à ma disposition.
Bien entendu, il existe des softs gratuits et payants pour ce que je désirais faire, mais je voulais réaliser la chose par moi-même, sans doute pour me prouver que j’étais capable de le faire.
Pour résumer, je voulais que mon Mac à domicile m’envoyait par mail son adresse IP publique (celle fournie par mon fournisseur d’accès internet) afin que je puisse m’y connecter pour le contrôler à distance, notamment par VNC.
Pour cela, j’avais besoin de 3 choses :
1 – Créer une application simple avec Automator
2 – Créer un AppleScript qui lance cette application sur demande
3 – Utiliser les règles Mail avec des conditions particulières
Comment pourrais-je obtenir l’adresse IP publique de mon Mac sans trifouiller dans le coeur de mon Mac, et sans exécuter de script shell ?
La réponse est assez simple, il suffit de lancer Safari et d’aller sur un de ces nombreux services gratuits qui permettent d’afficher son adresse ip publique.
Mon choix s’est porté sur Whatsmyip, car il a l’avantage de ne donner l’adresse ip publique en brute et sans publicité ou autres textes, ce qui a toute son importance pour ce que je désirais faire.
Voici une capture de ce que me donne Whatsmyip quand je le sollicite (j’ai masqué une partie de mon ip pour une raison de sécurité).
Vous voyez ? Seule l’ip publique apparaît avec ce service gratuit. Maintenant, j’y vois donc un peu plus clair pour la création de ma petite application automator.
Application AUTOMATOR
1 : Obtenir les adresses URL indiquéesCette action permet de lancer Safari et d’atteindre le site Web désiré, simplement en cliquant sur AJOUTER et en saisissant l’adresse de ce dernier (whatsmyip en ce qui nous concerne)
2 : Obtenir le texte d’une page Web
Cette action permet d’obtenir le contenu de la page web en question.
3 : Copier vers le Presse-papier
Cette action permet de copier le contenu de la page web vers le presse-papier
3 : Exécuter un script AppleScript
Cette action permet de saisir le code de notre script AppleScript
Explication de notre script AppleScript dans Automator
on run {input, parameters}
set ip_address to the clipboard
L’instruction SET permet de donner la valeur du presse-papier (clipboard) à notre variable « ip_address »
set theNewMessage to make new outgoing message with properties {subject: »IP HOME », content:ip_address, visible:false}
L’instruction TELL permet ici d’appeler l’application MAIL, puis de lui dire qu’il faut créer un nouveau message sortant (new outgoing message) avec comme sujet du mail (subject) « IP HOME » (vous pouvez mettre ce que vous voulez puisque ce n’est qu’un simple texte dans le sujet du mail que vous recevrez) et comme corps de message l’adresse ip (variable ip_address) tout en faisant cette opération de manière invisible (visible:false)
make new to recipient at end of to recipients with properties {address: »votre@adressemail.com »}
send
end tell
end tell
return input
end run
Nous disons ici à ce nouveau message, qu’il doit être envoyé à l’adresse mail « votre@adressemail.com ».
Bien entendu, ceci est un exemple, vous devez remplacer « votre@adressemail.com » par le destinataire de votre choix (votre adresse google mail par exemple).
Ensuite nous lui disons d’envoyer le mail avec l’instruction SEND, puis nous terminons les appels par les instructions END TELL, et enfin nous refermons cet AppleScript par un END RUN.
Une fois cette application terminée, enregistrez-la sous le nom de votre choix (GETIP.app en ce qui me concerne)
Voilà, nous avons notre application, voyons si elle fonctionne en double-cliquant dessus. Voici le mail que j’ai obtenu.
PARFAIT ! Maintenant il me faut trouver un moyen pour que cette application s’exécute automatiquement sur demande. Pour cela, j’ai besoin de créer un script AppleScript.
Script AppleScript qui va lancer l’application sur demande
Pour créer un AppleScript, il faut aller dans APPLICATIONS –> UTILITAIRES –> Editeur AppleScript.app
Ce Script est vraiment très simple puisqu’il appelle l’application que l’on vient de créer avec automator (GETIP.app).
Maintenant, comment allons-nous exécuter tout cela automatiquement ?
Il suffit de créer une nouvelle règle dans l’application MAIL
Règle dans l’application MAIL
Tout d’abord, allez dans les préférences de MAIL comme ceci:
Ensuite, cliquez sur le bouton « Règles » et ajoutez une règle comme ceci:
Ajoutez une description, puis sélectionnez les règles désirées.
Pour ma part, j’ai décidé que toutes les conditions suivantes doivent être remplies.
1 – L’adresse mail de l’expéditeur du message doit contenir … (indiquez ici l’adresse mail que vous allez utiliser pour envoyer un mail à votre Mac de votre domicile).
2 – L’objet du message doit être égal à … (IPHOME dans mon exemple, mais vous pouvez mettre ce que vous voulez)
3 – Enfin, vous demandez à MAIL d’exécuter le petit Script que nous venons de faire (et qui exécute l’application GETIP).
DERNIERE PRECAUTION
Il vous suffit de laisser allumer le Mac de votre domicile, et d’ouvrir l’application Mail avant de partir au bureau.
Une fois à votre travail, vous enverrez un mail avec comme adresse d’expédition celle que vous avez mentionnée dans les règles, en n’oubliant pas d’ajouter le sujet que vous avez également indiqué dans les règles.
Attendez quelques secondes, et vous recevrez un mail de votre Mac à domicile contenant son adresse IP publique dans le corps du message.




Passe Moi l'geek !
K’allin media
Hello, je trouve votre tuto super bien réaliser, ainsi que l’idée est super, c’est vrai que sa va bien me servire
merci beaucoup, et a bientôt j’espere pour un nouveau tuto sur automator
Sullivan
Tuto incroyable et vraiment bien fait. Ca fait maintenant 2 semaines que je me suis lancé dans automator et j’ai meme acheté des livres pour mieux apprendre.
Je ne savais qu’on pouvait faire ce genre de chose en utilisant apple script en plus. EXCELLENT.
Pourrais-tu nous faire d’autres tutos sur Automator ? J’ai visité plein d’autres sites mais ils sont tous en Anglais, de ce fait quand ils donnent des noms de modules je suis un peu perdu.
merci et encore félicitation !
ludo
Merci beaucoup pour vos encouragements !
Pour répondre à vos questions, oui, il y aura de nouveaux tutos Autormator prochainement, notamment en ce qui concerne le traitement des fichiers / photos.