The day before serving, prepare the preserved lemons and marinated olives: Rinse the lemons and wipe dry. Cut each one into 8 or 16 thin wedges. Cook in a large pot of boiling water about 5 minutes and drain. Soak in cold water to cover 1 hour, then drain.
Mix the sugar and water in a medium saucepan. Heat, stirring occasionally, over medium heat until the sugar is dissolved. Add the lemons and simmer until tender, about 20 minutes. If the syrup seems too thin, remove the lemons and reduce the syrup a bit. Let cool. Store the lemons in syrup in the refrigerator.
Crack the olives with a mallet and place in a bowl. Add the fruity olive oil, orange zest, and garlic; stir to combine. Let marinate at room temperature or in the refrigerator overnight.
The next day, make the onion confit. Melt the butter in a large skillet over medium heat. Add the onions and cook until very sweet and soft, about 20 minutes. Stir in the spices and cook a few more minutes. Season to taste with salt and pepper. Let stand at room temperature.
Rub both sides of the fish fillets with the charmoula and let marinate about an hour in the refrigerator.
Using a slotted spoon, remove the preserved lemons from the syrup and stir them into the onion confit. Add the syrup to taste.
Oil a baking sheet and place the fish on it in a single layer. Spoon the onion mixture over the fillets and drizzle each fillet with a few drops of fish fumet.
Meanwhile, warm the olives in their marinade in a small pan for a minute or two.
Transfer the fish to serving plates and garnish with the olives and chopped parsley or cilantro. Serve with couscous or roasted potatoes.