Informations générales
Liens utiles
- Lien vers la page de présentation générale du cours
- Liens vers les documents associés (cours, TDs, TPs) et les consignes des TPs (nécessite une inscription)
Evaluation des TPs
Procédure
Chaque TP est évalué en deux temps :
- Ensemble, pour vérifier la bonne exécution de votre programme. Evaluation live.
- Après coup, pour analyser le code, les ressources et la structure de votre projet. Evaluation statique.
Pour cela :
- Pour les évaluations lives :
- Elles auront lieu à chaque début de séance du TP suivant (sauf le dernier TP où l’évaluation sera faite en dernière séance).
- Le programme devra être opérationnel sur les machines de l’établissement.
- Bien évidemment, la présence est obligatoire.
- Pour les évaluations statiques :
- Elles auront lieu la veille de l’évaluation live, à 20h00.
- La récupération est automatique, ainsi : aucune autre version des sources ne sera acceptée passé cette date.
- Bien évidemment, tout plagiat donnera lieu à un 0 (sans compter l’écriture d’un rapport au responsable de l’UE, qui lui même en fera part aux membres du jury).
Ces deux évaluations constituent ainsi la note finale du TP.
Dates de rendus
Ci-après les dates de rendus pour les TPs :
TP | Evaluation statique | Evaluation live |
---|---|---|
TP 1 - Serveur FTP | Jeudi 22/02/2018, 20h00 | Vendredi 23/02/2018 |
TP 2 - Passerelle REST | Jeudi 22/03/2018, 20h00 | Vendredi 23/03/2018 |
TP 3 - Akka - Transfert de données | Jeudi 05/04/2018, 20h00 | Vendredi 06/04/2018 |
TP 4 - Java EE | Jeudi 19/04/2018, 20h00 | Vendredi 20/04/2018 |
Informations supplémentaires
TP 1 - Serveur FTP
Méthodologie de développement
Ci-après une proposition de méthodologie pour vous aider à la réalisation de ce TP :
- Lire les instructions du TP
- Ne pas se fier au nom de classes ni à l’architecture imposés dans l’ennoncé. Vous êtes libres de choisir vos noms de classes et l’architecture qui vous va le mieux. Le but étant d’obtenir une architecture la plus élégante possible. L’utilisation de design patterns est très recommandée (rappelez-vous de votre cours de Conception Orientée Objet en L3). Notez que dans tous les cas, une documentation de l’architecture et des classes associées deva être produite (cf. consignes générales des TPs).
- Lire la liste des exigences du TP
- Attention : certaines commandes supplémentaires non inscrites sur les instructions du TP devront être ajoutées pour respecter l’ensemble des exigences. De plus, certaines extensions ont été ajoutées depuis l’écriture de la RFC, notamment la compatibilité de certaines commandes avec l’adressage IPv6. (cf. note sur l’évalution live)
- Lire la RFC
- En connaissant au préalable les notions d’exigences lorsque l’on lit une RFC (mots clés MUST, SHOULD, MAY)
- En connaissant au préalable le protocole TCP/IP et la syntaxe associée au protocole Telnet
- En se basant sur les instructions et la liste des exigences du TP, et ainsi, en ne sélectionnant qu’uniquement ce qui est nécessaire pour le développement de celui-ci (il ne s’agit pas d’implémenter la totalité de la RFC)
- En partageant sa vision avec les autres membres du groupes afin de vérifier que :
- Le modèle FTP est bien compris
- Les différentes notions FTP sont bien comprises (types de données, connexion de commandes/données, format de réponse…)
- Concevoir l’implémentation
- En se basant sur les spécifications (instructions et liste des exigences) du TP
- En réalisant les schémas nécessaires à votre conception (diagrammes cas d’utilisation, classes, séquences…)
- Développer l’implémentation
- En définissant le squelette de votre modèle
- En suivant une démarche de développement (e.g., TDD). N’oubliez pas dans ce cas de préciser votre méthodologie au sein de votre README.md.
- En se basant sur des outils facilitant votre développement :
- En respectant les outils imposés :
- Maven
- Gitlab
- En ajoutant des outils supplémentaires de votre choix. Dans ce cas vous devrez justifier leurs utilisations au sein de votre README.md.
- En respectant les outils imposés :
Note au sujet de l’évaluation live
L’évaluation live se fera avec le programme FTP client ftp, pré-installé sur vos machines. Veillez à bien vérifier le fonctionnement de votre serveur avec ce client (notamment la compatibilité avec l’adressage IPv6 non présent dans la version de votre RFC).
TP 2 - Passerelle REST
Liens utiles
- Sur REST
- Qu’est-ce que REST ?
- REST en Java
- JAX-RS, la spécification REST en Java (avec des liens sur des tutoriels)
- Jersey, l’implémentation de référence de la spécification JAX-RS
- Sur HTTP
TP 3 - Akka - Transfert de données
Avant de commencer le TP
- Suivez ce tutoriel
- Puis vous pourrez aller plus loin en suivant ce tutoriel en insistant sur :
- Et pour résumer le tout, lisez ces slides (merci à Clément Quinton)
A la fin, vous devriez comprendre :
- Ce qu’est le modèle d’acteur
- En quoi ce modèle se rapproche et se différentie du paradigme orienté objet
- Comment ce modèle résout les problématiques d’accès concurentiels lors de traitements parallèles
Pendant le TP
Ne pas utiliser l’archive car-tp3.zip disponible sur Moodle mais générer le squelette de votre projet à l’aide du générateur officiel.
Encore une fois, lisez les instructions et les exigences du TP en sachant que, comme d’habitude, les exigences serviront de base pour l’évaluation.
Séance de questions ouvertes
Le support de la séance de questions ouvertes peut être téléchargé ici.