Trim and wash the courgettes, and cook whole in gently boiling salted water for 6-7 minutes, until just soft (test by pricking with a fork). Drain the courgettes, and leave in the saucepan with the lid on while you prepare the piperade.
Make the piperade: Peel and slice the onion. Wash, core and chop the pepper. Wash and chop the tomatoes. Heat the oil in a saucepan and cook the onion and pepper over a medium heat, stirring well, for about 4-5 minutes, until soft. Add the chopped tomatoes, garlic, salt, and pepper, and stir. Continue to cook gently over a low heat, stirring occasionally, for about 15 minutes, to make a thick saucy mixture.
Break the eggs into a small basin and lightly beat them with a fork, ready to cook.
Remove the courgettes from the pan, split them in half lengthways, and hollow out the seedy centre part, leaving a thick courgette shell. Put them on a serving dish and keep them warm while cooking the egg.
Pour the beaten egg into the vegetable mixture, stirring hard with a wooden spoon over a low heat until the eggs are just setting (do not overcook or the eggs will go hard instead of soft and creamy). Spoon the filling into the prepared courgette halves. Eat hot or cold as preferred.