Partial coverage: some seasons of this career are not stored yet (2026/27).
Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| QPR | 2024/25 – 2025/26 | 63 | 0 | 0 |
| Gent | 2022/23 – 2024/25 | 96 | 0 | 0 |
| KAA Gent II | 2023/24 | 1 | 0 | — |
| Lorient | 2019/20 – 2022/23 | 77 | 0 | — |
| France U21 | 2014/15 – 2019/20 | 5 | 0 | — |
| Cercle Brugge | 2016/17 – 2018/19 | 74 | 0 | — |
| Rennes II | 2016/17 | 1 | 0 | — |
| Stade Rennais | 2016/17 | 1 | 0 | — |
| Monaco | 2015/16 – 2016/17 | 6 | 0 | — |
| Monaco II | 2015/16 | 2 | 0 | — |
| Nancy | 2011/12 – 2014/15 | 65 | 0 | — |
| Nancy II | 2010/11 – 2013/14 | 30 | 0 | — |
| France U19 | 2013/14 | 0 | 0 | — |
| France U17 W | 2011/12 | 0 | 0 | — |
| France U17 | 2011/12 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2024 | Gent | QPR | Free |
| 1 Sept 2022 | Lorient | Gent | — |
| 23 Jul 2019 | Monaco | Lorient | — |
| 2 Jan 2017 | Monaco | Cercle Brugge | Loan |
| 1 Jul 2016 | Monaco | Rennes | Loan |
| 2 Jul 2014 | Monaco | Nancy | Loan |
| 1 Jul 2014 | Nancy | Monaco | — |
| 29 Jun 2026 | QPR | Nardi Paul | Free agent |
| 20 Jul 2026 | QPR | Auxerre | Free agent |
| 21 Jul 2026 | QPR | Auxerre | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | League Cup | QPR | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 8.30 |
| 2025/26 | Championship | QPR | 17 | 16 | 1511 | 0 | 0 | 1 | 0 | 6.60 |
| 2024/25 | Championship | QPR | 45 | 45 | 4050 | — | 0 | 2 | 0 | 6.77 |
| 2023/24 | Jupiler Pro League | Gent | 45 | 45 | 4050 | — | 0 | 2 | 0 | 6.77 |
| 2023/24 | First Amateur Division | KAA Gent II | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | UEFA Europa Conference League | Gent | 3 | 3 | 250 | 0 | — | 0 | 0 | 6.50 |
| 2022/23 | Jupiler Pro League | Gent | 34 | 32 | 2690 | — | — | 1 | 0 | 6.96 |
| 2022/23 | Cup | Gent | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2022/23 | UEFA Europa Conference League | Gent | 12 | 9 | 450 | — | — | 0 | 0 | 7.10 |
| 2021/22 | Ligue 1 | Lorient | 22 | 22 | 1980 | 0 | — | 1 | 0 | 6.51 |
| 2020/21 | Ligue 1 | Lorient | 23 | 23 | 2070 | 0 | — | 1 | 0 | 6.57 |
| 2020/21 | Coupe de France | Lorient | 1 | 1 | 90 | 0 | — | 0 | 1 | 6.70 |
| 2019/20 | Ligue 2 | Lorient | 28 | 28 | 2520 | 0 | — | 0 | 0 | 6.82 |
| 2019/20 | Coupe de France | Lorient | 3 | 3 | 300 | 0 | — | 0 | 0 | 7.50 |
| 2018/19 | Jupiler Pro League | Cercle Brugge | 30 | 30 | 2700 | 0 | — | 4 | 0 | — |
| 2017/18 | Challenger Pro League | Cercle Brugge | 29 | 29 | 2610 | 0 | — | 2 | 0 | — |
| 2017/18 | Cup | Cercle Brugge | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2017/18 | UEFA U21 Championship | France U21 | 1 | 1 | 7 | 0 | — | 0 | 1 | — |
| 2016/17 | Challenger Pro League | Cercle Brugge | 14 | 14 | 1260 | 0 | — | 1 | 0 | — |
| 2016/17 | National 2 - Group D | Rennes II | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | Coupe de la Ligue | Stade Rennais | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | Ligue 1 | Monaco | 2 | 2 | 180 | 0 | — | 0 | 0 | 7.00 |
| 2015/16 | National 2 - Group D | Monaco II | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2015/16 | Coupe de la Ligue | Monaco | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | Coupe de France | Monaco | 3 | 3 | 300 | 0 | — | 0 | 0 | — |
| 2014/15 | Ligue 2 | Nancy | 29 | 29 | 2610 | 0 | — | 1 | 0 | — |
| 2014/15 | Tournoi Maurice Revello | France U21 | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2013/14 | Ligue 2 | Nancy | 33 | 33 | 2953 | 0 | — | 0 | 0 | — |
| 2013/14 | National 3 | Nancy II | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2013/14 | Coupe de la Ligue | Nancy | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2013/14 | Coupe de France | Nancy | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2012/13 | National 2 - Group D | Nancy II | 17 | 17 | 1507 | 0 | — | 0 | 1 | — |
| 2011/12 | National 2 - Group D | Nancy II | 8 | 8 | 720 | 0 | — | 0 | 0 | — |
| 2010/11 | National 2 | Nancy II | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
