4667

Certificat ou mineure(8667) en cybersécurité défensive

Responsable : Bruno Bouchard
Regroupement de programmes : Module d'informatique et de mathématique
Secrétariat : (418) 545-5011, poste 5273
sm_informatique-mathematique@uqac.ca
Coordonnatrice : Justine Lévesque
Coordonnatrice : Stéphanie Girard
Grade :

Présentation du programme

Le Certificat ou mineure en cybersécurité défensive a pour mission de fournir à l'étudiante ou l'étudiant une base en informatique appliquée dans le secteur spécifique de la cybersécurité défensive. Il permettra de joindre des équipes de cybersécurité dans les organisations et les entreprises, ou de poursuivre au baccalauréat en se faisant reconnaître l'ensemble des cours de certificat.

La cybersécurité est devenue un enjeu incontournable pour le gouvernement, les entreprises et les organisations. Elle suscite un intérêt croissant à l'échelle mondiale. Le Québec ne fait pas exception et des joueurs bien importants d'ici reconnaissent l'importance de la lutte à la cybercriminalité. Cependant, la capacité des cybercriminels croît plus vite que la capacité des organisations à se protéger. Il manque cruellement de talents dans le domaine de la cybersécurité.

Le programme s'adresse principalement à des non-spécialistes de l'informatique déjà sur le marché du travail. De plus, plusieurs étudiantes et étudiants sont titulaires d'un DEC préuniversitaire en Sciences de la nature, d'un DEC en informatique ou l'équivalent de l'une de ces formations.

Objectifs

Le Certificat en cybersécurité défensive a pour objectif de faire acquérir des connaissances et des compétences de base dans la sécurité des réseaux et du Web, la sécurité des applications, dans la gestion des vulnérabilités des systèmes, la gestion des incidents et la récupération, ainsi que des connaissances du processus d'enquêtes numériques et d'utilisation de la cyberintelligence.

Objectifs spécifiques

Plus spécifiquement, la formation vise à développer des logiciels et des solutions applicatives et réseaux de manière générale et plus précisément, dans le domaine d'une spécialisation.

Par sa flexibilité, le programme permet de doter l'étudiante ou l'étudiant d'une formation presque sur mesure facilitant l'intégration des technologies de l'information dans son travail et dans ses activités quotidiennes.

Note :

Pour les fins d'émission d'un grade de bachelier par cumul de certificats, le secteur de rattachement de ce programme est «SCIENCES APPLIQUÉES».

Conditions d'admission

Base Études collégiales (DEC)

Être titulaire d'un diplôme d'études collégiales (DEC) ou l'équivalent;

Base Études universitaires

Avoir réussi quinze (15) crédits de niveau universitaire avec une moyenne cumulative d'au moins 2,3/4,3;

Base Préparation suffisante

Posséder les connaissances et les compétences jugées suffisantes pour la poursuite d'études dans le programme. Le candidat peut être invité à se présenter à une entrevue et à passer un test d'admission. Le candidat peut se voir imposer une formation préparatoire.

Règles relatives au français

Les modalités et les règles qui régissent l'attestation de la maîtrise du français telles que résumées ci-dessous, sont définies dans la Politique et la Procédure relative à la valorisation du français.

Règlement relatif aux exigences liées à l'admission pour les candidats dont la langue maternelle n'est pas le français

Toute candidate ou tout candidat a un programme identifié, dont la langue maternelle n'est pas le français, est tenu de se soumettre au Test de français international (TFI) avant le début de son parcours universitaire à l'UQAC. Il est à noter que les candidates et les candidats en protocole d'échange provenant d'une université partenaire et dont la langue d'enseignement est le français, de même que les candidates et les candidats des Premières Nations sont exemptés de cette obligation.

Également, certaines candidates et certains candidats dont la langue maternelle n'est pas le français peuvent être exemptés de cette obligation lorsqu'ils répondent à l'une ou l'autre des exemptions prévues à la procédure ci-haut.

Règles administratives

L'admission se fait aux trimestres d'automne et d'hiver.

Le programme d'études est offert à temps partiel et à temps complet.

Reconnaissance des acquis

En vertu de l'article 87 du Règlement des études de premier cycle de l'UQ, les études collégiales techniques peuvent conduire à des reconnaissances d'acquis pour certains cours. Pour en savoir plus.

