Travaillez-vous avec des systèmes temps réel? Faites évoluer votre expertise!
Dans plusieurs systèmes et contextes multimédias, le rapport au temps et à l’immédiateté est crucial. Que ce soit pour un système de vidéoconférence, une installation interactive en art numérique ou un jeu vidéo, la moindre latence peut nuire à l’expérience utilisateur. Cette formation vous initiera à un ensemble de techniques et méthodologies de développement logiciel adaptées à la création de systèmes temps-réel. Vous apprendrez à utiliser des outils pour reconnaître et diagnostiquer les problématiques de latence dans des bases de code existantes, puis à appliquer des techniques de programmation améliorant la fluidité et les performances de vos logiciels.
À qui s’adresse cette formation?
Spécialistes du développement et de la création technique;
Designers UX;
Développeur·euse·s de jeux vidéo;
Ingénieur·e·s en systèmes embarqués;
Concepteur·rice·s d’expériences interactives.
Objectifs pédagogiques
À la fin de cette formation, vous serez en mesure de:
Expliquer les enjeux et les limites du temps réel dans la création d’outils multimédias et artistiques, ainsi que les contraintes des environnements de développement conventionnels (par exemple, environnement Javascript sur Windows);
Programmer des logiciels de traitement de signal simples en appliquant les règles garantissant un comportement temps-réel;
Intégrer des outils permettant de rendre explicites les appels de fonction incompatibles avec le temps-réel;
Manipuler les structures avancées de la programmation temps-réel en C++ (variables atomiques, conteneurs lock-free, spinlock) pour améliorer une base de code existante;
Structurer et architecturer un logiciel de manière à intégrer les bonnes pratiques de programmation temps réel et à traiter différents flux multimédias (audio, vidéo, messages de contrôle).
Subvention pour les entreprises
Développez les compétences de vos employé·e·s avec les trois formations offerte par la SAT et l’ÉTS, 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.
Conditions d’éligibilité:
Votre entreprise doit posséder un NEQ, employer au moins une personne salariée à temps plein, et ne pas être un organisme gouvernemental, public, municipal ou scolaire, ni être assujettie à la Loi M-30;
La personne formée doit être légalement autorisée à travailler au Canada;
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.
Horaire
12 février 2026 - 19 février 2026 Horaire : 8h30 à 16h30
Adresse: 1220 R. Notre Dame O, Montréal, QC H3C 1K5
Prérequis: Les participants doivent avoir une expérience de programmation (idéalement au moins 2 ans d’expérience ou bien cursus d’ingénierie suivi).
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 du signal à visée 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, systèmes d’exploitation adaptés)? Pourquoi certains langages ne permettent-ils pas de garantir des systèmes avec des garanties temps-réel?
Les mécanismes d’appels système, d’allocation mémoire et d’exclusion mutuelle: pourquoi sont-ils incompatibles avec un comportement soft real-time?
PROGRAMMATION TEMPS-RÉEL EN C++
Stratégies de bases pour éviter les allocations mémoires.
Structures de données dynamiques compatibles avec une approche temps-réel (files sans verrou, tables de hachage, etc.)
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.
MÉTHODOLOGIE
Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisées tout au long de la formation: