Maire de Fécamp en 1998, réélu en 2001 et dès le premier tour en 2008, avec 67 % des suffrages exprimés. En 2014, sa première adjointe, Estelle Grelier se présente avec son soutien et se trouve battue au second tour par Marie-Agnès Poussier-Winsback. En 2020 il prend la tête d'une liste d'union de la gauche mais il se trouve défait au second tour avec seulement 171 voix d'écart avec la maire sortante[2].
Conseiller municipal de 2014 à 2021.
Conseiller régional de Haute-Normandie de 1998 à 1999.
Député de la 9e circonscription de la Seine-Maritime de 2000 à 2002, élu lors de l'élection partielle des 15 et faisant suite à la démission de la députée PS Frédérique Bredin[3]. Candidat à sa succession en 2002, il est battu par Daniel Fidelin au second tour.
Conseiller général du canton de Fécamp et vice-président chargé du personnel et des finances de 2004 à 2015.