La personne candidate qui désire obtenir une reconnaissance de ses acquis sur la base de sa formation antérieure ou de son expérience professionnelle doit faire une demande au Bureau du registraire à la suite de la confirmation de son admission. Formulaire

PARTICULARITÉS POUR LE PROGRAMME:

Perspectives professionnelles

Les perspectives d'emploi en cybersécurité sont excellentes et le demeureront pour les années à venir. Les finissantes et finissants du programme pourront contribuer aux diverses équipes de sécurité informatique dans une vaste gamme de rôles :

Environnement pédagogique

Les étudiantes et étudiants du Certificat en cybersécurité défensive bénéficient de matériel et ont accès à plusieurs laboratoires les permettant de réaliser leurs projets. Le programme est par ailleurs appuyé par des partenariats industriels d'envergure dans le secteur.

Structure du programme

Ce programme comprend trente (30) crédits répartis comme suit:

Plan de formation

*Les préalables sont indiqués entre parenthèses à la fin du titre du cours s'il y a lieu.

Cours obligatoires

Les six cours suivants (dix-huit crédits)

8INF138Sécurité des réseaux et du Web
8PRO107Éléments de programmation
8SEC201Cybersécurité défensive : vulnérabilités et incidents (8WEB101)
8SEC202Enquêtes numériques et cyber-intelligence (8WEB101)
8TRD151Introduction aux bases de données
8WEB101Conception et programmation de sites Web

Cours optionnels

Trois cours parmi les suivants (neuf crédits)

2MAR210Marketing numérique et réseaux sociaux
4ETH236Éthique et informatique
6GEI186Architecture des ordinateurs
8CLD201Environnement de déploiement des applications (8WEB101)
8CLD202Infonuagique (8CLD201)
8IFG147Gestion de la production dans l'industrie du numérique
8INF206Projet
8INF259Structures de données (8PRO107)
8INF333Sécurité des applications (8INF259)
8INF349Technologies Web avancées (8PRO128 et 8WEB101)
8INF404Introduction à la science des données et à l'intelligence d'affaires
8INF700Sujet spécial en informatique
8MQG210Risque, décision et incertitude
8PRO128Programmation orientée objet (8PRO107)
8PRO408Outils de programmation pour la science des données

Un cours parmi les suivants (trois crédits)

7ANG021English Skills I
7ANG022English Skills II (7ANG021)
7ANG023English Skills III (7ANG022)
7ANG024English Skills IV (7ANG023)
7ENL520Critical Reading Skills and Comprehension (7ANG023)
7INF517Traitement automatique des langues
7LIN124Rédaction I: outils méthodologiques et exercices d'écriture

Ou tout autre cours en accord avec la direction du programme.

DESCRIPTION DES COURS

2MAR210 Marketing numérique et réseaux sociaux

Les technologies de l'information et les médias numériques ont eu un impact prononcé sur les comportements de consommation d'une part et les modèles d'affaires organisationnels d'autre part. L'objectif principal de ce cours est de développer les compétences pratiques en marketing interactif afin de permettre de commercialiser efficacement des produits et des services par le biais des plateformes web, mobiles ainsi que les réseaux sociaux.

À l'issue de ce cours, être en mesure de réaliser un diagnostic du marketing numérique d'une organisation et être capable de mettre en œuvre des activités d'optimisation de la présence et des affaires commerciales d'une organisation selon une approche omnicanal à 360 degrés.

La stratégie web, le comportement du consommateur en ligne, la gestion du site Web et des blogs, la recherche d'informations en ligne, la gestion de la mobilité et des objets connectés, la gestion de la relation client en ligne, ainsi que les analytiques Web et mesure omnicanal.

Formule pédagogique : Cours Magistral

(09/2024)

4ETH236 Éthique et informatique

Initier les étudiants aux enjeux éthiques, légaux et sociaux du développement de certains usages de l'informatique dans différents domaines d'activité scientifique, technique ou industriel (nanotechnologies, domotique, télécommunications, etc.) dans les secteurs de la santé, l'éducation et la sécurité. Comprendre le système social des valeurs éthiques et les dispositifs normatifs encadrant les pratiques, notamment les lois, les règlements, les codes d'éthiques, etc. Développer la délibération éthique et le dialogue sur ces enjeux.

