Cook the Beans:
Soak the beans overnight in cold water (soaking is optional, but makes the texture creamier and the cooking time shorter). Drain, rinse again, and put in a large saucepan or 5- to 6-quart Dutch oven. Add enough water to cover the beans by 1 inch (more, if you didn’t soak them). Add the onion, thyme, rosemary, savory (if using), bay leaf, chile, and salt. Bring to a simmer over medium heat, adjusting the heat as needed to achieve a gentle bubbling. Cover partially and simmer until the beans are tender but still hold their shape. Depending on the variety and freshness of your beans, this could take from 30 minutes to 2 hours, so check frequently, adding more water if the beans get dry. Remove from the heat and let cool in the liquid.
Make the Stewed Pork:
In a medium bowl, toss the pork with the olive oil and a generous sprinkling of salt and pepper. Heat a 10-inch straight-sided sauté pan over medium-high heat, add about half of the pork in a single layer, and cook until well browned on all sides, 7 to 8 minutes. Transfer to a plate and repeat with the remaining pork. Pour off any fat and return the reserved pork and any accumulated juices to the pan. Add the wine and boil vigorously until it’s reduced to about 1/4 cup. Add the broth, garlic, and rosemary and reduce the heat to low. Cover the pan and simmer gently until the pork is very tender, 1 to 1-1/2 hours. Cool slightly, remove the meat from the broth, and put the broth in a bowl. Let the broth cool and then skim off as much fat as possible.
For the Vegetables and Tomato Sauce Heat 1 Tbs. of the duck fat or olive oil in a 12-inch skillet over medium-low heat. Add the pancetta and cook until browned and most of the fat has been rendered, about 15 minutes. Transfer to a bowl and pour off the fat. Add another 1 Tbs. of the duck fat or oil to the pan, raise the heat to medium high, and add the carrots; season with salt and pepper. Cook until barely tender and golden around the edges, 3 to 5 minutes. Transfer the carrots to the bowl with the pancetta. Add 1 Tbs. more duck fat or oil and the onions to the skillet. Season with salt and pepper, reduce the heat to medium low, and cook, stirring and scraping the pan frequently, until the onions are soft and fragrant and starting to caramelize, 15 to 20 minutes. Add the onions to the carrots and pancetta.
If there’s a layer of cooked-on juices in the pan, deglaze with a few spoonfuls of water and add that to the vegetables and pancetta.
Over medium-high heat, add the remaining 1 Tbs. duck fat or olive oil to the skillet, and quickly cook the garlic until it’s fragrant, about 30 seconds. Add the chopped tomatoes and a pinch of salt and cook, stirring frequently, until they reach the consistency of a chunky sauce, 5 to 6 minutes. Set aside.
Assemble and Bake the Cassoulet:
Strain the beans, reserving the cooking liquid (if you haven’t done so already). Pick out the herb stems, onion, and chile and discard. Gently fold the beans with the pancetta-vegetable mixture, the tomato sauce, and the parsley. Season to taste with salt and pepper.
Choose a vessel for the cassoulet: A flameproof roasting pan that’s about 16x13x3 inches works well, as does a 9- to 10-quart Dutch oven. Adjust the oven rack so that the pan you’re using will sit about 6 inches below the broiler. Heat the oven to 350°F.
Heat 1 tsp. of the olive oil in the pan over medium heat. Add the sausages and cook until nicely browned all over, 5 to 6 minutes (they don’t need to be fully cooked at this point). Remove from the heat. Set the sausages aside to cool; then cut into quarters. Pour off any fat from the pan.
Spoon half the bean mixture into the pan in an even layer. Arrange the sausage, pork shoulder, and duck meat evenly over the beans. Top with the rest of the beans. Pour in the defatted pork broth and then add the bean-cooking liquid until the level comes to just below the beans—you should be able to see the liquid but it shouldn’t cover the beans. Bake the cassoulet, uncovered, for 45 minutes.
Toss the remaining 3 Tbs. olive oil with the breadcrumbs, cheese, and zest (if using), and spread about 2 cups over the surface of the cassoulet. Continue baking until the crumbs start to brown and the beans are sizzling around the edges, about 45 minutes more.
Sprinkle on the remaining crumbs, turn the broiler to high, and broil until the crumbs are crunchy and browned, about 1 minute. Remove the cassoulet and let it sit for at least 45 minutes so the juices can thicken slightly. Serve hot or warm.