La programmation créative, ça existe?

La programmation peut paraître, à ses heures, un peu ardues et un peu monotones. Pour plusieurs, elle signifie des répétitions de ligne dans un langage incompréhensible. PHP, HTML5, .NET, JQuery, etc. sont tous des termes qui disent vaguement quelque chose pour monsieur – madame tout le monde, mais ils sonnent très familiers aux oreilles des programmeurs et maîtres de ces langages numériques. Au travers de ces lignes de symbole et de formule se produit une magie, qui maintenant fait partie du quotidien d’une majorité qui œuvre dans l’électronique. Quelques petits bouts de code peuvent propulser votre appareil à un autre niveau ou simplement vous permettre d’être conscient de qu’est-ce qui se passe à l’autre bout du monde. Mais ai-je tort de dire que la programmation est limitée à une application opérationnelle et non artistique, c’est-à-dire qu’il doit entraîner un résultat à l’écran ou sur un appareil, dénuder de sens? Est-ce qu’un programmeur peut générer des œuvres d’art?

En 2007, lors de mes premiers pas comme programmeur, je vous aurais dit oui sans hésiter. Alors, on commençait à peine à discuter de l’arrivée du HTML5 et du jQuery. Jeune et innocent que j’étais. Je ne pouvais pas me douter que cela faisait plus de 40 ans que les programmeurs se servaient de la programmation, pour engendrer des résultats créatifs. Par exemple, le premier vrai jeu vidéo, Space war, vient d’une bande d’étudiants qui cherchait à produire de nouvelles images sur le PDP-1 du MIT. Avec l’avènement d’internet en 2015, la programmation créative a pu prendre une plus grande ampleur et se diversifier à une plus  grande échelle.

geni-spacewar-exemple

Space war – L’un des premiers jeux vidéo

Aujourd’hui, il est incroyable de voir le nombre de communauté et de logiciel libre de droit qui s’inscrit dans le sens de la programmation créative. La majorité de ces petits logiciels sont gratuits, construits et entretenus par des programmeurs qui cherchent à libérer leur pulsion créative. L’un des plus célèbres (et que j’affectionne particulièrement) se nomme Processing. Ce petit logiciel, basé sur le code Java, permet de réaliser des canevas de la simple illustration vectorielle au jeu de téléphone des plus complexes. Grâce au code disponible pour tous, un programmeur peut reprendre le travail de quelqu’un d’autre et le développer pour aller encore plus loin. Même que maintenant des gens se spécialisent dans la création de librairies (ex : Open GL), que l’on importe simplement dans le logiciel et nous permet d’augmenter les possibilités du logiciel et de créer des projets encore plus intéressants.

Exemple de canevas produit avec Processing

Un dérivé de Processing qui s’adresse au programmeur les plus habiles de leur main se nomme Arduino. Pour 80$, avec une légère connaissance de l’électricité, le programmeur peut générer des applications ou des objets qui peuvent servir jusqu’à dans des spectacles. En fait, la plaquette Arduino est spécialement conçue pour être facilement personnalisable et connectable au logiciel « open source ».

geni-arduino-exemple

À droite – Ensemble de base Arduino, À gauche – Exemple de structure propulsée avec un arduino

Vous serez à même de constater que les programmeurs, ayant une fibre artistique, peuvent trouver une panoplie d’avenue. Même les plateformes plus traditionnelles, telles que le web, sont maintenant plus versatiles dans la manière de générer du code. Avec l’arrivée du HTML5 et de CSS 3, les programmeurs web peuvent générer de courtes animations ou des effets qui sortent de l’ordinaire pour capter l’attention des usagers du web.

Dans les dernières années, de plus en plus de compagnies se créent autour du concept de la programmation créative où se sert du concept du code ouvert pour faire évoluer leur produit. Nous avons qu’a pensé à Moment Factory, Pixmob, FLOAT4, Kinect, Google, qui ont créé leur propre plateforme basée sur ce principe. Un programmeur ne peut plus se contenter de rédiger des lignes codes, sans comprendre l’impact que cela peut avoir au niveau visuel. L’avantage d’une telle pensée à mon sens, c’est que les programmeurs sont plus aptes à évaluer la faisabilité d’un projet tant au niveau structurel qu’au niveau visuel. Ils sont plus conscients du travail des designers, ils peuvent mieux les aiguiller et peuvent même participer au processus créatif. La compagnie en tire aussi bénéfice, car elle obtient un programmeur qui est capable de développer de petits projets par lui-même.

geni-momentfactory-montreal-unesco-city-design-moment-factory-and-cca-talk-urban-design

Installation créée par Moment Factory

Pour conclure, je vous dirais, que la programmation créative est belle et bien possible et que même il faudrait l’encourager un peu plus au sein de certaines entreprises et inciter l’initiative chez les programmeurs.

Voici quelques liens de communautés intéressantes :

www.processing.org

www.arduino.cc

www.codepen.io

www.creativeapplications.net

bool(false)