Get a small sauce pan on the stove and start to melt the Butter (3 tablespoon) over medium-high heat. Whisk in the All-Purpose Flour (3 tablespoon) until you have a golden brown, thick roux. Slowly pour in the Milk (1 1/2 cup) while you keep whisking.
Add in the Salt (1 pinch), then let the sauce gently simmer on medium heat for 5-10 minutes, whisking it occasionally, until it is thick and luscious.
Get out a 9 by 13-inch baking pan and spray it well with cooking spray. Lay out the Croissants (8) in an even layer on the bottom, followed by the Ham (0.25 pound). Spread the finished béchamel on top of that in a thin layer.
Whisk the Egg (5), Milk (3/4 cup), Salt (1 pinch), Ground Black Pepper (1 pinch), Herbes de Provence (1 teaspoon), and Garlic Powder (1/2 teaspoon) together in a bowl.
Pour it over everything and gently press down the casserole so that the egg mixture really soaks into it. Sprinkle the Gruyère Cheese (4 ounce) evenly over the top.
Cover it and put it in the refrigerator to develop flavor for at least an hour or up to overnight.
When you are ready to bake it, preheat the oven to 350 degrees F (175 degrees C).
Bake the casserole uncovered for about 45 minutes, until it is set and the gruyere is almost brown and crispy.
Cut it into 6 large squares or even 12 small squares. Serve and enjoy!