Phelma Formation 2022

Projet SEOC Réseaux - 5PMIPRE2

  • Volumes horaires

    • CM 0
    • Projet 48.0
    • TD 0
    • Stage 0
    • TP 0
    • DS 0

    Crédits ECTS

    Crédits ECTS 4.0

Objectif(s)

Développement d'une application réseau Java de zéro ou à partir de librairies existantes afin de sensibiliser les étudiants à l'implémentation et l'intégration de protocoles réseaux au sein d'un prototype abouti.
Il faudra spécifier l'architecture logicielle, l'implémenter, vérifier la conformité du prototype implémenté en interagissant avec des applications existantes et mettre en évidence les performances.
L'application à réaliser est un client bittorrent.

Contact Olivier ALPHAND

Contenu(s)

L'intérêt de ce projet est que les étudiants doivent organiser leur travail eux-même, chercher la documentation ou du code existant en ligne et mettre en place progressivement un prototype opérationnel couvrant les différents scénarios qu'ils définiront au fur et à mesure.
Le langage de programmation est Java.
Outre la gestion d'équipe, ce projet sera l'occasion de concevoir une architecture logicielle orientée objet, d'aborder des concepts avancés de programmation réseau (socket non bloquante, paradigme pair à pair (client/serveur), parseur ...) et de programmation tout court (thread, clean code, design pattern : machine à état, observeur, réacteur, ...).

Vous utiliserez un environnement de développement intégré (Eclipse/Netbeans), un système de contrôle de version (Git)
et vous testerez la compatibilité de votre trafic réseau au fur et à mesure par l'intermédiaire d'outils réseaux (Wireshark, ...) ou en interagissant directement avec des applications existantes.

Enfin vous analyserez les performances de votre application (Jprofiler, débit réseau, ...) au sein d'un scénario facilement reproductible (automatisé) impliquant le téléchargement d'un fichier volumineux entre votre client et plusieurs clients bittorrent existants disséminés sur plusieurs machines du réseau Ensimag.
Un comparatif des performances des clients des différents groupes pourra alimenter une discussion sur l'efficacité des stratégies de téléchargement implémentées.



Prérequis

Cours Réseaux 2A (TP inclus), programmation orientée objet Java, Wireshark

Contrôle des connaissances

revues de sprint intermédiaires + code + rapport + démonstration prototype à la fin du projet



Session 1 : soutenances intermédiaires (30%) et rapport + soutenance finale (70%)
Si confinement : idem, mais soutenances via Zoom
Pas de rattrapage

Informations complémentaires

Cursus ingénieur->Filières->Semestre 9