PLAN DE COURS
Automne 2026
MGL850 : Applications et systèmes décentralisés (3 crédits)
Préalables
Aucun préalable requis.
Description du cours
Ce cours vise à familiariser l’étudiante ou l'étudiant avec les principaux concepts liés aux technologies des systèmes décentralisés et au développement d'applications décentralisées.
Au terme de ce cours, l’étudiante ou l'étudiant sera en mesure d’expliquer les fondements de systèmes décentralisés : réseaux pair-à-pair, cryptographie, problème du consensus distribué. Il sera également en mesure de concevoir un projet axé sur la technologie des chaînes de blocs avec la mise en oeuvre d'applications décentralisées avec des systèmes open source.
Systèmes à chaînes de blocs; Bitcoin : utilisation de la crypto monnaie, protocole de consensus, minage à base de Proof-of-Work, structure des données hachées, validation de transactions; systèmes à chaîne de blocs avec contrats intelligents (smart contracts).
Stratégies pédagogiques
Les objectifs seront atteints par un enseignement sous la forme d'un cours magistral, à raison de trois (3) heures par semaine pendant treize (13) semaines. La participation active des étudiant(e)s sera sollicitée via divers exercices et discussions en classe durant les cours. Les concepts vus en classe seront mis en application par l’intermédiaire d'un projet de trimestre à présenter à la fin du cours.
Nous allons adopter la formule "classe hybride" qui combine des capsules vidéos avec des discussions et exercices durant les séances intéractives sur Zoom. L'accès à un ordinateur ainsi que l'Internet maison est donc obligatoire pour prendre ce cours. Les examens seront à distance.
Utilisation d’appareils électroniques
Les appareils électroniques seront tolérés en classe, conditionnellement à l'approbation du professeur. Aucun enregistrement (photographie, film ou audio) ne sera toléré en classe.
L'accès à un ordinateur ainsi que l'Internet est obligatoire pour prendre ce cours en ligne.
Horaire
| Groupe | Jour | Heure | Activité |
| 01 | Mercredi | 18:00 - 21:30 | Activité de cours |
Coordonnées du personnel enseignant le cours
| Groupe | Nom | Activité | Courriel | Local | Disponibilité |
| 01 | Kaiwen Zhang | Activité de cours | kaiwen.zhang@etsmtl.ca | A-4475 | Contactez-moi pour prendre rendez-vous |
Cours
La matière ne sera pas nécessairement présentée dans cet ordre. Toutefois, l’ensemble des sujets sera présenté dans le cadre de ce cours. Les heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel et à la revue pour l'examen final.
1. Fondements (5 heures)
- Généraux byzantins
- Consensus distribué
- Cryptographie appliquée
2. Bitcoin (15 heures)
- Preuve-de-Travail (PoW)
- Structure de chaînes de blocs
- Transactions
- Minage de blocs
3. Ethereum (9 heures)
- Minage par Ethhash
- Protocole de GHOST
- Contrats intelligents et Solidity
- Preuve-d'Enjeu (PoS), Casper
- NFT, Oracles
4. Hyperledger (6 heures)
- Fabric, Consensus PBFT
- Exécution EOV
- Composer
5. Sujets avancés (4 heures)
- Applications pour blockchains
- Avantages des blockchains
- Autres systèmes: Ripple, Avalanche, Corda
Laboratoires et travaux pratiques
Des exercices seront donnés environ à chaque semaine durant les laboratoires. Ces exercices ne seront pas corrigés. Les solutions aux questions seront données et discutées durant les cours, une semaine après que les exercices sont publiés. Le but de ces exercices est d'approfondir les connaissances sur le matériel vu en classe et de se préparer pour les examens.
Un rapport d'article sera à remettre vers la fin du semestre. Le rapport portera sur l'analyse d'un article scientifique sur un sujet avancé couvert au delà de la matière du cours. Chaque équipe pourra choisir parmis une liste d'articles.
Le projet de trimestre a pour but de faire la synthèse des connaissances acquises dans le cadre du cours et d'acquérir de nouvelles connaissances liées au cours. Les étudiants peuvent proposer leurs propres projets ou choisir parmi la liste suggérée.
Évaluation
| Type d'évaluation | Pondération | Modalité | Description | Utilisation de l'IA |
| Examen intra | 30 | Individuel | Couvre la première moitié du cours | Utilisation interdite |
| Examen final | 35 | Individuel | Couvre au minimum la deuxième moitié du cours selon la discrétion du prof | Utilisation interdite |
| Projet / Travail / travail de session | 30 | En équipe | Proposition de projet: 5%, Rapport, code, et documentation du projet: 15%, Présentation du projet final: 10% | Utilisation limitée |
| Rapport | 5 | En équipe | Rapport d'un article scientifique | Utilisation interdite |
Informations additionnelles :
L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels afin de réussir le cours. Cette condition est nécessaire mais non suffisante.
Les deux (2) examens sont réalisés sur ordinateur, à distance, et avec documentation permise.
Seuil de passage pour les éléments à caractère individuel
Note minimale : 50
Dates des examens intra
| Groupe | Date | Heure |
| 1 | 7 octobre 2026 | 18:15 |
Politique de retard des travaux
Conformément au Règlement des études de premier cycle
(article 7.5.6) et au Règlement des études de cycles supérieurs (article 6.5.6), tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés à l’article 7.5.5.1 dans le Règlement des études de premier cycle et l’article 6.5.2 dans le Règlement des études de cycles supérieurs, se verra attribuer la note zéro, à moins que d’autres dispositions soient communiquées par écrit par la personne enseignante dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.
Dispositions additionnelles
Veuillez respecter la procédure de remise, de même que les échéances fixées :
Retard de moins de 24 heures : perte de 10 %;
Retard de plus de 24 heures, mais moins de 48 heures: perte de 20 %;
Retard de plus de 48 heures, mais moins de 72 heures: perte de 30 %;
Retard de plus de 72 heures: perte de 100 %.
Absence à une évaluation
Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou
l’étudiant doit utiliser le
formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se
déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus
durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant
ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.
Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de
l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des
études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS
pour se rendre à l’activité.
Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du
RÉPC et 6.5.2 du RÉCS)
entraînera l’attribution de la note zéro (0).
Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).
Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par la personne enseignante du cours ou la personne coordonnatrice dans le cas des stages.
Dispositions additionnelles
- Examens, rapports, présentations: l'utilisation des SIAG n'est pas autorisée durant les examens et pour écrire les rapports et présentations.
- Code de projet: L'utilisation des SIAG pour poser des questions de programmation ponctuelles et très spécifiques est tolérée, mais chaque utilisation doit être déclarée de manière spécifique dans les rapports.
- En cours: l'utilisation des SIAG est autorisée et bienvenue pour aider à résoudre les exercices faits en classe ou bonifier la compréhension de certains concepts (comme un tuteur). Il est toutefois attendu que les étudiant.e.s fassent les exercices par eux-mêmes. De plus, de par l'expérience-même du professeur, les SIAG fournissent régulièrement de mauvaises réponses à certains des exercices.
Documentation obligatoire
Antonopoulos, Andreas M. Mastering Bitcoin: unlocking digital cryptocurrencies. " O'Reilly Media, Inc.", 2014.
Antonopoulos, Andreas M., and Gavin Wood. Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018.
Gaur, Nitin, et al. Hands-on Blockchain with Hyperledger: Building Decentralized Applications with Hyperledger Fabric and Composer. Packt Publishing Ltd, 2018.
Ouvrages de références
Tout autre matériel sera fourni en ligne à chaque semaine.
Adresse internet du site de cours et autres liens utiles
Ce cours utilise la plateforme Moodle pour toute communication durant la session. Les élèves pourront aussi utiliser Teams pour poser des questions à l'enseignant.
YouTube sera utilisé pour les enregistrements vidéo et Zoom sera utilisé pour les séances en ligne.
Autres informations
L'examen intra sera en ligne durant un cours régulier. L'examen final sera en ligne durant la période des examens finaux. Les examens sont à distance.