Les notions fondamentales de l'éthique appliquée et les principales théories éthiques contemporaines dans l'évaluation des impacts des technologies. Le droit de l'informatique, les principes moraux et les valeurs éthiques du développement des technologies. Acceptabilité sociale et acceptabilité éthique dans les études d'impact. Le processus d'analyse globale d'impacts et d'acceptabilité éthique.

Formule pédagogique : Cours Magistral

(09/2024)

6GEI186 Architecture des ordinateurs

Familiariser avec la structure et le fonctionnement des ordinateurs modernes.

Organisation vs architecture, évolution des ordinateurs et de leur performance, rappel d'arithmétique binaire (virgule fixe, virgule flottante), jeu d'instructions d'un microprocesseur, modes d'adressage, opération d'un ordinateur (composantes et fonctions, interconnexions), fonctionnement des antémémoires («caches»), mémoires vives (DRAM), mémoires de masse (disques, RAID), entrées/sorties (périphériques, DMA), support au système d'exploitation, structure et fonction d'un CPU (registres, pipelines), ordinateurs à jeu d'instructions réduit (RISC), systèmes multi-coeurs, traitement parallèle.

Formule pédagogique : Cours Magistral

(09/2024)

7ANG021 English Skills I

Développer des stratégies permettant de mieux communiquer dans des situations quotidiennes (pour les étudiants ayant connaissance de base en anglais). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.

Vocabulaire de base associé à l'exécution des fonctions de la vie courante. Fonctions langagières : se présenter, exprimer ses préférences et ses aversions, décrire son milieu immédiat, parler de ses activités quotidiennes, demander et donner des informations, chercher et proposer de l'aide, donner des indications, etc. Structures grammaticales pertinentes: formes verbales à l'impératif, au présent, au futur proche et au «simple past»; verbes modaux exprimant les requêtes; noms comptables et non comptables; déterminants démonstratifs et possessifs; adverbes de fréquence; questions simples de type «yes / no» et «wh». Mise en situation du lexique et des structures grammaticales à partir de simulations provenant des ressources didactiques en classe et en laboratoire multimédia.

Formule pédagogique : Cours Magistral

(09/2024)

7ANG022 English Skills II

Poursuivre l'acquisition des connaissances langagières de base dans des contextes réels et simulés qui représentent des fonctions sociales et professionnelles. Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.

Vocabulaire associé aux fonctions sociales et professionnelles, expressions idiomatiques, prononciation. Fonctions langagières: donner des informations sur soi-même, décrire un tiers, donner et demander des informations sur des faits, poser des questions concernant des habitudes ou des intérêts personnels et y répondre, décrire des événements passés au moyen du «simple past», donner et suivre des indications, exprimer l'accord et le désaccord, etc. Structures grammaticales pertinentes: révision des questions de type «yes / no» de même que des formes verbales au présent et au futur proche; distinction entre le «simple past» et le «present perfect»; verbes au passé continu et habituel; verbes périphrastiques; verbes modaux exprimant la nécessité et l'obligation; adjectifs comparatifs et superlatifs; adverbes de quantité. Conversations dirigées, courtes discussions, mises en situation du lexique et des structures grammaticales au moyen des ressources didactiques fournies en classe et en laboratoire multimédia.

Préalable(s): (7ANG021)

Formule pédagogique : Cours Magistral

(09/2024)

7ANG023 English Skills III

Permettre d'améliorer sa capacité à tenir une conversation et à produire des textes dans des contextes réels et simulés qui sont caractéristiques des fonctions de la vie académique, sociale et professionnelle (pour les étudiants de niveau intermédiaire/avancé). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.

Vocabulaire associé aux fonctions de la vie académique, sociale et professionnelle, expressions idiomatiques, prononciation. Fonctions langagières: décrire les personnes, contester face à un désaccord, accepter et refuser les requêtes, laisser des messages, raconter une histoire au passé, exprimer des émotions et des attentes. Structures grammaticales pertinentes: le présent simple, le présent progressif et le «present perfect», formes verbales au présent continu et au «present perfect progressive», «simple past», «past perfect» et «past perfect progressive»; verbes périphrastiques; propositions adjectivales, adverbiales et conditionnelles; pronoms relatifs, rôle adjectival du participe passé, le gérondif en fonction de sujet ou de complément. Conversations dirigées, courtes discussions, mises en situation et exercices grammaticaux en classe et en laboratoire multimédia.

Préalable(s): (7ANG022)

Formule pédagogique : Cours Magistral

(09/2024)

