When you try this awesome concoction, it will forever shame you for having been tempted to buy the artificially flavored icing from the store. French buttercream is distinguished from Italian buttercream by the use of yolks rather than whites. Italian buttercream is the supremely white icing you see on fancy cakes. German buttercream uses pastry cream, which is thickened vanilla sauce. They’re all good, but I like the richness of the yolks in this icing.
In a small saucepan, combine the sugar and water. Bring to a boil over high heat and cook for 3-5 minutes. (The sugar syrup should register between 230 and 240 degrees on a candy thermometer.)
While the sugar syrup cooks, combine the egg yolks and whole egg in the bowl of a stand mixer fitted with the whisk attachment. Whip the eggs on high speed until tripled in volume. This will take about as long as needed to cook the sugar syrup.
Continuing to whip the eggs, pour the sugar syrup slowly into beaten eggs. Continue to whip until the outside of the bowl has cooled, 8-10 minutes. Reduce the speed to medium and add a piece of the butter. After it begins to become incorporated, add the remaining butter, a piece at a time. The butter may look as if it’s breaking, but keep whipping it, and the mixture will come together.
When all of the butter is incorporated, add the vanilla and chocolate, return the speed to high, and beat until the icing comes together (it will change from visibly grainy and unappetizing to smooth and luscious). Ice your cake while the buttercream is at room temperature.