Projet de développement 2015-2016

De $1

Version de 20:19, 4 Mai 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Licence 3 Informatique parcours MIAGE, semestre 6.

Responsable : Philippe Collet

Intervenants : Philippe Collet, Philippe Renevier

Volume : 12h de cours (4 x 3h), 14h de TD (7 x 2h d'encadrement + 2 à 3h en autonomie à chaque séance).

Objectif

Réalisation, en équipe d'un développement OO de taille conséquente à partir d'un cahier des charges et d'une architecture préétablis en Java

Evaluation

  • Code livré : architecture, qualité et tests : 40 %
  • Gestion de projet (ticket, git, organisation) : 25 %
  • Soutenance : 20 %
  • Avancement en TD : 15 %

Plate-forme de gestion de projet (Atlassian JIRA)

La plate-forme de gestion de projet est disponible à l'adresse https://atlas.i3s.unice.fr 

  1. connexion sur http://atlas.i3s.unice.fr/crowd en suivant le guide : ATLAS-USR-Changersonmotdepasse.pdf  (votre login est : l3ig-LOGINUNIV, votre mot de passe doit être réinitialisé).
  2. lire la documentation ATLAS - ETUDIANT - Gérer son projet.pdf

En cas de problème de certificat avec votre client git (message d'erreur de type _error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none_), il vous faut désactiver le support SSL lors de vos connexions git (c'est hélàs un bug des clients git lorsqu'ils sont utilisés sur des systèmes Linux/Ubuntu ou Windows). Vous pouvez soit désactiver le support globalement :

  git config --global http.sslVerify false   git clone ...

ou le faire à chaque commande :

  env GIT_SSL_NO_VERIFY=true git clone ...

Création d'un fichier .gitignore à la racine du projet : créer ce fichier avec au moins le pattern "*.class" sur une ligne, afin que git ignore les fichiers class compilées par Java lors des commits.

Calendrier

  • Lundi 18 janvier : cours 1
  • Lundi 25 janvier : cours 2
  • Lundi 1er février : cours 3, publication du sujet, date limite de retour par mail des formations des équipes (4 étudiants max par équipe, équipes de 3 tolérées)
  • Lundi 8 février : cours 4
  • Lundi 22 février : TD 1, atelier et premier TD de suivi
  • Lundi 29 février : TD 2
  • Lundi 7 mars : TD 3
  • Lundi 14 mars : TD 4
  • Lundi 21 mars : TD 5
  • Lundi 4 avril : TD 6
  • Lundi 11 avril : TD 7, dernier TD de suivi
  • Dimanche 17 avril, 23h59 : arrêt du développement (site de gestion du projet et des sources)
  • Mardi 19 avril : soutenance

Livraison finale

La livraison finale doit contenir :

  • code, tests et README disponibles sur le repository git
  • le dernier commit de référence doit être taggé FINAL (voir ci-dessous)
  • un fichier README.pdf doit expliqué brièvement l'état de votre projet, et surtout vos choix de conception (stratégies des robots, etc.)
  • le fichier pom.xml qui permet de compiler, tester et d'exécuter(voir ci-dessous)

Gestion des tags en git

Pour tagger la tête de votre repository local avec un tag (nommé ESSAI ici) :

git tag ESSAI
git push origin ESSAI

Vous pouvez aussi exécuter "git push origin --tags" pour pusher tous les tags existants à la fois.

Si vous souhaitez déplacer le tag FINAL, vous pouvez d'abord l'effacer :

git tag -d ESSAI
git push origin :refs/tags/ESSAI

Puis retagger comme vu précédemment.

Pour information, je clonerai votre projet par une commande "git clone" classique, puis je récupérerai votre code par :

git checkout FINAL

Si vous n'êtes pas capable d'exécuter la dernière commande sur un autre clone de votre git, c'est que le tag est mal fait, ou pas pushé...

Exécution du projet avec maven

ATTENTION, LE FICHIER POM.XML ET LE RESTE DU PROJET DOIVENT ETRE A LA RACINE DU DEPOT, PAS DANS UN SOUS-REPERTOIRE QUELCONQUE.

Résultat attendu pour l'exécution :

  • aucune interaction sur la ligne de commande (nous ne devons rien avoir à saisir)
  • affichage sur la sortie standard de l'exécution de :
    • 1000 parties de votre meilleur bot contre le second
    • 1000 parties de votre meilleur bot contre lui-même
  • L'affichage doit comprendre le nombre et pourcentage de parties gagnées/perdues/nulles, et le score moyen de chaque bot (pas tout le log des 1000 parties !)

Le reste des informations sur maven sera fourni par la suite...

Pour information, après avoir récupéré la bonne version du projet grâce au tag FINAL, j'exécuterai :

  • mvn clean package (attention, tous les tests doivent passés, si certains sont défectueux, ajoutez leur un @Ignore)
  • mvn exec:java (les paramètres devront être gérés dans le pom.xml, comme indiqué ci-dessus)

Script de test de la livraison

Le script utilisé pour tester votre livraison sera équivalent aux commandes suivantes (en remplaçant ESSAI par FINAL, les noms de login et repo, etc.) :

git clone https://https://LOGIN@atlas.i3s.unice.fr/stash/scm/REPOID/private.git repertoireEquipe
cd repertoireEquipe
git checkout ESSAI
mvn clean package
mvn exec:java

Vous pouvez essayer ces commandes sur un répertoire séparé pour vérifier la configuration de votre repository, la pose du tag git et la compilation/exécution maven.

Soutenance

Chaque soutenance dure 25 minutes :

  • 15 minutes de présentation : chaque présentation doit faire intervenir tous les membres de l'équipe de façon équivalente. Le plan suivant est conseillé :
    • Introduction et rappel du sujet
    • Fonctionnalités réalisées : bilan à gros grain de ce qui a été fait, est resté en chantier, a été écarté par rapport à ce qui était attendu (démo possible mais pas obligatoire)
    • Grands choix de conception et approche suivie : les jalons et tickets doivent vous servir à facilement établir, au fur et à mesure de votre avancement, les éléments à mettre en avant dans cette partie
    • Problèmes rencontrés et solutions apportées (correction, changement dans la conception, abandon d'une fonctionnalité...)
    • Éventuellement mini-démo finale (attention au timing)
  • 10 minutes de question :
    • Chaque membre du projet doit être capable de répondre aux questions sur les choix de conception généraux, les parties qu'il a développées, etc.

Sujet

à venir...

Equipes

  • Florian MULLER, Frederic TESTANIERE, Michaël GIANFALDONE, Estelle ROSTAN (4)
  • VALVERDE Thomas, FERRERO Karl, DEI Léonard, BARNINI Nicholas (4)
  • Alexis Fourrier, Nicolas Kircun, Kevin Bouzidi, Maxime Pavard (4)
  • Caroline GARCIA, Julien HUBERT, Clément JOLLIET, Romain TERI (4)
  • Lerda Guillaume, Oualid Perle, Melay Cécile, Fagnola Thibaut (4)
  • Laeticia Pierre, Athina Schmitt, Pierre Tuaillon, Alexandre Milanesio (4)
  • ...