7ANG024 English Skills IV

Permettre de perfectionner sa capacité à communiquer (oralement ou par écrit) dans des contextes réels et simulés qui sont caractéristiques des fonctions de la vie académique, sociale et professionnelle (pour les étudiants de niveau avancé). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.

Vocabulaire associé aux fonctions de la vie académique, sociale et professionnelle, expressions idiomatiques, prononciation. Fonctions langagières: identifier des problèmes et proposer des solutions, préciser le but d'une proposition, proposer des explications, tirer des conclusions, décrire des événements hypothétiques. Structures grammaticales pertinentes: formes verbales au plus-que-parfait progressif, passif; modaux au passé; propositions conditionnelles; discours rapporté. Conversations dirigées, discussions longues, débats, mises en situation et exercices grammaticaux en classe et en laboratoire multimédia.

Préalable(s): (7ANG023)

Formule pédagogique : Cours Magistral

(09/2024)

7ENL520 Critical Reading Skills and Comprehension

Améliorer la compréhension de l'anglais écrit. Développer des techniques de lecture aux niveaux littéral, inférentiel, critique et analytique.

Sensibilisation aux nuances de la langue anglaise dues à des variations lexicales, morphologiques et syntaxiques dans le cadre d'analyses de textes courants. Différences de significations de structures syntaxiques dans des contextes variés. Stratégies de lecture (skimming, scanning). Techniques pour améliorer l'efficacité de lecture.

Préalable(s): (7ANG023)

Formule pédagogique : Cours Magistral

(09/2024)

7INF517 Traitement automatique des langues

Faire découvrir le domaine du traitement automatique des langues (TAL). Amener à maitriser différentes techniques d'analyse automatique des langues. Faire connaitre et comprendre différentes technologies langagières telles que la traduction automatique, la synthèse de parole, la reconnaissance de parole, la correction orthographique, le dialogue homme-machine. Initier à l'utilisation d'un environnement de programmation informatique (Perl, Python, R...) pour la fouille de textes (Text Mining).

Les fondements du TAL. Les unités linguistiques orales et écrites utilisées en TAL (diphones, n-grammes, lemmes...). Les techniques de catégorisation et d'étiquetage des séquences orales et des documents textuels; les outils d'analyse morpho-syntaxique et lexicale. Les techniques d'extraction et d'alignement automatique de séquences orales et de chaines textuelles (Dynamic Time Warping, expressions régulières, Skeleton Key, distance de Levenshtein...). Les techniques de fouille de textes (fréquences, Topic Modeling...). Quelques principes de linguistique statistique (loi de Zipf-Mandelbrot, loi de Menzerath-Altmann...).

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

7LIN124 Rédaction I: outils méthodologiques et exercices d'écriture

Permettre à l'étudiant débutant d'acquérir les outils méthodologiques et les principes d'écriture indispensables à l'élaboration de tout travail dans sa discipline.

Formation documentaire et exercices de recherche en bibliothèque; organisation matérielle d'un texte: éléments de méthodologie (citations, références, bibliographie); exercices pratiques en vue de la rédaction de textes courts; contraintes rédactionnelles (écriture condensée, précise, vivante); rédaction à partir de dossiers, de rapports, d'articles (techniques du résumé, du compte rendu, de la contraction de textes); production à partir d'informations nouvelles (notes de services, circulaires, lettres d'opinions, etc.).

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8CLD201 Environnement de déploiement des applications

Comprendre l'environnement de déploiement et les technologies nécessaires à la mise en service d'applications dans le nouveau contexte dématérialisé.

Introduction au concept de Cloud computing. Survol des grandes plateformes Cloud (AWS, Azure, GCP). Modèle de service (IaaS, PaaS, SaaS). Modèle de consommation (à la demande, réservé et spot). Concepts de séparation des services et leur interopérabilité (Compute, Storage, Network). Migration. Facteurs environnementaux. Monolith vs Microservice. Modèles: Event driven, Circuit breaker, Serverless, Containers, Landing zone, Stateful / Stateless. Disponibilité: RTO (Recovery Time Objective) / RPO (Recovery Point Objective), Haute-disponibilité, Sinistre. Principes et outils de l'infrastructure en tant que code (infrastructure as a code / IaaS), tels que Terraform, Azure Devops et Cloud formation. Cycle de maintenance et de développement en continu. Notions d'authentification. Identité numérique (Clients & Utilisateurs). Secrets, clef d'authentification, certificats, jetons, meilleures pratiques.

