logiciels

Sikuli pilote le Mac avec des screenshots

par Arnauld de La Grandière le 02.02.2010 à 10:36
Sikuli [0.9.8 - Leopard : 10 Mo - Snow Leopard : 6,9 Mo - Gratuit] est un projet de recherche du célèbre Massachusetts Institute of Technology. Il s'agit d'un environnement de programmation qui partage bien des points communs avec AppleScript, dans la mesure où il permet de piloter les applications de votre Mac.

L'originalité de Sikuli repose cependant sur le moyen d'indiquer à quels éléments de l'interface on souhaite s'adresser : il suffit pour cela de prendre une capture d'écran. En tapant commande-majuscule-2, vous pourrez ainsi indiquer une zone graphique au logiciel de script. Celui-ci cherchera une zone graphiquement similaire lors de l'exécution. En somme, au lieu d'utiliser un système de communication inter-applications comme le fait AppleScript, Sikuli simule les entrées de l'utilisateur au clavier et à la souris, ce qui lui permet de piloter à peu près n'importe quoi, y compris des pages web.

Le langage utilisé est Jython, une version de Python basée sur une VM Java, ce qui permet d'utiliser les nombreux exemples de code disponible en Python. Le logiciel fonctionne aussi bien sur Mac OS X que sur Windows et Linux.


|  

Messenger débarque sur iPhone : Téléchargez l'application !
Vos réactions (12 réactions)
HAL-9000 [02/02/2010 10:50]

Python... le MIT n'est plus ce qu'il était...
tamino [02/02/2010 10:59]

HAL-9000 non plus, d'ailleurs...
damien51 [02/02/2010 11:23]

je suis d'accord, l'ibm 9000, ca date :)
kritof [02/02/2010 11:31]

C'est vraiment très intuitif comme façon de faire. Je trouve cela excelent !, certainne tache sont difficile a scripter, avec ce système tout semble possible.
mwolff [02/02/2010 11:31]

C'est quand même impressionnant de facilité
funatik2k [02/02/2010 12:07]

Excellente idée, qui compléterait à merveille l'enregistreur d'actions dans Automator.
BeePotato [02/02/2010 12:17]

Commande-majuscule-2 ?
Mais comment on va faire pour éjecter une disquette du second lecteur s’ils piquent ce raccourci ? ;-)

Je sais, je me sens vieux…
DHG [02/02/2010 13:05]

Ça a l'air très fonctionnel !
Mais chez moi pomme majuscule 2 c'est plutôt pomme majuscule 4 !
sekaijin [02/02/2010 13:33]

quelle retour en arrière.

Je me souvient que les tout premiers outils de "Macro" en environnement graphique fonctionnaient justement en désignant des zones graphiques et similé l'utilisateur.

L'arrivée des AppleEvents avait été salué comme ENFIN la fin de la galère pour scripter les applications graphiques.

la seul nouveauté est l'utilisation de la reconnaissance d'image pour déterminer la zone. ce n'est vraiment pas une grosse avancée.

Je préfèrerais qu'apple libère les AppleEvents franchement un "applescript" like sur tous les OS utilisant js ou pyton ou autre comme langage de script pour utiliser les AppleEvents et c'est royal

A+JYT
lennoyl [02/02/2010 13:51]

Je n'ai pas encore essayé, mais ça ne peut pas être pire que l' "enregistreur d'actions" d'Automator qui est une belle m*** (la fonction, pas Automator)
lennoyl [02/02/2010 14:16]

après essais, c'est un trop bugué pour moi pour l'instant (vivent les java.lang.OutOfMemoryError qui apparaissent sans raison).
Dommage car c'est plutôt prometteur.
ErGo_404 [02/02/2010 14:53]

sekaijin [02/02/2010 13:33]

quelle retour en arrière.

Je me souvient que les tout premiers outils de "Macro" en environnement graphique fonctionnaient justement en désignant des zones graphiques et similé l'utilisateur.

L'arrivée des AppleEvents avait été salué comme ENFIN la fin de la galère pour scripter les applications graphiques.

la seul nouveauté est l'utilisation de la reconnaissance d'image pour déterminer la zone. ce n'est vraiment pas une grosse avancée.

Je préfèrerais qu'apple libère les AppleEvents franchement un "applescript" like sur tous les OS utilisant js ou pyton ou autre comme langage de script pour utiliser les AppleEvents et c'est royal

A+JYT

Ben si justement c'est une grosse avancée. Avant on définissait un point précis de l'écran, maintenant on définit un bouton ou une zone graphique, qui sera reconnue. Ca permet de piloter potentiellement n'importe quoi, peut importe le type d'interface graphique, comment elle est codée, etc.
En gros ça enlève toutes les contraintes de l'ancien système.

Réagir

Cinq consignes avant de réagir :
  1. Rester dans le cadre de la dépêche. Pour des discussions plus générales, vous pouvez utiliser nos forums.
  2. Développer son argumentation. Les messages dont le seul but est de mettre de l'huile sur le feu seront modifiés ou effacés sans préavis par la rédaction.
  3. Respecter les acteurs de l'informatique et les autres lecteurs. Les messages agressifs, vulgaires, haineux, etc. seront modifiés ou effacés sans préavis par la rédaction.
  4. Pour toute remarque concernant le contenu de l'article, pour nous signaler une erreur, une faute d'orthographe, une omission, merci de nous contacter exclusivement par e-mail.
  5. Relisez-vous, et pour les utilisateurs de Safari profitez de l'aide du navigateur : activez le menu édition > Orthographe > Vérifier l'orthographe lors de la frappe.