Preheat the oven to 180°C/350°F.
Lightly grease a 23cm loose-bottomed non-stick cake tin and line the base with parchment paper. Place the hazelnuts in a roasting tin and roast for 10 minutes until toasted but not burnt. Leave to cool, then tip them into a clean tea towel and rub off the skins. Transfer the nuts to a food processor and blend for 30 seconds until finely ground.
Place the chocolate in a heatproof bowl set over a pan of simmering water and allow to melt, then remove the bowl from the pan and leave to cool. Place half of the sugar and the butter into a large bowl and using a hand-held mixer, beat together until pale and creamy. Beat in the egg yolks and melted chocolate.
Whisk the egg whites in a separate bowl until you have achieved soft peaks, then whisk in the remaining sugar until stiff. Gently fold the ground hazelnuts into the meringue, then gently fold into the chocolate mixture in two batches. Spoon into the prepared tin and bake for 40-45 minutes or until a skewer pushed into the centre of the cake comes out clean.
Meanwhile, using a sharp knife, take a slice from the bottom and top of each orange and then place on a chopping board and carefully cut away the skin and pith, following the curve of the orange. Cut the fruit into horizontal slices, reserving any juice in a small bowl. Mix the orange flower water with the orange juice and add the orange slices. Set aside at room temperature to allow the flavours to develop.
Cut the cake into slices and arrange on plates with the orange salad and a dollop of crème fraiche, if liked.