1 cup finely chopped large onion
2 tablespoons butter
2 finely chopped garlic cloves
1 tsp dried thyme
1 1/2 tsp salt
1 tsp black peppercorns
1/4 tsp ground allspice
1/4 tsp grated nutmeg
1 bay leaf (ground)
1/2 cup heavy cream
2 large eggs
3 tbsp brandy
250 gr chicken livers
450 gr ground fatty pork shoulder
250 gr ground fatty veal
250 gr baked ham cut into 1/2-inch cubes
12 bacon slices
Cook onion in butter over low heat, stirring frequently, for about 10 minutes.
Add garlic and thyme and cook, stirring, 1 more minute. Transfer to a large bowl set in a bowl of ice.
Add salt, pepper, allspice, nutmeg, and bay leaf to onion mixture and whisk in cream, eggs, and brandy until combined.
Grind chicken livers in a food processor. Add to onion mixture along with ground pork and veal and mix together well. Stir in ham cubes.
Line bottom and long sides of terrine mould crosswise with bacon slices, arranging them close together (but not overlapping) and leaving about 2-3 cm overhang.
Fill terrine evenly with ground-meat mixture. Cover top of terrine lengthwise with overhanging bacon and more slices if necessary to cover completely. Cover terrine with plastic wrap and chill at least 8 hours and up to 24 hours to marinate meats.
Put oven rack in middle position and preheat oven to 180C.
Remove plastic wrap and cover terrine tightly with a double layer of foil.
Bake terrine in bain marie until the meat in the middle of the terrine reaches approximately 70C, ie for about 1 3/4 to 2 hours. Remove terrine from oven, remove foil and let terrine stand in mould for 30 minutes.
Put terrine in mould in a baking pan. Put a piece of wax paper over the top of the terrine, then place on top another same-size terrine mould with at least half a kilo of weight in it, for instance some canned food, to weight cooked terrine.
Chill terrine in pan with weights for at least 4 hours. Continue to chill terrine, with or without weights for a further 24 hours to allow flavours to develop.
Run a knife around inside edge of terrine and let stand in mould in a pan with hot water (to loosen bottom) for about 2 minutes.
Empty terrine onto cutting board, and gently wipe outside of terrine with a paper towel.
Let terrine stand at room temperature for 30 minutes before serving, then cut into 1 cm thick slices.
Serve with gherkins and homemade bread.