Informations générales

Liens utiles

Evaluation des TPs

Procédure

Chaque TP est évalué en deux temps :

  1. Ensemble, pour vérifier la bonne exécution de votre programme. Evaluation live.
  2. 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 :

  1. 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).
  2. 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)
  3. Lire la RFC
    1. En connaissant au préalable les notions d’exigences lorsque l’on lit une RFC (mots clés MUST, SHOULD, MAY)
    2. En connaissant au préalable le protocole TCP/IP et la syntaxe associée au protocole Telnet
    3. 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)
    4. En partageant sa vision avec les autres membres du groupes afin de vérifier que :
      1. Le modèle FTP est bien compris
      2. Les différentes notions FTP sont bien comprises (types de données, connexion de commandes/données, format de réponse…)
  4. Concevoir l’implémentation
    1. En se basant sur les spécifications (instructions et liste des exigences) du TP
    2. En réalisant les schémas nécessaires à votre conception (diagrammes cas d’utilisation, classes, séquences…)
  5. Développer l’implémentation
    1. En définissant le squelette de votre modèle
    2. 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.
    3. En se basant sur des outils facilitant votre développement :
      1. En respectant les outils imposés :
        1. Maven
        2. Gitlab
      2. En ajoutant des outils supplémentaires de votre choix. Dans ce cas vous devrez justifier leurs utilisations au sein de votre README.md.

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

TP 3 - Akka - Transfert de données

Avant de commencer le TP

  1. Suivez ce tutoriel
  2. Puis vous pourrez aller plus loin en suivant ce tutoriel en insistant sur :
    1. ceci
    2. et cela
  3. 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.