Description de la formation
Le rapport au temps et à l’immédiateté est un enjeu majeur de nombreux systèmes multimédia : que ce soit dans le cadre d’un système de vidéoconférence, d’une installation interactive d’art numérique ou d’un jeu vidéo, la moindre latence de traitement gêne 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, pui à appliquer des techniques de programmation améliorant la fluidité et les performances de vos logiciels.
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).
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 individuel
- Exercice informatique
Clientèle visée
Spécialistes du développement et de la création technique, designers UX, développeurs et développeuses de jeu vidéo, ingénieurs et ingénieures en systèmes embarqués, concepteurs et conceptrices d’expérience.
Particularité(s)
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).