How to Make It
Fill a large bowl with water and squeeze the lemon half into it. Working with 1 artichoke at a time and using a sharp knife, cut off the top two-thirds of the leaves. Pull off the outer leaves until you reach the tender yellow leaves. Scrape out the choke with a melon baller or a spoon. Trim the base and peel the stem, then thickly slice the heart and add it to the lemon water. Repeat with the remaining artichokes.
In a large saucepan of boiling salted water, cook the spinach just until wilted, about 1 minute. Using a slotted spoon, transfer the spinach to a colander. Let cool slightly, then squeeze dry and chop finely. Transfer to a small bowl.
Meanwhile, add the potatoes to the boiling water and cook until tender, about 15 minutes. Using a slotted spoon, transfer the potatoes to a large bowl.
Add the cardoon or celery to the boiling water and cook until tender, about 8 minutes for cardoon, 3 minutes for celery. Using the slotted spoon, add the celery to the potatoes. Cook the beans in the boiling water until just tender, 2 minutes; using the slotted spoon, add the beans to the potatoes.
Drain the artichoke slices and add them to the boiling water. Cook until tender, about 8 minutes. Using the slotted spoon, add the artichokes to the potatoes; reserve 1 1/4 cups of the cooking water.
In a large skillet, heat 2 tablespoons of the oil. Add the garlic and cook over moderately high heat until softened and beginning to brown, about 1 minute. Add the ham and stir until the ham and garlic are lightly browned and crisp, about 2 minutes.
Add the blanched vegetables and half of the spinach to the skillet and cook, stirring, until warm. Transfer to a shallow bowl and season with salt if necessary. Add the remaining 1/4 cup of oil to the skillet, stir in the flour and cook until sizzling. Add the reserved 1 1/4 cups of cooking water and the remaining spinach and cook, stirring, until the sauce is creamy, about 3 minutes. Drizzle on the vegetables and serve.