Eteindre ou redémarrer son PC à distance avec Twitter


Shutdown
Twitter est un service de micro-blogging très tendance en ce moment. Sa principale fonction est la diffusion de messages courts (140 caractères), mais on peut aussi s'en servir pour faire d'autre chose. On pourra par exemple l'utiliser pour contrôler son ordinateur à distance, en ordonnant un arrêt ou un reboot immédiat.

1. Sous Windows

Pour les utilisateurs de Windows, il existe un logiciel du nom de TweetMyPC. Une fois celui-ci installé et configuré avec votre login et votre mot de passe, il s'occupera de scruter régulièrement votre compte Twitter et attendra que vous lui donner un ordre à distance.

Tweet My PC

2. Sous Linux

Pour les linuxiens, il n'existe aucun programme équivalent. J'ai donc développé rapidement un petit script bash qui propose les mêmes fonctionnalités. Lancez les commandes suivantes pour récupérer ce script et lui donner les bons droits :

cd && wget www.tux-planet.fr/public/dev/shell/script-tweet-my-pc
mv script-tweet-my-pc tweet-my-pc.sh
chmod +x tweet-my-pc.sh

Puis on ajoutera ce dernier en crontab via la commande crontab -e ou sudo crontab -e si vous êtes sous Ubuntu. Pensez à adapter le nom de login de votre compte Twitter et le chemin de votre homedir :

*/2 * * * * /home/sbilbeau/tweet-my-pc.sh username > /dev/null

3. Utilisation

Trois actions sont possibles avec la version actuelle de ces deux programmes :

  • Shutdown : éteindre son ordinateur
  • Restart : redémarrer son ordinateur
  • Logoff : fermer une session

Pour les utiliser, il suffit donc de vous connecter à votre compte Twitter et écrire un message comportant l'un de ces mots clé. Attention, ces derniers sont sensibles à la case et il faut donc saisir les commandes avec une majuscule pour la première lettre. Par exemple, Restart fonctionnera tandis que restart ne marche pas.

Twitter Logoff

A l'heure où Twitter est accessible de partout (Internet, Téléphone mobile...), cet utilitaire peut donc s'avérer très pratique. Il faudra tout de même être vigilant et ne pas se faire pirater son compte, sous peine d'offrir un accès contraignant à des pirates informatiques. L'idéal étant sûrement de créer un nouveau compte dédié à cette fonction.


