Workshop Live Coding – (fluxus)
Codes et improvisations
–
Workshop DG3
Programme de recherche :
Programmation visuelle
Auteur :
Milovann Yanatchkov
–
à l’invitation de Dominique Cunin
Date :
27 au 30 novembre 2014
Informations :
Les workshops sont l’occasion d’inviter des personnalités engagées dans des recherches que nous souhaitons mieux connaître et avec qui nous voulons échanger. Ils permettent aussi de sortir du format de la conférence durant lesquelles des chercheurs parlent en premier lieu à leurs paires. Parce qu’ils sont à destination des étudiants du 1er ou du 2e cycle, il construisent une passerelle entre recherche et pédagogie.
La pratique du Live-Coding superpose à l’image générée en temps réel le code source de son programme, écrit et exécuté en « live » face aux spectateurs. Qu’est-ce que l’interprétation dans les pratiques du code ?
Quelles relations peut-on trouver entre le Live Coding et la programmation visuelle ? De premier abord, ces deux champs ne semblent pas reliés l’un à l’autre. Cependant, au fil de nos recherches, il nous est apparu que plusieurs principes étaient partagés. La notion de script est la pierre angulaire de cette relation. En effet, la plus grande partie des langages de programmation visuels sont exécutés à l’aide d’un interpréteur (bien que des environnements comme ProGraph reposent sur un langage en dataflow compilé avant exécution). En cela, on peut dire qu’ils font partie de la catégorie des langages de script. Ces langages permettent de transformer à la volée l’état d’un programme qui est déjà en cours d’exécution. Ainsi, si un environnement logiciel de création complexe est créé, il est possible de passer un langage de script pour en programmer les comportements, construire de nouvelles fonctionnalités en agglomérant ou en augmentant celles déjà disponibles. HyperTalk dans HyperCard ou Lingo dans Director permettaient déjà cela à partir du milieu des années 1980. L’interface graphique de ces environnements auteur n’était qu’une des couches possibles de leur mise en œuvre, les scripts permettant d’automatiser des tâches et aussi, et surtout, de définir des interactivités. Aujourd’hui, JavaScript a su prendre cette place dans les navigateurs Web ou dans des suites logicielles graphiques (dont celle d’Adobe). C’est parce que des logiciels comme Max/MSP ou PureData passent par un langage interprété qu’il est possible de produire des instruments de musique par la programmation à la volée et de les transformer en direct (en live). C’est donc une question de performance qui est introduite : performance de l’environnement logiciel qui est, par nature, performatif et étant modifiable en cours d’exécution, et celle du performeur qui écrit le code en direct face à ses auditeurs/spectateurs.
La nature technique des langages de programmation visuelle et des outils de Live Coding est donc la même : langages interprétés produisant des programmes modifiables à la volée.
Mais c’est aussi l’aspect proprement graphique du Live Coding qui nous intéresse ici. Le code textuel est un élément technique qui est ici révélé au public et s’inscrit alors dans le champ esthétique : la genèse technique et esthétique de l’image est performée par l’auteur grâce à un environnement d’écriture « graphique » des programmes.