Télécharger les documents utilisés au cours (janvier 2007) :
PROCESSING (PROCE55ING ou P5) est un environnement de programmation et un langage simple et complet. Il s'agit d'un logiciel libre (open-source), gratuit et multi-plateformes (Windows, Mac OS X et Linux). Raccourcis vers les rubriques disponibles sur cette page : Apprendre en ligne. Installation. Aperçu des commandes. Premier "sketch". Exportation et publication en ligne. Librairies disponibles. Artistes utilisant PROCESSING. Les auteurs:
PROCESSING a été conçu par Casey Reas et Benjamin Fry (ci-dessus) comme outil de création et d'apprentissage fondamental à la programmation. Depuis son lancement en 2002, une véritable communauté s'est développée autour de PROCESSING, considérant le code comme matériau de création et de pratique artistique. Ben Fry et Casey Reas sont d'ex-étudiants de John Maeda à l'Aesthetics & Computation Group du MIT. John Maeda étant lui-même auteur de Design By Numbers, environnement précurseur d'apprentissage fondamental, on peut dire que PROCESSING en est le descendant direct. PROCESSING a reçu le prix Golden Nica à Ars Electronica 2005 (catégorie NetVision). Description:
PROCESSING est sain et réduit à l'essentiel:
PROCESSING possède un moteur d'affichage 2D/3D performant et permet la création de programmes visuels interactifs ou génératifs. De nombreux codes-source sont partagés par leurs auteurs, constituant ainsi une documentation variée et conviviale, propice à des expériences de toute nature. Il est fourni avec un bon nombre d'exemples, accessibles via l'environnement lui-même: par File > Sketchbook > examples. Une galerie et un forum sont disponibles, alimentée par une communauté grandissante d'utilisateurs et d'artistes renommés tels que Golan Levin, Georges Legrady, ART+COM, Marius Watz, Martin Wattenberg, Jared Tarbell, Marc Napier, Lia, Ed Burton (SodaPlay), etc… Ces raisons font de PROCESSING un outil idéal pour apprendre l'art du code. Quelques exemples:
Exemples d'exercices et de fichiers que nous examinerons en classe.
La galerie sur le site PROCESSING. builtwithprocessing.org, et en particulier son moteur de recherche. Processing Blogs. De l'info et des exemples par les ténors de la communauté Processing. Videos a-tagged 'Processing' on Vimeo. Des exemples convertis en video sur VIMEO. 'Processing.org' group on Flickr. Phtos et infos de la communauté Processing. D'autres exemples en ligne, surprenants mais complexes: The Singing Tree. Un fichier poétique de Florito (Marcus Graf). Binary Ring. Jared Tarbell, grand gourou de l'Actionscript, adopte PROCESSING ! Nombreux fichiers open-source. Helix Type Reader 1. Typo en mouvement par Ariel Malka. Autre beaux exemples: ici et ici. Net Worth. Installation: une carte de crédit déclenche une recherche sur Google, par Osman Khan. Flickr Images Tag. Relation entre les mots et les couleurs parmi les tags de Flckr par Christian Giordano. Letter-Pair Analysis. Analyse et visualisation d'un texte par paires de lettres par Martin Ignacio Bereciartua. The history of sampling. Exemple étonnant par Jesse Kriss. Lire une interview à ce sujet. Play with fire. Un travail de Charles Forman présenté sur SetPixel. Voir la catégorie Processing. Javacube. Beau travail de typo et de navigation par Ariel Malka. Untitled Mirror. Video générative de Cristobal Mendoza. Voir la catégorie Processing du site SetPixel. Delicious Viz. Visualisation des liens de Tom Carden sur Deli.cio.us. HTMLGraph. Le graphe d'une page web avec Processing, Traer Physics et HTML Parser par Sala. Un lien MAJEUR à consulter : Cours de programmation avec Processing. Un cours de Douglas Edric Stanley, prof à Aix-en-Provence. Autres liens intéressants à consulter : Introduction to Computational Media. Cours de Daniel Shiffman à ITP-NY University. Procedural Painting. Cours de Daniel Shiffman à ITP (Interactive Telecommunications Program)-NY University. Processing Blogs. De l'info et des exemples par les ténors de la communauté Processing. Model Based Design. Approche du design paramétrique par Simon Greenworld. Nombreux exemples. Processing Blogs. Ressources Processing rassemblées ici par Tom Carden. del.icio.us/tag/processing.org. Les derniers liens PROCESSING sur del.icio.us. Processing hacks. Un wiki plus orienté "hacks" et astuces. Processing Processing. Le point de vue de Paul Ford. Model Based Design. Approche du design paramétrique par Simon Greenworld. Nombreux exemples. Qu'est-ce qu'un programme informatique ? Un article sur Comment ça marche ? Langage informatique et compilation. Un article sur Comment ça marche ? Introduction à la programmation orientée objet. Un dossier sur Comment ça marche ? Les bases de l'informatique et de la programmation. Un cours de F.Morain à l'École polytechnique. AppletObject. À propos de l'intégration d'un applet dans une page web. Télécharger PROCESSING (et inscrivez-vous à la newsletter ! ). Une fois téléchargé, rangez PROCESSING dans le dossier Applications (Mac OSX) ou Program Files (Windows), puis cliquez deux fois sur l’icône de l’application pour le démarrer. Remarque : lors de l'installation sous Windows, si vous constatez un problème avec Quictime pour Java, je vous recommande alors de réinstaller Quicktime (télécharger la version standalone), puis de redémarrer PROCESSING. Télécharger un guide d'introduction à PROCESSING en français (PDF - 508 ko).
Le terme "Sketch" désigne une création dans PROCESSING. Examinons ce code:
size(130, 120);
background(255); PFont fontA = loadFont("HelveticaNeue-48.vlw"); textFont(fontA, 14); int x = 60; fill(0,0,0); text("Hello world !", x, 100); Voici le même code commenté. (Les "//" permettent d'ajouter des commentaires qui ne sont pas pris en compte lors de la compilation du code. Je vous recommande, dans la mesure du possible, de prendre l'habitude de commenter votre code. Cela vous aidera à formaliser vos algorithmes et à vous relire ou à partager votre code).
// Définir la taille de la fenêtre :
size(130, 120); // Définir la couleur de fond : background(255); // Charger la police de caractère : // (Les polices sont placées dans le dossier "data", // à l'intérieur du dossier du sketch. // Pour intégrer une police à l'environnement PROCESSING, // vous devez utiliser la commande "Create font" // dans la barre de commandes PROCESSING). PFont fontA = loadFont("HelveticaNeue-48.vlw"); // Placer la fonte et sa taille (en unités de pixels) textFont(fontA, 14); // Definir un valeur de x, soit une marge à gauche : int x = 25; // Utiliser la commande fill() // pour changer la valeur de couleur (R,V,B) du texte : fill(0,0,0); // Utiliser text() pour afficher le texte à l'écran // (notez que x va rehercher la valeur défiie ci-dessus) : text("Hello world !", x, 30); Copiez-collez le code ci-dessus dans le champ de texte de PROCESSING. Attention: PROCESSING est "case sensitive" (sensible à la casse): majuscules ou minuscules sont importantes. Pour intégrer une police à l'environnement PROCESSING, nous allons utiliser la commande "Create font" dans la barre de menu: Une fois sélectionnée, la police choisie sera convertie dans un dossier "data", lui-même dans le dossier de votre travail. Chemin par défaut sous MAC OSX: Users > Votrenom > Documents > Processing > Votredossier > Data Vous intégrerez ensuite le nom du fichier typo à la commande loadFont(); Appuyez sur play ou ctrl "r" (Windows) ou Pomme "r" (Mac OSX): Explorer et se familiariser avec PROCESSING:
PROCESSING est livré avec une série d'exemples. Je vous recommande d'en exécuter quelques-uns et de les explorer en en modifiant les valeurs, puis de les sauver sous un autre nom. Lancez-vous ensuite dans un sketch qui exploite l'ensemble des primitives 2D de PROCESSING. Les liens ci-dessous renvoient à la documentation en ligne:
Le cours de Emmanuel Lestienne à la HEAJ à Namur. Le cours de Douglas Edric Stanley à Aix-en-Provence. Certains d'entre eux font appel à la notion d'objet. Un "objet" est une création autonome (dans ce cas une "balle") dont les conditions d'utilisation (l'action à exécuter avec cette balle: par exemple la lancer contre le bord de la fenêtre et lui "demander" de rebondir) sont définies à part. Dans ce cas, il s'agit donc de : - Contruire une balle. - Construire l'action. Enfin, nous ferons appel à des libraires permettant d'inclure des commandes spécifiques, notamment dans le cas du traitement du son (certains exemples utilisent la librairie SONIA) ou du traitement d'un signal video. Pour exporter un sketch et ensuite le placer sur le web: cliquez sur le bouton EXPORT.
PROCESSING offre des possibilités étendues par le biais de librairies: video en temps-réel, vision et motion tracking (JMyron, BlobDetection), réseau, audio (Sonia), 3d (openGL), midi, communication avec Max, mySQL,… Des projets parallèles proposent des variantes pour hardware (Wiring pour du Physical Computing) et mobilophone. Logiciels cousins de PROCESSING:
Wiring. Processing adapté à l'électronique. Construction de cartes et d'interfaces tangibles.Arduino. Processing adapté à l'électronique. Construction de cartes et d'interfaces tangibles. Mobile Processing. Processing adapté aux téléphones mobiles.
Ben Fry, co-auteur de Processing:
Ben Fry. Chercheur au MIT, software artist, co-concepteur du language Processing avec Casey Reas. Ben Fry. Ancien site de Benjamin Fry. Ves61r. Le site des cours de Ben Fry à Harvard University, avec Simon Greenworld. Interview de Ben Fry. Sur Since 1968. Organic Information Design. Thèse de Ben Fry. Valence. Un système de visualisation de l'information par Ben Fry. Anemone. Un système de visualisation de l'information par Ben Fry. Genomic Cartography. Un projet de Ben Fry. September 05: Benjamin Fry. Projets de Ben Fry hébergé par le Whitney Artport. Casey Reas, co-auteur de Processing: Casey Reas. Software artist, co-concepteur du language Processing avec Ben Fry. Group C. Ancien site de Casey Reas. Reas sketches. Recherches de Casey Reas. Interview de Casey Reas. Sur le site G2. Interview de Casey Reas. Sur le site Artificial. Articulate. Une oeuvre de Casey Reas sur Abstract now. Software structures. Projet de Casey Reas autour de Sol Lewitt, avec William Ngan et Jaret Tarbell. UCLA Casey Reas courses. UCLA Intercative media courses. Travaux d'étudiants. Sources Processing. Programming media. Une conférence de Casey Reas à Ars Electronica. Télécharger la version PDF. Marius Waltz. Son site Processing Unlekker propose une série de réalisations P5 open-source. EvolutionZone Workshop. Site de Marius Waltz dédié à ses ateliers P5 (codes, infos, liens, etc). EvolutionZone. Site d'expérimentations de Marius Waltz. Amit Pitaru. Software-artist utilisant notamment Processing, créateur de la librairie Sonia. Ariel Malka. Chronotext, son site personnel, Processing et Java. Boredom Resaerch. Vicky Isley & Paul Smith ont réalisé une version de RandomSeed avec Processing. Sébastien Chevrel. Software artist. Un peu de tout. Alessandro Caposo. Créations avec Processing. Voir aussi Abstrakt-codex. Cristobal Mendoza. Présentation de Untitled Mirror, video et Processing. Voir sa bio sur Setpixel. Tom Carden. Sa page d'expérimentation Processing. Julien Gachadoat. Créations notamment avec Processing, codes dispo. Voir aussi son 2roqsmuseum. Mario Klingemann. Créations avec Processing, codes dispo. Voir Quasimondo, son intéressant blog. Elout de Kok. VJ, designer, créations avec Processing, codes disponibles. Glen Murphy. Software artist, notamment avec Processing. Voir aussi son site perso. Mikkel Crone Koser. Créations avec Processing, codes disponibles. Voir aussi Beyond Three. Toxi. La page Processing du site de Karsten Schmidt. Manny Tan. Art algorythmique. Flash et Proce55ing. Codes sources disponibles. Moovl. Création interactive et très élastique de Ed Burton réalisée avec Processing. Flight 404. Le site de Robert Hodgin dédié à ses créations réalisées avec Processing. William Ngan. Expériences et recherches. Voir le chapitre "code" pour des sources Processing. Boris Müller. Développeur et designer. Inspiration ! Bit-101. Expériences réalisées avec Processing par Keith Peters. André Michelle. Ses expériences avec Processing. Voir son site. Coolbubble. Série d'expériences avec Processing. Marcus Graf. Auteur du beau Singing Tree. Robot acid. Fichiers complexes (son, OpenGL, interaction, etc) par Aaron Steed. Fergus Ray Murray. Bien kitsch, mais plein de ressources. Alife. Réseau dédié à la vie artificielle. Steering Behaviors For Autonomous Characters. Un dossier de Craig Reynolds. L'évolution des moteurs physiques. Un bon site didactique dédié à la simulation de la gravité. |
||||||||||||||||||||||
M'écrire - Newsletter - À propos de ce site |