Ce module s'intéressa à la programmation système et réseau sous Linux, Windows et Androïd
Une première partie sera consacrée à la programmation système, c'est-à-dire gestion des processus, des threads aussi bien dans Linux que sous Windows. Un accès sera mis sur la sécurisation du code.
Les applications informatiques sont aujourd'hui de plus en plus communicantes. Ce sera le thème de la seconde partie. Ces applications s'appuient sur des couches logicielles intermédiaires (intergiciel ou middleware) donnant une vue abstraite du réseau. Nous nous proposons dans ce module de vous faire découvrir quelques aspects de ces intergiciels tels que les sockets, les Remote Procedure Call ou encore cette problématique dans .Net.
Une troisième partie sera consacrée à l'étude d'Androïd du point de vue OS et également du point de vue applications. Les différents outils internes à Androïd seront traités afin d'expliquer comment fonctionnent les applications tournant sur Androïd. La gestion des applications, les inter actions en termes de réseaux (GPS) seront globalement étudiées dans cette partie.
Partie 1 : Gestion des processus sous Unix (21h)
Compléments sur les sockets sous Unix et Windows
- Principes généraux
- Le modèle client-serveur
- Programmation sous TCP et UDP
Les Remote Procedure Calls sous Unix
- Principes et utilisation
Partie 2 : Les applications communicantes dans .NET
- Introduction à la plate-forme .NET
- Le langage C#
- Les classes spécifiques
- Gestion d'une application à l'aide des Windows Forms et des WPF
- Gestionnaire de Processus
- Gestionnaire de Threads
- Communication : les .Net remoting et quelques wrappers
Les aspects sécurité dans .NET
- Le concept de certificat
- La gestion des certificats
- Le problème de l'authentification
- Comment sécuriser les composants .NET
- Sécurisation de bibliothèques .NET
- Comment Obfuscater et dé-assembler du code
Partie 3 : Androïd
- La plateforme Android et les outils de développement associés
- Organisation logiciels de l'OS
- Modèle de composants Android
- Développer des interfaces utilisateurs
- Gestion la persistance des données
- Gestion du réseau
- Gestion GPS
- La sécurité des application sur Androïd
Organisation de la formation
Partie Unix : Christophe Lohr + Gérôme Kerdreux
C1-C2-C3 (Processus + Make)
TP1-TP2
C5 (Compléments Sockets + RPC + ...)
TP4-TP5
Partie .NET : Daniel Bourget + X (15h)
C1-C2 : La plateforme .NET et WPF avec WCF
TP1 : Gestion des processus et Threads sous .NET (cours +TP)
TP2 : Gestionnaire de processus et des threads (cours +TP)
TP3 : Chat client/serveur base d'un réseau en peer to peer (cours +tp
TP4 : Sécurité des composants .NET
Partie Androïd : intervenants extérieurs (15h)
TDA1: introduction Androïd et l'IDE Androïd Studio
TDA2: Développer des interfaces utilisateurs
TDA3: Gestion des données
TDA4: le réseau et GPS
TDA5: Les questions de sécurité
remarque : les TDA sont à programmer dans les salles de TP