Systèmes et programmation numérique (B3)
De erg
Révision datée du 27 août 2021 à 10:03 par Sammy (discussion | contributions)
B2
Enseignant : Lionel Maes
Le cours traite des codes informatiques comme outils omniprésents, à comprendre, étudier, tordre, détourner, en tant qu’individu créateur, engagé. Il s’agit de favoriser l’émergence d’écritures singulières, de comprendre et de se confronter aux notions fondamentales de la programmation. Par « enseigner l’écriture du code », j’entends, en abordant des langages de programmation spécifiques, transmettre les logiques, symboles et structures qu’ils partagent tous. Le but étant de donner les clés suffisantes pour pouvoir apprendre n’importe quel langage de manière autonome, de pouvoir analyser et composer des algorithmes, pouvoir structurer et réellement « écrire avec le code ». Chaque notion vue sera toujours mise en relation avec des pratiques d’écritures contemporaines ; scientifiques, artistiques, graphiques. Ce cours porte sur deux années consécutives (BAC2 et BAC3) et propose de parcourir durant ce laps de temps une série de langages, liés au web frontend (HTML, CSS, Javascript, SVG) ou backend (PHP, Python, XML, mySQL), liés à la création numérique (Processing, Python, Openframeworks, Cinder) ou à l’informatique physique (RaspberryPI, Arduino).
B3
Enseignant : Julien Dutertre
À l’heure d’Internet et des nouvelles technologies, des réseaux de communication et d’information toujours plus rapides, présents et pourtant trop peu interrogés, ce cours essaiera de comprendre et de révéler l’envers du décor, de rentrer dans la boîte noire pour en analyser le fonctionnement. Dans un premier temps, cette analyse sera menée à travers le code et la programmation, véritables moteur et colonne vertébrale de toutes les infrastructures et systèmes. Nous entrerons dans cette analyse par le HTML et le CSS, qui permettront de styliser, de mettre en page et surtout de donner à voir textes, contenus, images, animations et pratiques génératives (imagemagik, processing, p5.js). Puis, la création d’une application web (via le framework flask) nous mènera à une meilleure compréhension des rouages derrière chaque clic et à une introduction au langage de programmation python. Par la suite, la mise en œuvre de cette application web se déroulera sur un serveur local configuré au sein du cours sur un Raspberry Pi, ce qui nous donnera l’occasion de mieux appréhender ce type d’outils. La maîtrise de ces outils sera par la suite le moyen d’explorer les possibilités liées à l’installation, l’automatisation et l’interaction dans le cadre d’une pratique expérimentale (system lecture vidéo / son multiple écran synchronisé, sculpture/installation réactive/participative, serveur de données, captation/diffusion). Ce cours proposera par ailleurs de créer un système de communication type chat room en python afin de comprendre la relation client/server et l’intrication des flux d’information. Toutes ces notions seront abordées à travers le prisme de l’Open Source, du partage et de la collaboration, avec en tête toujours une certaine sobriété numérique (adapter les outils aux besoins, faire un usage raisonnable des bandes passantes, des serveurs et des technologies). L’objectif de ce cours sera ainsi de vulgariser et de démystifier ces différentes technologies et langages afin de pouvoir les réinterpréter et les détourner, de manière à ce que chacun en tire profit selon sa pratique et ses questionnements. Notions et valeurs
-> sobriété numérique
. adapter les outils aux besoins, réflexion autour d’une pensée plus frugale de la technologie et de son utilisation
-> open source et open Hardware . partage et collaboration, invitation à la modification et au détournement -> expérimentation et curiosité Techniques et Pratiques
-> introduction au langage de markup
. html ( + css ) . markdown
-> découverte du flat file et noSql
-> manipulation numérique
. images -> [ processing , p5.js , imagemagik , … ]
. textes -> [ curl , regex , python , processing , … ]
. data -> [ base de donnees , csv , …. ]
. linux et ssh 1
-> internet et networks
. création d’une application web ou site personnel (projet personnel expérimental, blog de recherche, portfolio , … ) . découverte et expérimentation avec openWrt (création de réseaux locaux, dns, mesh, wifi et ssid … ) . développement d’un simple chatroom en python avec serveur et multiples clients
-> Langages
. python
. bash
. processing
. html / css /js
- ssh ↩