Préalable(s): (8WEB101)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8CLD202 Infonuagique

Comprendre l'infrastructure logicielle de l'informatique en nuage et les outils technologiques qui s'y rattachent. Être apte à déployer des applications et à gérer un système en infonuagique.

Introduction au concept de conteneurs. Les technologies conteneurs (ex. Kubernetes vs Docker). Les plateformes de control plane et leur rôle (Openshift, Rancher, Tanzu, etc.). Registre de conteneurs. La gestion des images et le déploiement. Gestions des namespaces. Cycle de maintenance et développement continu (CI/CD). Gestion des politiques. Infrastructure en tant que code dans l'infonuagique avancée (IaaS). Elasticité, ccale in/out, performance et capacité, cycle de vie. IaaS Network. Restriction des flux (security group, firewalls). Privé vs publique. Balanceurs de charge (L3, L4 & L7). WAF, DNS interne vs externe, techniques de balance de charge via DNS (GSLB), NAT/PAT, Interconnexion (VPN / Peering / Connexion privé). Stockage en IaaS. File/block/objects/queue. Encryption. Persistent versus éphémère. Plateforme en tant que service (Platform as a Service - PaaS). Base de données en nuage. Type de BD (NoSQL, SQL, Datalake, ...). Modélisation en nuage. Protection des données. Réplication. Machine Learning / IA en nuage. Robots de clavardage ChatBot. Logiciel en tant que service (Software as a service -SaaS) : Serverless, API Gateway, Vault, etc.

Préalable(s): (8CLD201)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8IFG147 Gestion de la production dans l'industrie du numérique

Comprendre l'importance d'une bonne gestion de projets dans le domaine du développement de jeu vidéo. Développer la compréhension de la méthodologie Agile et du cadre de référence Scrum. Connaître les rôles, artéfacts et rituels Scrum. Comprendre la planification, le découpage et l'estimation des coûts de projet avec la méthode Agile. S'initier à la gestion d'équipes. Parfaire ses habiletés de communication et de résolution de conflits. Se familiariser avec la gestion de risques.

La production de jeux vidéo avec l'approche Agile/Scrum. Les trois piliers de Scrum : transparence, inspection et adaptation. La notion de rituel/point de contrôle et des « timebox ». L'aspect adaptatif et empirique de l'approche. Organisation du travail. Les rôles : Scrum Master, Product Owner et équipe multidisciplinaire de développement. Les rituels de planification : Release Planning et Sprint planning. Les trois points d'inspection et d'adaptation : rencontre quotidienne, revue de jeu et rétrospective. Les cinq artéfacts. Outils informatisés pour la gestion de projets (ex. Teams, Trello, Jira). Optimisation de la boucle de production Agile/Scrum. Définir le périmètre (scope) d'un projet en Agile/Scrum. Découper les fonctionnalités et estimer en continue en approche adaptative pour une production structurée et efficace. Définir son « backlog » de produit et son « backlog » de Sprint. L'équipe de projet : optimisation du processus de coordination des ressources. La nature d'une équipe de projet : bloquants et spécificités. La communication avec l'équipe et avec les individus : les stratégies. La gestion et la répartition de son temps. La gestion de projets à grande échelle en Agile/Scrum. Problématiques liées aux grandes équipes lors de l'utilisation d'approches Agiles. Modèles de gestion Agile à grande échelle : Nexus, LeSS, Spotify, Scrum of Scrum, Safe, etc. Évolution à venir dans le futur au niveau de la gestion de projets dans le secteur du numérique.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8INF138 Sécurité des réseaux et du Web

Amener à comprendre les concepts de base de la sécurité informatique et de la protection de l'environnement de travail grâce à des logiciels et des protocoles de sécurité. Faire acquérir une approche pratique de la sécurité dans l'environnement de l'Internet.

Concepts de base de la sécurité informatique. Menaces. Vulnérabilité des systèmes. Survol des technologies utilisées en sécurité informatique: cryptographie, cryptanalyse, authentification, confidentialité, codes malicieux, pare-feux, audits, détection d'intrusions, etc. Principes de base pour sécuriser un environnement réseau. La taxonomie d'attaques malicieuses sur les réseaux informatiques. Les faiblesses des protocoles réseaux. Installation et configuration des outils de sécurité réseau. Protocoles de sécurité. Sécurité du Web. Concepts de politique de sécurité pour les réseaux. Étude approfondie des technologies utilisées pour la protection des réseaux informatiques. Sécurité de commerce électronique. Modèles de sécurité des langages de programmation. Vérification des mécanismes de sécurité implantés dans une organisation donnée.

