Systèmes et programmation numérique (B3)
De erg
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 ↩