In a small bowl, mix 1 tablespoon of the oil with the garlic, rosemary, 1 teaspoon kosher salt and 1/2 teaspoon pepper. Place the steak in a zip-top bag, add the marinade and rub the flank steak all over. Let stand for 30 minutes at room temperature to marinate and to allow the steak to come to room temperature.
While the steak marinates, place the potatoes in a medium pot, add a generous pinch of salt and cover with cold water. Bring to a boil, reduce the heat to a simmer and cook until the potatoes are tender and easily pierced with the tip of a knife, about 15 minutes. Add the green beans to the water in the last 5 minutes. Drain and set aside.
Preheat the grill over medium heat. In a medium bowl, whisk the vinegar with the mustard, shallots, honey, 1/2 teaspoon salt and pepper to taste until smooth. Whisk in the remaining 1/4 cup olive oil.
Grill the steak, flipping once, until the internal temperature reads about 130 degrees F, 7 to 8 minutes per side. Let rest on a cutting board for 10 minutes, and then thinly slice across the grain.
To serve, toss the baby spinach with 2 tablespoons of the dressing and divide among 4 plates. Evenly top with the potatoes, green beans, olives, tomatoes and sliced steak. Drizzle the remaining vinaigrette over the top and lightly season with salt and pepper.