Les éditions Packt m'ont proposé d'écrire une chronique du livre de Jan Vantomme (vormplus) consacré à Processing 2.0 : «Processing 2, Creative Programming Cookbook» (en anglais). C'est un ouvrage qui se consacre à la seconde version de processing sortie en 2012. L'auteur, Jan Vantomme, est designer et artiste résidant en Belgique, utilisateur de processing pour lequel il a réalisé la «library» ColorLib, il est également fondateur du groupe Processing Ghent. Sur son blog, il publie de nombreux articles sur processing (voir les liens ci-dessous).

Le livre s'adresse à des utilisateurs de niveau intermédiaire, la programmation objet y est abordée sans plus d'explications. Le livre est accompagné d'exemples de code, téléchargeables sur le site de l'éditeur ou sur github. L'ouvrage est présenté sous forme de "recettes", chacune est accompagnée d'un exemple de code dont le fonctionnement est décrit en détail, donnant de bonnes bases pour démarrer un projet.

La première partie passe d'abord en revue les fonctions de base : graphisme 2D et 3D, utilisation d'ensembles de données (CSV, XML), export depuis processing (image, pdf ou vidéo), puis se consacre à des thématiques plus avancées : visualisation audio, en présentant comment contrôler des éléments graphiques avec du son (en utilisant les fonctions FFT de la «library» Minim), avec un exemple de particules réactives au son. D'autres recettes permettent la construction une boite à rythme ou d'un séquenceur. Le chapitre suivant est consacré à la vision par ordinateur («computer vision»), avec des exemples consacrés à la poursuite («tracking») de couleurs, de formes, sans utiliser de «library» particulière, ou à la détection de visage en utilisant la «library» openCV pour processing de l'atelier hypermédia d'Aix-en-Provence.

La suite nous plonge directement dans les nouvelles fonctions de processing 2, et c'est certainement la plus originale par rapport aux ouvrages existants. Les modes javascript et android sont explorés à travers des recettes bien pratiques pour les découvrir. Par exemple, pour javascript, l'auteur explique comment charger des fontes et des images, comment inclure du code processing dans javascript et le faire interagir avec d'autres «libraries» javascript comme jquery, ou les toxiclibs.js. Pour Processing android, l'auteur s'intéresse aux spécificités des supports tactiles en proposant des recettes adaptées à l'utilisation du toucher et aux capteurs inclus sur ces plateformes : GPS ou accéléromètre.

La dernière partie est consacrée à l'intégration de processing dans d'autres IDE, principalement Eclipse (mais aussi IntelliJ IDEA). L'auteur nous accompagne dans l'installation et la réalisation de projets processing dans Eclipe, mais plus intéressant, avec la même clarté que pour les exemples précédents, il explique la méthode pour réaliser une «library» processing ou un outil («tool») à intégrer dans les «tools» de l'IDE de processing.

Ce livre constitue un bon panorama de la nouvelle version 2 de processing et donne les clés pour l'utiliser par des "recettes" utiles et décrites avec simplicité. En revanche, il n'aborde que très peu la partie algorithmique (excepté dans la partie vision par ordinateur), sujet sur lequel il existe déjà d'autre références comme «Nature of code» de Daniel Shiffman ou «Design génératif» aux éditions Pyramyd.

L'ouvrage chez l'éditeur : http://www.packtpub.com/processing-2-creative-programming-cookbook/book
Le site de Jan Vantomme : http://janvantomme.com/
Blog de Jan Vantomme, tag «processing» : http://vormplus.be/search/tags/processing
Vormplus sur openprocessing : http://www.openprocessing.org/user/11331
Le groupe Processing Ghent : http://processingghent.org/
Code sur github : https://github.com/vormplus/Processing2-CreativeProgrammingCookbook