docs: def path(self, goal):
          """Get the shortest way between two nodes of the graph
  
          Args:
              goal (str): Name of the targeted node
          Return:
              list of Node
          """
          if goal == self.name:
              return [self]
  
          if goal not in self.routes:
              raise ValueError("Unknown '{0}'".format(goal))
  
          obj = self
          path = [obj]
          while True:
              obj = obj.routes[goal].direction
              path.append(obj)
              if obj.name == goal:
                  break
          return path