Formule pédagogique : Cours Magistral

(09/2024)

8INF206 Projet

Concevoir, élaborer et réaliser un logiciel, ou adapter un logiciel relié au champ d'intérêt de l'étudiant.

À partir d'une problématique qu'il identifiera, l'étudiant franchira toutes les étapes de réalisation ou d'adaptation d'un logiciel. Il devra analyser le problème, le structurer et en construire une image riche. Il devra le conceptualiser sous forme modulaire et élaborer des solutions de rechange. Il devra traduire la meilleure solution dans un langage de programmation (cours terminal).

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8INF259 Structures de données

Poursuivre le développement des connaissances en méthodologies de résolution de problèmes et de programmation. Initier aux types abstraits de données, à leurs applications. Mettre en oeuvre des structures de données classiques et analyser leurs avantages et leurs défauts respectifs. Initier aux principes de l'algorithmique. Utiliser efficacement la librairie standard du C++ (STL).

Structures de données abstraites: piles, files, listes, arbres, graphes, tables de hachage, B-arbres. Analyse théorique et mise en oeuvre des algorithmes de gestion de ces structures: insertion, élimination, recherche, tri, etc. Analyse de l'efficacité des algorithmiques: introduction à la notation asymptotique. Introduction au langage C++: notions de classes et de modèles (templates). Organisation matérielle des fichiers: séquentielle, indexée, séquentielle-indexée. Utilisation de la STL: étude des principaux conteneurs (vector, list, stack, queue, map, set, etc.), utilisation des itérateurs (standard, constants et inversés).

Préalable(s): (8PRO107)

Formule pédagogique : Cours Magistral

(09/2024)

8INF333 Sécurité des applications

Comprendre l'ensemble des pratiques, des vérifications et des prudences que devraient utiliser les informaticiens afin que leur code soit sécuritaire. Se familiariser avec les principes théoriques ainsi que les approches pratiques qui mènent à la création de codes robustes.

Enjeux liés au code de programmation en rapport à la sécurité informatique. Exemple de vulnérabilité du code. La conception sécuritaire des logiciels. Dépassements de tampon: outils et techniques de protection. Validation des entrées: injection SQL. Sécurité du système d'exploitation: accès aux ressources; protection des fichiers; authentification. Le déni de services : erreurs de programmation qui sont à leurs origines, l'attaque ReDoS et les contremesures. Le contrôle d'accès et la sécurisation des informations sensibles. Vulnérabilités dans manipulation de la mémoire et des types. Vulnérabilités introduites dans le processus de compilation. La génération des nombres aléatoires. Présentation d'études de cas réels, ainsi que des bonnes pratiques pour le développeur logiciel. Familiarisation avec les avancées scientifiques récentes dans ce domaine.

Préalable(s): (8INF259)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8INF349 Technologies Web avancées

Permettre de maîtriser le modèle, l'architecture et les applications Web avancées dans l'environnement de l'Internet.

Rappel et historique du développement Web : approfondissement des notions des protocoles (HTTP, HTTP2), langages de script côté client et côté serveur, HTML5, AJAX. Fonctionnement d'une application Web : requêtes HTTP, ressources, balanceurs de charge, cookie/local storage, stratégies d'optimisation (cache locale, de protocole et applicative). Architecture d'une application Web : MVC, intégration d'une base de données, engins de templating HTML, formats de sérialisation (JSON, XML), authentification, certificats. Intéropérabilité d'une application Web et micro services (RPC, SOAP, REST, découverte de services). Déploiement d'une application Web (PaaS, IaaS, déploiement continu, déploiements progressifs et de canaries). Maintenance : gestion de la journalisation, métriques opérationnelles, modèle SRE.

Enjeux de sécurité informatique pour un programmeur Web: vulnérabilités, attaques, mécanismes d'authentification.

Préalable(s): (8PRO128 et 8WEB101)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8INF404 Introduction à la science des données et à l'intelligence d'affaires

Comprendre l'utilité des données dans la prise de décision et sa portée dans différents domaines d'applications, à travers des exemples concrets.

