- Processing
-
Processing
Apparu en 2001 Auteurs Ben Fry et Casey Reas Système d'exploitation Multi-plateforme Licence GPL et LGPL Site web www.processing.org Processing (autrefois orthographié Proce55ing) est un langage de programmation et un environnement de développement créé par Benjamin Fry et Casey Reas, deux artistes américains. Processing est le prolongement "multimédia" de Design by numbers, l'environnement de programmation graphique développé par John Maeda au Media Lab du Massachusetts Institute of Technology.
Processing est tout particulièrement adapté à la création plastique et graphique interactive. Le logiciel fonctionne sur Macintosh, sous Windows et sous Linux, car il est basé sur la plate-forme Java — il permet d'ailleurs de programmer directement en langage Java.
Processing est distribué sous GNU GPL.
Les programmes réalisés avec Processing peuvent être lus par les navigateurs internet équipés du plug-in java, mais aussi sous forme d'applications indépendantes pour windows, linux ou mac (en réalité n'importe quelle machine disposant d'une Machine virtuelle Java).
Sommaire
Philosophie
Le principe majeur de Processing est la simplicité, dans la mise en œuvre des programmes comme dans la syntaxe du langage. Adapté à la création graphique, Processing réclame moins d'efforts que Java pour effectuer des tâches simples telles que la modification d'une animation à intervalle régulier (qui permet des créations animées). Ses fonctionnalités sont limitées aux besoins des créateurs d'images 2D et 3D générées par programmation mais peuvent être étendues, par le biais de modules externes, à la capture d'un flux video, à la génération et à la manipulation de son, à l'interfaçage des ports d'entrées-sorties, etc.
Processing s'adresse aux artistes en "arts numériques" et aux graphistes, notamment dans le domaine du graphisme d'information et dans celui du graphisme génératif.
Syntaxe
On peut écrire le traditionnel Hello world de cette manière :
void setup() { println("Hello World!"); }
et même ainsi, sans la moindre déclaration préliminaire :
println("Hello World!");
Cependant, la méthode suivante est sans doute plus typique du fonctionnement de Processing :
void setup() { PFont font = loadFont("myfont.vlw"); textFont(font,20); } void draw() { text("Hello World!", 30,50); }
Les gestionnaires setup() et draw() sont deux fonctions pré-définies très importantes dans processing. La première, setup(), est exécutée une seule fois au lancement du programme. La seconde, draw() est lancée à intervalle régulier, par défaut dix fois par seconde.
Processing emploie un typage rigoureux et est sensible à la casse. La structure de ses fonctions de base (comparaisons, conditions, boucles, etc.) est familière pour les utilisateurs du C++ ou de Java.
Par exemple, une condition s'évalue ainsi :
if (a==1) { print("ok"); }
et une boucle se construit de cette façon :
for(int a=0;a<255;a++) { print(a); }
Proce55ing
L'ancien nom de Processing, Proce55ing, a été forgé ainsi car le nom de domaine Processing.org était pris et le site officiel a d'abord dû exister à l'adresse Proce55ing.org. À présent, les auteurs de Processing disposent du nom de domaine Processing.org, ils n'utilisent plus l'ancienne forme du nom et en déconseillent l'usage. Cependant, de nombreuses personnes abrègent le nom en p5.
Extensions et projets alternatifs
Les projets Wiring et Arduino, qui se basent sur Processing, permettent la manipulation de circuits électroniques extérieurs pour interfacer des capteurs ou des appareils électroniques divers (servomoteurs, leds,...). Un autre environnement logiciel, Fritzing, a été conçu pour aider les utilisateurs au prototypage de matériel destiné à être utilisé avec Arduino et Processing. Le projet Mobile Processing, comme son nom l'indique, a l'ambition de porter Processing sur téléphones portables. Enfin, Processing.js est une implémentation javascript de Processing. Depuis sa version 1.5.1, Processing peut produire des applications pour plate-forme Android et accéder aux capteurs spécifiques aux dispositifs mobiles (accéléromètre, GPS, etc.). Dans la version alpha de Processing 2.0 (prévu pour fin 2011), Processing pourra aussi exporter directement du contenu au format HTML5/Javascript.
Bibliographie
- Processing : le code informatique comme outil de création, par Jean-Michel Géridan et Jean-Noël Lafargue, éd. Pearson 2011 (ISBN 978-2744024535)
- Design génératif - Concevoir, programmer, visualiser, par Julia Laub, Hartmut Bohnacker, Benedikt Grob et Claudius Lazzeroni. éd. Pyramid. (ISBN 978-2350172156)
- Processing, ouvrage collectif libre en français / Flossmanuals
- Programming Interactivity, par Joshua Noble, O'Reilly, 2009
- Algorithms for Visual Design Using the Processing Language, par Kostas Terzidis, Wiley, 2009
- Pixels, Patterns, and Processing, par Daniel Shiffman, Morgan Kaufmann, 2008
- Processing: A Programming Handbook for Visual Designers and Artists, par Casey Reas et Ben Fry, MIT Press, 2007
- Visualizing Data, par Ben Fry, O'Reilly, 2007
- Processing: Creative Coding and Computational Art, par Ira Greenberg, Friends of Ed, 2007
Voir aussi
- Processing.js
- NodeBox (Processing-like modulaire, programmé en Python)
Liens externes
- (fr) Manuel libre de Flossmanuals
- (en) Site officiel
Wikimedia Foundation. 2010.