Partial coverage: some seasons of this career are not stored yet (2026/27).
Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| RC Lens | 2022/23 – 2025/26 | 105 | 4 | 7 |
| Monaco | 2019/20 – 2023/24 | 124 | 3 | 12 |
| France | 2020/21 – 2021/22 | 1 | 0 | — |
| Montpellier | 2017/18 – 2018/19 | 68 | 1 | 6 |
| Auxerre | 2014/15 – 2016/17 | 95 | 1 | — |
| Auxerre II | 2015/16 | 1 | 0 | — |
| Grenoble | 2013/14 | 16 | 0 | — |
| Saint-Étienne II | 2011/12 – 2012/13 | 39 | 1 | — |
| Saint Etienne | 2012/13 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Sept 2023 | Monaco | Lens | € 3.5M |
| 6 Aug 2019 | Montpellier | Monaco | € 7.5M |
| 9 Jun 2017 | Auxerre | Montpellier | Free |
| 1 Jul 2013 | Saint Etienne | Grenoble | Free |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | Friendlies Clubs | RC Lens | 1 | 1 | 90 | — | — | 0 | 0 | 7.30 |
| 2025/26 | Coupe de France | RC Lens | 3 | 0 | 47 | 0 | 0 | 0 | 0 | 6.60 |
| 2025/26 | Ligue 1 | RC Lens | 26 | 20 | 1736 | 2 | 2 | 5 | 0 | 6.98 |
| 2024/25 | Ligue 1 | RC Lens | 19 | 15 | 1129 | 1 | 2 | 4 | 0 | 7.06 |
| 2023/24 | Ligue 1 | RC Lens | 25 | 22 | 1923 | 1 | 3 | 3 | 0 | 7.11 |
| 2023/24 | Coupe de France | RC Lens | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2023/24 | UEFA Europa League | RC Lens | 2 | 1 | 110 | 0 | — | 0 | 0 | 6.95 |
| 2023/24 | UEFA Champions League | RC Lens | 2 | 1 | 99 | 0 | — | 0 | 0 | 6.70 |
| 2022/23 | Ligue 1 | Monaco | 20 | 14 | 1173 | 0 | — | 3 | 0 | 6.54 |
| 2022/23 | Coupe de France | Monaco | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2022/23 | Ligue 1 | RC Lens | 25 | 19 | 1174 | — | — | 3 | 0 | 6.54 |
| 2022/23 | Coupe de France | RC Lens | 1 | 1 | 90 | — | — | 0 | 0 | 7.30 |
| 2022/23 | UEFA Europa League | Monaco | 2 | 1 | 124 | 0 | — | 0 | 0 | 6.10 |
| 2022/23 | Friendlies Clubs | Monaco | 1 | 0 | 28 | 0 | — | 0 | 0 | — |
| 2021/22 | Ligue 1 | Monaco | 28 | 22 | 2136 | 0 | 2 | 4 | 0 | 7.06 |
| 2021/22 | Coupe de France | Monaco | 3 | 3 | 263 | 0 | — | 0 | 0 | 6.45 |
| 2021/22 | UEFA Champions League | Monaco | 2 | 1 | 112 | 0 | — | 0 | 0 | 6.65 |
| 2021/22 | UEFA Europa League | Monaco | 6 | 4 | 366 | 0 | — | 1 | 0 | 6.93 |
| 2020/21 | Ligue 1 | Monaco | 33 | 27 | 2232 | 1 | 3 | 6 | 0 | 7.04 |
| 2020/21 | Coupe de France | Monaco | 5 | 4 | 335 | 1 | — | 0 | 0 | 7.02 |
| 2020/21 | Friendlies | France | 1 | 0 | 19 | 0 | — | 0 | 0 | — |
| 2019/20 | Ligue 1 | Monaco | 19 | 11 | 1067 | 0 | 2 | 2 | 2 | 6.89 |
| 2019/20 | Coupe de la Ligue | Monaco | 2 | 2 | 180 | 1 | 1 | 0 | 0 | 7.65 |
| 2019/20 | Coupe de France | Monaco | 2 | 2 | 169 | 0 | 1 | 0 | 0 | 7.40 |
| 2018/19 | Ligue 1 | Montpellier | 29 | 29 | 2531 | 1 | 4 | 8 | 0 | 6.99 |
| 2018/19 | Coupe de France | Montpellier | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | Ligue 1 | Montpellier | 31 | 27 | 2457 | 0 | 2 | 2 | 0 | 7.05 |
| 2017/18 | Coupe de la Ligue | Montpellier | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2017/18 | Coupe de France | Montpellier | 3 | 2 | 213 | 0 | — | 0 | 0 | — |
| 2016/17 | Ligue 2 | Auxerre | 30 | 30 | 2683 | 0 | — | 6 | 0 | 7.46 |
| 2016/17 | Coupe de France | Auxerre | 4 | 4 | 420 | 1 | — | 1 | 0 | 6.67 |
| 2016/17 | Coupe de la Ligue | Auxerre | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.20 |
| 2015/16 | Ligue 2 | Auxerre | 22 | 22 | 1923 | 0 | — | 3 | 0 | — |
| 2015/16 | National 2 - Group D | Auxerre II | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | Ligue 2 | Auxerre | 29 | 29 | 2526 | 0 | — | 5 | 0 | — |
| 2014/15 | Coupe de la Ligue | Auxerre | 3 | 1 | 178 | 0 | — | 0 | 1 | — |
| 2014/15 | Coupe de France | Auxerre | 6 | 3 | 331 | 0 | — | 0 | 0 | — |
| 2013/14 | National 2 - Group D | Grenoble | 16 | 12 | 1065 | 0 | — | 1 | 0 | — |
| 2012/13 | National 2 - Group D | Saint-Étienne II | 24 | 23 | 2072 | 0 | — | 3 | 1 | — |
| 2011/12 | National 2 - Group D | Saint-Étienne II | 15 | 13 | 1267 | 1 | — | 5 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
