Le code créatif (en anglais creative coding), ou programmation créative, consiste à utiliser la programmation informatique comme un moyen d'expression artistique (visuel, musical, littéraire, interactif, performatif...) à part entière. Le terme semble être devenu populaire à partir des années 2000, à la suite de la publication du livre Creative Code, par John Maeda[1].
Hors de la pure création artistique ou musicale, le code créatif peut trouver des applications concrètes dans les domaines de la recherche en informatique graphique, du design (design graphique/graphisme génératif[2], design numérique, dataviz), des effets spéciaux, ou encore de la performance (Vjing, Live coding).
Histoire
Dès 1843, Ada Byron suppose que tout ce qui peut être décrit de manière abstraite pourrait être converti en actions programmées, et elle prend pour exemple la composition musicale :
« Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent[3] »
— Ada Byron, notes au sujet de l'article Sketch of the Analytical Engine invented by Charles Babbage Esq de Luigi Menabrea
L'idée rejoint celles de personnalités comme le polymathe Athanasius Kircher qui, à l'époque Baroque, avait développé un système aléatoire permettant d'écrire des partitions, et lui-même s'était inspiré des travaux de Raymond Lulle (14e siècle) et de son Ars Magna, un générateur littéraire destiné à combiner des arguments théologiques. Les travaux de Lulle ou de Kircher ne reposaient évidemment sur aucun appareil automatisé.
En 1871, l'ingénieur textile amiénoisÉdouard Gand a proposé une invention nommée Improvisateur de tissus, qui permettait, par un jeu de permutations arithmétiques, de créer des tissages inédits[4]. On peut à juste titre y voir l'origine de du design génératif.
En 1962, A. Michael Noll, alors jeune ingénieur embauché par les laboratoires Bell pour perfectionner les techniques d'imagerie scientifique, publie un mémo intitulé Computer produced patterns, dans lequel il explique que la programmation informatique peut-être utilisée pour produire des créations visuelles à l'aide de l'ordinateur IBM 7090 et de l'imprimante à microfilms Carlson SC-4020. Il n'ose qualifier le résultat d'«œuvre» ni de «création artistique», préférant employer le mot patterns (modèles, motifs). Le document contient des exemples de code rédigés en langage Fortran, et le résultat visuel obtenu, qui consistait en des lignes reliant des points aléatoires[5],[6]. L'année suivante en 1963, toujours chez Bell Labs et avec le même matériel, Kenneth Knowlton met au point BEFLIX (pour "Bell Flicks"), le premier langage de programmation destiné à produire des animations informatiques. Dérivé de Fortran, BEFLIX utilise les différents signes typographiques pour obtenir des niveaux de gris différents, ce qui en fait une forme d'Art ASCII. Dès cette époque, d'autres programmeurs, ingénieurs ou mathématiciens s'engageront dans la voie de la création visuelle programmée et repousseront les limites des possibilités graphiques de l'ordinateur, qui, lorsqu'ils ont commencé à s'y intéresser, n'était même pas encore relié à un moniteur. On peut mentionner Frieder Nake et Georg Nees (Noll, Nake et Nees ont par la suite été surnommés les 3N) ou encore John Whitney, Sr., Charles Csuri et Herbert Franke.
À la même époque, des artistes liés à l'abstraction, et notamment à l'art optique et cinétique, se commencent à s'intéresser à la programmation comme outil de création artistique : François Morellet, Vera Molnár, Manfred Mohr, et bien d'autres. Du reste, sans recours à l'outil informatique, on peut rapprocher de la création algorithmique plusieurs artistes ou mouvements des années fin 1950 et 1960 : l'art cybernétique, représenté par Nicolas Schöffer ou Peter Vogel, qui produisent des sculptures motorisées et équipées de capteurs ; les artistes optocinétiques, dont la production s'appuie sur des principes géométriques et arithmétiques (Bridget Riley, Victor Vasarely, etc.) ; les artistes conceptuels qui ont exploré la dimension procédurale de la création artistique (Sol LeWitt, La Monte Young, Allan Kaprow, Yoko Ono, John Cage,...) ; et encore les Oulipiens, qui dès 1960 se passionnent pour l'idée d'une littérature basée sur des contraintes, parfois directement inspirés par la culture informatique, comme George Perec avec L’art et la manière d’aborder son chef de service pour lui demander une augmentation. Tous ces artistes, musiciens ou écrivains se sont eux-mêmes appuyés sur des travaux antérieurs, notamment ceux des avant-gardes de la première moitié du XXe siècle : Kasimir Malevitch, Marcel Duchamp, Josef Albers, Hans Richter, etc.
En 1967, Seymour Papert et ses collaborateurs mettent au point le langage Logo, langage de programmation destiné à la pédagogie de la géométrie et de la programmation, qui repose sur les théories constructivistes de Jean Piaget pour qui c'est en créant que l’on apprend.
En 1968 à Londres, puis l'année suivante à Washington et à San Francisco, se tient Cybernetic Serendipity, première grande exposition collective d'art algorithmique, qui explore de nombreux domaines : image calculée, chorégraphie, musique, génération littéraire, etc. Y exposent la plupart des artistes et chercheurs pionniers du domaine de la création numérique.
En 1969, au Centre universitaire expérimental de Vincennes (désormais Université Paris VIII est fondé le Groupe Art et Informatique de Vincennes (GAIV, ou Gai Vincennes), où une poignée d'artistes-informaticiens[7] effectuent des recherches dans le domaine de la création visuelle ou de la musique algorithmique. Le groupe sera à l'origine du cursus Arts et technologies de l'image (A.T.I.) en 1983.[8]
Toujours en 1969, l'Association for Computing Machinery a vu la création d'un groupe destiné à la création visuelle, le SIGGRAPH), qui organise des conférences annuelles consacrées à l'informatique graphique depuis 1973.
La distinction entre ce qu'Abraham Moles nomme « art naturel » (produits de la Science et de la Technique réalisés pour une autre raison que la poursuite d'une forme artistique, mais qui de fait apparaissent comme séduisants à nos yeux, et donc pourvus d'une valeur esthétique) et « art intentionnel » (recherche d'une valeur esthétique qui affecte la sensibilité de celui qui la regarde) est alors parfois mince[9], comme en témoigne le destin de l'image 100 consecutive pulses from the pulsar CP 1919, créée par le radioastronome Harold Craft pour sa thèse en 1970, et utilisée par le directeur artistique Peter Saville en 1979 pour servir de visuel à la pochette du disque Unknown Pleasures, par le groupe Joy Division[10]. Cette image obtenue par programmation, dont la destination première était didactique, est devenue une création visuelle à part entière en perdant sa légende et en changeant de support.
Au tout début des années 1970, Harold Cohen (1928-2016) commence à développer AARON, un programme écrit en langage C, puis en Lisp, qui produit des œuvres artistiques. L'artiste ne programme pas l'œuvre, il écrit le programme qui produit l'œuvre.
Au cours des années 1980, la popularité croissante de la micro-informatique a provoqué la naissance de la Scène démo, une sous-culture informatique au sein de laquelle des programmeurs produisent des créations visuelles et sonores, souvent dans le but de faire une démonstration de leur virtuosité de codeurs autant que de leur talent de créateurs. Il existe des rassemblements de créateurs de démos, tels que Assembly, en Finlande où des milliers de programmeurs se regroupent et s'affrontent dans des compétitions : meilleur programme en moins d'un kilo-octet, en moins de quatre kilo-octets, etc.
En 1995, l'informaticien et artiste étasunien Jean-Pierre Hébert, fonde le groupe Algorists, qui se donne pour principe de rassembler des artistes auteurs de leurs propres algorithmes, comme Roman Verostko, Manfred Mohr, Channa Horwitz, Yoichiro Kawaguchi, etc. Assez logiquement, le manifeste du groupe est un algorithme :
if (creation && object of art && algorithm && one's own algorithm) {
include * an algorist *
} elseif (!creation || !object of art || !algorithm || !one's own algorithm) {
exclude * not an algorist *
}
En juillet 2000, l'artiste Antoine Moreau, aidé de juristes et d'artistes, met au point la Licence Art Libre, une licence compatible avec la licence Creative Commons BY-SA mais pensée pour s'appliquer à la création artistique. Avec cette licence, les artistes acceptent que leurs œuvres soient librement diffusées et modifiées.
Au cours des années 2010, le web-to-print, porté par des collectifs de jeunes designers (OSP, PrePostPrint, Luuse, etc.) détourne les langages de création web (Html, Css, et éventuellement Javascript et php) pour produire des livres imprimés qui échappent au contrôle et aux méthodes commerciales de sociétés telles qu'Adobe[12]. L'enjeu de l'utilisation de la programmation informatique est alors autant une question politique et philosophique d'émancipation vis-à-vis des éditeurs de logiciels qu'une question technique et esthétique.
Les NFTs, qui permettent aux artistes numériques d'établir des certificats de propriété et d'authenticité pour des œuvres numériques, et de commercialiser celles-ci en dehors des circuits traditionnels, ont offert une visibilité nouvelle aux artistes qui utilisent la programmation informatique comme outil de création, et suscité un regain d'intérêt pour cette pratique[13]. Selon le journaliste Dean Kissick, de Spike Art Magazine, les séries NFT les plus populaires sont des œuvres réalisées algorithmiquement : « The most popular series of NFT collectibles are algorithmically generated. »[14]. Ces certificats de propriété en blockchain ont été inventés en 2014, mais c'est en 2020-2021 que les achats de NFT ont connu leur plus haut niveau[15] avant de retomber nettement[16].
De nombreuses écoles d'art et de design du monde entier dispensent désormais des cours de programmation informatique au même titre que des disciplines plus attendues telles que le dessin, la couleur, la perspective ou le modelage.
Expositions
- Georg Nees: Computergrafik, Studiengalerie der TH Stuttgart (Université de Stuttgart). Artiste : Georg Nees. Considérée comme la première exposition d'art algorithmique au monde[17].
- Computer-Generated pictures, Howard Wise Gallery, New York. Artistes : Béla Julesz et A. Michael Noll[18]. Béla Julesz, neurobiologiste spécialiste de la perception, est connu pour ses travaux sur les stéréogrammes aléatoires, qui ont débouché sur l'invention des Autostéréogrammes,
- Cybernetic Serendipity, Institute of Contemporary Arts, Londres. 89 artistes, dont plusieurs membres de Fluxus ou du GRAV, mais aussi des artistes-programmeurs tels que : Kurd Alsleben, Efraim Arazi, Jean A. Baudot, Stafford Beer, Herbert Brün, Andrew Colin, Charles Csuri, D.J. Di Leonardo, Ben F. Laposky, Frieder Nake, Georg Nees, A. Michael Noll, John Whitney Sr, etc.[20]
- Software - Information Technology: Its New Meaning for Art, Jewish Museum (Brooklyn). Organisée par l'artiste et critique Jack Burnham, cette exposition a ensuite été présentée au Smithsonian, du au .
Outils destinés au code créatif
Outils logiciels
Cette section contient une ou plusieurs listes. Le texte gagnerait à être rédigé sous la forme de paragraphes synthétiques. Les listes peuvent demeurer si elles sont introduites par une partie rédigée et sourcée, de façon à bien resituer les différents éléments (avril 2023).
La notion de code créatif est plus une philosophie qu'une technique et n'est attachée à aucun langage de programmation en particulier, même si plusieurs langages ou systèmes ont été conçus pour cet usage. Par exemple :
BEFLIX (Bell Flicks), créé en 1963, premier logiciel destiné à la création d'animations informatiques. Il s'appuie sur Fortran, un langage très souvent utilisé pour le calcul scientifique.
Logo, créé en 1969 et destiné à la pédagogie de la programmation par le dessin procédural.
vvvv, outil de programmation visuelle créé en 1998, qui permet de manipuler en temps réel du son et de l'image.
Design by numbers, langage procédural destiné à la création visuelle créé en 1999 par John Maeda et ses étudiants.
Processing, langage et environnement de programmation créé en 2001 par Casey Reas et Ben Fry. Il s'appuie sur le langage Java. Il inspirera P5js (web) mais aussi Arduino (prototypage électronique).
OpenFrameworks, un outil performant, qui s'appuie sur C++.
Cinder, un framework pour le langage C++.
PureData, un logiciel libre de programmation graphique pour la création musicale et multimédia en temps réel.
Scriptographer, (2006), une extension créée par Jürg Lehni et permettant d'interagir en JavaScript dans le logiciel Adobe Illustrator.
Adobe Flash, un logiciel permettant le dessin vectoriel, l'animation, l'interaction (pointeur, clavier, microphone et webcam) et le code.
Doodle est une librairie Scala pour le code créatif.
Les navigateurs web, bien que conçus principalement pour afficher des pages web, sont des outils appréciés par de nombreux artistes[21], notamment grâce aux standards web (HTML, CSS) et aux langages comme JavaScript, qui permettent de créer des œuvres picturales, vidéos, sonores et textuelles ou hybrides. Ces œuvres sont souvent apparentées à l’art en ligne, aussi appelé « art Internet » ou « netart ».
Des outils destinés à la production d'images sans programmation mais pouvant être manipulés par scripts peuvent aussi être utilisés, comme le logiciel de graphisme 3D Blender, qui peut être scripté en langage Python, ou encore le moteur de création de jeux Unity, qui se programme en C#. Des logiciels propriétaires tels qu'Adobe Illustrator proposent aussi la possibilité de produire des images à l'aide de scripts, essentiellement à fins d'automatisation de tâches.
Il existe par ailleurs des langages de programmation qui, du fait de leur inutilité fonctionnelle, peuvent être considérés comme des créations artistiques par eux-mêmes : Whitespace, Brainfuck, et autres langages de programmation exotiques. Ces langages peuvent constituer des jeux "geek", mais certains peuvent servir à étudier en profondeur des concepts informatiques ou encore à produire une forme de poésie concrète ou une proposition relevant de l'art conceptuel.
Whitespace n'utilise que des caractères invisibles (colorés, ici). La page est en apparence totalement vide.
Brainfuck se note à l'aide de huit symboles (><+-.,[])
Le mot "Piet" écrit en langage Piet, hommage transparent au peintre Piet Mondrian
On peut aussi évoquer l'utilisation de langages existants pour produire des œuvres où ce n'est pas l'exécution du programme qui compte mais le programme lui-même, comme l'a fait Alex Iordachescu avec if A=B[22], où l'existence est racontée sous forme de programmes en langage Lingo, ou encore Angus Croll avec If Hemmingway wrote Javascript[23], dont l'auteur étudie sérieusement la notion de style, appliquée à la fois à la littérature et à la programmation, et se demande comment Jane Austen, Jack Kerouac, Virginia Woolf ou Jorge Luis Borges (et bien d'autres) écriraient des programmes informatiques.
Outils matériels
Création plastique
Avant la généralisation du moniteur informatique et autres afficheurs (vidéo-projecteur, rampes de leds,...), les premiers périphériques de sortie pour des œuvres réalisées par programmation ont été l'impression papier (impression à impact, impression matricielle, impression à marguerite, impression sur microfilm, traceur), la visualisation sur un oscilloscope, ou encore la réalisation manuelle d'œuvres en suivant les indications fournies par l'ordinateur sur une carte perforée, voire en utilisant les cartes perforées elles-mêmes, comme dans le cas de la technique dite du pixel à la main, mise au point par le Groupe Art et informatique de Vincennes dans les années 1970 : les perforations des cartes, obtenues par programme, sont ensuite utilisées comme pochoirs pour de la peinture[8].
De nombreux créateurs d'œuvres programmées donnent une existence tangible à leur production à l'aide de traceurs, et notamment de traceurs réalisés par eux-mêmes («Do it yourself»). Cette technologie permet de maîtriser la nature des stylets (crayon, stylo bille, tout est possible) ainsi que le support employé. La brodeuse numérique, la tricoteuse numérique, la découpeuse laser, l'imprimante 3D ou la Machine-outil à commande numérique sont d'autres technologies liées à la culture maker qui peuvent être utilisées.
Les tortues de Bristol, des dispositifs robotiques rudimentaires inventés en 1947, ont été remises à la mode avec la création du langage Logo, à la fin des années 1960, non seulement parce que c'est le nom que prend le traceur sur l'écran dans ce langage, mais aussi parce que des tortues robotiques ont été employées comme traceurs mobiles obéissant à un programme écrit en Logo. D'autres robots ont été détournés de leur usage pour servir d'outils de dessin : robots industriels ou drones[24].
un traceur Zuse Z64 (1956), le modèle qu'utilisait le pionnier de l'art algorithmique Georg Nees.
La tortue Logo Valiant, créée en 1983
l'artiste Aaron Musalski et son traceur pour tableau noir «Otto». L'appareil dessine à la craie.
«Sketchy», un robot qui effectue les portraits de personnes qui se trouvent face à sa caméra.
Un robot artisanal qui dessine en fonction d'un programme
Un aspirateur Roomba détourné pour servir de Spirographe.
Le premier disque réalisé sur ordinateur est Music from mathematics, par John Robinson Pierce et Max Mathews, sorti en 1960.
Outils intégrés à la création
Que sa destination soit matérielle, sonore ou encore textuelle, le code créatif peut recourir à des périphériques de saisie qui seront utilisés pour altérer l'œuvre en fonction d'interactions ou d'injection d'information diverses : microphone, caméra, souris, clavier, ou capteurs divers (mouvement, température, etc.).
Jean-Paul Delahaye, Dessins géométriques et artistiques avec votre micro-ordinateur, Eyrolles, et sa suite, Jean-Paul Delahaye, Nouveaux dessins géométriques et artistiques avec votre micro-ordinateur, Eyrolles,
(en) Frank Dietrich, « Visual Intelligence: The First Decade of Computer Art (1965-1975) », Leonardo, The MIT Press, vol. 19, no 2, , p. 159-169 (lire en ligne)
Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni, Design génératif, Pyramid, , 474 p. (ISBN978-2350172156)
(en) Ira Greenberg, Processing : Creative Coding and Computational Art, friends of ED, (ISBN1-59059-617-X)
(en) Daniel Shiffman, The Nature of code : Simulating Natural Systems with Processing, (ISBN978-0985930806)
(en) Grant D. Taylor, When the Machine Made Art : The Troubled History of Computer Art, Bloomsbury Publishing, coll. « Bloomsbury Academic », , 352 p. (ISBN9781623562724, présentation en ligne)
(en) Christiane Paul (direction), A Companion to Digital Art, Wiley-Blackwell, (ISBN978-1-118-47520-1)
(en) Andrew Richardson, Data-driven Graphic Design : Creative Coding for Visual Communication, Bloomsbury, , 224 p. (ISBN978-1472578303)
Frédéric Migayrou (direction), Coder le monde : Mutations Création, éditions du Centre Pompidou/éditions HYX,
(en) Leslie Jones (dir.), Bronac Ferran, Tiffany Funk, Patrick Frank, Meredith Hoy, Jennifer King, Lisa Gabrielle Mark, Joel McKim, Britt Salvesen, Edward Shanken, Staci Steinberger, Grant D. Taylor, Bobbye Tigerman et Debora Wood (préf. Hannah B Higgins), Coded : Arts enters the computer age, 1952-1982, Distributed Art Publishers/Los Angeles County Museum of Art, , 272 p. (ISBN978-1636810805)
Camille Lenglois (dir.), Le groupe art et informatique de Vincennes : Une esthétique programmative, Centre Pompidou, coll. « Recherches », , 164 p. (ISBN9782844269492, présentation en ligne)
(en) Daniel Cardoso Llach et Theodora Vardouli, Designing the Computational Image : Imagining Computational Design, Oro Editions, , 380 p. (ISBN978-1954081345)
↑Graphisme en France : code <> outils <> design, Centre national des arts plastiques, (lire en ligne). Ce numéro de la revue Graphisme en France, consacré au rapport entre code et création, met en pratique son sujet, car chacun de ses 10 000 exemplaires a une couverture unique, produite à l'aide d'un programme.
↑Tentative de traduction : En supposant, par exemple, que les relations fondamentales des sons accordés dans la science de l'harmonie et de la composition musicale soient susceptibles de telles expressions et adaptations, la machine pourrait composer des morceaux de musique élaborés et scientifiques de n'importe quel degré de complexité ou d'étendue.
↑Édouard Gand, Le Transpositeur : l’Improvisateur de tissus, Librairie polytechnique J. Baudry, (lire en ligne)
↑Jean-Noël Lafargue, « Quand la machine dessine », Étapes, no 265, , p. 89-95
↑ a et bLisa Eymet, Les débuts de l’art informatique en France ou la constitution d’un champ artistique autonome par le milieu universitaire : l’exemple de l’Université de Paris-VIII et de la formation Arts et Technologies de l’Image (Mémoire de recherche en Muséologie), École du Louvre, (lire en ligne [PDF])
↑Abraham Moles, « À l'origine de l'art à l'ordinateur : le traitement d'images scientifiques », dans Art et Ordinateur,
↑Ces créateurs d'outils informatiques ne se définissent pas comme ingénieurs, bien qu'ils aient travaillé avec l'industrie du logiciel. Éric Wenger est issu de l'école nationale supérieure des Arts Décoratifs ; Jaron Lanier a fréquenté une école d'art new yorkaise ; Akira Rabelais est diplômé du California Institute of the Arts. La création de leurs outils répond donc d'abord à leurs propres besoins en tant qu'artistes
↑Julie Blanc et Nolwenn Maudet, « Code 〈–〉 Design graphique : Dix ans de relations », Graphisme en France, Centre national des arts plastiques, no 28 « Création, outils, recherche », , p. 3-30 (lire en ligne, consulté le ).
↑(en) Brian Droitcour, « Generative art and NFTs », Art in America, (lire en ligne)
↑Dean Kissick, « The downward spiral: popular things », Spike art magazine, (lire en ligne)
↑A. Michael Noll, « The Howard Wise Gallery Show Computer-Generated Pictures (1965) : A 50th-Anniversary Memoir », Leonardo, The MIT Press, vol. 49, no 3, , p. 232-239 (lire en ligne)
« Iterations », Symposium en anglais sur le Creative Coding, 2021.
« ReCode Project » (consulté le ), un projet collaboratif initié à la School for Poetic Computation (New York) et consistant à re-programmer avec des outils récents (Processing, OpenFrameWorks) des œuvres produites par les pionniers de l'art numérique et issues du magazine Computer Graphics and Art entre 1976 et 1978.
« Open Processing » (consulté le ) un dépôt de programmes artistiques réalisés avec Processing ou P5js.
(en) « The Coding Train » (consulté le ) site pédagogique consacré au code créatif, par Daniel Shiffman. L'auteur y présente de nombreuses vidéos pour apprendre Processing, P5js ou encore Javascript.