diff --git a/src/main/java/ch/hepia/ui/MainWindowController.java b/src/main/java/ch/hepia/ui/MainWindowController.java
index 42ce64445796f85c0831a56162fa8708850f4656..20d2a8ac161fc5097216e9cb65bbadd5577bf33e 100644
--- a/src/main/java/ch/hepia/ui/MainWindowController.java
+++ b/src/main/java/ch/hepia/ui/MainWindowController.java
@@ -2,6 +2,7 @@ package ch.hepia.ui;
 
 import ch.hepia.Main;
 import ch.hepia.api.transport.Connection;
+import ch.hepia.api.transport.Journey;
 import ch.hepia.api.transport.LinkAPI;
 import ch.hepia.api.transport.Section;
 import ch.hepia.config.AppContext;
@@ -101,6 +102,7 @@ public class MainWindowController implements Initializable {
         }
     }
 
+
     /**
      * Draws a connection between two places. Basically lines.
      * @param connection The connection to draw
@@ -110,16 +112,31 @@ public class MainWindowController implements Initializable {
     private void drawConnection(Connection connection, int x, int y){
         List<Section> sections = connection.getSections();
         connectionCanvas.getGraphicsContext2D().setFill(Color.RED);
-
+        connectionCanvas.getGraphicsContext2D().fillText(sections.get(0).getDeparture().getLocation().getName(), x, y - 20);
+        connectionCanvas.getGraphicsContext2D().setFill(Color.BLACK);
+        connectionCanvas.getGraphicsContext2D().fillText(sections.get(0).getDeparture().getDepartureTime().toString(), x, y - 40);
+        connectionCanvas.getGraphicsContext2D().setFill(Color.RED);
+        connectionCanvas.getGraphicsContext2D().fillOval(x - 5, y - 5, 10, 10);
+        connectionCanvas.getGraphicsContext2D().strokeLine(x, y, x + 622 / (sections.size() + 1), y);
 		for (int i = 0; i < sections.size(); i++){
 			connectionCanvas.getGraphicsContext2D().strokeLine(
-					x + (622 / sections.size()) * (i), y, 622 / sections.size(), y);
-			connectionCanvas.getGraphicsContext2D().fillOval(x + (622 / sections.size()) * (i) - 5, y - 5,
-					10, 10);
+                    x + (622 / (sections.size() + 1)) * (i + 1), y, 622 / (sections.size()), y);
+            connectionCanvas.getGraphicsContext2D().setFill(Color.RED);
+            connectionCanvas.getGraphicsContext2D().fillOval(x + (622 / (sections.size() + 1)) * (i + 1) - 5, y - 5, 10, 10);
+            
 			connectionCanvas.getGraphicsContext2D().fillText(sections.get(i).getArrival().getLocation().getName(),
-                    x + (622 / sections.size()) * (i), y - 20);
+                    x + (622 / (sections.size() + 1)) * (i + 1), y - 20);
+            connectionCanvas.getGraphicsContext2D().setFill(Color.BLACK);
 			connectionCanvas.getGraphicsContext2D().fillText(sections.get(i).getArrival().getArrivalTime().toString(),
-                    x + (622 / sections.size()) * (i), y - 40);
+                    x + (622 / (sections.size() + 1)) * (i + 1), y - 40);
+            Journey jrn = sections.get(i).getJourney();
+            String transportType = "MARCHE";
+            if (!(jrn instanceof Journey.EmptyJourney)) {
+                transportType = jrn.getCategory() + ", " + jrn.getNumber();
+            }
+            connectionCanvas.getGraphicsContext2D().setFill(Color.BLUE);
+            connectionCanvas.getGraphicsContext2D().fillText(transportType, x + (622 / (sections.size() + 1)) * (i), y - 55);
+            connectionCanvas.getGraphicsContext2D().setFill(Color.RED);    
 		}
     }