| Youth career | |||
|---|---|---|---|
| –1988 | Neuilly-sur-Marne | ||
| 1988–1991 | Joinville-le-Pont | ||
| 1991–1993 | Rennes | ||
| Senior career* | |||
| Years | Team | Apps | (Gls) |
| 1991–1996 | Rennes | 91 | (28) |
| 1996–1997 | Deportivo La Coruña | 0 | (0) |
| 1996–1997 | → Rennes (loan) | 35 | (3) |
| 1997–2000 | Bordeaux | 99 | (46) |
| 2000–2004 | Arsenal | 106 | (31) |
| 2004–2007 | Lyon | 82 | (20) |
| 2007–2009 | Rennes | 31 | (6) |
| 2009 | Marseille | 13 | (1) |
| 2010 | Metz | 15 | (3) |
| 2011–2012 | Nantes | 33 | (8) |
| Total | 505 | (146) | |
| International career | |||
| 1999–2006 | France | 92 | (26) |
| *Club domestic league appearances and goals | |||