Nato a Montpellier, inizia la sua carriera professionistica nelle file del Montpellier,[1] in cui arriva agli inizi del 2000.
Dopo aver fatto tutta la trafila delle giovanili, il 12 maggio 2008, alla 37ª giornata di Ligue 2, fa il proprio debutto professionistico contro il Gueugnon.[2]
La stagione successiva gioca soltanto quattro partite e contribuisce da comprimario alla promozione in Ligue 1 dell'MHSC. Contemporaneamente continua però a giocare con la formazione giovanile, con cui vince la finale di Coupe Gambardella contro il Nantes.[3]
La stagione successiva, complice l’infortunio del titolare Nenad Džodić, diventa titolare in prima squadra e a debuttare in Ligue 1 durante la gara della 2ª giornata contro il Lorient del 15 agosto 2009.[4]
Anche con il ritorno di Džodić mantiene il suo posto da titolare e in generale lo mantiene anche nelle successive stagioni, con l'unica eccezione per la stagione 2011-2012 in cui totalizza solo otto presenze fra tutte le competizioni, vincendo in compenso il campionato.[5]
Gioca con la maglia del Montpellier per altre stagioni prima di venire acquistato dal Palermo per 2 milioni di euro il 28 luglio 2015, firmando tra l'altro un contratto quadriennale.[6]
Debutta con i rosanero il successivo 15 agosto, in occasione del terzo turno di Coppa Italia, contro l'Avellino;[7] mentre il 23 agosto 2015, in occasione della prima gara di campionato contro il Genoa, sigla al 91' la sua prima rete in Serie A, rete decisiva per la vittoria del match da parte dei rosanero.[8]
Nonostante un buon inizio, a causa dei repentini cambi di allenatore dei rosanero non riesce a trovare tanto spazio e nella prima metà di stagione mette a referto soltanto otto presenze tra campionato e coppa.[9]
Inizia così un'odissea di prestiti. Il 1º febbraio 2016, viene acquistato in prestito semestrale dallo Stade Reims[10] e conclusa la stagione, il 10 agosto 2016, viene ceduto nuovamente a titolo temporaneo ma al Bastia,[11] con cui totalizza 18 presenze al termine dell'unica stagione al club.
Tornato al Palermo e messo fuori rosa, il 12 gennaio 2018 viene acquistato a titolo definitivo dai marocchini del Wydad Casablanca. Tuttavia, anche qui non riesce a trovare spazio, scendendo in campo per sole 4 occasioni.
Il 17 gennaio 2019, viene infine acquistato dal Nancy.[12] Alla fine della stagiome 2021-2022 terminata con la retrocessione del club in Championnat National, lascia il club biancorosso dopo 3 anni e mezzo e 81 apparizioni ufficiali.
Nel luglio successivo da svincolato si aggrega ai greci del Diagoras, ma nell'ottobre successivo rescinde il proprio contratto.[13]