David joue son premier match en Division 1 le : Le Havre-Bastia (1-1).
En 2005, il est finaliste de la Coupe de France.
Le 20 août 2008, lors d'un entraînement, il sauve la vie de David Sommeil grâce à des gestes de secourisme et de réanimation. Son coéquipier à Valenciennes était alors victime d'une crise cardiaque.
Son premier but sous les couleurs de Valenciennes est inscrit contre le rival, Marseille, lors de la 7e journée de la saison 2009-2010.
Joueur polyvalent, il a occupé tour à tour le poste d'arrière droit, arrière gauche et ailier droit avec le club de Valenciennes. Lors de la saison 2012-2013, il est même replacé au poste de milieu défensif.
Il rejoint en juin 2014 le Gazelec Ajaccio pour un « dernier challenge »[1]. Participant à 35 matchs de championnat et buteur à 4 reprises, il est un acteur majeur de la première montée du club corse en Ligue 1. En compagnie de Jérémie Bréchet et Grégory Pujol, sa mission est d'encadrer les jeunes en leur apportant leur expérience[2].
À l'issue de la saison 2016-2017, il prend sa retraite à l'âge de 39 ans après 19 ans de carrière[3].
L'ancien défenseur se reconvertit alors comme entraîneur et rejoint le staff de Thierry Laurey au RC Strasbourg, jusqu'en mai 2020[4].