If you are using fresh artichokes, prepare them as follows. Fill a bowl with water and squeeze in a little lemon or lime juice. Cut the stalks off flush with the base, and peel off the tough green leaves until you reach the softer yellow ones. Cut the tips off these and peel the base. With a spoon, scrape out any furry choke and cut each prepared artichoke in half lengthwise. Drop the hearts into the bowl of water as you go to stop them from discoloring.
Place the trimmed artichokes in a large saucepan of salted boiling water and simmer for 10 to 15 minutes, until tender. Drain and leave to cool.
Make the dressing. Whisk the lime juice and olive oil (you could use some oil from the artichoke hearts if using ready-prepared) together in a bowl and add all the other ingredients. Leave to infuse for 30 minutes and then strain. Season with salt and pepper.
If using ready-prepared artichoke hearts, cut them in half. Place the artichoke hearts (either the freshly prepared or the hearts in oil) in a bowl. Pour the dressing over them and mix. Leave to marinate for 5 minutes.
Soak the red onion in iced water for 5 minutes and then drain and dry thoroughly with paper towels. Arrange the lettuce leaves over 4 individual plates and place the artichokes on top. Sprinkle over the red onion and chile, drizzle over any remaining dressing, and garnish with the cilantro.