Code
IGFF CSC 5064
Niveau
M2
Graduate
Graduate
Semestre
Fall
Domaine
Informatique
Programme
Programme Ingénieur
Langue
Français/French
Crédits ECTS
4
Heures programmées
42
Charge de travail
84
Coordonnateur(s)
Département
- Informatique
Equipe pédagogique
Organisation
Cours/TD/TP/projet/examen : 14/15/13/0/0Acquis d'apprentissage
L'UV "Systèmes Interagissant en Réseau" est constituée de deux modules, suivis par des étudiants de 3ème année.
A l'issue du module "Objets communicants", les étudiants sont capables de :
- expliquer comment les objets communicants sont un des termes clé de l'innovation dans le marché technologique d'aujourd’hui,
- décrire le rapport qu'entretiennent ces objets avec le social,
- faire fonctionner du matériel de prototypage : Arduino, capteurs, actionneurs,
- développer un scénario d'usage d'objet communicant par l'étudiant,
- réaliser ce projet avec Arduino et le langage Processing.
A l'issue du module "Réseaux et cloud", les étudiants sont capables de :
- distinguer les deux métiers de la programmation "Réseaux" : le multijoueur synchrone et les services online,
- lister des enjeux de ces deux métiers,
- analyser sur papier et tester concrètement des briques technologiques de la programmation "Réseaux", i.e. des SGBD (SQL et no-SQL), des middlewares ("intergiciels" en français) de "communication", des bibliothèques de sérialisation,
- décrire les fonctionnalités de middlewares intégrés (clés en main),
- concevoir une architecture sur ces briques logicielles qu’on a choisies sur la base de critères (qui peuvent être techniques, commerciaux, dogmatiques, liés à des effets de mode, etc.)
Compétences CDIO
- 1.3 - Connaissances avancées en ingénierie : méthodes et outils
- 4.3.2 - Définir la fonction, le concept et l'architecture
- 4.5.3 - Processus de réalisation logicielle
- 4.8.5 - Conception de produits et services autour des nouvelles technologies
Prérequis
Maîtrise des notions de base pour la communication réseau (sockets, UDP, TCP), Maîtrise des bases de données (SQL), Bases d’un langage orienté objet
Mots-clés
Architecture logicielle et matérielle, Cloud, algorithmique, intergiciels (middlewares) de communication, réplication d’objets, bases de données réparties, intergiciels (middlewares) pour les jeux multijoueurs, Objets communicants, informatique ubiquitaire (ubiquitious computing), technologies pervasives, intelligence ambiante
Contenu
1) Module « Objets communicants »
Les objets communicants sont apparus suite à une convergence entre les objets intelligents et le web. Dans un avenir proche, les dispositifs du quotidien ne seront pas seulement équipés de puces de calcul et de mémoire, mais aussi de puces de connexion sans fil vers Internet. Lʼinformation deviendra alors ubiquitaire et ambiante. Toute information saisie par les utilisateurs et toute donnée mesurée par des capteurs locaux seront transmis en temps réel vers le web. C’est aux objets, aux lieux et aux surfaces de présenter avec intelligence ces données en adéquation avec une situation et un utilisateur spécifique.
Désormais votre rideau connaîtra votre agenda, votre chauffage vous proposera le forfait EDF le plus adapté à vos habitudes et le message musical d’un ami sera relayé en direct par le DJ du bar où vous vous trouverez.
Ce cours de 21 heures est une initiation aux objets communicants. Pour stimuler la participation, la créativité et la réflexion des étudiants sur ce thème, les parties théoriques sont accompagnées de travaux pratiques de prototypage.
2) Module « Réseaux et cloud »
a. Les deux métiers de la programmation « Réseaux »
- Le multijoueur et ses problèmes de réactivité/réalisme
- Le online et ses problèmes de production
b. Enjeux du Cloud
- Présentation du marché
- Zoom sur les aspects serveurs
- Cloud gaming
c. Briques technologiques de la programmation « Réseaux »
- Middlewares de communication : eNet, zeroMQ, RabbitMQ, Raknet
- SGBDs standards : Oracle Berkeley-DB, MySQL/MariaDB, Postgresql
- SGBD No-SQL : Cassandra, Reddis, MongoDB, CouchBase
- Positionnement de ces outils en considérant deux scénarios de jeu
d. Middlewares clé en main
- Playfab, Photon,Unity Park Suite, etc.
e. Développement d’un multijoueur complet
Evaluation
La présence en cours et la participation sont prises en compte dans l'évaluation.
1) Module « Objets communicants » : L’évaluation est basée sur un test écrit et une démonstration d’objet communicant.
2) Module « Réseaux et cloud » : L’évaluation est basée sur la moyenne d'une note (de groupe) sur la présentation d'une brique logicielle et d'une note (individuelle) sur un rapport d'architecture.
La note finale de l’UV est la moyenne des évaluations de ses deux modules.
Il n'y a pas de deuxième session.
Bibliographie
1) Module « Objets communicants »
- Architecting the Internet of Things, Dieter Uckelmann, Mark Harrison, Florian Michahelles, Springer 2011
- The Internet of Things: Connecting Objects, by Hakima Chaouchi (Editor) Wiley, 2013
- Internet of Things - Global Technological and Societal Trends From Smart Environments and Spaces to Green ICT, Ovidiu Vermesan & Peter Friess, River Publishers, 2011
- The Emerging Domain of Cooperating Objects: Definitions and Concepts, Pedro José Marrón, Daniel Minder, Stamatis Karnouskos, Springer 2012
- Aspects légaux des objets communicants
- Internet of Things: Legal Perspectives, Rolf H. Weber, Romana Weber, Springer, 2010
- Objets communicants et Arduino
- Programming Arduino Next Steps: Going Further with Sketches, Simon Monk, 2013
- Making Things Talk: Using Sensors, Networks, and Arduino to See, Hear, and Feel your World, By Tom Igoe, O'Reilly Media, 2011
2) Module « Réseaux et cloud »
- Jouni Smed and Harri Hakonen, Algorithms and Networking for computer games, ed. Wiley, 2006
- 'No bugs' Hare, Development and Deployment of Multiplayer Online games
Approches pédagogiques
L’acquisition des connaissances est assurée à l’aide de cours, travaux dirigés, travaux-pratiques et micro-projets.