Introduction aux problématiques, défis et enjeux et à la science des données massives ainsi qu'à son application dans le contexte de l'intelligence d'affaires. Démarche à suivre pour résoudre un problème lié à la science des données. Concepts de base et de la méthodologie de réalisation de projet en sciences des données. Exemples d'application de la science des données dans les domaines manufacturiers, dans le domaine des services, des réseaux sociaux et de l'intelligence d'affaires en général. Familiarisation avec les problématiques de la visualisation des données. Science de données, sécurité des données et considérations éthiques. Introduction aux traitements et à l'analyse exploratoire des données. Interactions avec l'intelligence d'affaires et l'intelligence artificielle. Analyse univariées et multivariés. Distinction entre l'inférence et la prédiction. Description, interprétation et utilisation de méthodes d'analyse de données multidimensionnelles dans un contexte concret.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8INF700 Sujet spécial en informatique

Permettre à l'étudiant de bénéficier d'une formation adaptée.

Le contenu est variable selon les besoins des étudiants et l'expertise professorale disponible.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8MQG210 Risque, décision et incertitude

Acquérir les notions fondamentales de la théorie des probabilités et de l'analyse statistique pour la prise de décision en sciences de la gestion.

Variables aléatoires et principales lois de la probabilité. Inférence statistique. Paramètres et estimateurs. Notions d'échantillonnage et d'estimation. Statistiques descriptives. Tests d'hypothèses paramétriques et non paramétriques. Régression et corrélation linéaire. Utilisation d'un logiciel de statistiques.

Formule pédagogique : Cours Magistral

(09/2024)

8PRO107 Éléments de programmation

Initier au langage de programmation C++ tout en développant la créativité et l'esprit d'analyse. Initier à la résolution de problèmes et aux étapes à suivre pour résoudre un problème à l'aide d'un ordinateur. Familiariser avec les méthodes de résolution de problèmes par ordinateur dans le cadre de la programmation modulaire et structurée en C++. Sensibiliser au développement de programmes en C++ de bonne qualité, faciles à comprendre, faciles à utiliser et faciles à modifier.

Éléments du langage de programmation C++ : types simples et composés, variables locales et globales, entrées et sorties, expressions, structures de contrôle, fonctions, tableaux et pointeurs. Algorithmes interactifs et récursifs. Passage de paramètres par valeur et par référence. Allocation dynamique de la mémoire. Modularité et organisation des données. Notions d'algorithmique et de conception de programmes lisibles, compréhensibles et modifiables. Convention d'écriture de programmes et de documentations. Méthodologies de résolution de problèmes. Mise au point et vérification de programmes.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8PRO128 Programmation orientée objet

Familiariser avec le paradigme de la programmation orientée objet (POO). Faire connaître les outils de développement objet. Réaliser des applications informatiques basées sur l'approche de la programmation objet.

Notions de base relatives à la méthodologie orientée objet : type abstrait de données, classe, objet, héritage simple et multiple, objet complexe, les mécanismes d'abstraction et de paramétrisation en POO, surcharge, généricité, polymorphisme, etc. Qualités d'un langage de classe : modularité, réutilisabilité, extensibilité et maintenance. Refactorisation. Initiation au langage de modélisation UML. Technologies orientées objet. Illustration des concepts en utilisant le langage C++.

Préalable(s): (8PRO107)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8PRO408 Outils de programmation pour la science des données

Exploiter les outils informatiques d'analyse des données de masse les plus utilisés dans l'industrie.

Langage de programmation Python, introduction à R et SAS. Traitement des données avec Python, R et SAS. Installer et utiliser des modules spécialisés pour l'analyse de données : numpy, scikit learn, pandas, scipy, statsmodels pour python et dyplr, caret, ggplot2 pour R. Utilisation de data step, proc sql et macros SAS. Réalisation d'une étude analytique : hypothèses, choix des outils, validation, présentation des résultats.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8SEC201 Cybersécurité défensive : vulnérabilités et incidents

Acquérir les connaissances et les compétences permettant de gérer les vulnérabilités d'un système informatique. Comprendre comment gérer les incidents de sécurité et les étapes de réponses.