16 Commentaires pour "Eteindre ou redémarrer son PC à distance avec Twitter"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Le buzz sur ce soft date de la semaine dernière et tu as bashé un équivalent dans l'intervalle ?
    Félicitations et merci !

    RépondreRépondre
    shamanphenix , le 4 mai 2009 à 12:56
  •  

    Et un démarrage par envoi de packet magique via Twitter ça le fait ?

    RépondreRépondre
    Eric Reboisson , le 4 mai 2009 à 14:42
  •  

    @shamanphenix : hé hé !

    @Eric Reboisson : je pense pas que cela soit possible.

    RépondreRépondre
    pti-seb , le 4 mai 2009 à 18:28
  •  

    Excellent article !

    RépondreRépondre
    benkow54 , le 4 mai 2009 à 20:53
  •  

    @pti-seb : ok, dommage ça pourrait être bien pratique...

    RépondreRépondre
    Eric Reboisson , le 4 mai 2009 à 21:04
  •  

    la commande tr $USERNAME semble me poser problème.
    mon nom de compte est 7alouest
    si je fais un
    echo $ACTION
    j'obtiens rr au lieu de restart
    r est la seule lettre qui ne figure pas dans 7alouest
    les autres y sont :
    ..esta..t
    du coup le script ne fonctionne pas chez moi (sauf à le modifier, cela va de soi).
    la commande tr ne me semble pas appropriée.
    Qu'en pensez-vous ?

    RépondreRépondre
    7alouest , le 6 juin 2009 à 14:30
  •  

    Ma solution consiste à ne pas retirer les caractère du login Twitter avec la commande tr mais de simplement retirer les deux points. Je modifie ensuite le test en ajoutant $USERNAME

    "$USERNAME Restart"

    et ça marche

    sympa comme astuce, on va la présenter dans les colonnes de notre magazine Opensource-Magazine

    RépondreRépondre
    7alouest , le 6 juin 2009 à 14:53
  •  

    @7alouest : effectivement, le script n'est peut-être pas optimisé pour les pseudos avec des chiffres. Au pire on peut le modifier pour le mettre en dur dedans.

    RépondreRépondre
    pti-seb , le 8 juin 2009 à 12:41
  •  

    Bonjour,
    Je te félicite pour ton blog qui est très intéressant et très actif.

    En ce qui concerne ton billet, je suis intéressé de son application en entreprise.
    nous utilisons tweeter mais en privé, pas ouvert sur l'extérieur. j'aurai aimé paramétrer un serveur qui parse justement les messages twitter de ma boite et fait des actions en fonction .. Mais as tu une idée afin de pouvoir se connecter sur des tweet privé. Y a t'il moyen par exemple avec curl de me loger avec mon compte tweeter d'entreprise et parser tous les tweets de ma boite ??

    RépondreRépondre
    bartounet , le 12 janvier 2010 à 15:15
  •  

    @bartounet : regarde par ici peut-être, avec la commande curl et les options pour y passer le username et password de twitter. Il faudra sans doute adapter le reste.

    RépondreRépondre
    pti-seb , le 12 janvier 2010 à 23:50
  •  

    En effet ca marche impeccable, merci beaucoup, il faut maintenant que je trouve les application en entreprise.

    RépondreRépondre
    bartounet , le 13 janvier 2010 à 09:27
  •  

    Aucun interet , surtout avec X11VNC sous ubuntu. On peut acceder a son ordinateur via un client VNC.

    Mais bon, c'est surement pour le Fun !

    RépondreRépondre
    Roberto , le 23 juillet 2010 à 18:51
  •  

    @Roberto : ça n'a surtout aucun rapport.

    RépondreRépondre
    Gambas Eater , le 26 juillet 2010 à 10:20
  •  

    Ce serait possible de m'expliquer cette ligne ?
    if [ ! -f `which curl` ]

    Je comprends pas le test que l'on fait.
    Je vois l'idée, on test pour voir si curl est installé, mais je comprend pas la mise en application.

    RépondreRépondre
    Gambas Eater , le 26 juillet 2010 à 16:36
  •  

    (je fais un double post, j'ai fais trop long pour éditer mon commentaire précédent.)

    La ligne sed --quiet --expression='s/\(.*\)/\1/p' aussi j'ai de la peine à comprendre.
    On fait la substitution sur quoi exactement ?
    Si j'ai bien compris, on change "\(.*\)" en "\1". Mais à quoi correspond "\1" ?

    RépondreRépondre
    Gambas Eater , le 26 juillet 2010 à 16:57
  •  

    Sympa et intéressant.
    Dommage que bartounet n'ait pas indiqué son code pour utiliser un Twitt privé.

    Néanmoins, le code contient un bug:

    ACTION=`echo $LAST_TWEET | tr -d "$USERNAME: "`

    [ tr -d "$USERNAME: "] n'est pas approprié, l'instruction fera bugger le programme si le login Twitter contient des caractères contenus dans les commandes Restart / Shutdown / Logoff

    Ce n'est pas [ tr ] qui convient, car il supprime tout les caractères contenus dans le nom d'utilisateur Twitter.

    Pas besoin de "coder en dur" le nom de l'utilisateur non plus.

    Il suffit d'utiliser un recherche/remplace sur une chaîne de caractère.
    L'utilisation de la fonction du shell des accolades de variables avec susbtitution suffit:

    ACTION=${LAST_TWEET# *${USERNAME}: *}

    D'autre part, juste une remarque de programmation défensive: USERNAME est une variable d'environnement du shell, il est préférable d'en utiliser un autre nom dans les script; ne serait-ce que la mettre en minuscule suffirait.

    Cette précaution vaut pour toutes les variables utilisées dans les script, car par convention et tradition, les variables nommées en majuscules sont réservées à l'environnement.

    Amicalement,

    @PapaEcho

    class="yarr">

    title="Répondre à ce commentaire">RépondreRépondre

    Philippe Petrinko @PapaEcho , le 24 mai 2011 à 10:44
 

Ajouter un commentaire

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum