Arrange the baguette slices on a large baking sheet and drizzle lightly with olive oil.
Season the bread with salt and pepper and bake for about 6 minutes, until crisp and golden brown.
In a 10-inch ovenproof skillet, heat 2 tablespoons of the olive oil.
Add the zucchini, onion and thyme, season with salt and pepper and cook over moderately high heat, stirring a few times, until just tender, about 5 minutes.
Add 1/4 cup of the broth and the heavy cream and simmer over moderate heat until slightly thickened, about 3 minutes.
Season with salt and pepper and transfer half of the zucchini mixture to a plate and reserve.
Spread the remaining zucchini in an even layer in the skillet.
Sprinkle with 2 tablespoons of the Gruyere and 1 tablespoon of the Parmigiano-Reggiano and top with a layer of toasted baguette slices.
Spread the reserved zucchini mixture over the toasts and sprinkle with an additional 2 tablespoons of Gruyere and 1 tablespoon of Parmigiano-Reggiano.
Arrange alternatively slices of tomato and baguette on top in concentric circles.
Sprinkle with the remaining 1/4 cup Gruyere and 3 tablespoons of grated cheese.
Drizzle with the remaining 2 tablespoons of olive oil and season with salt and pepper.
Carefully pour the remaining 1/4 cup of broth around the edge of the skillet and over the top.
Bake for about 35 minutes, until the top is richly browned and the tomatoes have released their juices.