Jasper Philipsen secured his third stage win of the 2023 Tour de France, denying Mark Cavendish on the line in Bordeaux.