Pour programmer, faites une copie d'écran !

Par 20 janvier 2010
Mots-clés : Smart city

Le MIT propose de s'appuyer sur des captures d'écran et le langage Python pour étendre les possibilités de logiciels existants sans avoir à en apprendre le langage.

La création de programmes ou de logiciels, même simples, implique encore souvent la maîtrise de langages de programmation aussi divers que complexes. Pour simplifier ce processus, un chercheur du MIT propose de remplacer – partiellement – ces lignes de codes par des captures d’écran. Baptisée Sikuli, l’application concerne plus particulièrement les scripts, c’est-à-dire de courts programmes qui combinent ou étendent les fonctions d’autres programmes primaires. Les chercheurs donnent ainsi l’exemple d’un internaute qui voudrait créer un programme lui envoyant automatiquement un SMS au passage d’un bus à proximité d’un lieu donné. Le programme à étendre est celui du site du gestionnaire des transports publics. Sur celui-ci, il est possible de suivre le parcours du bus représenté par une épingle en temps réel sur une carte.
Seul l’aspect visuel est pris en compte
Techniquement, pour rédiger ces scripts, l’application s’appuie sur le logiciel de programmation Python. Il appartient donc de le connaître un minimum. Pas besoin, en revanche, de maîtriser quoi que ce soit au langage du programme que le script vise à étendre. D’après les chercheurs, cela devrait ouvrir la programmation à un public de non spécialistes. Lorsque le développeur cherche à utiliser une des fonctions de ce programme de base, il lui suffit de l’encadrer avec la souris pour en faire une capture d’écran. Il ne reste plus ensuite qu’à intégrer l’image correspondante dans Python en lieu et place de la ligne de code correspondante. En reprenant l'exemple de l'internaute et des transports, l'usager pourra du coup créer un script sans rien connaître au fonctionnement de ce programme.
Pas de traduction du langage
Il lui suffira de programmer en Python : "quand [image de l’épingle] atteint [image de la zone] alors envoyer SMS". Pour ce faire, l’application s’appuie uniquement sur l’aspect visuel de la fonction en question, qu’il identifie grâce à un algorithme de vision informatique. Il n’est donc pas question de traduire le code d’un langage informatique à un autre. "Il s’agit d’un agent logiciel qui étudie l’écran de la même manière que le ferait un humain", explique le professeur Rob Miller. En conséquence, Sikuli fonctionne avec n’importe quel programme à la simple condition qu’il dispose d’une interface graphique.

Mentions légales © L’Atelier BNP Paribas