Programme

Filtres

Filtres

La liste de résultats sera mise à jour en fonction de votre choix.

Chargement...

  • Mathématiques appliquées à l'informatique

    Mathématiques

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Identifier et utiliser les outils mathématiques utiles pour l’informatique, notamment l’algorithmique et l’apprentissage automatique
    • Définir mathématiquement les caractéristiques principales d’un algorithme: complexité/efficacité, croissance comparée, et convergence
    • Implémenter des méthodes numériques pertinentes pour le calcul d’opérations telles que l’intégration, la dérivation
    • Faire le lien entre la théorie des ensembles et la conception algorithmique (structures de données, relations logiques, bases de données)
    • Utiliser Python pour le développement des algorithmes

    Pré-requis :

    • Programmation python
    • Notions mathématiques de base

    Contenu du cours :

    Théorie des ensembles

    • Inclusion, union, intersection
    • Logique mathématique, prédicat logique
    • Algèbre relationnelle

    Analyse

    • Fonctions de base (trigonométrie, exponentielles, logarithmiques)
    • Croissance comparée (complexité algorithmique)
    • Suites
    • Calcul différentiel (lien dérivée – différences finies)
    • Calcul intégral (lien avec les méthodes numériques)

    Algèbre linéaire

    • Bases sur les espaces vectoriels (dim. finie)
    • Opérations de bases vecteur/matrices, normes
    • Calcul matriciel
    • Diagonalisation, vecteurs propres, valeurs propres
  • Architecture des ordinateurs

    Electronique

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Comprendre le fonctionnement interne et externe d’un ordinateur, depuis la logique combinatoire et séquentielle jusqu’au microprocesseur et à son intégration dans un système électronique
    • Comprendre le fonctionnement d’un microprocessur et ses périphériques et les utiliser pour résoudre des problèmes simples de contrôle, d’acquisition et de calcul
    • Identifier les éléments d’un ordinateur tels que le processeur, les mémoires et les périphériques d’entrée-sortie
    • Déterminer les caractéristiques essentielles d’un processeur (microprocesseur ou microcontrôleur)
    • Comprendre la partie matérielle d’un système à microcontrôleur
    • Comprendre la programmation d’un processeur
    • Mettre en œuvre les périphériques de base d’un microcontrôleur
    • Utiliser un environnement de développement pour processeurs dans les phases de codage, simulation et débogage
    • Maitriser la totalité de la conception d’un petit système à microcontrôleur

    Pré-requis :

    Aucun

    Contenu du cours :

    • Logique combinatoire : représentation des nombres en binaire, hexadécimal et BCD. Algèbre de Boole et fonctions combinatoires de base.
    • Logique séquentielle : bascules, registres, compteurs, synchrone et asynchrone.
    • Mémoires : Type de mémoire (ROM, EPROM, EEPROM, FLASH,SRAM et DRAM). Espaces adressables, décodage mémoire et cycle d’accès mémoire.
    • Microprocesseur : Architectures (Von Neumann, Harvard, RISC et CISC). Bus d’adresses, de données et de contrôle. Registres généraux, accumulateur, registre d’état, pointeur de code, pointeur de pile, unité arithmétique et logique, pile.
    • Echanges entre le microprocessur et son environnement : échanges programmés, Interruptions, DMA, périphériques d’entrées-sorties.
    • Programmation en assembleur : directives d’assemblage, Instructions, modes d’adressage, simulation et débogage.
  • Administration système

    Informatique

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Installer et configurer un système d’exploitation Linux Debian / Ubuntu de type serveur
    • Maîtriser la ligne de commande Linux et les scripts Bash
    • Administrer un dépôt de paquets logiciels
    • Administrer les utilisateurs et les groupes
    • Administrer le système de fichiers
    • Installer et configurer des services Linux, dont les services réseaux
    • Sécuriser le système de fichiers, les comptes et les services
    • Automatiser les tâches d’administration et de sauvegarde
    • Utiliser un conteneur Docker

    Pré-requis :

    • Notions de programmation / algorithmique
    • Notions d’architecture des réseaux
    • Programmation en C ou en Python

    Contenu du cours :

    • Présentation des systèmes GNU/Linux
    • Prise en main de la ligne de commande et des scripts Bash
    • Gestion des utilisateurs, des groupes, et des permissions
    • Gestion des paquets et des dépendances
    • Administration du stockage et partitions (fstab, LVM)
    • Système de fichiers Linux
    • Services réseaux : DHCP/DNS, Firewall (iptables, UFW)
    • Outils d’automatisation du déploiement (Ansible)
    • Programmation de tâches et démarrage (at, crontab)
    • Noyau et processus
    • Gestion des logs
    • Conteneurs Docker
  • Architecture des réseaux locaux

    Réseaux

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Concevoir une infrastructure pour un réseau local
    • Choisir et dimensionner les équipements et les ressources réseaux nécessaires
    • Configurer les équipements et les protocoles de routage et de commutation
    • Optimiser la configuration du routage et de la commutation
    • Assurer la fiabilité, la haute disponibilité et la performance d’un réseau local
    • Sécuriser l’accès aux équipements, l’échange protocolaire et les communications dans un réseau local

    Pré-requis :

    • Notions de base en architecteur TCP/IP
    • Codage binaire et hexadécimal

    Contenu du cours :

    • Introduction aux réseaux et rappels du modèle TCP/IP
    • Architectures des réseaux commutés (Ethernet)
    • Configuration et paramétrage des réseaux commutés
    • Réseaux locaux virtuels (VLAN)
    • Adressage IP et segmentation des réseaux IP
    • Interconnexion des réseaux commutés
    • Routage entre les réseaux commutés
    • Routage entre les VLAN
    • Sécuriser l’accès et les échanges sur un réseau local
    • Haute disponibilité et fiabilité
    • Optimisation et équilibrage de charge
  • Principes des langages de programmation

    Informatique

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • S’approprier les différents principes des langages de programmation
    • Comparer les différents paradigmes de programmation et selectionner le paradigme le plus adapté à la résolution d’un problème algorithmique
    • Identifier les différentes étapes d’une chaine de compilation et la mettre en oeuvre en utilisant un langage de programmation comme le C
    • Identifier les différentes étapes de l’interprétation et la mettre en oeuvre en utilisant un langage de programmation comme le Python

    Pré-requis :

    Connaissances de base en langages de programmation tels que Python, C, C++ ou Java

    Contenu du cours :

    • Besoins : introduction (propriétés intéressantes)
    • Types et structures de données (types de bases + types complexes)
    • Typage (typage statique et dynamique, typage faible et fort )
    • Paradigmes (langages de manipulation de chaînes de caractères, impératifs, procéduraux, fonctionnels, orientés objet, orientés aspect, multiparadigmes)
    • Compilateurs et interpréteurs
    • Chaîne de compilation : Langage C
    • Interpretation : Python
    • Mettre en oeuvre des programmes avec une chaine de compilation en langage C
    • Mettre en oeuvre des programmes interprétés avec Python
  • Virtualisation et Cloud

    Réseaux

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Définir les principaux fondamentaux de la virtualisation et de la conteneurisation
    • Comparer les différentes solutions Cloud existantes (privé, public et hybride)
    • Concevoir et déployer des services adaptés à son environnement de travail dans un Cloud privé
    • Configurer et gérer des infrastructures virtualisées avec VMware vSphere
    • Mettre en œuvre des services de haute disponibilité pour des infrastructures virtualisées, incluant la gestion des ressources avec DRS et vSphere HA
    • Déployer et configurer des conteneurs à l’aide de Docker, en maîtrisant l’utilisation de Dockerfiles pour le deploiement et l’exploitation
    • Configurer des datastores partagés avec TrueNAS et iSCSI pour faciliter la migration de machines virtuelles avec vMotion
    • Configurer et administrer des réseaux virtualisés à l’aide de VSS (Virtual Standard Switch) et VDS (Virtual Distributed Switch) pour optimiser la gestion des infrastructures virtualisées

    Pré-requis :

    • Connaissances de base en réseaux informatiques : Comprendre les fondamentaux des réseaux (adresses IP, commutateurs, routage)
    • Expérience avec les systèmes d’exploitation : Avoir des notions de base en administration de systèmes (Linux et Windows) pour installer et configurer des services simples
    • Maîtrise des commandes en ligne : Être à l’aise avec l’utilisation de l’interface en ligne de commande (CLI), sans expérience spécifique avec Docker ou ESXi

    Contenu du cours :

    Conteneurisation avec Docker :

    • Introduction à Docker et à la conteneurisation
    • Création et déploiement de conteneurs avec Dockerfiles
    • Configuration, déploiement et utilisation de conteneurs
    • Gestion des images et des volumes Docker

    Principes de la virtualisation et du cloud :

    • Introduction aux concepts de virtualisation (serveurs, réseaux, stockage)
    • Différentes solutions Cloud: privé, public, hybride
    • Introduction à VMware vSphere

    Virtualisation des serveurs avec VMware vSphere :

    • Installation et configuration d’ESXi
    • Déploiement et gestion de VCenter
    • Configuration des VSS (Virtual Standard Switch) et VDS (Virtual Distributed Switch) pour la virtualisation des réseaux
    • Mise en place de la haute disponibilité (HA) avec DRS (Distributed Resource Scheduler) et vSphere HA

    Virtualisation des réseaux :

    • Configuration des commutateurs virtuels : VSS et VDS
    • Optimisation des réseaux virtualisés dans une infrastructure VMware

    Gestion du stockage dans un environnement virtualisé :

    • Introduction aux types de stockage (NAS, SAN)
    • Configuration d’un stockage partagé avec TrueNAS et iSCSI
    • Gestion des datastores et leur utilisation avec VMware vSphere

    Déploiement de services en haute disponibilité :

    • Configuration de clusters vSphere HA et DRS pour assurer la continuité des services
    • Utilisation de vMotion pour la migration de machines virtuelles sans interruption

    Projet pratique de déploiement d’un cloud privé :

    • Installation et configuration d’ESXi
    • Déploiement et gestion de VCenter
    • Mise en place et configuration de vSphere HA, VSS/VDS, et DRS
    • Configuration d’un datastore partagé avec TrueNAS et migration de VM via vMotion
  • Architecture Cloud

    Réseaux

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Identifier les différents types de cloud existants et les cas d’usage de chaque type (public, privé, hybride)
    • Avoir un aperçu du marché du Cloud Computing
    • Comprendre les principaux types de services de Cloud Computing (IaaS, PaaS, SaaS)
    • Créer des plans de migration d’infrastructures systèmes locales (on-premise) vers le cloud en considérant les spécificités de chaque environnement
    • Concevoir des infrastructures informatiques cloud sécurisées et fiables
    • Prendre en compte l’optimisation des coûts de déploiement et d’exploitation d’infrastructures cloud
    • Automatiser les déploiements d’infrastructures cloud
    • Sécuriser les données à chaque couche de l’application, en intégrant des pratiques de sécurité adaptées à l’environnement cloud

    Pré-requis :

    • Connaissances de base en informatique : Compréhension des concepts fondamentaux des systèmes d’exploitation, des réseaux et du stockage
    • Connaissance de base dans l’administration de systèmes (Linux et Windows)

    Contenu du cours :

    • Introduction au cloud : Présentation des concepts et principes de Cloud Computing
    • Ajout d’une couche de stockage : Services de stockage et leur intégration dans des solutions cloud
    • Ajout d’une couche de calcul : Services de calcul et leur déploiement pour les applications
    • Ajout d’une couche de base de données : Options de bases de données pour les applications web
    • Création d’un environnement réseau : Mise en place et gestion des réseaux dans le cloud
    • Connexion des réseaux : Intégration de différents réseaux et gestion de la connectivité
    • Sécurisation de l’accès utilisateur et des applications : Meilleures pratiques pour sécuriser les accès
    • Implémentation de l’élasticité, de la haute disponibilité et du monitoring : Stratégies pour garantir la performance et la fiabilité des systèmes
    • Automatisation de l’architecture : Utilisation d’outils pour automatiser la gestion des ressources
    • Mise en cache de contenu : Techniques de mise en cache pour améliorer la performance des applications
    • Construction d’architectures découplées : Approches pour créer des systèmes modulaires et flexibles
    • Construction de systèmes microservices et sans serveur : Concepts et meilleures pratiques pour les architectures modernes
    • Planification des mesures de reprise après sinistre : Stratégies pour assurer la continuité des activités
    • Préparation à la certification : Ressources et conseils pour l’examen AWS Certified Solution Architect – Associate.
  • Cryptographie et protocoles pour la sécurité informatique

    Réseaux

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Analyser les différents algorithmes de cryptographie et identifier leur rôle dans la sécurisation des communications et des informations
    • Appliquer des techniques et algorithmes cryptographiques pour sécuriser efficacement les informations et les communications numériques
    • Évaluer les risques de sécurité liés aux vulnérabilités des systèmes informatiques avec un focus sur les aspects cryptographiques et proposer des solutions adaptées pour atténuer ces risques.
    • Intégrer les bonnes pratiques pour développer et intégrer des applications sécurisées
    • Implémenter et configurer des protocoles sécurisés tels que SSL/TLS et SSH, essentiels pour la sécurisation des communications réseaux
    • Assurer la gestion des clés Cryptographiques : génération, partage, stockage, et révocation
    • Identifier les vulnérabilités cryptographiques et réaliser des audits de sécurité ciblés
    • Appliquer une politique de sécurité adaptée face aux risques et menace cyber.

    Pré-requis :

    • Principes de base de l’algèbre et des mathématiques discrètes
    • Notions de base des probabilités et des statistiques
    • Fondamentaux de la programmation en langages tels que Python ou Java
    • Structures de données (listes, files, piles, tables de hachage)
    • Principes de base des systèmes d’exploitation
    • Notions de base sur le fonctionnement des réseaux TCP/IP et des architectures réseau.

    Contenu du cours :

    Enjeux de la sécurité informatique

    • Importance de la sécurité de l’information
    • Risques et conséquences des cyberattaques
    • Analyse de différents types de cyberattaques
    • Déni de service et déni de service distribué (DoS ou DDoS)
    • Rançongiciel (Ransomware)
    • Hameçonnage (Phishing)
    • Password Spraying
    • Dépassement de tampon (buffer overflow)
    • Attaque par force brute, dictionnaire
    • Malware
    • Les méthodes et les outils d’attaque

    La cryptologie et ses applications dans le domaine de la sécurité informatique

    • Cryptographie, présentation des outils de cryptographie
    • Chiffrements symétriques et asymétriques
    • Introduction au hachage et à la sécurité des mots de passe
    • Principes du hachage cryptographique
    • Hachage de mot de passe avec salting
    • Méthodes pour renforcer la sécurité des mots de passe
    • Chiffrement et signature numérique
    • Infrastructure à clé publique (PKI)
    • Présentation des PKI (Public Key Infrastructure) et HTTPS
    • Certificate Authority Based
    • Utilisation de certificats (X509)
    • Web of Trust (PGP)
    • TOFU (SSH, Signal Protocol)

    Travaux pratiques : Exercices pratiques et outils pour l’audit de sécurité des mots de passe

    • Utilisation d’outils de « cracking » de mot de passe (John the Ripper, Hashcat)
    • Techniques d’audit pour évaluer la robustesse des mots de passe

    Travaux pratiques : Création et configuration de certificats pour HTTPS

    • Générer une paire de clés (publique et privée)
    • Création de demandes de signature de certificat (CSR)
    • Signature et gestion de certificats avec une autorité de certification (CA) ou en auto-signé
    • Configuration de serveurs web (par exemple, Apache, Nginx) pour utiliser HTTPS
  • Anglais S5

    Anglais

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • S’exprimer en anglais, à l’écrit et à l’oral, et communiquer dans les situations professionnelles et personnelles qu’ils rencontrent
    • Ce cours est le premier d’une série de 5 cours, dont la finalité est d’obtenir le niveau de compétence B2 minimum sur l’échelle CECRL (Cadre Européen Commun de Référence pour les Langues)
    • L’objectif des enseignements dans ce cours est de poser les bonnes bases pour que les élèves puissent atteindre le niveau B1 à la fin de leur première année. Les enseignements s’articulent autour des deux thèmes : l’actualité et « apprendre pour apprendre ».

    Contenu du cours :

    • Lecture, analyse et compréhension de l’actualité écrite, audiovisuelle et en ligne
    • Se familiariser avec l’anglais : style, tournures des phrases, accentuation, prononciation, expression gestuelle, et différence par rapport à la langue française.
    • Apprendre au fur et à mesure à adopter un style de communication, en adéquation avec le contexte, à l’oral comme à l’écrit
    • Appliquer des stratégies de communication
    • Apprendre à s’autoévaluer
    • Les élèves doivent suivre l’actualité en anglais et produire un rendu avec les vocabulaires et les expressions apprises
  • SHES - Géopolitique

    Sciences humaines, économiques et sociales

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Connaître les différentes facettes de la géopolitique
    • Inclure la dimension géopolitique au sein de la stratégie d’entreprise et de ses projets
    • Comprendre la géopolitique des années 2020 et ses liens avec des faits historiques marquants
    • S’informer des évolutions géopolitiques prévisibles et des opportunités et risques induits.

    Pré-requis :

    • Notions de géographie mondiale
    • Notions d’économie (soit le cours d’Economie et citoyenneté aura eu lieu, soit un rappel sera opéré)

    Contenu du cours :

    • Présentation de la géopolitique
    • Place de la géopolitique dans la stratégie d’entreprise et dans l’intelligence économique
    • Notions de pays, de citoyens, d’institutions mondiales
    • Le rôle de la géographie (au sens large) dans la Géopolitique
    • Le rôle des opinions politiques et religieuses dans la Géopolitique
    • Le rôle de la démographie, des migrations
    • Les BRICS + et leurs projets
    • La géopolitique du sport, de la culture, de la mode, etc.
    • Géopolitique et mondes non-terrestres
    • Géopolitique et mutations environnementales (au sens large)
    • Géopolitique et innovations (industrielles, services, etc.).

    Le module, compte-tenu de ses thématiques, et de l’actualité mondiale, débutera par la présentation d’une charte de bonne conduite (neutralité, recoupement des informations, modération). Chaque séance incluera une revue de presse en trois parties (International, France, Signaux faibles).

  • SHES - Pilotage d'entreprise

    Sciences humaines, économiques et sociales

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Découvrir le plus de facettes possibles du pilotage d’une entreprise
    • Mettre en œuvre les actions de stratégie, marketing, gestion financière, communication (Interne et Externe), gestion d’équipe et gestion du temps dans le pilotage d’entreprise sur un simulateur qui gère la concurrence économique

    Pré-requis :

    • Maîtrise d’Excel
    • Connaître les bases de la gestion et des méthodologies de stratégie peut être utile

    Contenu du cours :

    • Les élèves sont répartis par équipe. Chaque équipe se doit de piloter une entreprise sur un simulateur qui gère la concurrence économique. L’apprentissage se base sur la stratégie de « Learning by Doing », avec une possibilité de se documenter un peu à l’avance sur le cas
    • Le timing est volontairement lent au début dans un contexte simple à gérer. Tout s’accélère ensuite, avec beaucoup d’évènements à traiter. Nous limitons quand même sciemment l’accélération pour que les participants puissent prendre le recul demandé sur les notions acquises, sur le comportement de l’équipe et aussi pour qu’ils construisent leurs propres outils de pilotage
    • Le scénario vécu comporte des périodes de croissance et de décroissance, une crise sanitaire, un communiqué de presse, un cahier des charges à destination d’une agence de publicité, un appel d’offre, une pandémie, un challenge de prévision financière, la recherche et le suivi d’indicateurs pour la construction d’un tableau de bord
    • Une synthèse finale défendant le pilotage réalisé est demandée
    • Par ailleurs la créativité est sollicitée puisque le futur lointain du secteur est très noir et il est demandé aux participants d’imaginer des solutions pour assurer la survie de l’entreprise
    • Comme tout cela est multi-factoriel et concurrentiel, les participants sont amenés à constater que le marché ne réagit pas forcément aux sollicitations d’une entreprise, et que tout dépend de ce que font les concurrents
    • Sur le plan des Relations Humaines, une prise de recul est demandée sur l’attitude des individus et de l’équipe. Comment savoir imposer ses idées, ou au contraire savoir accepter et appliquer celles des autres pour que le groupe soit efficace.
  • SHES - Green IT

    Sciences humaines, économiques et sociales

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Comprendre les enjeux environnementaux et sociaux du numérique
    • Découvrir les méthodes de mesure d’empreinte environnementale du numérique
    • Découvrir l’écoconception
    • Découvrir l’accessibilité numérique

    Contenu du cours :

    • Fresque du Numérique
    • Empreinte environnementale du numérique et stratégie numérique responsable : comment mesurer et définir une stratégie NR
    • L’écoconception : qu’est-ce que c’est et Comment s’y prendre ?
    • L’accessibilité numérique : qu’est-ce que c’est et Comment s’y prendre ?
  • SHES - Prise de parole en public et la créativité et ses enjeux

    Sciences humaines, économiques et sociales

    Année 3 Semestre 5

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    Savoir s’exprimer devant un public, dans des situations variées, (souvent déstabilisantes) :

    Savoir transmettre un message construit, répété, préparé ou improvisé :

    • en contrôlant des attitudes (ancrage, langage corporel, stress
    • en maîtrisant sa diction, sa voix et sa respiration
    • en développant son écoute active de la situation (spectateurs, environnement, partenaires)
    • Maîtriser la qualité de ses interventions
    • Savoir se mettre en valeur et utiliser ses qualités

    Travailler sa créativité (spontanée et réfléchie)

    Travailler en groupe. Améliorer et analyser son comportement dans le travail en équipe

    Prendre conscience de soi (concentration, relâchement, fonctionnement, gestes ou attitudes parasites)

    Contenu du cours :

    • Exercices d’improvisation, de prise de parole en public, de respiration, de concentration, de relâchement…, Apports théoriques
    • Travaux collectif et individuel
    • Nous avons fait le choix d’une pédagogie favorisant la progression en abordant tous les objectifs (prise de parole, créativité, gestion du stress) à chaque séance en augmentant progressivement la difficulté des exercices
    • Exercice en groupe : Rotation permanente des groupes pour forcer l’adaptation des étudiants à un nouveau contexte et une confrontation avec différentes énergies, différentes personnalités. L’écoute de ses partenaires au service d’un projet commun, que ce soit en improvisation ou en préparation, est une constante des exercices de groupe.
  • Systèmes d'exploitation et programmation concurrente

    Informatique

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Décrire les fonctionnalités et les architectures possibles d’un système d’exploitation
    • Comprendre le fonctionnement interne du système d’exploitation Linux (processus, fichiers, mémoire, etc.)
    • Comprendre les notions de processus et threads, les contextes d’exécution et le concept d’ordonnancement de threads/processus
    • Maîtriser les concepts et notions sous-jacents à la programmation concurrente
    • Résoudre des problèmes algorithmiques en se servant de la programmation concurrente
    • Savoir développer une application utilisant les threads/processus et les mécanismes de synchronisation et de communication en C.

    Pré-requis :

    Une solide base de programmation en langage C : structure d’un programme, types simples et structurés (tableau, structures), structures de contrôle, fonctions, et pointeurs

    Contenu du cours :

    • Architecture et fonctionnement interne d’un système Linux
    • Types de fichiers sous linux – Rappel
    • Programmation en C – Rappel (Types, variables, fonctions, passage de paramètres)
    • Processus et threads
    • Signaux sous linux
    • Communication entre processus : tubes, fichiers, redirection
    • Synchronisation des processus – sémaphores
    • Partage de mémoire entre processus: Mutex
    • Programmation concurrente: Multiprocessing et Multithreading
  • Structures de données et algorithmique

    Réseaux

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Comprendre les concepts fondamentaux de l’analyse des algorithmes (analyse de la complexité des algorithmes, Master Theorem)
    • Concevoir et évaluer des algorithmes efficaces
    • Maîtriser les paradigmes algorithmiques courants (diviser pour régner, programmation dynamique)
    • Utiliser efficacement les structures de données : Sélectionner les structures de données appropriées et analyser les opérations sur ces structures
    • Résoudre des problèmes pratiques : modéliser des problèmes sous forme algorithmique et implémenter les algorithmes
    • Maîtriser les algorithmes classiques (tris, parcours de graphes, plus courts chemins…)
    • Justifier les choix algorithmiques

    Pré-requis :

    • Notions de mathématiques discrètes : combinatoire, raisonnement par récurrence
    • Algèbre et analyse : calcul matriciel, manipulation de fonctions, limites, logarithmes et exponentielles, croissances comparées
    • Programmation : niveau de base en Python (syntaxe, fonctions, classes…)

    Contenu du cours :

    • Structures de données vs. Types de données ; structures et types usuels
    • Introduction à la complexité algorithmique
    • Fonctions récursives ; paradigme « Diviser pour régner » ; Master Theorem
    • Structures arborescentes (arbres, arbres binaires de recherche, arbres équilibrés…)
    • Introduction à la théorie des graphes ; modélisation d’un problème à l’aide de graphes
    • Parcours de graphes
    • Fonctions Programmation dynamique
  • Mise en oeuvre d'un système à microprocesseur

    Electronique

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Comprendre par la pratique et au travers de la mise en œuvre d’une application le fonctionnement d’un microprocesseur et de son intégration dans un système électronique
    • Utiliser un microprocesseur (microcontrôleur) et ses périphériques pour résoudre des problèmes simples de contrôle, d’acquisition et de calcul
    • Identifier à partir de la documentation d’un microprocesseur :

    – Le type d’architecture, la capacité de calcul et la capacité d’adressage mémoire
    – Les entrées-sorties et la signification de ses signaux d’adresses, de données et de contrôle
    – Les registres d’adresses, registres généraux, registres de contrôles
    – Les périphériques intégrés

    • Concevoir un système à base d’un microprocesseur :

    -Définir les zones d’adressage pour la mémoire et les périphériques d’entrées-sorties
    – Fabriquer la cartographie mémoire
    – Ecrire les équations de décodage des mémoires et des entrées sorties et les réaliser

    • Programmer un microcontrôleur en C :

    – Ecrire un algorithme, écrire le programme correspondant et le corriger
    – Comprendre l’incidence des instructions sur les registres de contrôles
    – Exécuter le programme
    – Utiliser les outils de DEBUG pour vérifier le bon fonctionnement du programme

    Pré-requis :

    Cours d’architecture des ordinateurs du semestre 5 (3IRC).

    Contenu du cours :

    Prise en main du simulateur et connaissance du 8051F020

    • Architecture générale et structure interne du 8051F020
    • Présentation du langage C et spécificité du 8051F020
    • Prise en main de l’environnement KEIL (écriture, simulation, visualisation, DEBUG, etc.).
    • Initiation au langage C et programmation du 8051F020
    • Ecriture de sous programmes et manipulation de la pile

    Découverte et mise en œuvre des périphériques intégrés du 8051F020

    • Approche méthodologique
    • Identification des registres, mise en évidence des drapeaux, programmation et principe de vérification matérielle
    • Applications (ports d’entrées sorties, interruptions, liaison série, compteurs et temporisateurs, CAN, CNA, …)

    Mise en œuvre d’une application pratique : analyse d’un cahier des charges, proposition d’une solution, programmation, débogage et vérification du fonctionnement

  • Bases de données

    Informatique

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Concevoir (modéliser) une base de données relationnelle normalisée et la créer.
    • Requêter et manipuler les données d’une base de données relationnelle
    • Améliorer les performances d’une base de données relationnelle : dénormalisation (nécessaire et suffisante) du schéma, indexation, clusters, tables partitionnées
    • Administrer un SGBD relationnelles

    Contenu du cours :

    • Modélisation, Formes normales
    • Algèbre relationnelle
    • SQL
    • Dénormalisation d’un schéma relationnel
    • Indexation et autres techniques d’optimisation d’une BD relationnelle
    • Administration d’un SGBD relationnelles
  • Développement embarqué et IoT

    Réseaux

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Concevoir une architecture IoT en maîtrisant les composants clés : objets, passerelles, contrôleurs, et applications
    • Analyser et comparer les différents types de liaisons sans fil pour objets connectés
    • Configurer et évaluer les protocoles d’acquisition de données à partir des capteurs
    • Traiter les données provenant de dispositifs Android pour le contrôle d’actionneur
    • Mettre en œuvre des stratégies de collecte et de transmission des données IOT vers le cloud
    • Concevoir et implémenter une chaîne de traitement IoT complète, du capteur au stockage et traitement des données sur le cloud ou sur le concentrateur

    Pré-requis :

    • Notions de base en informatique : Connaissance des concepts fondamentaux des systèmes d’exploitation, des réseaux, et du traitement des données
    • Connaissances de base en électronique : Compréhension des microcontrôleurs et capteurs

    Contenu du cours :

    Conception d’une architecture IoT :

    • Architecture générique de l’IoT
    • Configurer des communications M2M, P2M, P2P
    • Analyser les domaines d’application de l’IoT

    Mise en œuvre des protocoles d’acquisition de données :

    • Configurer les microcontrôleurs pour capteurs (numérique, analogique, I2C, SPI).

    Analyse des protocoles de collecte de données :

    • Configurer des passerelles pour liaisons filaires ou radiofréquences (WiFi, Zigbee, Bluetooth, Lora, Zigfox).

    Traitement des données sur dispositifs mobiles :

    • Exploiter les capteurs d’un dispositif Android pour contrôler des acteurs.

    Transmission sécurisée vers le cloud :

    • Configurer le protocole MQTT pour la transmission des données.

    Projet d’intégration IoT :

    • Concevoir et configurer une solution complète (capteur, microcontrôleur, passerelle, cloud, visualisation des données).
  • Conception et programmation orientées objet en Java

    Informatique

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Faire évoluer l’architecture d’une application Java tout en respectant la conception initiale et en garantissant la qualité du programme (respect des principes S.O.L.I.D en s’appuyant sur les piliers de la POO que sont : l’abstraction, l’encapsulation, l’héritage, le polymorphisme.).
    • Concevoir les tests avant de coder.
    • Evaluer la conception et son impact sur la facilité de maintenance (corrections et évolutions mineures), d’extension (ajout de nouvelles fonctionnalités) et de réutilisation des composants du programme.

    Pré-requis :

    Programmation en C ou Python ou Java

    Contenu du cours :

    • Le cours est organisé en 4 ateliers qui s’appuieront sur un projet fil rouge à développer, développement qui sera entrecoupé d’activités de recherche et de transfert de compétences, de brainstorming collectifs et d’interludes théoriques.
    • Il est conçu de manière à ce que chacun.e puisse avancer à son rythme, en fonction de ses prérequis, en privilégiant le travail collaboratif pour acquérir un maximum de compétences.
    • Le programme FilRouge est développé de manière incrémentale à partir d’une base fournie. Le langage utilisé est le Java.
    • La pédagogie s’appuie sur les principes de la classe inversée (exploration autonome des ressources, exercices et consolidation des acquis en séance) et d’apprentissage par problèmes (1 gros pb décomposé en une succession d’étapes avec pour chaque la compréhension du pb, l’acquisition de connaissance (auto-formation), la recherche et la mise en œuvre de la solution).
  • Architectures et langages du Web

    Informatique

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Développer des applications web pleinement dynamiques en utilisant les langages adaptés côté serveur et côté client
    • Concevoir des services web respectant une architecture standardisée qui profite pleinement des composants du protocole HTTP
    • Documenter et tester des services web pour garantir leur bonne intégration
    • Profiter de l’asynchronicité propre à l’architecture client-serveur pour dynamiser ces applications
    • Choisir et implémenter des architectures et outils adaptés au web qui garantissent modularité et maintenabilité
    • Sécuriser les échanges et les données

    Pré-requis :

    • Notions de base en programmation (la connaissance d’un langage héritant du C est un plus : C, C++, C#, Java, etc.)
    • Connaissances solides en HTML et CSS.
    • Connaissances de base en JavaScript (une maîtrise du concept d’asynchronicité et de la notion de Promise sont un plus).
    • Une compréhension des principes de bases de la POO sont un plus.
    • Des ressources sur HTML, CSS et JavaScript seront fournies en amont avant le démarrage du module.

    Contenu du cours :

    • Prise en main du langage côté serveur (PHP)
    • Réalisation d’une API REST, utilisation avancée d’HTTP (en-têtes, statuts, méthodes)
    • Documentation d’API avec Swagger, Postman ou assimilé
    • Appels HTTP en JavaScript (promesses et fetch)
    • Architectures et outils abordés :

    –              Point d’entrée unique et routage

    –              MVC

    –              Rendus côté serveur et côté client

    –              Moteur de templates

    • Sécurité : session, authentification, contrôle de données, CORS
  • Anglais-S6

    Anglais

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Mener et participer à une réunion d’ordre professionnel
    • Préparer une réunion et en rédiger le compte-rendu
    • Gérer et mener à bien une situation professionnelle conflictuelle
    • Analyser un texte et rédiger un commentaire
    • Composer un texte en anglais
    • Faire une présentation orale sur un sujet imposé et/ou libre (actualité, environnement, géopolitique, santé, IT, …)

    Contenu du cours :

    • Développement des communications orales et écrites
    • Développement des techniques de présentations
    • Aperçu des différentes cultures d’entreprises internationales
    • Gestion de conflit
  • SHES - Economie

    Sciences humaines, économiques et sociales

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Connaître les bases de l’économie (macro-économie, micro-économie, principaux courants, principales lois)
    • Rapprocher les notions économiques de la vie de l’entreprise dans sa dimension stratégique (moyen/long terme) voire opérationnelle (court terme)
    • Comprendre les risques que les situations et évolutions économiques génèrent, et s’y préparer
    • Connaître les modes de financement des entreprises
    • Intégrer une dimension éthique/citoyenne dans l’approche financière du développement d’une entreprise ou d’un projet.

    Pré-requis :

    • Connaissance minimale du fonctionnement d’un Etat (présidence, ministère, banques…)
    • Connaissance minimale du fonctionnement d’une entreprise (associés/actionnaires, marchés…)

    Contenu du cours :

    • Présentation de l’économie
    • Macro-économie, micro-économie : indicateurs et acteurs
    • Mondialisation / démondialisation
    • Intelligence économique
    • Souveraineté industrielle et relocalisations
    • Eco-responsabilité et marché des gaz à effet de serre
    • Financement des entreprises
    • Fixation du prix de vente des produits/services en environnement concurrentiel
  • SHES - Droit

    Sciences humaines, économiques et sociales

    Année 3 Semestre 6

    Tronc commun

    Objectifs pédagogiques / Acquis du cours :

    • Comprendre les fondamentaux du droit des brevets
    • Appréhender les enjeux économiques et stratégiques des brevets pour les entreprises
    • Développer des compétences en recherche de brevets et en rédaction de demandes de brevets
    • Sensibilisation aux questions éthiques et juridiques liées à la propriété intellectuelle

    Pré-requis :

    Connaissances générales des concepts fondamentaux de l’innovation et de la recherche-développement

    Contenu du cours :

    • Introduction au droit des brevets
    • Recherche de brevets et information brevets
    • Aspects économiques et éthiques des brevets
    • Études de cas et ateliers pratiques
  • Majeure Développement, DATA et IA - DevOps CI et CD

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre et mettre en place une logique de Versioning compatible avec la CI/CD.
    • Comprendre et mettre en place une chaine d’intégration continue (CI).
    • Comprendre et mettre en place une chaine de déploiement continue (CD).
    • Provisionner automatiquement des serveurs virtualisés.
    • Connaitre et d’utiliser les outils DevOps indispensables, notamment docker.

    Pré-requis

    • Connaissance des systèmes linux.
    • Connaissance et mise en œuvre de projet versionné (e.g Git)

    Contenu du cours

    Présentation de l’intégration continue

    • Introduction à l’intégration continue
    • Présentation des outils de versioning (Git)
    • Présentation des outils de gestion de dépendances et d’automatisation (Maven, Yarn)
    • Présentation des outils d’intégration continue (e.g Travis-Ci, Gitlab-ci , Jenkins) et des pipelines d’intégration.

    Présentation et mise œuvre du provisioning de serveur

    Présentation et mise en œuvre des outils du DevOps

    • Introduction à la virtualisation (dont les différents modes de virtualisation)
    • Initiation aux containeurs

    Usage

    Création d’images

    Volumes, réseaux

    Lancement/déploiement (e.g Docker compose)

    • Outil de management de configuration et de déploiement d’application (e.g Ansible)

    Mise en œuvre d’une chaine d’intégration continue et de déploiement continue à l’aide de docker

    • Réalisation d’une chaine CI à l’aide d’outils containerisés
    • Réalisation d’une chaine CD
  • Majeure Développement, DATA et IA - Mathématiques appliquées 2

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Couvrir les concepts fondamentaux de l’algèbre linéaire et des statistiques, indispensables pour l’analyse et la manipulation des données dans le domaine de l’apprentissage automatique
    • Lier les notions d’espaces vectoriels aux problématiques de la modélisation de données et savoir résoudre des problèmes simples formulés dans ce contexte (régression linéaire par exemple)
    • Maîtriser et savoir mettre en œuvre des méthodes de résolution itératives basées sur la descente de gradient en sachant analyser la convergence d’un tel algorithme (critère d’arrêt, optimalité globale ou locale)
    • Caractériser la complexité d’un système grâce à des outils tels que le conditionnement et l’analyse en composantes principales
    • Maîtriser les notions de bases de statistiques (biais, variance) pour qualifier la qualité d’un estimateur, et à terme les résultats d’un modèle d’apprentissage
    • Utiliser le langage Python et les librairies pertinentes dans un contexte de programmation scientifique pour l’apprentissage automatique

    Pré-requis

    • Bases de la programmation scientifique en python
    • Calcul différentiel et intégral, algèbre élémentaire

    Contenu du cours

    Algèbre linéaire 

    • Bases sur les espaces vectoriels (dim. finie)
    • Opérations de bases vecteur/matrices, normes
    • Calcul matriciel
    • Diagonalisation, vecteurs propres, valeurs propres

    Probas/Stats 

    • Probas : Loi de Bayes, in/dépendance statistique, densité de probabilité
    • Moyenne, variance, covariance, corrélation
    • Notions de base sur les estimateurs
    • Régression linéaire (moindres carrés)
    • Conditionnement
    • Optimisation (convexité, descente de gradient, critère d’arrêt, convergence)
    • Analyse en composantes principales (réduction de dimension)
  • Majeure Développement, DATA et IA - Sécurité du Web et du code

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Implémenter des mécanismes d’authentification robustes, tels que OAuth2, OpenID Connect, et MFA (Multi-Factor Authentication).
    • Appliquer les concepts de sécurité des API et des sessions.
    • Identifier et corriger les failles de sécurité courantes comme celles décrites par l’OWASP Top 10 (Injection, XSS, CSRF, etc.).
    • Configurer et sécuriser les politiques CORS pour les applications web.
    • Intégrer les bonnes pratiques de sécurité tout au long du cycle de développement logiciel.
    • Communiquer efficacement sur les vulnérabilités et les risques de sécurité avec des équipes pluridisciplinaires.

    Pré-requis

    • Connaissance de base en programmation (Python, JavaScript, ou autre).
    • Notions d’architecture web (Client-Serveur, API REST).
    • Familiarité avec les concepts fondamentaux de la cryptographie (chiffrement symétrique et asymétrique, hashage).

    Contenu du cours

    Introduction à l’authentification :

    • Concepts de base : Identification, Authentification, Autorisation.
    • Stratégies d’authentification : mots de passe, gestion des sessions, Single Sign-On (SSO), OAuth2, OpenID Connect.
    • Authentification multifactorielle (MFA) et biométrie.

    Sécurisation des applications web :

    • OWASP Top 10 : Étude des principales failles de sécurité.
    • Techniques de prévention et de correction : Validation des entrées, Protection contre les injections SQL, XSS, et CSRF.
    • Gestion des sessions et des tokens.
    • Politiques CORS : Concepts, risques, et configuration sécurisée.

    Qualité et sécurité du code :

    • Principes de Clean Code pour la sécurité.
    • Techniques de revues de code et pair programming pour détecter les vulnérabilités.
    • Outils d’analyse statique et dynamique de code (SonarQube, SAST, DAST).

    Tests et audits de sécurité :

    • Introduction au pentesting des applications web.
    • Automatisation des tests avec des frameworks (e.g., OWASP ZAP, Burp Suite).
    • Reporting des vulnérabilités et recommandations.

    Standards et normes :

    • Normes et standards de sécurité (ISO 27001, NIST, OWASP ASVS).
    • Établissement de politiques de sécurité conformes aux meilleures pratiques.
  • Majeure Développement, DATA et IA - Design Patterns

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    Concevoir et développer des Applications robustes et pérennes faciles à :

    • Développer : Simplicité de création.
    • Maintenir : Gestion aisée des corrections et évolutions.
    • Étendre : Ajout de nouvelles fonctionnalités sans altérer l’existant.
    • Réutiliser : Utilisation de composants dans d’autres projets.

    Pour atteindre ces objectifs, suivre une approche Méthodologique en se basant sur :

    • Les bonnes pratiques de conception objet et le respect des principes S.O.L.I.D.
    • Les piliers de la POO que sont l’abstraction, l’encapsulation, l’héritage et le polymorphisme.
    • L’utilisation de Design Patterns : se sont des solutions éprouvées pour résoudre des problèmes récurrents de conception / qui respectent eux même les principes S.O.L.I.D et s’appuient sur les piliers de la POO.

    L’utilisation de Design Patterns suppose d’être capable de :

    • Identifier les problématiques types.
    • Identifier, Adapter et mettre en œuvre les Design Patterns appropriés.

    Pré-requis

    Module de Programmation Orientée Objet.

    Contenu du cours

    • Un 1er atelier d’analyse d’un programme existant (simulateur ultra simplifié de site de e-commerce) pour identifier ce qui permet et ce qui empêche de le faire évoluer facilement.
    • 2 ateliers qui présentent des évolutions de ce programme avec analyse des patterns mis en œuvre.
    • Un 4ème atelier d’entraînements à l’identification de patterns existants dans un code ou de prescription de pattern à utiliser dans des contextes divers.
    • Un 5ème atelier de découverte des DP non étudiés précédemment (si le temps le permet).
  • Majeure Développement, DATA et IA - Conférences

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Assister à des conférences variées sur des thématiques techniques et non techniques

    Découvrir des nouvelles perspectives en explorant des sujets d’actualité couvrant à la fois des aspects technologiques et des domaines transverses, tels que la gestion, la communication ou l’éthique.

    • Explorer les dernières innovations dans le domaine numérique et technologique

    Se tenir informé des tendances émergentes, des avancées technologiques et des applications innovantes qui transforment les secteurs industriels et les modes de vie.

    • Échanger et dialoguer avec des experts issus de l’industrie et du monde académique

    Profiter d’interactions enrichissantes avec des professionnels, chercheurs et décideurs pour comprendre leurs visions, leurs approches et les défis qu’ils rencontrent.

    • Bénéficier de retours d’expérience d’entrepreneurs et d’innovateurs

    S’inspirer des parcours, des stratégies et des bonnes pratiques de leaders ayant relevé des défis concrets dans le cadre de projets entrepreneuriaux ou technologiques.

    • Stimuler l’ouverture sur la recherche et l’innovation scientifique

    Renforcer ses connaissances et sa curiosité en s’immergeant dans les enjeux de la recherche actuelle, les problématiques scientifiques de pointe et les solutions innovantes.

    • Développer son réseau professionnel et académique

    Nouer des contacts stratégiques avec des pairs, des mentors et des potentiels collaborateurs pour enrichir ses opportunités de carrière et ses projets futurs.

    • Renforcer ses compétences en veille technologique et stratégique

    Identifier les signaux faibles et les tendances futures pour anticiper les évolutions dans son secteur d’activité.

    • Contribuer activement à des débats et réflexions de haut niveau

    Participer à des discussions constructives, poser des questions et partager ses idées pour enrichir les échanges et favoriser l’innovation collective.

    Contenu du cours

    • Conférences techniques et scientifiques
    • Conférences entrepreneuriales et innovantes
    • Conférences interdisciplinaires
    • Témoignage et retour d’expérience
  • Majeure Développement, DATA et IA - Projet transversal

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Mettre en œuvre et intégrer diverses compétences à travers un projet collaboratif
      Réaliser un projet en équipe de 4 ou 5 étudiants, en combinant les compétences en développement logiciel, réseau, IoT et sécurité pour une approche multidisciplinaire.
    • Analyser et synthétiser les spécifications et le cahier des charges
      Étudier et comprendre les exigences techniques et fonctionnelles, puis synthétiser ces informations pour guider le développement du projet.
    • Développer des solutions logicielles et matérielles adaptées
      Concevoir et implémenter des solutions en tenant compte des contraintes liées au déploiement en réseau, tout en respectant les bonnes pratiques de conception et de programmation orientée objet.
      Développer une application web sécurisée
    • Concevoir et implémenter un protocole de transmission de données IoT sécurisé
      Concevoir, implémenter et sécuriser un protocole efficace pour la transmission des données issues des objets connectés, en garantissant la fiabilité et la sécurité des échanges.

    Pré-requis

    • Développement en C et Java.
    • Bonne connaissance des concepts POO (classes, héritage, polymorphisme, encapsulation).
    • Gestion de bases de données relationnelles (SQL).
    • Réseaux (Commutation et routage).
    • Développement d’applications web sécurisées.
    • Cryptographie, TLS et sécurité du web et du code.

    Contenu du cours

    • Analyse du cahier des charges
      Étudier et interpréter les spécifications fonctionnelles et techniques pour en extraire les exigences principales du projet.
    • Analyse des interactions entre les différents composants (logiciel, réseau, IoT)
      Examiner les relations et dépendances entre les applications, le réseau et les dispositifs IoT pour assurer une intégration fluide.
    • Définition des jalons et mise en œuvre d’une stratégie de gestion de projet
      Planifier les étapes clés du projet, établir un calendrier de travail et adopter une méthode de gestion de projet pour suivre l’avancement et les risques.
    • Conception et réalisation d’une architecture réseau
      Concevoir l’architecture réseau adaptée aux besoins du projet, en tenant compte des contraintes de performance, de sécurité et de scalabilité.
    • Conception d’une chaîne IoT et définition du protocole d’échange de données
      Développer une chaîne IoT complète en sélectionnant les capteurs, les dispositifs et les protocoles de communication (comme MQTT, CoAP) nécessaires.
    • Conception de l’architecture logicielle en respectant les bonnes pratiques apprises précédemment dans le cursus
      Appliquer les principes de conception orientée objet (COO/POO), les Design Patterns (DP) et les meilleures pratiques acquises lors de la formation pour assurer la modularité et l’évolutivité de l’architecture logicielle.
    • Conception et réalisation de la base de données
      Concevoir une base de données performante et adaptée aux besoins du projet (relationnelle ou NoSQL), en définissant les structures et les relations pertinentes.
    • Réalisation d’une infrastructure web pour la gestion des données
      Développer une plateforme web permettant de collecter, transférer et exploiter les données générées par les objets connectés.
    • Analyse, traitement et visualisation des données
      Mettre en place des outils d’analyse et de traitement des données collectées, ainsi que des visualisations claires pour faciliter leur interprétation et prise de décision.
    • Sécurisation de la chaîne de transmission IOT
      Sécuriser la transmission de données IOT avec la mise en place du protocole TLS.
    • Mise en place de mesures de sécurisation pour l’application développée :
    1. Renforcer la validation des entrées afin de prévenir les attaques par injection (SQL Injection, XSS, etc.).
    2. Implémenter une gestion rigoureuse de l’authentification et des sessions pour garantir la sécurité des accès et éviter les compromissions.
    3. Intégrer des outils d’analyse de code statique (tels que SonarQube) dans le pipeline CI/CD afin de détecter les vulnérabilités potentielles dès la phase de développement.
    4. Réaliser des tests dynamiques de sécurité d’application (DAST) à l’aide d’outils comme OWASP ZAP ou Burp Suite pour identifier les failles en cours d’exécution.
    5. Sécuriser les API en mettant en place des mécanismes d’authentification robustes et des limitations de taux (rate limiting) pour prévenir les attaques par déni de service (DoS).
  • Majeure Robots autonomes et IA - DevOps CI et CD

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre et mettre en place une logique de Versioning compatible avec la CI/CD.
    • Comprendre et mettre en place une chaine d’intégration continue (CI).
    • Comprendre et mettre en place une chaine de déploiement continue (CD).
    • Provisionner automatiquement des serveurs virtualisés.
    • Connaitre et d’utiliser les outils DevOps indispensables, notamment docker.

    Pré-requis

    • Connaissance des systèmes linux.
    • Connaissance et mise en œuvre de projet versionné (e.g Git)

    Contenu du cours

    Présentation de l’intégration continue

    • Introduction à l’intégration continue
    • Présentation des outils de versioning (Git)
    • Présentation des outils de gestion de dépendances et d’automatisation (Maven, Yarn)
    • Présentation des outils d’intégration continue (e.g Travis-Ci, Gitlab-ci , Jenkins) et des pipelines d’intégration.

    Présentation et mise œuvre du provisioning de serveur

    Présentation et mise en œuvre des outils du DevOps

    • Introduction à la virtualisation (dont les différents modes de virtualisation)
    • Initiation aux containeurs : Usage / Création d’images  / Volumes, réseaux / Lancement/déploiement (e.g Docker compose)
    • Outil de management de configuration et de déploiement d’application (e.g Ansible)

    Mise en œuvre d’une chaine d’intégration continue et de déploiement continue à l’aide de docker

    • Réalisation d’une chaine CI à l’aide d’outils containerisés
    • Réalisation d’une chaine CD
  • Majeure Robots autonomes et IA - Mathématiques appliquées 2

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Couvrir les concepts fondamentaux de l’algèbre linéaire et des statistiques, indispensables pour l’analyse et la manipulation des données dans le domaine de l’apprentissage automatique
    • Lier les notions d’espaces vectoriels aux problématiques de la modélisation de données et savoir résoudre des problèmes simples formulés dans ce contexte (régression linéaire par exemple)
    • Maîtriser et savoir mettre en œuvre des méthodes de résolution itératives basées sur la descente de gradient en sachant analyser la convergence d’un tel algorithme (critère d’arrêt, optimalité globale ou locale)
    • Caractériser la complexité d’un système grâce à des outils tels que le conditionnement et l’analyse en composantes principales
    • Maîtriser les notions de bases de statistiques (biais, variance) pour qualifier la qualité d’un estimateur, et à terme les résultats d’un modèle d’apprentissage
    • Utiliser le langage Python et les librairies pertinentes dans un contexte de programmation scientifique pour l’apprentissage automatique

    Pré-requis

    • Bases de la programmation scientifique en python
    • Calcul différentiel et intégral, algèbre élémentaire

    Contenu du cours

    Algèbre linéaire 

    • Bases sur les espaces vectoriels (dim. finie)
    • Opérations de bases vecteur/matrices, normes
    • Calcul matriciel
    • Diagonalisation, vecteurs propres, valeurs propres

    Probas/Stats 

    • Probas : Loi de Bayes, in/dépendance statistique, densité de probabilité
    • Moyenne, variance, covariance, corrélation
    • Notions de base sur les estimateurs
    • Régression linéaire (moindres carrés)
    • Conditionnement
    • Optimisation (convexité, descente de gradient, critère d’arrêt, convergence)
    • Analyse en composantes principales (réduction de dimension)
  • Majeure Robots autonomes et IA - Sécurité du Web et du code

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Implémenter des mécanismes d’authentification robustes, tels que OAuth2, OpenID Connect, et MFA (Multi-Factor Authentication).
    • Appliquer les concepts de sécurité des API et des sessions.
    • Identifier et corriger les failles de sécurité courantes comme celles décrites par l’OWASP Top 10 (Injection, XSS, CSRF, etc.).
    • Configurer et sécuriser les politiques CORS pour les applications web.
    • Intégrer les bonnes pratiques de sécurité tout au long du cycle de développement logiciel.
    • Communiquer efficacement sur les vulnérabilités et les risques de sécurité avec des équipes pluridisciplinaires.

    Pré-requis

    • Connaissance de base en programmation (Python, JavaScript, ou autre).
    • Notions d’architecture web (Client-Serveur, API REST).
    • Familiarité avec les concepts fondamentaux de la cryptographie (chiffrement symétrique et asymétrique, hashage).

    Contenu du cours

    Introduction à l’authentification :

    • Concepts de base : Identification, Authentification, Autorisation.
    • Stratégies d’authentification : mots de passe, gestion des sessions, Single Sign-On (SSO), OAuth2, OpenID Connect.
    • Authentification multifactorielle (MFA) et biométrie.

    Sécurisation des applications web :

    • OWASP Top 10 : Étude des principales failles de sécurité.
    • Techniques de prévention et de correction : Validation des entrées, Protection contre les injections SQL, XSS, et CSRF.
    • Gestion des sessions et des tokens.
    • Politiques CORS : Concepts, risques, et configuration sécurisée.

    Qualité et sécurité du code :

    • Principes de Clean Code pour la sécurité.
    • Techniques de revues de code et pair programming pour détecter les vulnérabilités.
    • Outils d’analyse statique et dynamique de code (SonarQube, SAST, DAST).

    Tests et audits de sécurité :

    • Introduction au pentesting des applications web.
    • Automatisation des tests avec des frameworks (e.g., OWASP ZAP, Burp Suite).
    • Reporting des vulnérabilités et recommandations.

    Standards et normes :

    • Normes et standards de sécurité (ISO 27001, NIST, OWASP ASVS).
    • Établissement de politiques de sécurité conformes aux meilleures pratiques.
  • Majeure Robots autonomes et IA - Capteurs et robotique probabilistes

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre les principes de fonctionnement des capteurs utilisés en robotique et modéliser leurs incertitudes.
    • Représenter et manipuler des données probabilistes pour les systèmes robotisés.
    • Maîtriser les algorithmes de filtrage bayésien, notamment les filtres de Kalman et à particules.
    • Développer et tester des solutions pratiques sur des cas réels ou simulés.

    Pré-requis

    • Notions de probabilités et statistiques.
    • Bases en algorithmique et programmation Python.

    Contenu du cours

    Capteurs et représentation probabiliste des sorties

    • Introduction aux différents capteurs (capteurs de distance, inertiels, optiques, etc.) et à leurs caractéristiques techniques. Étude des modèles de bruit associés aux mesures capteurs (bruit Gaussien, non-Gaussien). Représentation probabiliste des incertitudes avec modèles et distributions de probabilité (gaussienne, uniformes, etc.). TD portant sur l’analyse et la simulation des incertitudes dans des environnements robotiques simplifiés.
    • Travaux pratiques : Calibration et utilisation concrète de capteurs tels que lidar, ultrason ou IMU. Intégration des données de capteurs dans un programme Python. Expériences visant à caractériser les bruits et valider les modèles probabilistes.

    Filtrage de Kalman

    • Théorie du filtre de Kalman avec les équations fondamentales, hypothèses (linéarité, bruit gaussien) et limites. Étude des variantes comme le filtre de Kalman étendu (EKF). Application aux systèmes robotiques simples pour le suivi d’état (localisation linéaire). TD sur l’implémentation d’un filtre de Kalman pour un robot mobile en 1D.
    • Travaux pratiques : Localisation d’un robot mobile à partir de capteurs simulés ou réels. Analyse des performances et ajustement des paramètres (matrices de covariances, bruit). Applications à d’autres formes de capteurs

    Filtrage par particules

    • Concepts fondamentaux du filtrage par particules avec propagation, pondération et rééchantillonnage. Comparaison avec les filtres de Kalman pour des systèmes non linéaires et bruit non gaussien. TD/TP explorant les paramètres comme le nombre de particules, les modèles de bruit et la résilience au bruit.
    • Travaux pratiques : Implémentation complète d’un filtre à particules pour la localisation d’un robot dans un environnement 1D puis 2D simulé. Visualisation des particules et analyse des résultats sur des cartes prédéfinies.
  • Majeure Robots autonomes et IA - Conférences

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    Assister à des conférences variées sur des thématiques techniques et non techniques
    Découvrir des nouvelles perspectives en explorant des sujets d’actualité couvrant à la fois des aspects technologiques et des domaines transverses, tels que la gestion, la communication ou l’éthique.

    • Explorer les dernières innovations dans le domaine numérique et technologique
      Se tenir informé des tendances émergentes, des avancées technologiques et des applications innovantes qui transforment les secteurs industriels et les modes de vie.
    • Échanger et dialoguer avec des experts issus de l’industrie et du monde académique
      Profiter d’interactions enrichissantes avec des professionnels, chercheurs et décideurs pour comprendre leurs visions, leurs approches et les défis qu’ils rencontrent.
    • Bénéficier de retours d’expérience d’entrepreneurs et d’innovateurs
      S’inspirer des parcours, des stratégies et des bonnes pratiques de leaders ayant relevé des défis concrets dans le cadre de projets entrepreneuriaux ou technologiques.
    • Stimuler l’ouverture sur la recherche et l’innovation scientifique
      Renforcer ses connaissances et sa curiosité en s’immergeant dans les enjeux de la recherche actuelle, les problématiques scientifiques de pointe et les solutions innovantes.
    • Développer son réseau professionnel et académique
      Nouer des contacts stratégiques avec des pairs, des mentors et des potentiels collaborateurs pour enrichir ses opportunités de carrière et ses projets futurs.
    • Renforcer ses compétences en veille technologique et stratégique
      Identifier les signaux faibles et les tendances futures pour anticiper les évolutions dans son secteur d’activité.
    • Contribuer activement à des débats et réflexions de haut niveau
      Participer à des discussions constructives, poser des questions et partager ses idées pour enrichir les échanges et favoriser l’innovation collective.

    Contenu du cours

    • Conférences techniques et scientifiques
    • Conférences entrepreneuriales et innovantes
    • Conférences interdisciplinaires
    • Témoignage et retour d’expérience
  • Majeure Robots autonomes et IA - Projet transversal

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Mettre en œuvre et intégrer diverses compétences à travers un projet collaboratif
      Réaliser un projet en équipe de 4 ou 5 étudiants, en combinant les compétences en développement logiciel, réseau, IoT et sécurité pour une approche multidisciplinaire.
    • Analyser et synthétiser les spécifications et le cahier des charges
      Étudier et comprendre les exigences techniques et fonctionnelles, puis synthétiser ces informations pour guider le développement du projet.
    • Développer des solutions logicielles et matérielles adaptées
      – Concevoir et implémenter des solutions en tenant compte des contraintes liées au déploiement en réseau, tout en respectant les bonnes pratiques de conception et de programmation orientée objet.
      – Développer une application web sécurisée
    • Concevoir et implémenter un protocole de transmission de données IoT sécurisé
      Concevoir, implémenter et sécuriser un protocole efficace pour la transmission des données issues des objets connectés, en garantissant la fiabilité et la sécurité des échanges.

    Pré-requis

    • Développement en C et Java.
    • Bonne connaissance des concepts POO (classes, héritage, polymorphisme, encapsulation).
    • Gestion de bases de données relationnelles (SQL).
    • Réseaux (Commutation et routage).
    • Développement d’applications web sécurisées.
    • Cryptographie, TLS et sécurité du web et du code.

    Contenu du cours

    • Analyse du cahier des charges
      Étudier et interpréter les spécifications fonctionnelles et techniques pour en extraire les exigences principales du projet.
    • Analyse des interactions entre les différents composants (logiciel, réseau, IoT)
      Examiner les relations et dépendances entre les applications, le réseau et les dispositifs IoT pour assurer une intégration fluide.
    • Définition des jalons et mise en œuvre d’une stratégie de gestion de projet
      Planifier les étapes clés du projet, établir un calendrier de travail et adopter une méthode de gestion de projet pour suivre l’avancement et les risques.
    • Conception et réalisation d’une architecture réseau
      Concevoir l’architecture réseau adaptée aux besoins du projet, en tenant compte des contraintes de performance, de sécurité et de scalabilité.
    • Conception d’une chaîne IoT et définition du protocole d’échange de données
      Développer une chaîne IoT complète en sélectionnant les capteurs, les dispositifs et les protocoles de communication (comme MQTT, CoAP) nécessaires.
    • Conception de l’architecture logicielle en respectant les bonnes pratiques apprises précédemment dans le cursus
      Appliquer les principes de conception orientée objet (COO/POO), les Design Patterns (DP) et les meilleures pratiques acquises lors de la formation pour assurer la modularité et l’évolutivité de l’architecture logicielle.
    • Conception et réalisation de la base de données
      Concevoir une base de données performante et adaptée aux besoins du projet (relationnelle ou NoSQL), en définissant les structures et les relations pertinentes.
    • Réalisation d’une infrastructure web pour la gestion des données
      Développer une plateforme web permettant de collecter, transférer et exploiter les données générées par les objets connectés.
    • Analyse, traitement et visualisation des données
      Mettre en place des outils d’analyse et de traitement des données collectées, ainsi que des visualisations claires pour faciliter leur interprétation et prise de décision.
    • Sécurisation de la chaîne de transmission IOT
      Sécuriser la transmission de données IOT avec la mise en place du protocole TLS.
    • Mise en place de mesures de sécurisation pour l’application développée
      – Renforcer la validation des entrées afin de prévenir les attaques par injection (SQL Injection, XSS, etc.).
      – Implémenter une gestion rigoureuse de l’authentification et des sessions pour garantir la sécurité des accès et éviter les compromissions.
      – Intégrer des outils d’analyse de code statique (tels que SonarQube) dans le pipeline CI/CD afin de détecter les vulnérabilités potentielles dès la phase de développement.
      – Réaliser des tests dynamiques de sécurité d’application (DAST) à l’aide d’outils comme OWASP ZAP ou Burp Suite pour identifier les failles en cours d’exécution.
      – Sécuriser les API en mettant en place des mécanismes d’authentification robustes et des limitations de taux (rate limiting) pour prévenir les attaques par déni de service (DoS).
  • Majeure Systèmes et réseaux - Techniques et protocoles de routage IP

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Identifier les objectifs et les modes de fonctionnement des protocoles de routage internes et des protocoles de routage externes
    • Mettre en place le routage externe entre les systèmes autonomes avec le protocole BGP
    • Concevoir et configurer une architecture réseaux LAN/WAN avec du routage interne et externe
    • Sécuriser et optimiser le routage IP

    Pré-requis

    • Modèle TCP/IP
    • Principe de routage, routage statique et routage dynamique avec OSPF ou RIP

    Contenu du cours

    • Protocole de routage extérieur BGP (Border Gateway Protocol)
    • Redistribution des routes entre les protocoles de routage
    • Optimisation du routage IP – Filtrage
    • Sécurisation du routage IP
    • Listes de contrôle d’accès ACL
    • Optimisation des routes – Route-map
  • Majeure Systèmes et réseaux - Mathématiques appliquées 2

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Couvrir les concepts fondamentaux de l’algèbre linéaire et des statistiques, indispensables pour l’analyse et la manipulation des données dans le domaine de l’apprentissage automatique
    • Lier les notions d’espaces vectoriels aux problématiques de la modélisation de données et savoir résoudre des problèmes simples formulés dans ce contexte (régression linéaire par exemple)
    • Maîtriser et savoir mettre en œuvre des méthodes de résolution itératives basées sur la descente de gradient en sachant analyser la convergence d’un tel algorithme (critère d’arrêt, optimalité globale ou locale)
    • Caractériser la complexité d’un système grâce à des outils tels que le conditionnement et l’analyse en composantes principales
    • Maîtriser les notions de bases de statistiques (biais, variance) pour qualifier la qualité d’un estimateur, et à terme les résultats d’un modèle d’apprentissage
    • Utiliser le langage Python et les librairies pertinentes dans un contexte de programmation scientifique pour l’apprentissage automatique

    Pré-requis

    • Bases de la programmation scientifique en python
    • Calcul différentiel et intégral, algèbre élémentaire

    Contenu du cours

    Algèbre linéaire 

    • Bases sur les espaces vectoriels (dim. finie)
    • Opérations de bases vecteur/matrices, normes
    • Calcul matriciel
    • Diagonalisation, vecteurs propres, valeurs propres

    Probas/Stats 

    • Probas : Loi de Bayes, in/dépendance statistique, densité de probabilité
    • Moyenne, variance, covariance, corrélation
    • Notions de base sur les estimateurs
    • Régression linéaire (moindres carrés)
    • Conditionnement
    • Optimisation (convexité, descente de gradient, critère d’arrêt, convergence)
    • Analyse en composantes principales (réduction de dimension)
  • Majeure Systèmes et réseaux - WAN

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Acquérir une compréhension approfondie des technologies WAN actuelles et de leurs cas d’usage spécifiques pour choisir la solution la mieux adaptée aux besoins d’une entreprise.
    • Concevoir, déployer et configurer un réseau étendu (WAN) en utilisant les technologies modernes telles que VPN et MPLS pour garantir la performance et la sécurité.
    • Mettre en œuvre une architecture de QoS (Quality of Service) efficace, en tenant compte des exigences spécifiques de l’entreprise liées à la bande-passante, au délai et à la fiabilité.
    • Automatiser la gestion des configurations réseau pour améliorer l’efficacité opérationnelle et réduire les erreurs humaines.

    Pré-requis

    • Routage IP : connaissance des protocoles de routage internes (OSPF, RIP) et externes (BGP).
    • Compréhension des réseaux : bases des architectures réseau et des protocoles de communication.

    Contenu du cours

    • Architectures des réseaux étendus (WAN) et réseaux d’opérateurs
    • Structure des réseaux WAN modernes, compréhension des modèles d’architecture des opérateurs.
    • Technologies MPLS et VPN/MPLS
    • Concepts de base et applications pratiques du MPLS pour l’optimisation des réseaux étendus.
    • Déploiement et gestion des réseaux VPN/MPLS pour une connectivité sécurisée et fiable.
    • SD-WAN
    • Introduction et avantages du SD-WAN dans les entreprises modernes : gestion centralisée, optimisation des coûts et flexibilité.
    • Qualité de Service (QoS)
    • Mise en place de solutions QoS pour répondre aux exigences de l’entreprise en matière de performance réseau, gestion de la bande-passante, du délai et de la fiabilité.
    • Automatisation des configurations réseau
    • Techniques et outils pour automatiser la gestion des configurations réseau (ex: Ansible, Python, scripts), et leur application pour améliorer la gestion du réseau.
  • Majeure Systèmes et réseaux - Sécurité des systèmes

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre les bases de la sécurité des systèmes Windows et Linux.
    • Mettre en œuvre des configurations sécurisées sur les systèmes d’exploitation.
    • Gérer les utilisateurs, les permissions et les processus critiques.
    • Effectuer une surveillance de base à l’aide des journaux et détecter des anomalies simples.

    Pré-requis

    • Connaissance de base des systèmes d’exploitation (concepts de fichiers, processus, et réseaux).
    • Familiarité avec les commandes de base de la ligne de commande (Windows CMD/PowerShell, Bash).

    Contenu du cours

    Introduction aux systèmes d’exploitation et à la sécurité

    • Architecture de base de Windows et Linux.
    • Différences clés entre les deux systèmes.
    • Introduction aux commandes de base : PowerShell pour Windows, Bash pour Linux.

    Gestion des utilisateurs et des permissions

    • Gestion des comptes utilisateurs et groupes (Windows et Linux).
    • Permissions de fichiers : NTFS et ACLs (Windows), chmod et sudo (Linux).
    • Mise en œuvre du principe du moindre privilège.

    Durcissement des systèmes d’exploitation

    • Désactivation des services inutiles.
    • Configuration de sécurité réseau : Pare-feu Windows Defender, SSH sécurisé sur Linux.
    • Gestion des mises à jour et réduction des vulnérabilités.

    Introduction à la journalisation

    • Concepts et importance de la journalisation.
    • Journaux système : Event Viewer (Windows), Syslog et journaux SSH (Linux).
    • Analyse simplifiée pour détecter des anomalies.

    Exercices pratiques et études de cas

    • Gestion des permissions et utilisateurs.
    • Configuration sécurisée de SSH et des politiques locales.
    • Analyse de journaux pour détecter des comportements suspects.
  • Majeure Systèmes et réseaux - Conférences

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Assister à des conférences variées sur des thématiques techniques et non techniques
      Découvrir des nouvelles perspectives en explorant des sujets d’actualité couvrant à la fois des aspects technologiques et des domaines transverses, tels que la gestion, la communication ou l’éthique.
    • Explorer les dernières innovations dans le domaine numérique et technologique
      Se tenir informé des tendances émergentes, des avancées technologiques et des applications innovantes qui transforment les secteurs industriels et les modes de vie.
    • Échanger et dialoguer avec des experts issus de l’industrie et du monde académique
      Profiter d’interactions enrichissantes avec des professionnels, chercheurs et décideurs pour comprendre leurs visions, leurs approches et les défis qu’ils rencontrent.
    • Bénéficier de retours d’expérience d’entrepreneurs et d’innovateurs
      S’inspirer des parcours, des stratégies et des bonnes pratiques de leaders ayant relevé des défis concrets dans le cadre de projets entrepreneuriaux ou technologiques.
    • Stimuler l’ouverture sur la recherche et l’innovation scientifique
      Renforcer ses connaissances et sa curiosité en s’immergeant dans les enjeux de la recherche actuelle, les problématiques scientifiques de pointe et les solutions innovantes.
    • Développer son réseau professionnel et académique
      Nouer des contacts stratégiques avec des pairs, des mentors et des potentiels collaborateurs pour enrichir ses opportunités de carrière et ses projets futurs.
    • Renforcer ses compétences en veille technologique et stratégique
      Identifier les signaux faibles et les tendances futures pour anticiper les évolutions dans son secteur d’activité.
    • Contribuer activement à des débats et réflexions de haut niveau
      Participer à des discussions constructives, poser des questions et partager ses idées pour enrichir les échanges et favoriser l’innovation collective.

    Contenu du cours

    • Conférences techniques et scientifiques
    • Conférences entrepreneuriales et innovantes
    • Conférences interdisciplinaires
    • Témoignage et retour d’expérience
  • Majeure Systèmes et réseaux - Projet transversal

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Mettre en œuvre et intégrer diverses compétences à travers un projet collaboratif
      Réaliser un projet en équipe de 4 ou 5 étudiants, en combinant les compétences en développement logiciel, réseau, IoT et sécurité pour une approche multidisciplinaire.
    • Analyser et synthétiser les spécifications et le cahier des charges
      Étudier et comprendre les exigences techniques et fonctionnelles, puis synthétiser ces informations pour guider le développement du projet.
    • Développer des solutions logicielles et matérielles adaptées
      – Concevoir et implémenter des solutions en tenant compte des contraintes liées au déploiement en réseau, tout en respectant les bonnes pratiques de conception et de programmation orientée objet
      – Développer une application web sécurisée
    • Concevoir et implémenter un protocole de transmission de données IoT sécurisé
      Concevoir, implémenter et sécuriser un protocole efficace pour la transmission des données issues des objets connectés, en garantissant la fiabilité et la sécurité des échanges.

    Pré-requis

    • Développement en C et Java.
    • Bonne connaissance des concepts POO (classes, héritage, polymorphisme, encapsulation).
    • Gestion de bases de données relationnelles (SQL).
    • Réseaux (Commutation et routage).
    • Développement d’applications web sécurisées.
    • Cryptographie, TLS et sécurité du web et du code.

    Contenu du cours

    • Analyse du cahier des charges
      Étudier et interpréter les spécifications fonctionnelles et techniques pour en extraire les exigences principales du projet.
    • Analyse des interactions entre les différents composants (logiciel, réseau, IoT)
      Examiner les relations et dépendances entre les applications, le réseau et les dispositifs IoT pour assurer une intégration fluide.
    • Définition des jalons et mise en œuvre d’une stratégie de gestion de projet
      Planifier les étapes clés du projet, établir un calendrier de travail et adopter une méthode de gestion de projet pour suivre l’avancement et les risques.
    • Conception et réalisation d’une architecture réseau
      Concevoir l’architecture réseau adaptée aux besoins du projet, en tenant compte des contraintes de performance, de sécurité et de scalabilité.
    • Conception d’une chaîne IoT et définition du protocole d’échange de données
      Développer une chaîne IoT complète en sélectionnant les capteurs, les dispositifs et les protocoles de communication (comme MQTT, CoAP) nécessaires.
    • Conception de l’architecture logicielle en respectant les bonnes pratiques apprises précédemment dans le cursus
      Appliquer les principes de conception orientée objet (COO/POO), les Design Patterns (DP) et les meilleures pratiques acquises lors de la formation pour assurer la modularité et l’évolutivité de l’architecture logicielle.
    • Conception et réalisation de la base de données
      Concevoir une base de données performante et adaptée aux besoins du projet (relationnelle ou NoSQL), en définissant les structures et les relations pertinentes.
    • Réalisation d’une infrastructure web pour la gestion des données
      Développer une plateforme web permettant de collecter, transférer et exploiter les données générées par les objets connectés.
    • Analyse, traitement et visualisation des données
      Mettre en place des outils d’analyse et de traitement des données collectées, ainsi que des visualisations claires pour faciliter leur interprétation et prise de décision.
    • Sécurisation de la chaîne de transmission IOT
      Sécuriser la transmission de données IOT avec la mise en place du protocole TLS.
    • Mise en place de mesures de sécurisation pour l’application développée
      – Renforcer la validation des entrées afin de prévenir les attaques par injection (SQL Injection, XSS, etc.).
      – Implémenter une gestion rigoureuse de l’authentification et des sessions pour garantir la sécurité des accès et éviter les compromissions.
      – Intégrer des outils d’analyse de code statique (tels que SonarQube) dans le pipeline CI/CD afin de détecter les vulnérabilités potentielles dès la phase de développement.
      – Réaliser des tests dynamiques de sécurité d’application (DAST) à l’aide d’outils comme OWASP ZAP ou Burp Suite pour identifier les failles en cours d’exécution.
      – Sécuriser les API en mettant en place des mécanismes d’authentification robustes et des limitations de taux (rate limiting) pour prévenir les attaques par déni de service (DoS).

     

     

  • Majeure Cybersécurité - Techniques et protocoles de routage IP

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Identifier les objectifs et les modes de fonctionnement des protocoles de routage internes et des protocoles de routage externes
    • Mettre en place le routage externe entre les systèmes autonomes avec le protocole BGP
    • Concevoir et configurer une architecture réseaux LAN/WAN avec du routage interne et externe
    • Sécuriser et optimiser le routage IP

    Pré-requis

    • Modèle TCP/IP
    • Principe de routage, routage statique et routage dynamique avec OSPF ou RIP

    Contenu du cours

    • Protocole de routage extérieur BGP (Border Gateway Protocol)
    • Redistribution des routes entre les protocoles de routage
    • Optimisation du routage IP – Filtrage
    • Sécurisation du routage IP
    • Listes de contrôle d’accès ACL
    • Optimisation des routes – Route-map
  • Majeure Cybersécurité - Mathématiques appliquées 2

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Couvrir les concepts fondamentaux de l’algèbre linéaire et des statistiques, indispensables pour l’analyse et la manipulation des données dans le domaine de l’apprentissage automatique
    • Lier les notions d’espaces vectoriels aux problématiques de la modélisation de données et savoir résoudre des problèmes simples formulés dans ce contexte (régression linéaire par exemple)
    • Maîtriser et savoir mettre en œuvre des méthodes de résolution itératives basées sur la descente de gradient en sachant analyser la convergence d’un tel algorithme (critère d’arrêt, optimalité globale ou locale)
    • Caractériser la complexité d’un système grâce à des outils tels que le conditionnement et l’analyse en composantes principales
    • Maîtriser les notions de bases de statistiques (biais, variance) pour qualifier la qualité d’un estimateur, et à terme les résultats d’un modèle d’apprentissage
    • Utiliser le langage Python et les librairies pertinentes dans un contexte de programmation scientifique pour l’apprentissage automatique

    Pré-requis

    • Bases de la programmation scientifique en python : Calcul différentiel et intégral, algèbre élémentaire

    Contenu du cours

    Algèbre linéaire 

    • Bases sur les espaces vectoriels (dim. finie)
    • Opérations de bases vecteur/matrices, normes
    • Calcul matriciel
    • Diagonalisation, vecteurs propres, valeurs propres

    Probas/Stats 

    • Probas : Loi de Bayes, in/dépendance statistique, densité de probabilité
    • Moyenne, variance, covariance, corrélation
    • Notions de base sur les estimateurs
    • Régression linéaire (moindres carrés)
    • Conditionnement
    • Optimisation (convexité, descente de gradient, critère d’arrêt, convergence)
    • Analyse en composantes principales (réduction de dimension)
  • Majeure Cybersécurité - Sécurité du Web et du code

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Implémenter des mécanismes d’authentification robustes, tels que OAuth2, OpenID Connect, et MFA (Multi-Factor Authentication).
    • Appliquer les concepts de sécurité des API et des sessions.
    • Identifier et corriger les failles de sécurité courantes comme celles décrites par l’OWASP Top 10 (Injection, XSS, CSRF, etc.).
    • Configurer et sécuriser les politiques CORS pour les applications web.
    • Intégrer les bonnes pratiques de sécurité tout au long du cycle de développement logiciel.
    • Communiquer efficacement sur les vulnérabilités et les risques de sécurité avec des équipes pluridisciplinaires.

    Pré-requis

    • Connaissance de base en programmation (Python, JavaScript, ou autre).
    • Notions d’architecture web (Client-Serveur, API REST).
    • Familiarité avec les concepts fondamentaux de la cryptographie (chiffrement symétrique et asymétrique, hashage).

    Contenu du cours

    Introduction à l’authentification :

    • Concepts de base : Identification, Authentification, Autorisation.
    • Stratégies d’authentification : mots de passe, gestion des sessions, Single Sign-On (SSO), OAuth2, OpenID Connect.
    • Authentification multifactorielle (MFA) et biométrie.

    Sécurisation des applications web :

    • OWASP Top 10 : Étude des principales failles de sécurité.
    • Techniques de prévention et de correction : Validation des entrées, Protection contre les injections SQL, XSS, et CSRF.
    • Gestion des sessions et des tokens.
    • Politiques CORS : Concepts, risques, et configuration sécurisée.

    Qualité et sécurité du code :

    • Principes de Clean Code pour la sécurité.
    • Techniques de revues de code et pair programming pour détecter les vulnérabilités.
    • Outils d’analyse statique et dynamique de code (SonarQube, SAST, DAST).

    Tests et audits de sécurité :

    • Introduction au pentesting des applications web.
    • Automatisation des tests avec des frameworks (e.g., OWASP ZAP, Burp Suite).
    • Reporting des vulnérabilités et recommandations.

    Standards et normes :

    • Normes et standards de sécurité (ISO 27001, NIST, OWASP ASVS).
    • Établissement de politiques de sécurité conformes aux meilleures pratiques.
  • Majeure Cybersécurité - Sécurité des systèmes

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre les bases de la sécurité des systèmes Windows et Linux.
    • Mettre en œuvre des configurations sécurisées sur les systèmes d’exploitation.
    • Gérer les utilisateurs, les permissions et les processus critiques.
    • Effectuer une surveillance de base à l’aide des journaux et détecter des anomalies simples.

    Pré-requis

    • Connaissance de base des systèmes d’exploitation (concepts de fichiers, processus, et réseaux).
    • Familiarité avec les commandes de base de la ligne de commande (Windows CMD/PowerShell, Bash).

    Contenu du cours

    Introduction aux systèmes d’exploitation et à la sécurité

    • Architecture de base de Windows et Linux.
    • Différences clés entre les deux systèmes.
    • Introduction aux commandes de base : PowerShell pour Windows, Bash pour Linux.

    Gestion des utilisateurs et des permissions

    • Gestion des comptes utilisateurs et groupes (Windows et Linux).
    • Permissions de fichiers : NTFS et ACLs (Windows), chmod et sudo (Linux).
    • Mise en œuvre du principe du moindre privilège.

    Durcissement des systèmes d’exploitation

    • Désactivation des services inutiles.
    • Configuration de sécurité réseau : Pare-feu Windows Defender, SSH sécurisé sur Linux.
    • Gestion des mises à jour et réduction des vulnérabilités.

    Introduction à la journalisation

    • Concepts et importance de la journalisation.
    • Journaux système : Event Viewer (Windows), Syslog et journaux SSH (Linux).
    • Analyse simplifiée pour détecter des anomalies.

    Exercices pratiques et études de cas

    • Gestion des permissions et utilisateurs.
    • Configuration sécurisée de SSH et des politiques locales.
    • Analyse de journaux pour détecter des comportements suspects.
  • Majeure Cybersécurité - Conférences

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Assister à des conférences variées sur des thématiques techniques et non techniques
      Découvrir des nouvelles perspectives en explorant des sujets d’actualité couvrant à la fois des aspects technologiques et des domaines transverses, tels que la gestion, la communication ou l’éthique.
    • Explorer les dernières innovations dans le domaine numérique et technologique
      Se tenir informé des tendances émergentes, des avancées technologiques et des applications innovantes qui transforment les secteurs industriels et les modes de vie.
    • Échanger et dialoguer avec des experts issus de l’industrie et du monde académique
      Profiter d’interactions enrichissantes avec des professionnels, chercheurs et décideurs pour comprendre leurs visions, leurs approches et les défis qu’ils rencontrent.
    • Bénéficier de retours d’expérience d’entrepreneurs et d’innovateurs
      S’inspirer des parcours, des stratégies et des bonnes pratiques de leaders ayant relevé des défis concrets dans le cadre de projets entrepreneuriaux ou technologiques.
    • Stimuler l’ouverture sur la recherche et l’innovation scientifique
      Renforcer ses connaissances et sa curiosité en s’immergeant dans les enjeux de la recherche actuelle, les problématiques scientifiques de pointe et les solutions innovantes.
    • Développer son réseau professionnel et académique
      Nouer des contacts stratégiques avec des pairs, des mentors et des potentiels collaborateurs pour enrichir ses opportunités de carrière et ses projets futurs.
    • Renforcer ses compétences en veille technologique et stratégique
      Identifier les signaux faibles et les tendances futures pour anticiper les évolutions dans son secteur d’activité.
    • Contribuer activement à des débats et réflexions de haut niveau
      Participer à des discussions constructives, poser des questions et partager ses idées pour enrichir les échanges et favoriser l’innovation collective.

    Contenu du cours

    • Conférences techniques et scientifiques
    • Conférences entrepreneuriales et innovantes
    • Conférences interdisciplinaires
    • Témoignage et retour d’expérience
  • Majeure Cybersécurité - Projet transversal

    Majeure scientifique, au choix

    Année 4 Semestre 7

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Mettre en œuvre et intégrer diverses compétences à travers un projet collaboratif
      Réaliser un projet en équipe de 4 ou 5 étudiants, en combinant les compétences en développement logiciel, réseau, IoT et sécurité pour une approche multidisciplinaire.
    • Analyser et synthétiser les spécifications et le cahier des charges
      Étudier et comprendre les exigences techniques et fonctionnelles, puis synthétiser ces informations pour guider le développement du projet.
    • Développer des solutions logicielles et matérielles adaptées
      – Concevoir et implémenter des solutions en tenant compte des contraintes liées au déploiement en réseau, tout en respectant les bonnes pratiques de conception et de programmation orientée objet.
      – Développer une application web sécurisée.
    • Concevoir et implémenter un protocole de transmission de données IoT sécurisé
      Concevoir, implémenter et sécuriser un protocole efficace pour la transmission des données issues des objets connectés, en garantissant la fiabilité et la sécurité des échanges.

    Pré-requis

    • Développement en C et Java.
    • Bonne connaissance des concepts POO (classes, héritage, polymorphisme, encapsulation).
    • Gestion de bases de données relationnelles (SQL).
    • Réseaux (Commutation et routage).
    • Développement d’applications web sécurisées.
    • Cryptographie, TLS et sécurité du web et du code.

    Contenu du cours

    • Analyse du cahier des charges
      Étudier et interpréter les spécifications fonctionnelles et techniques pour en extraire les exigences principales du projet.
    • Analyse des interactions entre les différents composants (logiciel, réseau, IoT)
      Examiner les relations et dépendances entre les applications, le réseau et les dispositifs IoT pour assurer une intégration fluide.
    • Définition des jalons et mise en œuvre d’une stratégie de gestion de projet
      Planifier les étapes clés du projet, établir un calendrier de travail et adopter une méthode de gestion de projet pour suivre l’avancement et les risques.
    • Conception et réalisation d’une architecture réseau
      Concevoir l’architecture réseau adaptée aux besoins du projet, en tenant compte des contraintes de performance, de sécurité et de scalabilité.
    • Conception d’une chaîne IoT et définition du protocole d’échange de données
      Développer une chaîne IoT complète en sélectionnant les capteurs, les dispositifs et les protocoles de communication (comme MQTT, CoAP) nécessaires.
    • Conception de l’architecture logicielle en respectant les bonnes pratiques apprises précédemment dans le cursus
      Appliquer les principes de conception orientée objet (COO/POO), les Design Patterns (DP) et les meilleures pratiques acquises lors de la formation pour assurer la modularité et l’évolutivité de l’architecture logicielle.
    • Conception et réalisation de la base de données
      Concevoir une base de données performante et adaptée aux besoins du projet (relationnelle ou NoSQL), en définissant les structures et les relations pertinentes.
    • Réalisation d’une infrastructure web pour la gestion des données
      Développer une plateforme web permettant de collecter, transférer et exploiter les données générées par les objets connectés.
    • Analyse, traitement et visualisation des données
      Mettre en place des outils d’analyse et de traitement des données collectées, ainsi que des visualisations claires pour faciliter leur interprétation et prise de décision.
    • Sécurisation de la chaîne de transmission IOT
      Sécuriser la transmission de données IOT avec la mise en place du protocole TLS.
    • Mise en place de mesures de sécurisation pour l’application développée
      – Renforcer la validation des entrées afin de prévenir les attaques par injection (SQL Injection, XSS, etc.).
      – Implémenter une gestion rigoureuse de l’authentification et des sessions pour garantir la sécurité des accès et éviter les compromissions.
      – Intégrer des outils d’analyse de code statique (tels que SonarQube) dans le pipeline CI/CD afin de détecter les vulnérabilités potentielles dès la phase de développement.
      – Réaliser des tests dynamiques de sécurité d’application (DAST) à l’aide d’outils comme OWASP ZAP ou Burp Suite pour identifier les failles en cours d’exécution.
      – Sécuriser les API en mettant en place des mécanismes d’authentification robustes et des limitations de taux (rate limiting) pour prévenir les attaques par déni de service (DoS).
  • Anglais S7

    Anglais

    Année 4 Semestre 7

    Tronc commun

    Objectifs pédagogiques / Acquis du cours

    Ce cours est le troisième d’une série de 5 cours, dont la finalité est d’obtenir le niveau de compétence B2 minimum sur l’échelle CECRL (Cadre Européen Commun de Référence pour les Langues).

    Les objectifs des enseignements dans ce cours sont :

    • Développement des compétences linguistiques
    • Être capable de chercher, postuler et passer l’entretien pour un stage à l’international
    • Pouvoir lire et comprendre un article technique ou scientifique
    • Savoir rédiger un rapport technique ou scientifique

    Pré-requis

    • Cours de communication en anglais 1 & 2

    Contenu du cours

    • Lecture et analyse d’articles techniques et scientifiques
    • Rédaction de rapports techniques et scientifiques
    • Rédaction d’un CV
    • Recherche de stage à l’international
    • Candidature pour un stage ou un emploi
    • Préparation d’un entretien d’embauche
    • Préparation aux examens de Cambridge : objectif B2
  • SHES - Gestion de projet, Agilité

    Sciences humaines, économiques et sociales

    Année 4 Semestre 7

    Tronc commun

    Objectifs pédagogiques / Acquis du cours

    Gestion de projet :  

    • Identifier les différences entre un projet et les activités de routine d’une entreprise
    • Introduire Les principaux outils de gestion de projet et leurs spécificités
    • Maitriser l’utilisation de différents outils et concepts de gestion de projet pour contrôler la qualité, les coût et les délais
    • Cerner le rôle et les missions d’un chef de projet ainsi que les principales difficultés rencontrées lors de la gestion d’une équipe projet

    Agilité : 

    • Identifier les principes et les enjeux de l’approche agile
    • Maitriser les délais dans un processus agile avec la démarche en flux tiré
    • Adopter une posture managériale centrée sur la performance des équipes et des processus
    • Utiliser des outils des managers centrés sur l’individu
    • Identifier les différents défis/risques dans une démarche d’entreprenariat et d’innovation produit/service avec un processus agile

    Contenu du cours

    Partie gestion de projet 

    • Qu’est-ce qu’un projet ? Différences par rapport aux activités de routine d’une organisation
    • Les structures d’organisation et la gestion de projet
    • La notion de qualité globale / triangle d’or : qualité / cout / délai
    • Le cycle de vie d’un projet et ses différentes phases
    • Les outils de planification d’un projet : Gantt et PERT
    • La gestion financière d’un projet
    • Analyse des risques et AMDEC
    • Le projet d’un point de vue humain :
    1. le rôle et les missions du chef de projet,
    2. l’organisation de l’équipe projet,
    3. les différents types de chef de projet (Hersey-Blanchard),
    4. les principales difficultés rencontrées lors de la gestion d’un équipe projet et des actions possibles pour y remédier

    Partie agilité : 

    La posture agile et les grands principes d’une gestion de projet agile 

    • Les 3 piliers d’une démarche agile : l’humain, la qualité et le délai
    • La différence entre la demande et les besoins
    • Test & learn : démarche exploratoire pour provoquer les découvertes au plus tôt
    • Le grand écart entre rêve utopique à long terme et des livraisons rapides et fréquentes de valeur ajoutée

    Les principes fondateurs de la démarche en flux tiré 

    • La différence entre la charge et le délai
    • Stabiliser un processus pour le rendre prédictible, même dans un contexte exploratoire
    • Flux tiré : la maîtrise des délais et la réduction continue des délais

    Management : La posture managériale centrée sur la performance des équipes et des processus, et une boîte à outils des managers centrés sur l’individu 

    • L’auto-organisation pour affronter la complexité
    • Posture basse : le coaching d’équipe pour décupler sa performance
    • Des techniques pour faciliter la délégation, et pour nourrir les leviers de motivation

    Innovation : La posture et la démarche entrepreneuriales de l’innovation produit/service, et le carpaccio d’éléphant pour découper les projets et les sujets très finement par la valeur 

    • La créativité en mode survie
    • Le risque marché en tant que premier des risques d’une démarche d’innovation produit / service
    • M.V.P. : tester les comportements au plus tôt sans réaliser le véritable produit / service
  • Majeure Développement, DATA et IA - UX-Dev Mobile

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Appréhender l’UX (expérience utilisateur)
    • Identifier les besoins des utilisateurs et les problématiques d’interaction
    • Concevoir un prototype et en évaluer l’efficacité
    • Développer des interfaces utilisateur pour mobile
    • Développer des applications exploitant la réalité augmentée

    Pré-requis

    Bonne maîtrise de la programmation orientée objet en Java

    Contenu du cours

    • Définition de l’UX (expérience utilisateur)
    • Approche de l’UX dans la conception d’un projet d’application mobile
    • Développement d’application mobile Android en intégrant les principes de l’UX
    • Conception et mise au point d’une interface utilisateur
    1. Gestion des interactions avec l’utilisateur
    2. Utilisation des outils, bibliothèques et classes existants
    3. Intégration de bibliothèques dédiées à la réalité augmentée
    • Principes du dépôt et du déploiement des applications
  • Majeure Développement, DATA et IA - DevOps monitoring / Load balancing

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Mettre en place des techniques de monitoring pour le suivi des applicatifs déployés : Analyser, configurer, déployer et surveiller des solutions de monitoring (ex. ElasticStack) et de tracing afin de suivre la performance des applications, identifier les indicateurs clés et anticiper les défaillances.
    • Créer et exécuter des tests de charge : Concevoir, réaliser et analyser des tests de charge pour évaluer la résistance des systèmes, identifier des goulets d’étranglement et recommander des optimisations pour améliorer la performance.
    • Gérer la montée en charge automatique et la haute disponibilité des systèmes : Concevoir, déployer, gérer et optimiser des systèmes évolutifs avec Kubernetes pour assurer la montée en charge automatique et maintenir la haute disponibilité des applications.

    Pré-requis

    • Bonne maîtrise des systèmes Linux
    • Bonnes bases en Java
    • Bonne connaissance des applications 3-tiers
    • Connaissance de Docker et Docker-compose
    • Bonne connaissance de Git

    Contenu du cours

    Présentation du monitoring technique (Principes et outillage)

    Mise en place de la stack de monitoring et de tracing

    • Déploiement et configuration des outils (e.g., ElasticStack, Jaeger).

    Mise en place de tests de montée en charge

    • Utilisation d’outils comme Gatling pour évaluer les performances.

    Découverte d’un système de déploiement automatique, de montée en charge et de management des applications containerisées :

    • Exploration des concepts et outils (e.g., Kubernetes)
    • Découverte des ressources de l’outil
    • Identification et compréhension des fonctionnalités disponibles
    • Découverte des différentes interactions entre ces ressources
    • Analyse des connexions et des dépendances entre les composants.

    Mise en œuvre d’un système de déploiement automatique autour d’une application 3-tiers

    Découverte du GitOps et de la gestion automatique des ressources : Introduction aux pratiques GitOps et automatisation via des pipelines CI/CD

    • Templating de ressources et packaging de solutions
    • Création et gestion de templates avec des outils comme Helm.

    Infrastructure As Code (IaC)

    • Mise en œuvre de pratiques IaC pour une gestion fiable et scalable des infrastructures.

    Bonnes pratiques de développement logiciel pour la mise en œuvre d’un système de déploiement automatique

    • Adoption de standards et méthodologies pour améliorer l’efficacité et la maintenabilité.
  • Majeure Développement, DATA et IA - Algorithmes avancés

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Modéliser et résoudre des problèmes concrets à l’aide de graphes
    • Déterminer la complexité temporelle des algorithmes définis par des relations de récurrence, notamment à l’aide du Master Theorem
    • Présenter les bases et les techniques avancées de la programmation dynamique pour résoudre des problèmes optimaux, illustrer son efficacité à travers des exemples classiques comme le problème du sac à dos, la plus longue sous-séquence commune ou l’alignement de chaînes ; savoir reconnaître les problèmes où la programmation dynamique est applicable
    • Modéliser des problèmes d’optimisation linéaire : Comprendre les fondements de la programmation linéaire, formuler des problèmes réels en programmation linéaire et analyser les limites des solutions proposées par cette méthode.
    • Comprendre les limites théoriques et pratiques des modèles de calcul

    Pré-requis

    • Notions de mathématiques discrètes : combinatoire, raisonnement par récurrence
    • Algèbre et analyse : calcul matriciel, manipulation de fonctions, limites, logarithmes et exponentielles, croissances comparées
    • Programmation : niveau de base en Python (syntaxe, fonctions, classes…)

    Contenu du cours

    • Concepts avancés de théorie des graphes (coloration, théorème flot max / coupe min, PageRank, approches de résolution de problèmes difficiles…) ; modélisation à l’aide de graphes
    • Complexité des algorithmes récursifs / Master Theorem
    • Introduction à la programmation dynamique
    • Introduction à la programmation linéaire
    • Introduction à la calculabilité (Machines de Turing)
  • Majeure Développement, DATA et IA - Bases de données avancées

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre les besoins actuels en données, les limitations des bases de données relationnelles, et les raisons du passage au NoSQL
    • Connaître les différentes propriétés du Big Data : modèles “Vs” (3V, 5V, …)
    • Connaître les différentes formes de stockage (data warehouse, data lake, data lakehouse) et leurs avantages respectifs
    • Connaître le théorème CAP et savoir choisir quelles propriétés sont importantes dans un contexte donné
    • Connaître différents types de bases de données non-relationnelles (clé-valeur, objet, document, graphe, séries temporelles, …) et savoir choisir le plus approprié pour un problème
    • Configurer et utiliser différents stockages (“objet” : Amazon S3, Azure Blob, … ; “graphe” : Neo4J)
    • Utiliser des systèmes distribués (Hadoop, HDFS) pour augmenter la tolérance aux pannes et permettre le traitement de données massives
    • Configurer un cluster MongoDB (sharding)
    • Connaître et utiliser l’algorithme MapReduce pour traiter des données distribuées

    Pré-requis

    • Connaissance basique de Linux (ligne de commande)
    • Bases de données relationnelles (SGBDr, SQL)

    Contenu du cours

    Introduction au BigData

    • Datafication, ombre digitale et jumeaux numériques
    • Architectures de stockage : Data warehouse, data lake, data lakehouse
    • Caractéristiques du BigData (modèles “Vs”) : 3V, 5V, …

    Types de stockage

    • Hot vs cold data
    • Service Level Agreements (SLA) : durabilité, disponibilité, …
    • Types de stockage, exemples de logiciels, et leurs cas d’usage : Clé-valeur : Redis / Objet : Amazon S3, Azure Blob / Document : MongoDB / Graphe : Neo4J / Séries temporelles : InfluxDB
    • Polystores

    Systèmes distribués

    • Architecture d’Hadoop
    • Principe de fonctionnement d’HDFS
    • Tolérance aux pannes

    Flux de contrôle vs flux de données

    • MapReduce
    • Lazy evaluation
    • Graphe d’exécution
  • Majeure Développement, DATA et IA - Data Mining et Machine Learning

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Identifier les anomalies présentes dans les données, repérer les patterns ou tendances, et comprendre les enjeux liés à la construction de modèles de données.
    • Concevoir un système de recommandation adapté aux besoins spécifiques.
    • Analyser une problématique, sélectionner une méthode appropriée de traitement des données, et l’appliquer efficacement pour obtenir des résultats pertinents.

    Pré-requis

    • Connaissance en langage de programmation Python
    • Connaissance de la ligne de commande

    Contenu du cours

    Représentation, manipulation et prétraitement des données

    • Comprendre les différentes représentations de données : bases relationnelles, NoSQL, données structurées et non structurées.
    • Manipuler les données via des API et effectuer leur prétraitement (nettoyage, gestion des valeurs manquantes, transformation).
    • Atelier pratique : Manipulation et nettoyage des données avec Pandas, NumPy et Jupyter.

    Traitement des données

    • Détecter les anomalies dans les ensembles de données.
    • Extraire des connaissances à l’aide de règles d’association.
    • Mettre en œuvre des techniques de partitionnement (clustering) et des approches de classification et régression pour la modélisation prédictive.
    • Atelier pratique : Application des méthodes de traitement avec Scikit-learn et Jupyter.

    Construction de modèles et apprentissage machine

    • Introduction aux paradigmes d’apprentissage : supervisé, non supervisé, semi-supervisé et par renforcement.
    • Construire et entraîner des modèles prédictifs simples.
    • Atelier pratique : Création de modèles avec Scikit-learn et introduction aux réseaux de neurones.

    Réseaux de neurones artificiels et apprentissage profond

    • Étudier la structure des réseaux (couches, nœuds, fonctions d’activation) et leurs algorithmes d’apprentissage (rétropropagation, descente de gradient).
    • Appliquer des techniques d’optimisation et de régularisation pour améliorer les performances.
    • Introduction aux concepts fondamentaux de l’apprentissage profond (Deep Learning).

    Projet final

    Intégrer l’ensemble des notions étudiées dans un projet appliqué, allant de la préparation des données à la construction et l’optimisation de modèles prédictifs.

  • Majeure Développement, DATA et IA - ASI.NET

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Concevoir et développer des solutions complètes avec le Framework .NET et Visual Studio
    • Concevoir des architectures micro-services et appliquer les bonnes pratiques de développement
    • Développer et consommer des micro-services REST (ASP.NET Core Web API) manipulant des flux de données
    • Configurer un load balancer pour instancier ces micro-services
    • Développer des applications clientes en Blazor, en appliquant le patron d’architecture MVVM
    • Mettre en place des tests (unitaires, intégration, E2E) pour garantir la fiabilité du code.

    Pré-requis

    • Programmation et algorithmique (C, Java ou équivalent)
    • Conception orientée objet (COO, design patterns)
    • Développement web (HTML, CSS, JavaScript, Web Services, HTTP)
    • Bases de données (SQL, ORM)
    • Architecture logicielle (MVC, bonnes pratiques)
    • Gestion de projet logiciel (souhaité) (méthodologies Agile, versioning avec Git)

    Contenu du cours

    • Introduction à la programmation C# et au Framework .NET
    1. Concepts fondamentaux, fonctionnement et enjeux
    2. Syntaxe et concepts avancés
    3. Bonnes pratiques de développement
    • Développement d’un micro-service de transformation de données à partir d’un flux de données en entrée :
    1.  Instanciation des micro-services par un load balancer
    2. Stockage dans une BD NoSQL
    • Développement d’un micro-service batch stockant les données dans Azure Data Lake Storage.
    • Développement d’un micro-service et d’une application Blazor dédiés au reporting des données stockées dans le Data Lake.
    • Application des bonnes pratiques de développement : principes du Domain Driven Engineering, patrons architecturaux et de conception, tests unitaires, tests d’intégration, tests E2E, etc.
  • Majeure Développement, DATA et IA - ASI-1

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser les avantages et les inconvénients des approches Web dynamiques, telles que la génération de pages côté serveur (CGI, JSP) et les Web Services REST.
    • Concevoir et déployer des serveurs Backend FullRest, notamment avec des frameworks comme Springboot.
    • Évaluer les avantages et les inconvénients des architectures MicroServices par rapport aux architectures monolithiques.
    • Reconfigurer des architectures monolithiques FullRest en architectures MicroServices.
    • Implémenter et gérer des dispositifs de gestion de dépendances dans un environnement de développement.
    • Appliquer des bonnes pratiques de programmation et de qualité de code, incluant la réalisation de tests unitaires et l’amélioration de la couverture de tests.

    Pré-requis

    • Maîtrise des systèmes Linux.
    • Connaissances solides en programmation orientée objet.
    • Compétences en développement Web.

    Contenu du cours

    Mise en œuvre d’architectures Web dynamiques et de Web Services REST

    • Développement de fonctionnalités en Web dynamique à l’aide de technologies comme JEE, Servlet, JavaBean et JSP.
    • Développement de fonctionnalités en Web Services REST avec des technologies telles que JEE, Servlet et JavaBean.
    • Analyse comparative des approches Web dynamiques et REST : avantages et inconvénients.

    Évaluation des architectures logicielles et réalisation d’une application FullREST

    • Comparaison des architectures logicielles : monolithique, SOA et MicroServices.
    • Développement d’une application FullREST en utilisant des frameworks comme Springboot.
    • Introduction et mise en œuvre d’outils de gestion de dépendances tels que Maven.

    Conception et déploiement d’une architecture MicroServices

    • Transformation d’une architecture monolithique en architecture MicroServices.
    • Réalisation de tests unitaires pour valider les fonctionnalités.
    • Évaluation et optimisation de la couverture de tests.
    • Exploration et mise en œuvre du déploiement des MicroServices, incluant des notions de haute disponibilité et de virtualisation.
  • Majeure Robots autonomes et IA - Interface Homme/Robot

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser les enjeux des interfaces homme-robot dans le cadre des interactions multimodales.
    • Déployer et exploiter des modèles d’intelligence artificielle pour analyser les intentions à partir de données textuelles, audio et vidéo.
    • Optimiser les performances des algorithmes d’IA par fine-tuning, adapté à des cas d’utilisation spécifiques.
    • Intégrer et implémenter des techniques de fusion multimodale dans des projets interactifs.
    • Identifier les problématiques éthiques liées aux interactions IA et proposer des solutions respectant la législation en vigueur.

    Pré-requis

    • Notions en algorithmique et développement en Python.
    • Familiarité avec les bases de l’IA (optimisation et gestion des données).

    Contenu du cours

    Introduction générale

    • Le besoin d’interfaces homme-robot : leur importance dans divers contextes (santé, industrie, vie quotidienne).
    • Évolution des interactions : passage des interactions tactiles aux interactions textuelles, audio et visuelles.
    • Typologie des interactions : interactions physiques, visuelles, auditives et textuelles.
    • Problématiques actuelles et tendances futures : robots d’assistance, assistants virtuels, robots sociaux.

    Interaction Multimodale et Analyse d’Intentions – Projet

    • Interaction texte avec IA (LLM) : création de dialogues fluides et fine-tuning pour des cas spécifiques.
    • Interaction vocale et analyse d’intention audio : reconnaissance vocale, synthèse vocale et fine-tuning des modèles.
    • Analyse d’intentions via caméra : détection faciale, gestuelle et posturale, avec fine-tuning des algorithmes.
    • Anciennes approches basées sur des grammaires : étude des méthodes historiques et comparaison avec les modèles LLM.
    • (En option) Fusion multimodale : intégration de données texte, audio et vidéo dans un projet unifié.

    Éthique et impacts sociaux des interactions avec les IA – Débat, études de cas et projet

    • Problématiques éthiques : confidentialité, biais dans les algorithmes, impacts sociétaux.
    • Lois et réglementations : cadre légal, normes éthiques émergentes.
    • Débat éthique et étude de cas : analyse critique d’exemples concrets, conception de projets éthiques.
  • Majeure Robots autonomes et IA - Frameworks robotique

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Maîtriser les concepts fondamentaux et l’écosystème du framework ROS 2.
    • Concevoir et implémenter des scénarios robotiques complexes sur des drones, en tenant compte des défis liés au matériel et à la programmation.
    • Explorer et appliquer les concepts de SLAM (Simultaneous Localization and Mapping) et de navigation autonome en utilisant le stack de navigation ROS 2 dans des environnements simulés.
    • Développer des solutions robotiques collaboratives et adaptées à des problématiques concrètes, dans une démarche projet.

    Pré-requis

    • Solides fondations en algorithmie permettant de structurer efficacement les approches logicielles.
    • Maîtrise des bases du système d’exploitation Linux, incluant la navigation via le terminal, la gestion de fichiers et l’utilisation des commandes essentielles.
    • Expérience pratique avec le langage Python, notamment pour l’écriture de scripts et l’intégration avec des bibliothèques.
    • Compréhension des concepts fondamentaux en communication réseau (protocoles, sockets) ainsi qu’en architecture de systèmes distribués.

    Contenu du cours

    Introduction à ROS 2

    • Présentation des évolutions de ROS 2 par rapport à ROS 1.
    • Installation et configuration de l’environnement.
    • Découverte des concepts : nœuds, topics, services, actions.
    • Prise en main via les tutoriels officiels et exercices guidés.

    Projet Drone : Scénarios robotiques complexes

    • Présentation des drones utilisés (ex. DJI Tello Edu) et de leur interfaçage sous ROS 2.
    • Conception et mise en œuvre de comportements variés : décollage, atterrissage, vol stationnaire, suivi de trajectoire préprogrammée, scénarios (cinématographie, surveillance automatique, pilotage manuel…), gestion de QR code (localisation ou déclenchement d’action spécifique).
    • Gestion des contraintes matérielles : calibration des capteurs, résolution des problèmes de connectivité, tests et validations sur le terrain.

    Projet Mapping et Navigation dans Gazebo

    • Introduction au SLAM (Simultaneous Localization And Mapping) : principes théoriques et applications pratiques.
    • Utilisation du stack de navigation autonome ROS 2 : exploration et génération de cartes via des algorithmes SLAM, mise en œuvre de la navigation autonome avec planification de trajectoire.
    • Simulation des scénarios robotiques dans Gazebo.
  • Majeure Robots autonomes et IA - Algorithmes avancés

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Modéliser et résoudre des problèmes concrets à l’aide de graphes
    • Déterminer la complexité temporelle des algorithmes définis par des relations de récurrence, notamment à l’aide du Master Theorem
    • Présenter les bases et les techniques avancées de la programmation dynamique pour résoudre des problèmes optimaux, illustrer son efficacité à travers des exemples classiques comme le problème du sac à dos, la plus longue sous-séquence commune ou l’alignement de chaînes ; savoir reconnaître les problèmes où la programmation dynamique est applicable
    • Modéliser des problèmes d’optimisation linéaire : Comprendre les fondements de la programmation linéaire, formuler des problèmes réels en programmation linéaire et analyser les limites des solutions proposées par cette méthode.
    • Comprendre les limites théoriques et pratiques des modèles de calcul

    Pré-requis

    • Notions de mathématiques discrètes : combinatoire, raisonnement par récurrence
    • Algèbre et analyse : calcul matriciel, manipulation de fonctions, limites, logarithmes et exponentielles, croissances comparées
    • Programmation : niveau de base en Python (syntaxe, fonctions, classes…)

    Contenu du cours

    • Concepts avancés de théorie des graphes (coloration, théorème flot max / coupe min, PageRank, approches de résolution de problèmes difficiles,…) ; modélisation à l’aide de graphes
    • Complexité des algorithmes récursifs / Master Theorem
    • Introduction à la programmation dynamique
    • Introduction à la programmation linéaire
    • Introduction à la calculabilité (Machines de Turing)
  • Majeure Robots autonomes et IA - Systèmes et autonomie des transports

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser les technologies et les contraintes liées aux systèmes de transport actuels.
    • Identifier les étapes clés vers l’autonomisation des moyens de transport.
    • Concevoir et réaliser un projet pratique appliqué au véhicule autonome dans un environnement simplifié d’une voiture (Calculateur, Bus CAN, tableau de bord, véhicule simulé sur ordinateur).

    Pré-requis

    • Principes des langages de programmation
    • Architecture des ordinateurs
    • Mise en œuvre d’un système à microcontrôleur

    Contenu du cours

    • Architecture automobile (bus CAN et autres bus, calculateurs, …)
    • Introduction au véhicule autonome (ADAS, capteurs, …)
    • Programmation embarquée sécuritaire (MISRA)
    • Fiabilité / Sureté de fonctionnement (application au ferroviaire)
    • Architecture de sécurité (application au ferroviaire)
    • Projet de logiciel embarqué appliqué à la voiture autonome
  • Majeure Robots autonomes et IA - Data Mining et Machine Learning

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Identifier les anomalies présentes dans les données, repérer les patterns ou tendances, et comprendre les enjeux liés à la construction de modèles de données.
    • Concevoir un système de recommandation adapté aux besoins spécifiques.
    • Analyser une problématique, sélectionner une méthode appropriée de traitement des données, et l’appliquer efficacement pour obtenir des résultats pertinents.

    Pré-requis

    • Connaissance en langage de programmation Python
    • Connaissance de la ligne de commande

    Contenu du cours

    Représentation, manipulation et prétraitement des données

    • Comprendre les différentes représentations de données : bases relationnelles, NoSQL, données structurées et non structurées.
    • Manipuler les données via des API et effectuer leur prétraitement (nettoyage, gestion des valeurs manquantes, transformation).
    • Atelier pratique : Manipulation et nettoyage des données avec Pandas, NumPy et Jupyter.

    Traitement des données

    • Détecter les anomalies dans les ensembles de données.
    • Extraire des connaissances à l’aide de règles d’association.
    • Mettre en œuvre des techniques de partitionnement (clustering) et des approches de classification et régression pour la modélisation prédictive.
    • Atelier pratique : Application des méthodes de traitement avec Scikit-learn et Jupyter.

    Construction de modèles et apprentissage machine

    • Introduction aux paradigmes d’apprentissage : supervisé, non supervisé, semi-supervisé et par renforcement.
    • Construire et entraîner des modèles prédictifs simples.
    • Atelier pratique : Création de modèles avec Scikit-learn et introduction aux réseaux de neurones.

    Réseaux de neurones artificiels et apprentissage profond

    • Étudier la structure des réseaux (couches, nœuds, fonctions d’activation) et leurs algorithmes d’apprentissage (rétropropagation, descente de gradient).
    • Appliquer des techniques d’optimisation et de régularisation pour améliorer les performances.
    • Introduction aux concepts fondamentaux de l’apprentissage profond (Deep Learning).

    Projet final

    Intégrer l’ensemble des notions étudiées dans un projet appliqué, allant de la préparation des données à la construction et l’optimisation de modèles prédictifs.

  • Majeure Robots autonomes et IA - De la simulation au prototypage

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre l’intérêt et les applications de la simulation robotique.
    • Maîtriser l’utilisation de ROS2 pour la simulation (Gazebo) et le contrôle de robots (ros2_control)
    • Implémenter et tester des algorithmes robotiques dans un environnement simulé.
    • Passer de la simulation au prototype physique de manière efficace avec les abstractions de ros2_control

    Pré-requis

    • Mise en œuvre d’un système à microprocesseur
    • Capteurs et robotique probabiliste
    • Frameworks Robotiques

    Contenu du cours

    • Intégration de robots, de capteurs, d’actionneurs et d’univers, dans Gazebo
    • Développement de fichiers URDF (Unified Robot Description Format) prenant en compte les balises Gazebo
    • Utilisation de ros2_control pour le contrôle des actionneurs et sous-systèmes.
    • Développement de fichiers URDF prenant en compte les balises ros2_control
    • Implémentation et test d’algorithmes de navigation et manipulation.
    • Techniques pour passer du modèle simulé au prototype physique.
    • Apprentissage par projet de bout en bout, du robot simulé au robot réel avec capteurs et actionneurs
  • Majeure Robots autonomes et IA - ASI-1

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser les avantages et les inconvénients des approches Web dynamiques, telles que la génération de pages côté serveur (CGI, JSP) et les Web Services REST.
    • Concevoir et déployer des serveurs Backend FullRest, notamment avec des frameworks comme Springboot.
    • Évaluer les avantages et les inconvénients des architectures MicroServices par rapport aux architectures monolithiques.
    • Reconfigurer des architectures monolithiques FullRest en architectures MicroServices.
    • Implémenter et gérer des dispositifs de gestion de dépendances dans un environnement de développement.
    • Appliquer des bonnes pratiques de programmation et de qualité de code, incluant la réalisation de tests unitaires et l’amélioration de la couverture de tests.

    Pré-requis

    • Maîtrise des systèmes Linux.
    • Connaissances solides en programmation orientée objet.
    • Compétences en développement Web.

    Contenu du cours

    Mise en œuvre d’architectures Web dynamiques et de Web Services REST

    • Développement de fonctionnalités en Web dynamique à l’aide de technologies comme JEE, Servlet, JavaBean et JSP.
    • Développement de fonctionnalités en Web Services REST avec des technologies telles que JEE, Servlet et JavaBean.
    • Analyse comparative des approches Web dynamiques et REST : avantages et inconvénients.

    Évaluation des architectures logicielles et réalisation d’une application FullREST

    • Comparaison des architectures logicielles : monolithique, SOA et MicroServices.
    • Développement d’une application FullREST en utilisant des frameworks comme Springboot.
    • Introduction et mise en œuvre d’outils de gestion de dépendances tels que Maven.

    Conception et déploiement d’une architecture MicroServices

    • Transformation d’une architecture monolithique en architecture MicroServices.
    • Réalisation de tests unitaires pour valider les fonctionnalités.
    • Évaluation et optimisation de la couverture de tests.
    • Exploration et mise en œuvre du déploiement des MicroServices, incluant des notions de haute disponibilité et de virtualisation.
  • Majeure Systèmes et réseaux - DevOps

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre l’origine et l’intérêt de la mouvance DevOps dans les projets informatiques.
    • Développer une compréhension approfondie du monde du IaaS (Infrastructure as a Service) et du CaaS (Containers as a Service), leurs différences et leurs points communs.
    • Comprendre et appliquer les bonnes pratiques de sécurité dans un système d’exploitation Linux.
    • Approfondir le fonctionnement d’un système d’exploitation UNIX/Linux (sécurité, réseau, gestion des ressources).
    • Maîtriser un environnement conteneurisé de manière sécurisée et contrôlée.
    • Mettre en place un système de monitoring d’infrastructure et d’applications.

    Pré-requis

    • Maîtrise des concepts clés de la virtualisation et de l’Infrastructure as a Service (IaaS)
    • Connaissance des principes fondamentaux de l’administration système sous Linux
    • Compréhension des notions de base en réseaux, notamment le modèle OSI
    • Connaissance des fondamentaux du développement logiciel, incluant Git et les outils de gestion de packages.

    Contenu du cours

    Conteneurs Linux (Open Container Initiative)

    • Automatisation de la construction d’images (Continuous Integration) à partir d’un code source (GitLab CI/CD).
    • Gestion du cycle de vie des conteneurs (Docker).
    • Distribution d’images OCI (Registry Docker, signature et validation des images).
    • Mise en place des bonnes pratiques de sécurisation des conteneurs (Dockerfile).

    Infrastructure as Code

    • Utilisation d’outils permettant le déploiement automatisé et reproductible d’infrastructures (Continuous Delivery).
    • Mise en place d’une infrastructure pour le déploiement de conteneurs Linux sur une plateforme IaaS (Terraform, Ansible).

    Container as a Service (Kubernetes)

    • Déploiement industrialisé sur une plateforme CaaS via des outils d’automatisation (ArgoCD).
    • Utilisation d’opérateurs Kubernetes pour la gestion avancée des applications.

    Configuration et gestion d’un cluster Kubernetes

    • Mise en place d’une configuration permettant à une équipe applicative (fictive) d’utiliser le cluster tout en imposant des restrictions garantissant sa stabilité et celle des applications déployées.
    • Intégration d’outils de monitoring du cluster Kubernetes et des applications (Grafana, Prometheus, AlertManager).
    • Sécurisation du cluster pour limiter les risques liés à l’exécution de conteneurs de sources inconnues (eBPF, Linux Capabilities, Agent OPA).
    • Compréhension et configuration des composants réseau fondamentaux d’un cluster Kubernetes (Kube-Proxy, CNI) afin de permettre le déploiement de load balancers haute disponibilité (L2, ECMP).
  • Majeure Systèmes et réseaux - Sécurité Cloud

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Développer une compréhension approfondie de la sécurité cloud, en abordant les principes fondamentaux tels que le modèle de responsabilité partagée et les architectures multi-tier.
    • Configurer des services cloud sécurisés, en mettant l’accent sur la gestion des accès (IAM) et la sécurité des données (S3).
    • Appliquer les meilleures pratiques de chiffrement pour sécuriser les données en transit et au repos.
    • Identifier les vulnérabilités potentielles et proposer des stratégies efficaces de récupération après sinistre (Disaster Recovery).
    • Maîtriser les techniques de chiffrement et leur application à des scénarios réels.
    • Rédiger et présenter un rapport technique détaillé.

    Pré-requis

    • Compréhension des concepts fondamentaux en réseaux et en sécurité informatique.
    • Notions essentielles sur la gestion des rôles et des permissions.
    • Bases solides en cryptographie.

    Contenu du cours

    Introduction à l’infrastructure cloud et à la sécurité réseau

    • Concepts fondamentaux : Régions, Zones de Disponibilité (AZ).
    • Virtual Private Cloud (VPC) : sous-réseaux, passerelles, routage.
    • Sécurité réseau : Groupes de sécurité et NACL.
    • Travaux pratiques : Création et sécurisation d’une infrastructure cloud.

    Gestion des identités et des accès (IAM) (4 heures)

    • Utilisateurs, groupes, rôles et politiques IAM.
    • Principe du moindre privilège et authentification multi-facteurs (MFA).
    • Travaux pratiques : Configuration et test de politiques IAM.

    Sécurisation des données et chiffrement

    • Protection des données au repos (S3) et en transit (TLS, ACM).
    • Chiffrement avec AWS KMS.
    • Travaux pratiques : Sécurisation et audit des données avec S3.

    Récupération après sinistre (Disaster Recovery)

    • Sauvegarde, restauration et haute disponibilité.
    • Automatisation des scénarios de reprise.
    • Travaux pratiques : Simulation de récupération après sinistre
  • Majeure Systèmes et réseaux - IOT

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Concevoir une architecture IoT complète, depuis le capteur jusqu’au stockage et exploitation des données dans le cloud.
    • Intégrer des capteurs sur une plateforme de développement embarqué et établir une communication via un protocole radio courte portée approprié.
    • Réaliser un pré-traitement des données en bordure d’architecture : nettoyage, agrégation, formatage et prédiction en utilisant des algorithmes d’IA embarquée.
    • Configurer une passerelle IoT pour transmettre les données au cloud via des réseaux IoT cellulaires.
    • Exploiter les données IoT à travers des outils classiques et de l’IA dans le cloud : existants ou à développer pour une application choisie.
    • Visualiser et monitorer les données collectées et transmettre des alertes si besoin.

    Pré-requis

    • Connaissances de base en électronique embarquée (capteurs, microcontrôleurs).
    • Compétences en programmation embarquée et en configuration réseau.
    • Notions sur les protocoles IoT (MQTT, LoRaWAN) et les bases de données (Redis, InfluxDB).

    Contenu du cours

    • Introduction au projet :
    1. Présentation des objectifs et des outils à utiliser.
    2. Exploration et choix du domaine d’application : santé, environnement, industrie, etc.
    • Conception de l’architecture IoT :
    1. Intégration des capteurs sur une carte de développement embarquée.
    2. Choix du protocole radio courte portée adapté : NRF, Zigbee, Bluetooth, WiFi, ou 802.15.4.
    • Traitement des données capturées en bordure d’architecture
      Acquisition, nettoyage, analyse des données et l’application d’algorithmes de Machine Learning pour extraire des informations utiles.
    • Mise en place de la passerelle IoT :
    1. Configuration d’une passerelle : BeagleBone Black, NB-IoT ou STM32 avec LoRaWAN.
    2. Transfert des données au réseau cloud : NRF, The Things Network.
    • Transmission et stockage des données :
    1. Exploitation des files MQTT pour la récupération des données dans le cloud.
    2. Stockage dans des bases de données IoT comme Redis ou InfluxDB.
    • Visualisation et exploitation des données :
    1. Configuration de tableaux de bord avec Grafana.
    2. Déploiement dans un environnement cloud : Google Cloud IoT, AWS IoT, Azure IoT, Ubidots.
    • Conception et développement d’une application pratique de traitement des données IoT, avec des cas concrets comme la maintenance prédictive, la gestion des capteurs dans le cadre des villes intelligentes, le traitement de données IOT des capteurs médicaux, etc.
  • Majeure Systèmes et réseaux - Radio logicielle

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    L’objectif de ce module est la conception et la mise en œuvre d’un système de communication radio basé sur le matériel et les programmes de la radio logicielle (Software Defined Radio – SDR), selon la démarche suivante :

    • Comprendre les concepts de la radio logicielle, où le traitement du signal se fait via des logiciels, par opposition aux architectures radio matérielles, dans lesquelles les circuits sont dédiés aux traitements spécifiques en fonction des applications, standards ou protocoles.
    • Analyser les paramètres systèmes, – tels que la précision de l’horloge, la largeur de bande du tuner, la fréquence d’échantillonnage, la résolution numérique, le débit de l’interface ordinateur – pour comprendre les limites d’utilisation des dispositifs SDR, dans les différents standards et applications.
    • Identifier les principaux blocs d’un système de traitement et de communications numériques, à différents niveaux (Phy/MAC/Appli), ainsi que leur implémentation, et comprendre la transformation des signaux et leurs formats en entrée et en sortie.
    • Configurer à l’aide des paquets logiciels, un système de réception générique ou d’un standard radio choisi (analyseur de spectre ; radio FM ; cellulaire 2G, 4G-LTE, IoT LoraWAN; aéronautique ADS-B, ACARS, etc.)
    • Prototyper une chaîne complète d’un récepteur numérique radio logicielle pour un système donné, et manipuler les signaux et messages physiques réels.

    Pré-requis

    • Notions de base en traitement du signal et transmissions numériques
    • Programmation en C ou Python

    Contenu du cours

    • Introduction à l’approche et à l’architecture de la radio logicielle programmable.
    • Prise en main guidée des outils matériels et logiciels : démonstrations suivies par la manipulation et la configuration des outils par les étudiants, à partir des exemples fournis, avec observation et analyse des résultats.
    • Bases de traitement et communication numériques des signaux : bande de base et bande passante, échantillonnage et compression, formatage et conversion des données, codage et modulation, tramage et encapsulation des données applicatives.
    • Analyse d’un système, d’un standard ou d’une application : identification des fonctionnalités, des blocs de traitement algorithmiques qui les réalisent et des formes des signaux correspondants.
    • Conception guidée d’un système SDR : implémentation matérielle et logicielle avec les outils choisis.
    • Amélioration des performances et personnalisation du système : prise en compte des paramètres radio (distances de transmission), du scénario (mobilité des utilisateurs) et des besoins spécifiques tels que la sécurisation des signaux transmis pour résister à l’interception.
  • Majeure Système et réseaux - Wireless

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser et configurer les normes WiFi (802.11 a/b/g/n/ac/ax) pour répondre aux besoins d’un réseau.
    • Mettre en œuvre des mécanismes de géolocalisation via WiFi.
    • Déployer et administrer un réseau WiFi centralisé avec détection et configuration automatiques des points d’accès.
    • Assurer la sécurité des communications par des mécanismes de chiffrement avancés (AES, WPA, WEP) et par l’authentification (Radius, Tacacs).
    • Configurer et appliquer des politiques de contrôle d’accès selon différents critères : IP, MAC, utilisateurs, groupes ou VLAN.
    • Implémenter et gérer des fonctionnalités de firewalling, haute disponibilité et répartition de charge.
    • Superviser et analyser les performances et les connexions WiFi via des outils de monitoring, tableaux de bord, et gestion des logs.

    Pré-requis

    • Bases en réseaux : Compréhension des protocoles, adressage IP, VLANs, et configuration des équipements réseau.
    • Bases en sécurité : Chiffrement (AES, WPA), protocoles d’authentification (Radius, TACACS).
    • Gestion de performance : Connaissance du firewalling, haute disponibilité et répartition de charge.
    • Expérience avec les équipements réseau et les outils de monitoring.

    Contenu du cours

    • Introduction aux normes WiFi : 802.11 a/b/g/n/ac/ax.
    • Techniques de géolocalisation via WiFi
    • Déploiement et administration :
    1. Administration centralisée des points d’accès.
    2. Détection et configuration automatiques des bornes.
    • Sécurisation des communications :
    1. Chiffrement (AES, WPA, WEP).
    2. Authentification via bases locales et externes (Radius, Tacacs).
    • Contrôle d’accès : Par IP, MAC, utilisateur, groupe ou VLAN.
    • Haute disponibilité et optimisation :
    1. Répartition de charge.
    2. Firewalling avec inspection dynamique.
    • Supervision et gestion :
    1. Tableau de bord et statistiques.
    2. Gestion des logs de connexion.
  • Majeure Systèmes et réseaux - Sécurité des réseaux

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser le rôle des protocoles TCP, UDP dans les réseaux.
    • Maîtriser les techniques de filtrage et de contrôle d’accès dans un réseau.
    • Configurer et gérer des firewalls pour sécuriser les communications réseau.
    • Implémenter des solutions de sécurité basées sur IPsec pour les communications sécurisées.
    • Appliquer les concepts de sécurité pour protéger les réseaux contre les menaces externes et internes.

    Pré-requis

    • Notions de base en réseaux : modèle OSI, TCP/IP, et fonctionnement des équipements réseau.
    • Connaissance des protocoles : TCP, UDP, et IP.
    • Bases de la sécurité informatique : concepts de chiffrement, authentification et intégrité des données.
    • Compétences en systèmes d’exploitation : maîtrise des commandes sur Linux ou Windows pour la configuration des outils de sécurité réseau.

    Contenu du cours

    Protocoles de Communication

    • Rappel sur le protocole TCP (Transmission Control Protocol) : modèle en couches, fiabilité, contrôle de flux, gestion de congestion, séquencement, structure des segments.
    • Rappel sur le protocole UDP (User Datagram Protocol) : transmission non fiable, applications utilisant UDP (streaming, jeux en ligne, DNS), en-tête UDP, différences avec TCP.

    Listes de Contrôle d’Accès (ACL – Access Control Lists)

    • Rappel sur les ACL : objectifs et types (standard et étendues), règles de filtrage selon adresse, protocole, etc.
    • Configuration et gestion des ACL : implémentation sur routeurs et switches, applications pratiques pour sécuriser les réseaux internes.

    Firewalls

    • Rappel sur les Firewalls : rôle et types (filtrage de paquets, inspection dynamique, NGFW).
    • Stratégies de filtrage : filtrage par IP, protocole, port et par application, firewalls de niveau application.
    • Configuration d’un firewall : outils de gestion, création de règles de sécurité.

    IPsec (Internet Protocol Security)

    • Rappel sur IPsec : objectifs de sécurité (confidentialité, intégrité, authentification), modes (transport et tunnel).
    • Protocoles et algorithmes d’IPsec : AH et ESP, cryptographie (AES, 3DES, HMAC, SHA).
    • Mise en œuvre d’IPsec : création de tunnels VPN, étapes de configuration.
    • Applications d’IPsec : sécurisation des communications inter-sites, accès sécurisé aux réseaux distants.

    Cas Pratiques et Applications

    • Configuration d’un réseau avec ACL et Firewalls.
    • Création d’un tunnel VPN sécurisé avec IPsec.
    • Analyse des performances des protocoles TCP et UDP dans un réseau sécurisé.
  • Majeure Cybersécurité - Sécurité des réseaux

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Analyser le rôle des protocoles TCP, UDP dans les réseaux.
    • Maîtriser les techniques de filtrage et de contrôle d’accès dans un réseau.
    • Configurer et gérer des firewalls pour sécuriser les communications réseau.
    • Implémenter des solutions de sécurité basées sur IPsec pour les communications sécurisées.
    • Appliquer les concepts de sécurité pour protéger les réseaux contre les menaces externes et internes.

    Pré-requis

    • Notions de base en réseaux : modèle OSI, TCP/IP, et fonctionnement des équipements réseau.
    • Connaissance des protocoles : TCP, UDP, et IP.
    • Bases de la sécurité informatique : concepts de chiffrement, authentification et intégrité des données.
    • Compétences en systèmes d’exploitation : maîtrise des commandes sur Linux ou Windows pour la configuration des outils de sécurité réseau.

    Contenu du cours

    Protocoles de Communication

    • Rappel sur le protocole TCP (Transmission Control Protocol) : modèle en couches, fiabilité, contrôle de flux, gestion de congestion, séquencement, structure des segments.
    • Rappel sur le protocole UDP (User Datagram Protocol) : transmission non fiable, applications utilisant UDP (streaming, jeux en ligne, DNS), en-tête UDP, différences avec TCP.

    Listes de Contrôle d’Accès (ACL – Access Control Lists)

    • Rappel sur les ACL : objectifs et types (standard et étendues), règles de filtrage selon adresse, protocole, etc.
    • Configuration et gestion des ACL : implémentation sur routeurs et switches, applications pratiques pour sécuriser les réseaux internes.

    Firewalls

    • Rappel sur les Firewalls : rôle et types (filtrage de paquets, inspection dynamique, NGFW).
    • Stratégies de filtrage : filtrage par IP, protocole, port et par application, firewalls de niveau application.
    • Configuration d’un firewall : outils de gestion, création de règles de sécurité.

    IPsec (Internet Protocol Security)

    • Rappel sur IPsec : objectifs de sécurité (confidentialité, intégrité, authentification), modes (transport et tunnel).
    • Protocoles et algorithmes d’IPsec : AH et ESP, cryptographie (AES, 3DES, HMAC, SHA).
    • Mise en œuvre d’IPsec : création de tunnels VPN, étapes de configuration.
    • Applications d’IPsec : sécurisation des communications inter-sites, accès sécurisé aux réseaux distants.

    Cas Pratiques et Applications

    • Configuration d’un réseau avec ACL et Firewalls.
    • Création d’un tunnel VPN sécurisé avec IPsec.
    • Analyse des performances des protocoles TCP et UDP dans un réseau sécurisé.
  • Majeure Cybersécurité - DevOps

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Comprendre l’origine et l’intérêt de la mouvance DevOps dans les projets informatiques.
    • Développer une compréhension approfondie du monde du IaaS (Infrastructure as a Service) et du CaaS (Containers as a Service), leurs différences et leurs points communs.
    • Comprendre et appliquer les bonnes pratiques de sécurité dans un système d’exploitation Linux.
    • Approfondir le fonctionnement d’un système d’exploitation UNIX/Linux (sécurité, réseau, gestion des ressources).
    • Maîtriser un environnement conteneurisé de manière sécurisée et contrôlée.
    • Mettre en place un système de monitoring d’infrastructure et d’applications.

    Pré-requis

    • Maîtrise des concepts clés de la virtualisation et de l’Infrastructure as a Service (IaaS)
    • Connaissance des principes fondamentaux de l’administration système sous Linux
    • Compréhension des notions de base en réseaux, notamment le modèle OSI
    • Connaissance des fondamentaux du développement logiciel, incluant Git et les outils de gestion de packages.

    Contenu du cours

    Conteneurs Linux (Open Container Initiative)

    • Automatisation de la construction d’images (Continuous Integration) à partir d’un code source (GitLab CI/CD).
    • Gestion du cycle de vie des conteneurs (Docker).
    • Distribution d’images OCI (Registry Docker, signature et validation des images).
    • Mise en place des bonnes pratiques de sécurisation des conteneurs (Dockerfile).

    Infrastructure as Code

    • Utilisation d’outils permettant le déploiement automatisé et reproductible d’infrastructures (Continuous Delivery).
    • Mise en place d’une infrastructure pour le déploiement de conteneurs Linux sur une plateforme IaaS (Terraform, Ansible).

    Container as a Service (Kubernetes)

    • Déploiement industrialisé sur une plateforme CaaS via des outils d’automatisation (ArgoCD).
    • Utilisation d’opérateurs Kubernetes pour la gestion avancée des applications.

    Configuration et gestion d’un cluster Kubernetes

    • Mise en place d’une configuration permettant à une équipe applicative (fictive) d’utiliser le cluster tout en imposant des restrictions garantissant sa stabilité et celle des applications déployées.
    • Intégration d’outils de monitoring du cluster Kubernetes et des applications (Grafana, Prometheus, AlertManager).
    • Sécurisation du cluster pour limiter les risques liés à l’exécution de conteneurs de sources inconnues (eBPF, Linux Capabilities, Agent OPA).
    • Compréhension et configuration des composants réseau fondamentaux d’un cluster Kubernetes (Kube-Proxy, CNI) afin de permettre le déploiement de load balancers haute disponibilité (L2, ECMP).
  • Majeure Cybersécurité - Sécurité Cloud

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Développer une compréhension approfondie de la sécurité cloud, en abordant les principes fondamentaux tels que le modèle de responsabilité partagée et les architectures multi-tier.
    • Configurer des services cloud sécurisés, en mettant l’accent sur la gestion des accès (IAM) et la sécurité des données (S3).
    • Appliquer les meilleures pratiques de chiffrement pour sécuriser les données en transit et au repos.
    • Identifier les vulnérabilités potentielles et proposer des stratégies efficaces de récupération après sinistre (Disaster Recovery).
    • Maîtriser les techniques de chiffrement et leur application à des scénarios réels.
    • Rédiger et présenter un rapport technique détaillé.

    Pré-requis

    • Compréhension des concepts fondamentaux en réseaux et en sécurité informatique.
    • Notions essentielles sur la gestion des rôles et des permissions.
    • Bases solides en cryptographie.

    Contenu du cours

    Introduction à l’infrastructure cloud et à la sécurité réseau

    • Concepts fondamentaux : Régions, Zones de Disponibilité (AZ).
    • Virtual Private Cloud (VPC) : sous-réseaux, passerelles, routage.
    • Sécurité réseau : Groupes de sécurité et NACL.
    • Travaux pratiques : Création et sécurisation d’une infrastructure cloud.

    Gestion des identités et des accès (IAM) (4 heures)

    • Utilisateurs, groupes, rôles et politiques IAM.
    • Principe du moindre privilège et authentification multifacteur (MFA).
    • Travaux pratiques : Configuration et test de politiques IAM.

    Sécurisation des données et chiffrement

    • Protection des données au repos (S3) et en transit (TLS, ACM).
    • Chiffrement avec AWS KMS.
    • Travaux pratiques : Sécurisation et audit des données avec S3.

    Récupération après sinistre (Disaster Recovery)

    • Sauvegarde, restauration et haute disponibilité.
    • Automatisation des scénarios de reprise.
    • Travaux pratiques : Simulation de récupération après sinistre.
  • Majeure Cybersécurité - IOT

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Concevoir une architecture IoT complète, depuis le capteur jusqu’au stockage et exploitation des données dans le cloud.
    • Intégrer des capteurs sur une plateforme de développement embarqué et établir une communication via un protocole radio courte portée approprié.
    • Réaliser un pré-traitement des données en bordure d’architecture : nettoyage, agrégation, formatage et prédiction en utilisant des algorithmes d’IA embarquée.
    • Configurer une passerelle IoT pour transmettre les données au cloud via des réseaux IoT cellulaires.
    • Exploiter les données IoT à travers des outils classiques et de l’IA dans le cloud : existants ou à développer pour une application choisie.
    • Visualiser et monitorer les données collectées et transmettre des alertes si besoin.

    Pré-requis

    • Connaissances de base en électronique embarquée (capteurs, microcontrôleurs).
    • Compétences en programmation embarquée et en configuration réseau.
    • Notions sur les protocoles IoT (MQTT, LoRaWAN) et les bases de données (Redis, InfluxDB).

    Contenu du cours

    Introduction au projet :

    • Présentation des objectifs et des outils à utiliser.
    • Exploration et choix du domaine d’application : santé, environnement, industrie, etc.

    Conception de l’architecture IoT :

    • Intégration des capteurs sur une carte de développement embarquée.
    • Choix du protocole radio courte portée adapté : NRF, Zigbee, Bluetooth, WiFi, ou 802.15.4.

    Traitement des données capturées en bordure d’architecture

    • Acquisition, nettoyage, analyse des données et l’application d’algorithmes de Machine Learning pour extraire des informations utiles.

    Mise en place de la passerelle IoT :

    • Configuration d’une passerelle : BeagleBone Black, NB-IoT ou STM32 avec LoRaWAN.
    • Transfert des données au réseau cloud : NRF, The Things Network.

    Transmission et stockage des données :

    • Exploitation des files MQTT pour la récupération des données dans le cloud.
    • Stockage dans des bases de données IoT comme Redis ou InfluxDB.

    Visualisation et exploitation des données :

    • Configuration de tableaux de bord avec Grafana.
    • Déploiement dans un environnement cloud : Google Cloud IoT, AWS IoT, Azure IoT, Ubidots.

    Conception et développement d’une application pratique de traitement des données IoT, avec des cas concrets comme la maintenance prédictive, la gestion des capteurs dans le cadre des villes intelligentes, le traitement de données IOT des capteurs médicaux, etc.

  • Majeure Cybersécurité - Sécurité offensive - Pentesting/Malware

    Majeure scientifique, au choix

    Année 4 Semestre 8

    Parcours individualisé

    Objectifs pédagogiques / Acquis du cours

    • Appliquer les étapes clés d’un test d’intrusion complet, de la reconnaissance à l’exploitation.
    • Maîtriser les méthodologies et outils de tests d’intrusion (pentesting) tels que Metasploit, Burp Suite et Nmap.
    • Identifier, exploiter et documenter les vulnérabilités dans des environnements sécurisés.
    • Explorer et simuler des scénarios réels d’attaques pour mieux comprendre les vulnérabilités.
    • Analyser le cycle de vie des malwares, incluant leurs techniques d’infection et d’obfuscation.
    • Étudier les techniques de reconnaissance, d’exfiltration et d’obfuscation des malwares.
    • Détecter, neutraliser et comprendre les mécanismes des logiciels malveillants.
    • Rédiger des rapports post-pentest détaillés avec recommandations adaptées.
    • Maîtriser la rédaction de rapports de sécurité clairs et exploitables.

    Pré-requis

    • Maîtrise des concepts fondamentaux de la sécurité réseau.
    • Connaissances de base en cryptographie et en sécurité des systèmes d’exploitation (Windows/Linux).
    • Familiarité avec les langages de script tels que Python ou Bash.
    • Expérience pratique avec des environnements virtualisés et des plateformes cloud.

    Contenu du cours

    Introduction au pentesting et à la sécurité offensive

    • Comprendre les définitions, objectifs, et portée des tests d’intrusion.
    • Respecter la réglementation et les principes éthiques en sécurité offensive.
    • Adopter des méthodologies reconnues (OWASP, PTES).

    Reconnaissance et collecte d’informations

    • Appliquer des techniques passives et actives de reconnaissance.
    • Exploiter des outils comme Nmap, Shodan et OSINT pour collecter des données.
    • Analyser les surfaces d’attaque pour identifier les points faibles.

    Scanning et énumération

    • Effectuer l’analyse des ports et services ouverts.
    • Identifier les vulnérabilités à l’aide d’outils tels que Nessus et OpenVAS.
    • Réaliser l’énumération des systèmes, réseaux, et applications.

    Exploitation des vulnérabilités

    • Utiliser des outils comme Metasploit pour exploiter des failles de sécurité.
    • Mettre en œuvre des techniques courantes : Buffer Overflow, SQL Injection, XSS.
    • Appliquer des méthodes d’escalade de privilèges et de maintien d’accès (persistance).

    Introduction aux malwares

    • Identifier les différents types de malwares : virus, trojans, ransomwares, rootkits.
    • Étudier les techniques de dissimulation, comme l’obfuscation et les packers.
    • Réaliser des analyses dynamiques et statiques de logiciels malveillants.

    Reporting et remédiation

    • Rédiger des rapports post-pentest détaillés et exploitables.
    • Proposer des recommandations et des bonnes pratiques de remédiation.
    • Communiquer efficacement les résultats aux parties prenantes.

    Exercices pratiques et études de cas

    • Simuler des scénarios d’attaque sur des environnements virtuels.
    • Analyser un malware réel dans un environnement isolé.
    • Mener un test d’intrusion complet, suivi de la rédaction et de la présentation d’un rapport.
  • Anglais S8

    Anglais

    Année 4 Semestre 8

    Tronc commun

    Objectifs pédagogiques / Acquis du cours

    • Développer les compétences linguistiques générales.
    • Préparer les élèves à une mobilité internationale d’au moins 9 semaines.
    • Renforcer les compétences en anglais technique, notamment pour la lecture et la rédaction de rapports scientifiques.
    • Préparer les élèves aux certifications Cambridge.

    Pré-requis

    Les cours d’anglais suivis aux semestres 5,6 et 7.

    Contenu du cours

    • Développer la culture d’entreprise pour s’adapter à différents environnements professionnels.
    • Se préparer à vivre une expérience professionnelle à l’étranger, en renforçant l’autonomie et l’intégration culturelle.
    • Lire et analyser des documents techniques en anglais, afin de maîtriser le vocabulaire spécifique et les concepts complexes.
    • Rédiger des articles de type Wikipédia, en mettant l’accent sur la clarté, la concision et la rigueur dans le style.
    • Améliorer les compétences en présentation orale : préparation du discours, utilisation des supports visuels et gestion de l’interaction avec le public.
    • Participer à des activités de préparation ciblées pour les examens de Cambridge.
  • SHES - Gestion financière

    Sciences humaines, économiques et sociales

    Année 4 Semestre 8

    Tronc commun

    Objectifs pédagogiques / Acquis du cours

    Gestion financière

    • Analyser les décisions financières de l’entreprise en les replaçant dans leur contexte économique et conjoncturel.
    • Interpréter les documents financiers légaux pour obtenir une vision claire de la santé financière de l’entité
    • Assurer une adéquation optimale entre les trois cycles financiers de l’entreprise : cycle d’exploitation, cycle d’investissement et cycle de financement.

    L’investissement

    • Identifier les besoins d’investissements
    • Déterminer un choix d’investissement en fonction de critère de performance et de rentabilité

    Gestion analytique

    • Identifier les sources de consommation au sein de l’entreprise et en analyser les raisons, selon le découpage analytique, les standards et les unités d’œuvre définis.
    • Appliquer les concepts d’amélioration continue de la performance.

    Gestion budgétaire

    • Élaborer un budget de manière rigoureuse.
    • Justifier les écarts budgétaires et analyser les causes sous-jacentes.
    • Proposer des actions correctrices pour garantir le respect des objectifs budgétaires.

    Contenu du cours

    Gestion financière

    • Réalisation d’une analyse approfondie des cycles d’exploitation, d’investissement et de financement.
    • Évaluation économique du compte de résultat et du bilan pour déterminer la performance financière de l’entreprise.
    • Élaboration d’une critique objective et pertinente d’un plan d’affaires (business plan), en mettant en évidence les points forts et les risques.

    L’investissement

    • Définition de l’investissement
    • Choix et rentabilité d’investissement
    • Calcul de la valeur actuelle nette et de l’indice de profitabilité d’un investissement
    • Compréhension du Taux de Rendement interne d’un Investissement
    • Détermination du délai de récupération (retour sur investissement)

    Gestion analytique et budgétaire

    • Compréhension et justification du découpage analytique, ainsi que de ses différentes déclinaisons selon les besoins de l’entreprise.
    • Analyse des différents types de coûts : coûts fixes, coûts variables, et détermination du point mort.
    • Maîtrise des coûts standards, des unités d’œuvre, ainsi que des charges directes, indirectes et supplétives.
    • Élaboration et suivi de la mise en place d’un budget, avec une analyse approfondie des écarts et des justifications associées.
  • Majeure Développement, DATA et IA

    Majeure scientifique, au choix

    Année 5 Semestre 9

    26 crédits

    Parcours individualisé

    Liste des différents modules abordés dans cette majeure : 

    • ASI : 6 crédits ECTS
    • Big data analytics : 3 crédits ECTS
    • IA et RL (Reinforcement Learning) : 3 crédits ECTS
    • Initiation à la recherche : 2 crédits ECTS
    • Projet : 12 crédits ECTS
  • Majeure IA et robots autonomes

    Majeure scientifique, au choix

    Année 5 Semestre 9

    26 crédits

    Parcours individualisé

    Liste des différents modules abordés dans cette majeure : 

    • Systèmes embarqués motorisés : 3 crédits ECTS
    • Robotique mobile : 3 crédits ECTS
    • Vision : 3 crédits ECTS
    • Deep Learning : 3 crédits ECTS
    • Initiation à la recherche : 2 crédits ECTS
    • Projet : 12 crédits ECTS
  • Majeure Infrastructures, systèmes et réseaux

    Majeure scientifique, au choix

    Année 5 Semestre 9

    26 crédits

    Parcours individualisé

    Liste des différents modules abordés dans cette majeure : 

    • Réseaux cellulaires : 3 crédits ECTS
    • VOIP : 3 crédits ECTS
    • Appel d’offres : 3 crédits ECTS
    • Certifications : 3 crédits ECTS
    • Initiation à la recherche : 2 crédits ECTS
    • Projet : 12 crédits ECTS
  • Majeure Cybersécurité

    Majeure scientifique, au choix

    Année 5 Semestre 9

    26 crédits

    Parcours individualisé

    Liste des différents modules abordés dans cette majeure : 

    • Gouvernance de la sécurité (gestion des risques, normes, audit,…) : 3 crédits ECTS
    • Supervision / Monitoring de la sécurité : 3 crédits ECTS
    • IA appliquée à la sécurité des réseaux/systèmes : 3 crédits ECTS
    • Certifications : 3 crédits ECTS
    • Initiation à la recherche : 2 crédits ECTS
    • Projet : 12 crédits ECTS
  • Anglais

    Anglais

    Année 5 Semestre 9

    2 crédits

    Tronc commun

  • SHES

    Sciences humaines, économiques et sociales

    Année 5 Semestre 9

    2 crédits

    Tronc commun

Il n'y a pas de modules correspondants.