Créativité numérique: du code génératif au temps réel

Description de la formation

Plongez au cœur de la programmation créative avec un parcours qui relie art, code et interactivité. Ce programme court réunit trois formations complémentaires pour explorer la création numérique sous toutes ses formes : de l’art génératif à la programmation temps réel, jusqu’au développement d’extensions logicielles pour des outils professionnels comme TouchDesigner, Max/MSP, Blender ou Unreal Engine.

Guidé·e par des spécialistes de la création numérique, vous apprendrez à transformer le code en matière artistique : à générer des images, du son et des interactions dynamiques, à optimiser le comportement de vos logiciels pour des expériences fluides, et à développer vos propres modules sur mesure pour enrichir vos environnements de création.

Conçu pour les artistes, concepteurs et conceptrices multimédia ainsi que pour les développeurs curieux d’explorer la dimension sensible du code, ce programme offre une immersion complète dans la créativité logicielle contemporaine.

Objectifs pédagogiques

À la fin de cette formation, vous serez en mesure de :

  • Créer des œuvres génératives interactives à l’aide de p5.js.
  • Appliquer les principes du temps réel dans la création multimédia.
  • Concevoir et intégrer des extensions logicielles pour différents environnements de production créative.

Méthodologie

Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisés tout au long de la formation :

  • Exposé
  • Travail d’équipe
  • Travail individuel
  • Exercice informatique

Clientèle visée

Cette formation s'adresse aux développeurs et développeuses de logiciels, incluant les programmeurs informatiques, les développeurs de jeux vidéo, les ingénieurs en systèmes embarqués et les spécialistes de la création technique, immersive, interactive et multimédia. Les participants doivent posséder des compétences de base (idéalement au moins un an d'expérience) en C, C++, Javascript, ou Python et souhaitent appliquer ou adapter leurs compétences techniques avancées à l'univers de la création numérique et du multimédia interactif.

Particularité(s)

Développez les compétences de vos équipes avec cette formation, et profitez d’une
subvention allant jusqu’à 8 000$ !

Le programme Visées est une initiative de la Fédération des chambres de commerce du
Québec et de la Chambre de commerce du Montréal métropolitain, financé par Upskill
Canada (propulsé par Palette Skills) et le gouvernement du Canada.

Pour en savoir plus sur l’aide financière : https://visees.ca/subventions


Explorer l’art génératif avec P5.js


    FONDAMENTAUX

    • L’art génératif, qu’est-ce que c’est? Oeuvres importantes, exemples
    • Utilisation de base de l’environnement p5.js
    • Bases de programmation avec Javascript et p5.js : comprendre la logique du code informatique
    • Affichage de formes géométriques simples avec p5.js, contrôle de la couleur : comment dessiner avec du code informatique?

    PROGRAMMATION GÉNÉRATIVE

    • Les outils de base de la programmation générative et procédurale : les boucles, les conditions.
    • Enrichir sa palette créative avec le bruit, l’aléatoire.
    • Applications dans l’industrie : sites web avec des visuels interactifs, dynamiques et attrayants, architecture et modélisation 3D, etc.

Coder sans latence : programmation temps réel pour le multimédia


    FONDAMENTAUX

    • Qu’est-ce que le temps-réel ? Quelles sont les différences entre soft real-time et hard real-time?
    • Quelles sont les spécificités du temps-réel en multimédia, que se passe-t-il lorsqu’un système de traitement de signal à destination artistique n’a pas un fonctionnement temps-réel ?
    • Quels sont les outils nécessaires à la réalisation de systèmes temps-réel : langages de programmation et systèmes d’exploitation appropriés. Pourquoi tous les langages ne permettent pas de créer des systèmes avec des garanties temps-réel.
    • Les mécanismes d’appels système, d’allocation mémoire, d’exclusion mutuelle : pourquoi sont-ils incompatibles avec un comportement temps-réel doux ?

    PROGRAMMATION TEMPS-RÉEL EN C++

    • Les bases : stratégies pour éviter les allocations mémoires
    • Structures de données dynamiques compatibles avec une approche temps-réel : files sans verrou, tables de hachage
    • Programmation à multiples fils d’exécution et temps-réel : quelle architecture choisir ?

    PROGRAMMATION TEMPS-RÉEL POUR LE MULTIMÉDIA

    • Traitement audio et image temps-réel : quels algorithmes?
    • Traitement de données de contrôle : réseau, etc.
    • Une architecture logicielle éprouvée : la programmation synchrone.
    • Applications au-delà du multimédia.

Développer des extensions logicielles pour la créativité numérique


    FONDAMENTAUX

    • Exploration de plusieurs environnements de création d’art médiatique, analyse de différentes extensions offertes par la communauté pour comprendre la portée et l’ambition du cours.
    • Bases de développement en C, C++ pour les développeurs généralistes.

    DÉVELOPPEMENT LOGICIEL

    • Plug-in d’extension en C++ : quels risques, quels enjeux
    • Créer son premier plug-in Max/MSP, TouchDesigner
    • Les outils et techniques de débogage adaptés à ce cas d’usage

    CAS PRATIQUES

    • Porter un traitement du signal audio dans une brique d’extension et connaître les différents paradigmes de traitement audio des systèmes existants.
    • Porter un traitement vidéo dans une brique d’extension et connaître les différents paradigmes de gestion d’image des systèmes existants.
    • Outils et paradigmes de création d’interface graphique adaptée.
    • Communication multi-thread et sécurité.
Jean-Michaël Celerier

Jean-Michaël Celerier

Jean-Michaël, directeur du développement technologique à la SAT, s'intéresse à l'art, au code, et à l'informatique musicale. Il développe suite à un cursus en ingénierie informatique et un doctorat en multimédia, une gamme de logiciels libres utilisés pour l'art numérique dont la plateforme ossia dont il est le principal développeur. Il possède une riche expérience d'enseignement en créativité numérique.

Collaborateurs

SAT
Visées