Skip to topic | Skip to bottom
Home
Linfo
Linfo.ProjetInfo201415r1.20 - 12 Dec 2014 - 13:28 - PhilippeCollettopic end

Start of topic | Skip to actions

Projet informatique (2014-2015)

Fiche signalétique

Volume : 8 * 1h30 de cours, 6 * 2h de TD par sujet.

Parcours : Informatique (obligatoire)

Semestre : 5

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

Intervenants

Cours : Philippe Collet (coordonnateur du module)

TD/suivi des projets : Philippe Collet.

Organisation

Début des cours le jeudi 11 septembre 2013

Soutenance le jeudi 18 décembre

Le cours et les TP ont lieu le jeudi. Les enseignements sont alternés avec le cours de COO selon le planning suivant :

  • 11/09/2014 : cours projet info 8h-11h15
  • 18/09/2014 : cours COO 8h-11h15 + 13h15-14h45
  • 25/09/2014 : TD COO 8h-11h15
  • 02/10/2014 : cours COO 8h-11h15 / TD COO 13h15-16h30
  • 09/10/2014 : cours COO 8h-11h15 / TD COO 13h15-16h30
  • 16/10/2014 : cours COO 8h-11h15 / TD COO 13h15-16h30
  • 23/10/2014 : cours projet info 8h-11h15 / TD COO 13h15-16h30
  • 30/10/2014 : pause pédagogique
  • 06/11/2014 : cours projet info 8h-11h15 / TD de suivi projet info 13h15-16h30 (salle dispo jusqu'à 18h15 pour travailler)
  • 13/11/2014 : TD COO 8h-11h15 / TD de suivi projet info 13h15-16h30 (-> 18h15)
  • 20/11/2014 : cours projet info 8h-11h15 / TD de suivi projet info 13h15-16h30 (-> 18h15)
  • 27/11/2014 : cours COO 8h-11h15 / TD de suivi projet info 13h15-16h30 (-> 18h15)
  • 04/12/2014 : TD COO 8h-11h15 / TD de suivi projet info 13h15-16h30 (-> 18h15)
  • 11/12/2014 : TD COO 9h45-11h15 / TD de suivi projet info 13h15-16h30 (-> 18h15)
  • 16/12/2014 23h59 : arrêt du développement (site de gestion du projet et des sources, rapport)
  • 17/12/2014 23h59 : infos de présentation en ligne sur le site de gestion du projet, transparents (pdf, open-office ou powerpoint 2010 PC)
  • 18/12/2014 : soutenance projet info (ordre de passage à déterminer)

Le schéma suivant résume les enseignements semaine par semaine : PlanningCOO-ProjetInfo.png

Support

Références

Aide

  • 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 ...

Evaluation

  • une note de controle d'avancement en TD (25%),
  • une note de soutenance (20%),
  • une note relative au code livré (architecture, qualité et test) (25%),
  • une note d'utilisation des outils de "forge" (ticket, gestionnaire de versions, documentation) (30%)

Outillage

ALERT! Attention, documentation mise à jour le 4 novembre 2014

Sujet

Il s'agit de réaliser une version électronique du jeu "les cités perdus", aussi appelé "lost cities".

Un présentation et les régles du jeu sont disponibles ici : http://www.happymeeple.com/fr/jeux/lost-cities-les-cites-perdues/presentation/

La possibilité de jouer en ligne contre d'autres joueurs ou des robots sont disponibles ici : http://www.happymeeple.com/fr/

Il faut pour cela réaliser les fonctionnalités suivantes :

  • représentation de jeu (représentation des cartes, comptage des points, validité des coups)
  • moteur de jeu (mélange des cartes, gestion de la pioche et des zones du plateau, gestion des mains des 2 joueurs)
  • robots de jeu, en partant d'une version très simple à des stratégies de jeu plus sophistiqués
  • simulation de parties entre robots, comptage des points, des victoires et classement entre vos robots.
  • visualisation de l'état du jeu (en fin de partie pour commencer, tout au long de la partie ensuite). Cette visualisation peut être textuelle ou graphique_ Une version graphique N'EST PAS une priorité.
ALERT! il ne s'agit pas de réaliser une version interactive de ce jeu (1 ou 2 joueurs humains). Un bonus sera appliquée au projet couvrant toutes les fonctionnalités précédentes et permettant à 1 joueur humain de jouer contre un robot au choix.

Livraison finale

La livraison finale doit contenir :

  • code et test 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

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

Résultat attendu pour l'exécution :

  • aucune interaction sur la ligne de commande (je ne dois rien avoir à saisir)
  • affichage sur la sortie standard de l'exécution de :
    • 500 parties de votre meilleur bot contre le second
    • 500 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

Pour l'exécution, ajouter le xml suivant dans votre pom.xml (à l'intérieur des balises ), et :

  • modifier la mainClass avec le nom complet de votre classe (attention au nom de package, par exemple : fr.unice.MaClassePrincipale)
  • décommenter éventuellement les parties "arguments" (pour passer des arguments comme sur la ligne de commande) ou "properties" (pour des propriétés système sous la forme clé/valeur).

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.3.2</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>ChangeCaParLeNomCompletDeLaClassePrincipale</mainClass>
<!--          <arguments>
            <argument>argument1</argument>
          </arguments>
          <systemProperties>
            <systemProperty>
              <key>myproperty</key>
              <value>myvalue</value>
            </systemProperty>
          </systemProperties>
