Descriptif
Ce cours introduit les notions de base pour comprendre et développer des applications distribuées (axées sur la programmation Java). Il introduit la notion de middleware, qui facilite le développement et la gestion de systèmes distribués. Il fournit ensuite deux exemples concrets de différents types de middleware : basés sur des invocations de méthodes à distance et des modèles de communication orientés message.
Programme : Ce cours comprend les matières suivantes :
- Notions avancées de programmation distribuée (basées sur Java) : threads, synchronisation, sérialisation d'objets, entrées/sorties et sockets ;
- Introduction au middleware et à deux technologies concrètes pour l'invocation de méthodes à distance et la communication basée sur des messages ;
- Des travaux pratiques illustreront l'application concrète des notions théoriques
Diplôme(s) concerné(s)
- M2 PDS - Parallel and Distributed Systems
- M1 PDS - Parallel and Distributed Systems
- Echange international non diplomant
- Diplôme d'ingénieur
Parcours de rattachement
Pour les étudiants du diplôme M2 PDS - Parallel and Distributed Systems
Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)
Pour les étudiants du diplôme M1 PDS - Parallel and Distributed Systems
Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)
Pour les étudiants du diplôme Echange international non diplomant
Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)
Pour les étudiants du diplôme Diplôme d'ingénieur
Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme M2 PDS - Parallel and Distributed Systems
Vos modalités d'acquisition :
Les notions théoriques seront acquises via des cours magistraux, incluant des séances de questions/réponses. De nombreuses sources de documentation alternative sont également disponibles sur ces sujets.
Une expérience appliquée avec des technologies modernes concrètes sera acquise via des travaux pratiques, lors de laboratoires dédiés et de travaux à domicile.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme Diplôme d'ingénieur
Vos modalités d'acquisition :
Les notions théoriques seront acquises via des cours magistraux, incluant des séances de questions/réponses. De nombreuses sources de documentation alternative sont également disponibles sur ces sujets.
Une expérience appliquée avec des technologies modernes concrètes sera acquise via des travaux pratiques, lors de laboratoires dédiés et de travaux à domicile.
- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'UE électives acquis : 2.5
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Pour les étudiants du diplôme Echange international non diplomant
Vos modalités d'acquisition :
Les notions théoriques seront acquises via des cours magistraux, incluant des séances de questions/réponses. De nombreuses sources de documentation alternative sont également disponibles sur ces sujets.
Une expérience appliquée avec des technologies modernes concrètes sera acquise via des travaux pratiques, lors de laboratoires dédiés et de travaux à domicile.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M1 PDS - Parallel and Distributed Systems
Vos modalités d'acquisition :
Les notions théoriques seront acquises via des cours magistraux, incluant des séances de questions/réponses. De nombreuses sources de documentation alternative sont également disponibles sur ces sujets.
Une expérience appliquée avec des technologies modernes concrètes sera acquise via des travaux pratiques, lors de laboratoires dédiés et de travaux à domicile.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Programme détaillé
Cette UE traite des points suivants :
- Threads Java, synchronisation, sérialisation d'objet, entrées/sorties et sockets ;
- gestion de versions via git avancé (ex : branches gestion de conflits, outil SmartGit) ;
- automation de la compilation, de l’archivage et de l’exécution du code avec l'outil Apache ANT ou Maven ;
- introduction à la méthode agile (ex : Scrum) pour le développent des projets informatiques