Place the shallots and room temperature oil in a small saucepan together and set over medium-medium high heat. Cook, stirring occasionally, until shallots are a rich, golden brown. Transfer the shallots to a fine mesh sieve to drain, then rest on several paper towels to soak up any excess moisture. The shallots will crisp as they rest. If serving the dish later, prepare the shallots to this point and store in an airtight container until ready to use.
Add salt to a large pot of water and bring to a boil. Create a water bath in a large bowl with equal amounts ice and cold water (enough to submerge the beans) and set aside. When the water boils add the beans and cook for 3-5 minutes until crisp tender (Pull out a bean and bite into it to verify that it's the right doneness). Use a pair of tongs to transfer the green beans to the ice bath to stop the cooking and preserve the bright green color. When beans are cold, transfer them to several paper towels to dry. If you're serving the dish later, prep the beans to this point and refrigerate them. Wrap loosely with paper towels and refrigerate until ready to use.
Over medium high heat, melt the butter in a heavy, medium-sized skillet and add the thyme leaves. Cook for 1-2 minutes until thyme is softened and fragrant. Stir in the orange juice, dijon and honey and cook until the sauce has been reduced by about half. Season to taste with salt and pepper. If serving later, prepare the sauce until this point until ready to use.
Over medium heat, warm the sauce in a skillet, add the beans and onions to heat through. Toss to coat with the sauce. Transfer the beans and onions to a serving dish or platter, spoon any sauce over the top. Sprinkle the crispy shallots, orange zest and thyme leaves over the beans and serve.