L3 Informatique / L3 Miage 2017-18
Option Introduction à l'Intelligence Artificielle

Présentation du cours :

Le pdf des diapositives de la présentation du cours.

TD 3 (sur machine) : Algorithmes pour les jeux

Pour ce td, télécharger cette archive

Décompressez cette archive en ouvrant un terminal et en utilisant la commande suivante:
(enlevez l'option "z" si l'archive a déjà été décompressée lors du téléchargement)

tar xzf iia.td3-4.tgz

Avant toute chose on vous demande de :
  1. Placer ce répertoire à l'endroit approprié danss votre arborescence
    (par exemple un dossier intro_ia que vous aurez créé).
  2. Renommer le répertoire iia.td3-4_Nom1_Nom2 obtenu en remplaçant Nom1 et Nom2 par les noms respectifs des deux membres du binôme, dans l'ordre alphabétique.
    (exemple : mv iia.td3-4_Nom1_Nom2 iia.td3-4_Bidule_Machin)
  3. Pour ceux qui utilisent l'IDE Eclipse pour éditer leur code :
    la version d’Eclipse installée (Neon) permet d’importer directement des projets Maven existants. Cependant, comme cet IDE utilise par défaut sa propre version (intégrée) de l’utilitaire Maven, le style d’adressage des machines de certaines salles de TP nécessite de déclarer au préalable une adresse de proxy pour Maven. Pour cela, après avoir lancé Eclipse :
    1. ouvrir la fenêtre "Preferences" d’Eclipse et sur la gauche déployer le sous-menu "Maven" en cliquant sur triangle correspondant
    2. Cliquez sur User Settings et, dans le champs Global Settings, rajouter le chemin le chemin : /etc/maven/settings.xml

    Vous pouvez à présent importer un projet Maven existant via le menu :
    File > Import
    puis en sélectionnant dans la liste les projets Maven (cliquer sur le petit triange à gauche) puis Existing Maven Project.
    Indiquez alors le chemin jusqu'au répertoire où se trouve le fichier pom.xml.

    Mais vous pouvez utiliser aussi bien l'éditeur ou l'IDE de votre choix.
  4. Le fichier pom.xml (pom = Project Object Model) est un descripteur des caractéristiques de votre projet pour l'utilitaire Maven.
    Editez-le et changer le nom de votre projet (entre les balises name) et modifiez le nom du projet en remplacant Nom1 et Nom2 par vos noms respectifs.
  5. Lisez les explications ci-dessous relatives aux projets Maven.
  6. Ne cherchez pas à compiler ni exécuter votre projet à partir de l'IDE eclipseb (d'autres paramétrages seraient nécessaires). Ouvrez un terminal et suivez les indications concernant maven indiquées ci-dessous.
Merci de ne pas sauter cette étape.
La semaine prochaine, vous aurez à rendre votre travail sous la forme d'une archive, et cela permettra à vos chargés de TD d'avoir une structure homogène pour tester votre travail et de ne pas se retrouver avec 20 dossiers tous nommés de façon identiques.

ATTENTION à ne pas modifier l'organisation du code du projet dans votre répertoire (sous-répertoires, noms de packages,...) car le travail rendu sera testé sous l'hypothèse d'avoir préservé cette organisation.

Vous pouvez à présent commencez à travailler.

Juste un mot sur Maven

Maven (http://maven.apache.org) est un utilitaire très pratique de gestion de projet, qui facilite un grand nombre de tâches récurrentes dans le processus de développement d'un projet, comme la compilation, vérification des tests unitaires, validation, documentation, déploiement, ....
Il est très largement utilisé pour tout ce qui est développement d'applications Java et la connaissance de cet outil est un atout apprécié dans le milieu professionnel.

La philosophie est d'avoir une structuration rationelle de l'organisation du code et de décrire les caractéristiques d'un projet et de l'ensemble des tâches à accomplir par quelque lignes de XML dans le fichier pom.xml.
Un grand nombre de tâches classiques peuvent être intégrées au processus via un certain nombre de plugins, qui se chargent automatiquement en cas de besoin (la premier appel à Maven provoque généralement le chargement de tout un tas de plugins, mais cela ne se fera qu'une fois).

Si vous n'êtes pas un habitué des IDE de développement tel Eclipse, Netbeans, etc
retenez juste que Maven permet en une seule ligne de compiler, lancer les tests unitaire et packager votre code très simplement depuis un terminal.
Il suffit de se placer à la racine du projet (i.e. au même niveau que le fichier pom.xml) et d'utiliser la commande :

mvn package

Cela créera dans un répertoire target une archive iia.td3_Nom1_Nom2-1.0.jar (bien évidemment avec vos propres noms)

Vous pouvez alors simplement exécuter une classe java (possédant une méthode main()) à l'aide de la commande

java -cp target/iia.td3_Nom1_Nom2-1.0.jar NomDeLaClassePrecedeDeSonPackage

D'autres commandes Maven :
mvn compile
compile le projet (dans le répertoire target/classes)
mvn test
lance les tests unitaires (résultats dans le répertoire target)
mvn clean
efface tous les fichiers intermédiaires générés
mvn install
installe le projet dans le répertoire Maven Local de votre machine
Il est donc tout à fait possible d'utiliser votre éditeur favori pour modifier votre code et de gérer tout le processus de compilation directement depuis un terminal.

Si vous préférez travailler avec votre IDE, les projets Maven sont reconnus en standard par Netbeans. Pour Eclipse il faut s'assurer d'utiliser une version assurant le support des projets de type Maven.
Sous Eclipse, vous pouvez compiler / effacer le repertoire target en faisant un clic droit sur l'icone de votre projet en sélectionnant les commandes Run as>Maven install et Run as>Maven clean


Rédacteur de cette page (pour toute remarque) : Philippe Chatalic.