Imaginez que vous voulez piloter votre dessin avec votre voix. Il y n’a pas de méthode écoutermicro() dans Processing, comment allez vous faire? Sinon, imaginez que vous voulez brancher une caméra sur Processing, et que vos mouvements doivent dessiner dans l’image. Ou que vous voulez imprimer vos dessins en format Postscript ou les importer dans Illustrator comme dessin vectoriel. Comment faire? Processing ne sais pas faire tout ça. Il sait faire des dessins en 2-dimensions et en 3-dimensions; il y a aussi quelques méthodes pour l’image. mais il ne peut pas jouer une image video, il ne peut pas générer une onde sonore, encore moins communiquer avec les environments utilisés dans l’Atelier Son comme max/mSP ou PureData. Peut-il communiquer avec un synthétiseur old-skool comme un [Yamaha DX7](https://fr.wikipedia.org/wiki/Yamaha DX7)? Importer des modèles de 3ds max? Générer des fichiers son? Communiquer avec une base de données mySQL? Communiquer avec un robot? ou un circuit électronique? Il ne sait pas faire tout ça. Il s’agit faire du dessin. Point final. Non?

Ou peut-être pas. Peut-être il sait faire tout cela, voire plus.

Bibliothèques

Cela s’appelle parfois des plug-ins, parfois des modules externes. Dans Director on les a appelé des xtras. Quelque soit leur nom ailleurs, Processing les appelle des librairies : c’est-à-dire des instructions supplémentaires pour augementer les possibilités de Processing. Si Processing ne sais pas le faire, on ajoute cette possibilité dans une bibliothèque, et du coup Processing sait le faire.

Suppléments

A la base, Processing est conçu pour être compacte. Les concepteurs Ben Fry et Casey Reas ont fait le choix (très judicieux, et on le leur remercie) de garder Processing lui-même volontairement compacte, simple, pauvre. Pas de fioritures. Pas de boutons à outrance. mais parallèlement, il l’ont conçu pour que n’importe qui puisse venir à étendre facilement ses fonctionnalités de base, en rajoutant des “ bibliothèques externes ”. Du coup, Processing devient extensible à l’infini : si on sait programmer en Java (le langage de base de Processing), on peut ajouter de nouvelles possibilités via la création d’une bibliothèque supplémentaire ou « externe » au noyau de base. Si Processing ne sait pas faire ce que vous voulez, et bien vous pouvez lui apprendre à le faire quand-même.

Choisir sa bibliothèque

Voici une page qui liste actuellement (Novembre 2005) les suppléments actuellement disponibles pour Processing :

Comme on peut voir, il y a du choix. Chacunes de ces bibliothèques contient des méthodes dont vous pouvez vous servir gratuitement.

Les bibliothèques en haut de la liste (Core Libraries) sont déjà intégrés dans Processing à la base. Ce qui peut sembler bizarre : s’il sont intégrés à la base, pourquoi on les appelle des bibliothèques externes. finalement, pour garder les choses simples, Processing se focalise dans son dévelopement principalement sur des fonctions de dessin, et même si la possibilité de communiquer avec un circuit électronique peut sembler essentiel, il ne fait pas partie de cette base. Il n’empêche que dans la pratique toutes les fonctionnalités du Core Libraries sont tellement utilisés qu’il fallait les intégrer au moins dans la version téléchargé de base. mais ces bibliothèques restent des bibliothèques externes, au moins sur le plan technique.

Ensuite, les bibliothèques sous la partie Contributions sont des possibilités contribués par d’autres acteurs, artistes/programmeurs pour la plupart.

Télécharger

Une fois que vous avez trouvé la fonction magique qui vous manquait pour votre projet, cliquez sur son lien. Vous serez dirigé alors vers un site en dehors du site de Processing. Chacun de ces sites aura son propre esthétique, nous ne pouvons pas vous guider pas-à-pas sur chacun. Par contre, chacun des contributeurs cherche à rester aussi simple et clair que sur le site de Processing, alors normalement tout ira très bien.

Par exemple, dans la page suivante de la bibliothèque SimplePostScript de marius Watz, nous voyons la page suivante :

Si on sait lire un peu d’anglais (marius Watz lui-même se débrouille comme il peut, alors faites comme les européens) on peut voir que cette page n’a rien de méchante. On voit rapidement l’endroit où on télécharge la bibliothèque (c’est la partie qui nous intéresse), et qu’à côté d’elle il y a la documentation. Nous voyons aussi qu’il y a quelques exemples (toujours pratiques) et même des documents plus approfondis (aussi faits par des artistes, et non pas par des informaticiens!) pour aller plus loin dans la compréhension du PostScript.

Téléchargez-donc la bibliothèque sur votre machine.

Installer

Nous allons maintenant installer la bibliothèque dans notre copie de Processing. Ouvrez le dossier que vous venez de téléchargez et trouvez le dossier qui contient le sous-dossier Library. C’est ce dossier contenant Library qui faut copier dans le dossier Libraries de votre copie de Processing. Ne copiez pas directement Library dans le dossier de Processing, copier son parent.

Dans le dossier Libraries de Processing, chaque bibliothèque doit avec un nom (ici SimplePostScript) et doit contenir un sous-dossier Library qui contient le nouveau code. Regardez-bien l’illustration et cela devrait devenir plus clair.

Il y a déjà quelques bibliothèques dans le dossier Libraries et vous aller donc ajouter à cet endroit le votre.

Tester

La plupart des bibliothèques viennent avec un exemple pour tester rapidement les nouvelles possibilités. Dans SimplePostScript ces exemples se trouvent dans un fichier qui s’appelle… exemples.html. Ouvrez-donc ce fichier, copiez une des exemples dans Processing, et appuyez sur lecture.

Dans l’exemple que j’ai choisi, SimplePostScript a généré un fichier PostScript dans le dossier de mon projet, comme je peux voir en bas de ma fenêtre Processing :

Je n’ai maintenant qu’à ouvrir ce fichier pour voir mon magnifique dessin PostScript.

Résumé

Ca y est, nous venons de choisir une bibliothèque supplémentaire, l’importer dans Processing, et le tester dans notre copie de Processing pour vérifier que tout fonctionne.

Exercise

modifiez les lignes qui sont déssinées dans un des exemples de SimplePostScript. Téléchargez ces créations (image fixes) sur le site de l’école.