-->
        </configuration>
      </plugin>   

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)

Soutenances

Planning (Salle PV 301)

  • 8h00 : LTIPINQUG
  • 8h30 : LTIPINQUF
  • 9h00 : LTIPINQUE
  • 9h30 : LTIPINQUD
  • 10h00 : Pause
  • 10h30 : LTIPINQUC
  • 11h00 : LTIPINQUB
  • 11h30 : LTIPINQUA

Equipes

LTIPINQUA

  • Audibert Julien
  • Belhassen Issam
  • Bergmann Anna
  • Fezai Ahmed

LTIPINQUB

  • Dib Dominique
  • Giangrasso Remy
  • Heitzler Charles
  • Finkelstein Arthur

LTIPINQUC

  • Resmerita Diana
  • Cauchteur Kévin
  • Touitou Raphael
  • Ilunga Katumba Joel

LTIPINQUD

  • ROUIS Myriam
  • ELLAPIN Mathias
  • EL HAJAMI Mehdi
  • LIMAM Mohamed

LTIPINQUE

  • DIALLO Abdoulaye
  • FUJI TSANG Vincent
  • LEPETIT Guélaud
  • THIAW Mamadou

LTIPINQUF

  • Faguet Guillaume
  • Baya Aymen
  • Fagard Cristophe
  • Youssef Yassine

LTIPINQUG

  • TORRES VILLAR Nerea
  • BEN ABDALLAH Mariem
  • CHEBBI Sarra
  • DIENE Moussa

-- PhilippeCollet - 11 Dec 2014
to top

I Attachment sort Action Size Date Who Comment
PlanningCOO-ProjetInfo.png manage 76.1 K 03 Sep 2014 - 12:18 PhilippeCollet  
ProjetInfo-Organisation-1415.pdf manage 616.5 K 19 Nov 2014 - 21:16 PhilippeCollet  
ProjetInfo-Version-1415.pdf manage 3538.6 K 10 Sep 2014 - 21:34 PhilippeCollet  
ProjetInfo-Atlas-1415.pdf manage 2935.2 K 10 Sep 2014 - 21:35 PhilippeCollet  
ProjetInfo-TestUnitaire-1415c.pdf manage 1669.0 K 22 Oct 2014 - 09:17 PhilippeCollet  
ATLAS-USR-Changersonmotdepasse.pdf manage 250.6 K 04 Nov 2014 - 19:09 PhilippeCollet  
ATLAS-ENSEIGNANT-DocP.Collet-L3IS5.pdf manage 1132.8 K 04 Nov 2014 - 19:11 PhilippeCollet  
ProjetInfo-Eclipse-1415.pdf manage 248.0 K 03 Nov 2014 - 21:49 PhilippeCollet  
ProjetInfo-Methodo-1415c.pdf manage 597.7 K 05 Nov 2014 - 22:57 PhilippeCollet  
ProjetInfo-Build-1415.pdf manage 1216.0 K 05 Nov 2014 - 23:00 PhilippeCollet  
ProjetInfo-Doc-1415.pdf manage 598.4 K 19 Nov 2014 - 21:40 PhilippeCollet  

You are here: Linfo > ProjetInfo201415

to top

Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback