Preheat oven to 375°F (190°C). Line 2 baking sheets with parchment paper, or silicone mat.
In a medium saucepan, combine water, butter, sugar and salt. Slowly heat the mixture over medium heat, stirring frequently to dissolve sugar and melt the butter. Once sugar is dissolved and butter is melted, increase the heat to medium high heat and bring the mixture to a boil.
When the mixture is boiling, remove the saucepan from heat and add flour all at once. Quickly mix the mixture until all the flour is absorbed. (We just made panade!)
Replace the saucepan back to burner and reduce the heat to medium. Cook the dough, continuously mixing with a wooden spoon. The dough will start to form into a ball. Keep mixing for another 3-4 minutes until light crust forms on the bottom of the pan. (Note: It’s important to cook for at least 3-4 minutes to dry out the panade.)
Transfer the dough into a mixing bowl with paddle attachment and mix it for a few minutes on low speed until the mixture is at room temperature, about 2 minutes. (No mixer? No problem. You can mix it with a wooden spoon!)
Add eggs one at a time, beating well after each addition. This will help to get egg absorbed into the dough quicker. Don’t add more than 2 eggs at a time! This is important, as you might not need to add all the eggs.
The dough should be smooth and shiny, thin enough to slowly fall into a ribbon, but too runny. (Read more details in this post.
At this point choux pastry is done and ready to be piped into whatever size you want. Uncooked dough can also be refrigerated for up to 3 days in an airtight container.
To bake pastry shells, transfer the batter into a large pastry bag and pipe into 4-inch strips or 2-inch rounds 3 inches apart. Level peaked tops with a wet fingertip.
Bake for 30-35 minutes, or until the shells are puffed up and golden brown, one baking sheet at a time. (Note: Don’t open the oven door the first 25 minutes.)
After initial 30 minutes, quickly open the oven door and make a small slit on the side of shells, using a small sharp pairing knife. This allows the steam to escape and helps to dry out the inside of pastry shells. Bake for another 5 minutes, or until shells are crisp and golden brown.
Transfer the shells onto a wire rack and cool completely before filling.
To make the pastry cream, in a small bowl, mix together flour and cornstarch. Set aside.
In a medium saucepan, bring the milk and vanilla extract to a boil. Once it boils, turn the heat off.
In a separate bowl, beat the egg yolks with sugar until pale. Stir in flour mixture. To temper the egg yolk mixture, add about ½ cup of hot milk, while stirring vigorously. Add the tempered egg mixture back into the remaining milk. Cook over medium heat, stirring frequently, until it thickens, about 5-7 minutes.
Transfer to a clean bowl and set it over ice bath to cool. Cover with plastic wrap so that it touches the cream and refrigerate it.
Whip heavy cream till hard peaks form. Fold in the whipped cream to the pastry cream and mix until well combined. Transfer the filling into a pastry bag with a small round tip.
To make the chocolate ganache, in small saucepan, bring heavy cream to a simmer. Do not boil. Pour hot cream over chocolate chips, and let it sit for good 2 minutes. Then mix well until smooth for couple minutes. Stir in butter to add some shine.
To assemble eclairs, using a sharp pairing knife, make two holes on the bottom of each eclair shell and fill the pastry shells through the holes until the eclairs are filled. And then dip each filled eclair in the chocolate ganache. Chocolate glaze will set in about an hour at room temperature. If not serving right away, refrigerate filled eclairs.