Rappel des notions fondamentales : administration d'un système, code applicatif sécurisé OWASP, réseautique, chiffrement, gestion des accès, triade de la sécurité, probabilités et impacts, et Cyber Threat Intelligence (CTI). Gestion des vulnérabilités. Configuration et utilisation d'un scanner de vulnérabilités et d'outils de découverte. Collecte et interprétation des résultats. Analyse contextuelle des vulnérabilités. Recherche de solutions et recommandations. Tests, découvertes et exploitations des vulnérabilités. Intelligence en sécurité : visibilité et stratégie. Gestion des incidents. Connaître les étapes de réponses aux incidents : préparation, détection, analyse, confinement, éradication, rétablissement, leçons apprises. Gestion des risques et niveaux de service. Décrire des surfaces dattaques. Adaptabilité de la stratégie de réponse. Plan de continuité d'affaires. Plan de recouvrement. Les preuves et comment documenter un incident. Cryptographie. Reconnaître les attaques usuelles : password spray, brute force, pivot, etc. Bases de connaissances de tactiques d'attaques et de défense : MITRE ATT&K + MITRE D3FEND.

Préalable(s): (8WEB101)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8SEC202 Enquêtes numériques et cyber-intelligence

Acquérir une connaissance et une compétence concernant les bonnes pratiques d'enquêtes numériques (Forensic). Connaître les techniques en cyber-intelligence, de l'espionnage et du renseignement numérique.

Bonnes pratiques d'enquêtes numériques : volatilité des preuves, acquisition d'évidences, manipulation des preuves, triage, reconstitution de la séquence dévénements. Pouvoir identifier l'information pouvant être utilisée comme IOC (indicateur de compromissions). Reconnaître les tactiques, les techniques et procédures utilisées par une menace. Pyramid of pain. Connaissance des diverses menaces ainsi que l'identification de celles-ci. La méthodologie de récupération et de traitement de renseignements. (BG) Explication des différents types de sources (ISAC, etc.). Comment effectuer des recherches sur le DarkWeb. Renseignement Open Source (OSINT). Outils de recherche de renseignements. Flux d'informations (gratuits, payants). Modélisation des menaces. Analyse et production d'intel. Erreurs logiques, biais cognitifs. Comprendre STIX et TAXII. Les pièges de la rédaction de rapports de renseignements. Meilleures pratiques de rédaction de rapports de renseignements.

Préalable(s): (8WEB101)

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8TRD151 Introduction aux bases de données

Connaître les différentes composantes des bases de données, leurs niveaux d'abstraction et les techniques d'organisation des données en mémoire secondaire. Introduire aux principaux concepts des systèmes de gestion de bases de données relationnelles.

Historique des types de SGBD (Hiérarchique, Réseau, Relationnel et Relationnel/Objet), Les grands fabricants de SGBD et les produits du logiciel libre, processus de conception de BD relationnelle: analyse, modélisation conceptuelle et introduction à la théorie de la normalisation. Les bases du langage SQL pour la définition des données (LDD), la manipulation des données (LMD) et le contrôle des données (LCD). Extensions procédurales de SQL pour l'interface entre les bases de données et les programmes d'application Java (SQLJ, JBDC et PL/SQL). Gestion des données en mémoire secondaire et organisation unidimensionnelle des données. Étude et expérimentation d'un SGBD réel. Utilisation d'un système de gestion de bases de données d'entreprise (Oracle). Réalisation d'un travail de conception et d'exploitation d'une base de données.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)

8WEB101 Conception et programmation de sites Web

Se familiariser avec la méthodologie, la conception et la gestion d'un site Web. Comprendre les notions de base du Web et de l'approche client-serveur.

Origines et évolution des technologies du Web. Notions de base du réseau Internet: adressage, protocole TCP/IP, fonctionnement du protocole HTTP. Architecture client-serveur. Structure d'un document avec le langage HTML. Présentation et mise en page des diverses composantes d'un site Web avec le langage CSS. Éléments dynamiques côté client: animations, utilisation élémentaire du langage JavaScript. Notions de design: formats et traitement d'images, ergonomie, accessibilité, support des standards par les navigateurs, optimisation du temps de chargement. Fonctionnement des moteurs de recherche. Configuration et gestion de base d'un serveur web; compilation de statistiques à partir des logs d'un serveur. Mise en place d'un système de gestion de contenu (CMS). Enjeux de sécurité informatique pour un utilisateur du web: cookies, hameçonnage.

Formule pédagogique : Magistral et/ou formation à distance

(09/2024)