From 136edbea160f808b6b7b84eb2bc67963e94416cf Mon Sep 17 00:00:00 2001 From: Iovka Boneva <iovka.boneva@univ-lille.fr> Date: Thu, 21 Dec 2023 17:08:51 +0100 Subject: [PATCH] =?UTF-8?q?doc=20m=C3=A0j?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/user.md | 24 +++++++++++++++---- .../main/kotlin/fr/ulille/grapp/ui/Grapp.kt | 5 +++- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/doc/user.md b/doc/user.md index 6f86403..144fd4b 100644 --- a/doc/user.md +++ b/doc/user.md @@ -11,6 +11,7 @@ L'outil permet de - visualiser les graphes et les résultats calculés L'interaction avec l'utilisateur se fait à travers un invite de commande. +Voir plus bas comment il faut lancer le programme. Voici un exemple d'utilisation, où on @@ -20,15 +21,15 @@ Voici un exemple d'utilisation, où on - dessine le résultat `r1.1` ayant comme effet de produire les fichiers `dijkstra-livraison.dot` et `dijkstra-livraison.png` ```{style="background-color:lightgray"} -grapp:> load livraison.yaml +grapp:> grapp load livraison.yaml Graphe chargé. -grapp:> shortest-path -algorithm Dijkstra -on livraison -from a +grapp:> grapp shortest-path -algorithm Dijkstra -on livraison -from a | a | b | c | d | e | f | g | h | i | j -------------|---|----|----|---|---|---|----|----|----|-- distance | 0 | 11 | 15 | 2 | 5 | 9 | 11 | 21 | 16 | 4 prédécesseur | | a | b | a | d | e | f | g | f | d -grapp:> list +grapp:> grapp list Graphes chargés et résultats calculés: Id | Nom de graphe | Description graphe / résultat @@ -36,7 +37,7 @@ Id | Nom de graphe | Description graphe / résultat g1 | livraison | Villes et réseau routier r1.1 | | Dijkstra on livraison from a -grapp:> draw -result r1.1 -to dijkstra-livraison +grapp:> grapp draw -result r1.1 -to dijkstra-livraison Dessin du graphe sauvegardé. ``` @@ -55,7 +56,7 @@ Par exemple `load --help` affiche l'aide de la commande `load`. - `list` <br> Affiche la liste des graphes déjà chargés et des résultats déjà calculés sur ces graphes. - `draw` <br> - Produit un fichier image contenant le dessin d'un graphe ou d'un résultat. + Produit un fichier image contenant le dessin d'un graphe ou d'un résultat. - `exit` <br> Quitte le programme. Les graphes chargés et résultats calculés sont perdus (pas de sauvegarde de session). - `shortest-path` <br> @@ -79,3 +80,16 @@ Toutes les commandes exécutant un algorithme (shortest-path, optimal-path, trav Écrit le tableau des résultats au format CSV dans le fichier donné. L'écriture se fait en concaténation. - `-silent` <br> N'affiche pas le résultat sur la console. + + +Lancer le programme +--- + +Le programme est fourni en tant qu'archive jar et des scripts pour la lancer. +Dans la suite on utilise le script nommé `grapp`. + +Le programme fonctionne en mode client-serveur, le client et le serveur s'exécutant dans le même terminal. + +1. Lancer le serveur avec la commande `grapp server &` **en tâche de fond** +2. Vous pouvez maintenant exécuter les commandes décrites ci-dessus. Elles seront envoyées au serveur qui affichera les résultats. + diff --git a/grapp/src/main/kotlin/fr/ulille/grapp/ui/Grapp.kt b/grapp/src/main/kotlin/fr/ulille/grapp/ui/Grapp.kt index c2c0db5..dfa8b59 100644 --- a/grapp/src/main/kotlin/fr/ulille/grapp/ui/Grapp.kt +++ b/grapp/src/main/kotlin/fr/ulille/grapp/ui/Grapp.kt @@ -491,12 +491,15 @@ class CliktConsoleOnSocket (val ss: ServerSocket): CliktConsole { } fun main(vararg args: String) { - if (args.isEmpty()) { + if (args.isEmpty() || args.isNotEmpty() && args[0] == "server") { // On démarre le serveur println(Messages.grappIntro) val ss = ServerSocket(12345) Grapp.run(CliktConsoleOnSocket(ss)) ss.close() + } else if (args.size == 1 && args[0] == "standalone") { + println(Messages.grappIntro) + Grapp.run(defaultCliktConsole()) } else { // On véhicule la commande vers le serveur val s = Socket("localhost", 12345) -- GitLab