Programme : Module Données

Matière : Capture de données

Le module capture de données a pour objectif d’acquérir les compétences relatives aux différentes technologies d’acquisition et de collecte de données brutes (Arduino, RFID, NFC, BLE) :

ARDUINO

  • Présentation des concepts de base d'un microcontrôleur et focus sur la technologie Arduino
  • Présentation de la plateforme Arduino d'un point de vue matériel et logiciel
  • Sensibilisation sur les enjeux liés au déploiement de systèmes basés sur des cartes Arduino (notamment les aspects sécurité)
  • Comparaison entre la technologie Arduino et la technologie Raspberry Pi
  • Prise en main de l'IDE pour cartes Arduino (structure des programmes, compilation, déploiement sur cartes et utilisation de librairies externes)
  • Prise en main du Board of Education Shield for Arduino pour tester les aspects robotiques
  • Développement de programmes pour tester, à partir d'une carte Arduino, l'allumage de LEDs et le pilotage d'un robot avec détection de collision
  • Notions de base sur les branchements électriques avec des cartes Arduino et fabrication d'un capteur pour récupération d'un signal simple (courant ON/OFF)
  • Présentation du concept de shield pour Arduino avec manipulations de Display Shield et Wi-Fi Shield
  • Intégration de l'ensemble des modules dans un projet pour appréhender les liens entre les éléments testés

 

