First, make the caramel. Pour 100ml water into a large saucepan. Add the sugar and golden syrup, gently cook until melted, then turn up the heat a bit and cook until the caramel is a dark goldenbrown colour. Swirl the pan occasionally to prevent sticking but do not stir. Turn off the heat and carefully whisk in the butter, double cream and creme fraÃ®che - it will bubble up quite high. Whisk until smooth, then leave to cool until slightly set. You can make this up to 3 days in advance and chill in the fridge - just gently reheat until soft enough to spread before assembling the cake.
Now make the cake. Heat oven to 180C/160C fan/gas 4. Grease a 23cm springform cake tin and line the base with baking parchment. Melt the chocolate, butter and milk in a large pan over a low heat, stirring until smooth. Remove from heat, then beat in the sugar and vanilla. Cool slightly. Beat the egg yolks and creme fraÃ®che together, then mix this into the chocolate mixture, followed by the flour and baking powder. Whisk the egg whites in a clean bowl until stiff peaks form. Stir a third of the egg whites into the cake mix, then gently fold in the rest along with the sea salt. Pour into the prepared tin and bake for 40-50 mins until firm to touch. Leave to cool for 20 mins, then remove from the tin and finish cooling on a wire rack.
For the ganache, heat the chocolate and cream together over a low heat until the chocolate has melted. Pour into a bowl to cool.
To assemble, slice the cooled cake in half horizontally. Sandwich together with some of your caramel - you may not need it all, but be generous in order to balance the bittersweet ganache topping. Spread the ganache over the top of the cake and sprinkle with some sea salt crystals and chocolate truffles, if you like.