# TP 1

Pour faire facilement ce TP, commencez par télécharger au moins le répertoire plantUML de ce cours.
(vous pouvez aussi tout cloner).

## Prise en main de plantUML

Allez dans le répertoire plantUML. Lisez les exemples de fichier plantuml.
Il s'agit de fichier texte.

Le but est de pouvoir écrire facilement des diagrammes de classe et
des diagrammes de cas d'usage avec plantUML pour générer des diagrammes svg pour
mettre dans vos rapports.

optionnel: faites le setup dans votre éditeur favori pour y intégrer plantUML.

Vous pouvez toujours générer les diagrammes en ligne de commande.
Il faut juste trouver le bon emplacement du jar.

Sur ma machine, par exemple je vais écrire ceci pour générer le svg pour le diagramme stocké dans le fichier DCU.plantUML

```
java -jar /usr/share/plantuml/plantuml.jar -charset UTF-8 -tsvg DCU.plantUML
```

L'option avec charset est nécessaire si votre ficher contient des charactères UTF-8
et que votre locale n'est pas configuré correctement.

## Digression : comment trouver un exécutable / un fichier?

Vous n'arrivez pas à trouver plantuml.jar sur les machines de l'IUT?

Vous pouvez toujours chercher des informations en ligne sur le paquet archlinux plantuml pour savoir où archlinux installe les paquets.

Autre technique : si c'est un exécutable que vous cherchez, vous pouvez utiliser which
```
which plantuml
```

Si c'est un fichier (comme un jar), vous pouvez utiliser find.
L'avantage c'est que find cherche vraiment sur le disque.
L'inconvénient c'est que find cherche vraiment sur le disque (c'est long, ça fait chauffer la machine et il fait trop chaud dans les salles TPs).

Il est recommandé d'utiliser la commande locate
```
locate plantuml
```
Cette commande regarde seulement dans quelques fichiers (pas trop gros) qui représente le contenu du disque.
L'avantage c'est que ça va vite et ça ne fait pas chauffer la machine.
L'inconvénient c'est que les fichiers qui stockent les informations ne sont pas forcément à jour.

Vous pouvez demander la mise à jour en faisant
```
updatedb
```
Vous n'avez malheureusement pas les droits à l'IUT.

## Où est ce satané jar?

Sur les machines de l'IUT, il est ici

```
/usr/share/java/plantuml/plantuml.jar
```

## Usage du jar en ligne de commande.

Il suffit d'invoquer le jar avec la balise -help pour avoir des informations.



## Diagramme objet

Allez lire la documentation de plantUML et fabriquez le diagramme objet que nous avons vu en TD pour le parcours complexe Melun à Vert-de-Maison.

## Java

Reprenez le diagramme de classe fourni pour la partie modèle du système de transport vu en TD (le fichier UML est dans le répertoire exemple).

Produisez le code java pour permettre de stocker puis afficher l'exemple de parcours complexe vu en cours.

Pour l'instant pas besoin de réfléchir aux méthodes autre que les constructeurs, et une mise à jour de toString pour permettre un affichage adapté.

## Pour aller plus loin.

Réfléchissez et proposez des méthodes, en particulier des getter et setter adaptés pour ces classes.
