Solution by Philippe Bricout.