RFID

  • Présentation de la technologie RFID et de ses différents modes d'opération
  • Focus sur l'interaction entre appareils compatibles RFID et tags RFID
  • Sensibilisation sur les enjeux liés au déploiement de systèmes basés sur la technologie RFID (types de cas d'utilisation, aspects sécurité)
  • Prise en main des librairies Java pour piloter un lecteur RFID
  • Prise en main des librairies Java pour interagir entre un lecteur RFID et un tag RFID
  • Lecture/écriture de tags au sein d'une application Java
  • Interactions entre un serveur et une application Java pour déclencher des actions après lecture/écriture d'un tag RFID

NFC

  • Présentation de la technologie NFC et de ses différents modes d'opération
  • Focus sur l'interaction entre appareils compatibles NFC et tags NFC
  • Comparaison entre la technologie RFID et la technologie NFC
  • Sensibilisation sur les enjeux liés au déploiement de systèmes basés sur la technologie NFC (types de cas d'utilisation, aspects sécurité)
  • Prise en main des APIs Android pour interagir avec des tags NFC au sein d'une application mobile
  • Lecture/écriture de tags au sein d'une application mobile Android
  • Interactions entre un serveur et une application mobile Android pour déclencher des actions après lecture/écriture d'un tag NFC

 

BLE

  • Présentation de la technologie Bluetooth Smart et focus sur les beacons BLE
  • Présentation et comparaison des protocoles iBeacon et Eddystone pour les beacons BLE
  • Sensibilisation sur les enjeux liés au déploiement de beacons BLE (types de cas d'utilisation, aspects sécurité)
  • Prise en main de l'Android Beacon Library pour interagir avec des beacons BLE au sein d'une application mobile
  • Récupération des données émises par un beacon BLE (UUID, Major, Minor) au sein d'une application mobile Android
  • Récupération des informations du signal Bluetooth d'un beacon pour estimer la distance
  • Interactions entre un serveur et une application mobile Android (requêtes HTTP GET) pour déclencher des actions après détection d'un beacon BLE

 

Matière : Stockage et analyse de données

Le module stockage et analyse de données a pour objectifs d’étudier les différents services du cloud computing pour le stockage des données et les différentes technologies de fouilles de données avancées tels que le deep learning (Réseaux de neurones convulsifs (CNN), réseaux de neurones récursifs (RNN), ainsi que les Framework utilisés (TensorFlow, Pytorch, etc).

  • Cloud Computing
  • Deep learning

Programme : Module Traitement

Matière : Programmation réactive

L'objectif de ce module est de connaître et maîtriser les concepts de la programmation réactive :

  • Programmation concurrente
  • API pour la programmation asynchrone
  • Observables

Matière : Programmation mobile (Android)

L'objectif de ce module est de connaître et maîtriser les concepts de la programmation mobile sous Android, l’univers de la plateforme et ses objectifs. Ensuite, nous proposons d’aborder les bases essentielles pour le développement Android. Puis nous proposons les outils nécessaires afin de créer de belles interfaces graphiques. Enfin, nous aborderons des notions plus avancées tel que les différentes bibliothèques de fonctions qui permettent de mettre à profit les capacités matérielles des appareils :

  • Les différents composants d'une application Android (i.e., activités, services, fournisseurs de contenus...)
  • Interface graphique
  • Persistance des données
  • API Google
  • Connectivité

Matière : Intelligence Artificielle

L’objectif est de procurer aux étudiants un bagage théorique en intelligence artificielle (IA) avec focus spécial sur un domaine de l’IA particulier nommé Intelligence Artificielle Distribuée (IAD). L’objectif de l’IAD est de proposer différentes techniques pour représenter et modéliser des agents intelligents (Aspects cognitifs), qui peuvent être des logiciels ou des entités physiques c.a.d. des robots. Représenter différents protocoles d’interaction (planification distribuée, négociation automatisée, etc) au sein d’un système multi-agent :

  • Agents Intelligents et Systèmes Multiagent
  • Protocole de négociation automatisés
  • Planification Distribuée
  • Robotique et IA
  • Plateformes de simulation Multi-agent

Programme : Module Connectivité

Matière : Réseaux et protocoles

Ce module permet d’acquérir les connaissances et compétences de bases en matière de réseaux et de systèmes de communication. Comprendre la conception des réseaux en entreprise et maîtriser les principaux concepts de l'informatique communicante (installer, configurer, et dépanner les infrastructures réseaux d'entreprise) :

 

  • TCP/IP, UDP, les couches transport et application
  • Routage IP (RIPv1, RIPv2, OSPF)
  • IPv6
  • Le protocole IPv6
  • Adressage IPv6
  • Protocole NDP & ICMPv6
  • Configuration sans état et avec état des stations

 

Matière : Réseaux de Convergence

Ce module analyse, dans un premier temps, les enjeux, les acteurs et les offres dans lesquels se déploie le concept de la convergence, avant d'analyser les conditions de succès de sa mise en oeuvre : en terme d’architectures techniques, de protocoles, de qualité de service et de métrologie :

1. Architecture de qualité de service

  • Introduction
  • Contexte historique
  • Évolution des réseaux IP
  • Besoins de l’ingénierie QoS
  • Contrat de service SLA
  • Contraintes techniques
  • Métriques QoS
  • Définition de la Qualité de service
  • Modèles QoS
  • Étude de cas : transport de la voix sur IP

2. Architecture de convergence

  • Pourquoi les NGNs
  • Modélisation en couches
  • Scénarios de migration NGN
  • Défis de mise en oeuvre NGN
  • Pourquoi l’architecture IMS
  • Défis de mise en oeuvre IMS

3. Gestion des réseaux

 

Matière : Technologies de communication pour l'Internet des Objets

Bonne maitrise des connaissances, techniques, et standards de l’Internet des Objets (6LowPan, RPL, CoAP, Zigbee, Bluetooth,.)

1. Technologies de communication

  • Réseaux sans fil
  • Communications radio mobiles.

2. Architecture et services

  • Limites du modèle IP et consommation d'énergie.
  • Réseau Ad hoc.
  • Pile réseau / Architecture 6LowPan.
  • Routage : RPL, OLSR, AODV, …
  • Protocole COAP.

Programme : Module Sûreté

Matière : Cybersécurité

Ce module a pour objectifs d’apprendre aux étudiants comment faire du choix de notre création du smart system notre première décision de sécurité. Comment concevoir de nouveaux systèmes intrinsèquement sécurisés (Secure by design) ? Comment prendre la mesure de l’évolution des attaques (les hackers évoluent et investissent, les attaques se multiplient, sont de plus en plus destructrices et ciblent le système informatique en première ligne) ?

L’objectif de ce module est également d’identifier les cyber-comportements suspects via l'exploration de données et la détection d'anomalies et de comprendre le fonctionnement des attaques dans un réseau de capteurs, et mettre en oeuvre des défenses (contres mesures) appropriées :

  • Tests d'intrusion (PenTest)
  • Investigation numérique (Forensic) et réponses à incidents
  • Gestion de clés dans un réseau de capteur sans fil
  • Sécurité de routage dans un réseau de capteur sans fil
  • Rétro-ingénierie
  • Programmation sur carte (SmartCard, Rasberry (Java card par ex)

 

Matière : Test logiciel avancé

Le test Logiciels avancé est une étape fondamentale de tout projet de développement, les tests visent à garantir que la solution proposée correspond aux attentes des métiers :

  • Test Android
  • Test d'intégration et d'interaction
  • Test d'interface utilisateur
  • Test statique
  • Présentations et démos de nouvelles technologies de test

 

Matière : Technologie Blockchain

Ce module a pour objectif de proposer aux étudiants les fondements de la blockchain afin d’acquérir un socle de connaissances techniques sur la technologie blockchain ainsi que sur l’ensemble de ses impacts :

  • Définition de Blockchain
  • Cryptographie asymétrique (public key / private key)
  • La Blockchain Bitcoin
  • Overview de Ethereum - Smart contracts
  • Bitcoin Node
  • Dérivation de clés
  • Créer / Signer un paiement