Workshop Processing, organisé du 14 mars 2011 au 16 mars 2011 animé par Lionel Maes, destiné principalement aux étudiants de communication graphique et de typographie. Voici un résultat de Maxime Foisseau et Charlotte Gauvin.
L’idée du workshop était d’introduire des notions de programmation avec Processing, qui est un langage à la fois simple d’accès et suffisamment rigoureux pour comprendre la logique commune à tous les langages de programation. Plutôt qu’aborder le code par du copier/coller, j’ai tenté de mettre en exergue la démarche inhérente à la construction d’un algorithme. L’ application en ligne développée rapidement pour l’occasion permettait à chacun d’insérer des énoncés puis de les récupérer au hasard pour les utiliser comme des exercices de programmation. La recette, la méthode ou l’algorithme qui a plus ou moins été suivi du début à la fin du workshop était:
1) introduire de nouvelles notions via des exemples déjà codés ou codés sur le moment.
2) chaque participant insère un énoncé en prenant en compte les notions abordées.
3) chaque participant récupère un énoncé précédemment inséré. Les énoncés sont distribués au hasard.
4) chaque participant code à partir de l’énoncé récupéré.
5) revenir à l’étape un.
Penser l’énoncé permet de penser algorithmes, de déjà construire un système qui produira une forme et (si tout va bien) envisager les solutions possibles.
L’instruction présentée au tout début du cours pour le placement d’un point dans un dessin mural de Sol Lewitt est suffisamment précise pour ne laisser place à aucune interprétation; elle équivaut à une ligne de code d’un programme. Les énoncés écrits pendant le workshop par contre ont parfois provoquées des interprétations différentes. La différence entre une langue et un langage informatique parait alors évidente; l’ordinateur n’interprète pas, il exécute. Par contre, dans le passage de l’énoncé écrit en français vers le code informatique, il y a forcément interprétation. Pour donner un exemple concret, un rectangle sous Processing peut être dessiné avec la fonction rect() ou en dessinant quatre lignes. Il est évident que l’interprétation est ici minime. Face à un énoncé tel que “le texte explose”, elle est autrement plus évidente. Pour télécharger les énoncés écrits pendant le workshop, cliquez ici.
Les notions abordées jusqu’ici sont les espaces colorimétriques RGB et HSB; les variables de types int, float, boolean, char, String, color; les fonctions de dessin de Processing ellipse(), line(), quad(), rect(), triangle(); la fonction setup() et draw(); les tableaux, les évènements du clavier et de la souris; les fonctions personnalisées sans arguments; la boucle for; l’importation et l’affichage de polices de caractères; l‘importation d’une librairie pour le traitement typo.
Les sketchs Processing d’exemples sont toujours disponibles ici.