loading.gif A la croisée entre un langage de programmation et une API, Processing fournie un mini-environnement de programmation que l'on appréhende facilement grâce à sa simplicité et sa légèreté - même si ça reste du Java. Il a été conçu par deux artistes américains, Benjamin Fry et Casey Reas (voir l'article sur la Wikipedia, dans le but d'offrir aux artistes un outil de création graphique interactif, simple d'accès et offrant un maximum de possibilités créatrices.

Processing s'appuie sur Java, dont il conserve un peu la syntaxe, mais en en masquant les plus affreuses subtilités. L'environnement de développement permet de mettre au point son programme à l'ancienne, par différents essais où l'on voit se que ça donne, laissant ainsi libre court à notre imagination, et surtout remettant au goût du jour cette instantanéité et cette expressivité que l'on pouvait avoir avec des langages comme le GFA Basic.

La programmation est abordable sans lire de pavés de plusieurs centaines de pages, il suffit juste de connaître certaines particularité et de se référer à la documentation en ligne de Processing pour faire ses premiers pas.

Un programme avec Processing commence généralement par une méthode setup() qui va tout simplement initialisé l'environnement de travail - on s'en serait douter: taille du canvas, framerate, couleur de fond, etc.

Par exemple :

void setup() {
  size(200, 200);
  background(0);
  stroke(255,255,200);
}

On lui ajoutera encore une méthode draw() qui va se contenter de redessiner l'espace de travail à chaque changement de frame. Voici un petit exemple tout bête :

void draw() {
  point(mouseX,mouseY); // dessine un point sous le curseur de la souris
}

Le programme résultant peut évidemment être exécuté depuis l'environnement de développement, mais il est également possible de le transformer en programme autonome, ou carrément de générer une applet Java pour frimer sur la blogosphère !

Cliquez ici pour voir le résultat

Voilà en tout cas une bien belle surprise qui gagne franchement à être connue. Processing permet d'envisager des choses intéressantes, tout en gardant une spontanéité perdue avec les nouveaux langages disponibles. Bien entendu, ce n'est pas avec Processing que l'on va programmer le FPS de la mort qui tue, mais c'est un outil vraiment très intéressant de prototypage et d'expérimentation. On soulignera qu'il permet d'utiliser OpenGL pour afficher de la 3D, qu'il permet d'interpréter les entrées du clavier et de la souris, et même de s'interfacer avec une carte Arduino, ouvrant vraiment très loin les possibilités d'interaction !

Pour aller plus loin: