Heat 60 ml (¼ cup) of the olive oil in a wide Dutch oven set over medium heat. Add the quartered onion and let it fry in the oil for 3-5 minutes to flavor the oil. Remove the onion pieces and discard (or use for another dish). Add the rice to the onion-infused oil and stir for several minutes to let the rice grains become coated in the oil.
Ladle 1-2 scoopfuls of the simmering stock over the rice, using enough stock to cover the rice by the width of one finger. Stir occasionally with a wooden spoon until most of the stock is absorbed.
Meanwhile, heat about 50 ml (3 tablespoons) of the olive oil in the widest skillet you own (hopefully at least 12 inches). Once the oil is hot, add the zucchini and shallots. It's going to look crazy, but persevere. Don't stir for 30 seconds, then stir well, remove from the heat, and place it in a fine mesh colander or sieve to drain. (Keep the skillet around for the shrimp later.)
Continue adding stock to the rice, adding about another third of the total amount. Once half of that amount has been absorbed and your rice tastes close to done, add the zucchini, shallots, preserved lemon, and chopped parsley. Continue to stir gently until the stock is fully absorbed.
Finally, add the last 100 ml (about ⅓ cup) of the stock and the butter (if using). Stir until both are fully absorbed. Adjust the seasoning (you will likely need a hefty few pinches of Kosher salt and grinds of black paper). Cover the pot and let it rest off the heat for several minutes.
As the risotto rests, place that skillet back on a heat source. Note: if your skillet is 12 inches or smaller, you may need to do this in batches. Add the final 50 ml (3 tablespoons) of oil. Heat the oil over medium heat, then once it is hot, add the prawns and sprinkle with the ras al hanout. Cook for about 1-3 minutes per side, until just barely cooked through, then add the minced garlic, a little salt and pepper, and stir well.
Divide the risotto among 4-6 bowls, top with the prawns, and serve immediately.