Afficher votre statut ichat sur votre site. [maj]

Classé dans : Web | 0 commentaire(s)

04
09 | 11

Certains on peut être eu la curiosité de cliquer dans l'angle en haut à droite du blog et ont atterri sur mon site d'assistance. Si, avec la grosse ampoule qui indique si je suis connecté à internet. Pour que le site soit opérationnel il fallait que le statut sur le site corresponde à celui d'iChat de façon automatique.
J'ai pas mal galéré avant de trouver cette méthode qui n'est peut être pas la plus élégante mais ça fonctionne.
Au début j'ai essayé avec mon statut twitter, puis facebook sans succès. Et puis en regardant dans les préférences d'iChat: Alléluia! Il est possible d'exécuter un script applescript par évènement et donc quand on passe d'online à offline (et inversement).

Sur le site, la valeur du statut était codée en dur à offline (0) par défaut et j'oubliais tout le temps de le mettre à jour. Je l'ai donc modifié pour que cette valeur soit dans un fichier json à part:

statut.js (contenant une simple paire clé/valeur):

{ "value" : "0" }

Vu que je ne connais pas bien applescript j'ai opté pour un solution simple: créer deux scripts contenant une instruction en ligne de commande pour envoyer ce fichier par ftp (un pour online, un pour offline).
Donc voici les deux scripts.
Online:
using terms from application "iChat"
	on login finished
		set Source to "/Users/toto/Documents/mystatus/online/status.js"
		set Dest to "ftp.alwaysdata.com/www/"
		do shell script "curl -u ftpuser:ftppassword -T {" & quoted form of POSIX path of Source & "} " & Dest
	end login finished
end using terms from


Offline:
using terms from application "iChat"
	on logout finished
		set Source to "/Users/toto/Documents/mystatus/offline/status.js"
		set Dest to "ftp.alwaysdata.com/www/"
		do shell script "curl -u ftpuser:ftppassword -T {" & quoted form of POSIX path of Source & "} " & Dest
	end logout finished
end using terms from


Les lignes avant et après le commande shell sont là pour éviter l'erreur fatale 1708 qui vous affiche 15 fenêtres d'erreur en cascade façon windoze ;-)
Tout cela se fait de façon invisible et immédiate of course.


Partager cette page :

Identi.ca Twitter Digg Stumble Delicious Technorati Facebook


Ecrire un commentaire



Quelle est la troisième lettre du mot ejsl ? :