In a medium saucepan over medium-high heat, combine the cream, milk and piment. Heat until the mixture just starts to bubble around the edges, and reduce the heat to low. Allow the mixture to steep over low heat for 15 minutes, to infuse the liquid with the piment. Strain through a fine-mesh sieve and return the liquid to the saucepan.
In a medium bowl, whisk the sugar, cocoa, cornstarch and salt together to ensure there are no lumps. While whisking, gradually add the sugar and cocoa mixture into the liquid. Cook over medium heat, whisking constantly, until the mixture starts to bubble and thickens, about 3 – 4 minutes. Reduce the heat to medium-low. Add the butter and whisk until melted. Add the vanilla and chocolate, and continue to whisk over medium heat until the chocolate has melted and the mixture is thick and smooth, about 2 – 3 minutes more. Transfer the pudding to a medium bowl, or individual pots (if using). Cool for about 15 minutes and then cover with plastic wrap and transfer to the refrigerator for at least 4 hours or ideally, overnight.
When ready to serve, top with some creme fraiche or sour cream and a sprinkle of piment (if desired).
The pudding can be made up to two days in advance. I prefer to make it one day in advance so the chili flavor mellows a bit. This is a great pudding for serving in individual espresso cups.