Processing est un logiciel de programmation libre et gratuit, disponible sur Windows, Mac et Linux, et créé en 2001 par deux artistes américains : Benjamin Fry et Casey Reas. Il est utilisé par des étudiants, artistes, designers, et chercheurs et est particulièrement apprécié pour sa simplicité de mise en œuvre. C’est un excellent point de départ si vous souhaitez apprendre le design génératif, le design de l’information, et plus globalement, la programmation. Les ressources pour l’apprentissage de Processing en français étant assez minces ou datées, nous découvrirons, à travers une série de tutoriels sur le sujet, les fondamentaux de la programmation et les possibilités offertes par le logiciel. Ces articles ne nécessitent aucune connaissance particulière en programmation ou en mathématique. Les notions essentielles à la réalisation de votre première œuvre générative y seront abordées, un pas après l’autre.

Si vous avez déjà quelques notions de programmation et que l’apprentissage de Processing vous intéresse, ces premiers articles pourront également vous servir à consolider vos connaissances avant d’avancer vers des sujets plus complexes que nous verrons dans un second temps.

Qu’est-ce que le design génératif ?

Vous recroiserez souvent ce terme de « design génératif » dans les prochains articles, il s’agit donc de le définir avant toute chose. Il faut comprendre le design génératif comme une manière d’aborder le design par des règles et des contraintes qui, une fois exécutées, vont produire un résultat. Cette technique ne se limite pas à la création d’images, elle est également utilisée par les architectes, les concepteurs et conceptrices sonore et de jeux vidéo, etc. Ces règles ne doivent pas nécessairement être exécutées par un ordinateur, un humain pourrait obtenir un résultat identique avec un crayon et du papier. Mais si le nombre de données à traiter ou de règles à appliquer deviennent trop importantes, il est plus intéressant de les laisser à un ordinateur.

Une œuvre générative possède une ou plusieurs entrées par lesquelles arrivent les informations. Ces informations sont ensuite organisées et traitées selon des règles et des contraintes qui vont produire un résultat en sortie. En programmation ces règles portent un nom, c’est un algorithme.

En analogie

Prenons une analogie concrète. Un·e pâtissier suit une recette pour préparer un gâteau. La recette impose à notre pâtissier une suite de règles qu’il devra suivre s’il veut réussir son gâteau. Cette recette nécessite plusieurs ingrédients :

  • 4 œufs
  • 200g de sucre
  • 200g de farine
  • 200g de beurre

Le gâteau correspond au résultat qu’il cherche à atteindre. On peut par analogie considérer les ingrédients comme nos informations d’entrée, la recette comme notre algorithme, le gâteau comme notre information de sortie.

Pour suivre sa recette, notre pâtissier va lire la recette de haut en bas et réaliser les actions une à une :

  • Préchauffer le four à 180°
  • Faire fondre le beurre dans une casserole
  • Mélanger le beurre avec le sucre et y incorporer petit à petit les œufs
  • Ajouter petit à petit la farine, et mélangez jusqu’à disparition des grumeaux
  • Ajouter la levure en poudre et mélanger encore la pâte
  • Beurrer votre moule et y verser la pâte
  • Mettez le tout au four et laissez cuire entre 40 et 60 minutes

Maintenant, imaginons que notre pâtissier soit aventurier dans l’âme et souhaite modifier la recette pour réaliser tous les gâteaux possibles qui nécessiteraient entre 0 et 4 œufs, 0 et 200g de sucre, 0 et 200g de farine, etc. Au gramme près de chaque ingrédient cela représente 32000000 possibilités différentes 🍰. Pour préparer toutes ces variétés de gâteau, cela va prendre un temps fou ! Les ordinateurs eux sont justement destinés au traitement de grandes quantités d’informations, et cela ne leur prendra qu’un instant.

Télécharger Processing

Dans le prochain article, nous écrirons nos premières lignes de code. Avant de passer à la suite nous aurons besoin de télécharger le logiciel Processing. Il est disponible à l’adresse suivante : https://processing.org/download

Interface générale

Une fois installé, et à l’heure où j’écris ces lignes, l’interface de Processing ressemble à ceci, et les différentes parties de l’image sont désignées comme suit :

  1. Bouton d’exécution : Ce bouton permet d’exécuter le code
  2. Bouton d’arrêt : Ce bouton permet d’arrêter l’exécution du code
  3. Onglet de fichier : Onglet présentant le fichier ouvert ainsi que son nom. Le chevron situé à sa droite permet de créer un nouveau fichier
  4. Éditeur de code : C’est dans cette zone que nous écrirons notre code
  5. Console : C’est dans cette zone que l’on s’assurera que notre code fonctionne. Nous pourrons y afficher des informations sur les valeurs que nous manipulerons, et c’est aussi ici que Processing nous donnera des indications sur les erreurs que nous pourrions faire. La console est un outil aussi important que l’éditeur de code !

Partager