Par: maxime DANIEL
Ce projet consiste en la réalisation d'une carte de la route simplifiée. Dans cette carte il existe des villes contenant des lieux. Ces lieux sont reliés par des routes. Ce programme permet de créer, d'afficher cette carte et calculer le chemin entre deux lieux.
En précisant dans les paramètres un fichier de données routes et un fichier de données villes, ainsi que les lieux de départs et d'arrivée, la carte affichera l'itinéraire entre les deux lieux. Il est possible de zoomer/dezoomer avec la molette de la souris, de plus en cliquant sur deux lieux, l'on peut choisir un nouvel itinéraire a afficher.
il est possible avec l'aide du mode edition de créer et modifier des cartes, en y ajoutant des lieux et routes
Avec un clic gauche, une popup de création de lieux apparait, permettant de créer un nouveau lieu, choisir son nom type et sa ville
Avec un clic droit prolongé, il est possible de créer une route, composé de plusieurs segments dont les limites sont définies par des clics gauches (toujours en maintenant le clic droit) Une fois le clic droit relaché, une popup permettant de nommer la ville apparait.
il est finalement possible de sauvegarder sa carte dans les fichiers indiqués en paramètre de la commande en cliquant sur le boutton "sauvegarder"
Ce projet est loin d'etre complet de nombreuses améliorations auraient pu être réalisés.
- menu de démarrage plus user-friendly: menu de démarrage permettant d'accéder au fonctionalités principales sans devoir ajouter de paramètres de commandes, selection des fichiers de cartographie via l'explorateur de fichier.
- editeur de carte complet : a ce jour, l'editeur de carte permet d'ajouter des lieux et routes, mais ne permet pas de les modifier et/ou supprimer
- meilleure gestion des fichiers de cartographie: malheureusement limité par les consignes de ce TP, j'aurai aprécié pouvoir formater différement les fichiers de cartographie, en utilisant l'interface serializable, ou bien en utilisant un format standanrd (json, csv...), rendant plus propre et moins prone a l'erreur le parser/la sauvegarde de ces derniers.
voici un diagrame de classe extremement simplifié (ignorant toute la partie interface graphique, qui rend rapidement le diagrame illisible inutilemnt) permettant de mieux comprendre l'organisation des classes fonctionelles.
A partir de l'objet carte, il est possible d'accéder a l'ensemble des routes, ainsi que l'ensemble des villes, qui eux memes contiennent l'ensemble des lieux. L'élément central est la classe abstraite lieu, duquel il est possible de naviguer vers tout les lieux voisins, ainsi que la ville parent. Ses sous-classes implémentent les différentes représentations graphiques. La classe route représente graphiquement une route, et si cette dernière est reliée a ses deux embouts à deux lieux elle participe a la recherche de chemin. La classe carte peut générer un objet parcours, qui représente un ensemble de routes empruntés d'un lieu a un autre a l'aide d'un DFS récursif.
- maven 3.6.3
- java 17
- junit 5.9.1
pour executer la suite de tests, lancez mvn test
pour build et générer un jar, lancez mvn clean package
pour executer, lancez le jar (qui sera généré dans le repertoire target) avec ses arguments, par exemple :
java -jar target/carte-1.0-SNAPSHOT.jar "data/test1/villes.txt" "data/test1/routes.txt" "Mairie" "Poitiers" "Mairie" "Le Mans"
pour le mode itinéraire, ou
java -jar target/carte-1.0-SNAPSHOT.jar "data/test1/villes.txt" "data/test1/routes.txt"
pour le mode création





