| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 31 | 20 | 1,807 | 20.1 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 1 | 0.10 | 0.10 | 0.20 | 0.10 | 0.20 | |
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 33 | 33 | 2,867 | 31.9 | 10 | 7 | 17 | 10 | 0 | 0 | 5 | 1 | 0.31 | 0.22 | 0.53 | 0.31 | 0.53 | |
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 29 | 22 | 2,041 | 22.7 | 7 | 8 | 15 | 7 | 0 | 0 | 5 | 0 | 0.31 | 0.35 | 0.66 | 0.31 | 0.66 | Matches |
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 32 | 25 | 2,259 | 25.1 | 6 | 2 | 8 | 5 | 1 | 1 | 6 | 0 | 0.24 | 0.08 | 0.32 | 0.20 | 0.28 | Matches |
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 32 | 29 | 2,362 | 26.2 | 9 | 5 | 14 | 7 | 2 | 2 | 8 | 0 | 0.34 | 0.19 | 0.53 | 0.27 | 0.46 | Matches |
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | 4 | 1 | 140 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 20 | 20 | 1,579 | 17.5 | 5 | 7 | 12 | 5 | 0 | 1 | 7 | 0 | 0.28 | 0.40 | 0.68 | 0.28 | 0.68 | Matches |
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 14 | 13 | 1,071 | 11.9 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.17 | 0.08 | 0.25 | 0.17 | 0.25 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 2 | 2 | 161 | 1.8 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.56 | 0.56 | 0.00 | 0.56 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 21 | 7 | 849 | 9.4 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 3 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 1 | 1 | 71 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 4 | 4 | 343 | 3.8 | 2 | 2 | 4 | 2 | 0 | 0 | 0 | 0 | 0.52 | 0.52 | 1.05 | 0.52 | 1.05 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 2 | 2 | 166 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 24 | 23 | 1,918 | 21.3 | 9 | 2 | 11 | 6 | 3 | 3 | 8 | 1 | 0.42 | 0.09 | 0.52 | 0.28 | 0.38 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 2 | 1 | 135 | 1.5 | 1 | 4 | 5 | 1 | 0 | 0 | 1 | 0 | 0.67 | 2.67 | 3.33 | 0.67 | 3.33 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 1 | 0 | 51 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 32 | 32 | 2,817 | 31.3 | 13 | 6 | 19 | 9 | 4 | 4 | 10 | 1 | 0.42 | 0.19 | 0.61 | 0.29 | 0.48 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 3 | 2 | 195 | 2.2 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.46 | 0.46 | 0.92 | 0.46 | 0.92 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | 3 | 3 | 246 | 2.7 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.73 | 0.00 | 0.73 | 0.37 | 0.37 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 16 | 13 | 1,149 | 12.8 | 3 | 2 | 5 | 2 | 1 | 1 | 4 | 0 | 0.23 | 0.16 | 0.39 | 0.16 | 0.31 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 1 | 0 | 30 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 22 | 16 | 1,181 | 13.1 | 7 | 1 | 8 | 4 | 3 | 3 | 5 | 1 | 0.53 | 0.08 | 0.61 | 0.30 | 0.38 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 30 | 26 | 2,225 | 24.7 | 10 | 0 | 10 | 6 | 4 | 4 | 6 | 0 | 0.40 | 0.00 | 0.40 | 0.24 | 0.24 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Rel/Pro play-offs | 2 | 1 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 27 | 20 | 1,635 | 18.2 | 4 | 1 | 5 | 4 | 0 | 0 | 5 | 1 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | 3 | 3 | 191 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 25 | 13 | 1,131 | 12.6 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 0 | 0.08 | 0.00 | 0.08 | 0.08 | 0.08 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | 1 | 0 | 29 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 30 | 10 | 1,118 | 12.4 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | Matches |
| 15 Seasons | 6 Clubs | 9 Leagues | 454 | 346 | 30,240 | 336.0 | 96 | 54 | 150 | 77 | 19 | 20 | 104 | 7 | 0.29 | 0.16 | 0.45 | 0.23 | 0.39 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 100 | 8,974 | 99.7 | 25 | 19 | 44 | 24 | 1 | 1 | 23 | 2 | 0.25 | 0.19 | 0.44 | 0.24 | 0.43 | ||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 114 | 96 | 8,278 | 92.0 | 37 | 15 | 52 | 24 | 13 | 13 | 28 | 2 | 0.40 | 0.16 | 0.57 | 0.26 | 0.42 | ||||
| Montpellier (3 Seasons) | 2 Leagues | 87 | 47 | 4,165 | 46.3 | 6 | 2 | 8 | 6 | 0 | 0 | 16 | 1 | 0.13 | 0.04 | 0.17 | 0.13 | 0.17 | ||||
| Sunderland (3 Seasons) | 3 Leagues | 42 | 24 | 2,320 | 25.8 | 3 | 2 | 5 | 3 | 0 | 0 | 13 | 0 | 0.12 | 0.08 | 0.19 | 0.12 | 0.19 | ||||
| Bordeaux (2 Seasons) | 3 Leagues | 57 | 51 | 4,171 | 46.3 | 14 | 12 | 26 | 12 | 2 | 3 | 16 | 1 | 0.30 | 0.26 | 0.56 | 0.26 | 0.52 | ||||
| Rennes (1 Season) | 3 Leagues | 29 | 28 | 2,332 | 25.9 | 11 | 4 | 15 | 8 | 3 | 3 | 8 | 1 | 0.42 | 0.15 | 0.58 | 0.31 | 0.46 | ||||
| Ligue 1 (12 Seasons) | 319 | 249 | 21,415 | 237.9 | 75 | 35 | 110 | 57 | 18 | 19 | 74 | 4 | 0.32 | 0.15 | 0.46 | 0.24 | 0.39 | |||||
| Coupe de France (8 Seasons) | 13 | 9 | 802 | 8.9 | 2 | 6 | 8 | 2 | 0 | 0 | 2 | 0 | 0.22 | 0.67 | 0.90 | 0.22 | 0.90 | |||||
| Coupe de la Ligue (4 Seasons) | 7 | 6 | 544 | 6.0 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.33 | 0.33 | 0.66 | 0.33 | 0.66 | |||||
| Ligue 2 (2 Seasons) | 64 | 53 | 4,674 | 51.9 | 12 | 9 | 21 | 12 | 0 | 0 | 12 | 2 | 0.23 | 0.17 | 0.40 | 0.23 | 0.40 | |||||
| Premier League (2 Seasons) | 35 | 20 | 1,920 | 21.3 | 3 | 1 | 4 | 3 | 0 | 0 | 9 | 0 | 0.14 | 0.05 | 0.19 | 0.14 | 0.19 | |||||
| Europa Lg (2 Seasons) | 7 | 4 | 386 | 4.3 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 1 | 0.47 | 0.00 | 0.47 | 0.23 | 0.23 | |||||
| EFL Cup (2 Seasons) | 4 | 4 | 327 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.28 | 0.28 | 0.00 | 0.28 | |||||
| Championship (1 Season) | 3 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Rel/Pro play-offs (1 Season) | 2 | 1 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2009-2010 | 18 | Bastia | 1 League | 31 | 20 | 1,807 | 20.1 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 1 | 0.10 | 0.10 | 0.20 | 0.10 | 0.20 | |
| 2011-2012 | 20 | Bastia | 1 League | 33 | 33 | 2,867 | 31.9 | 10 | 7 | 17 | 10 | 0 | 0 | 5 | 1 | 0.31 | 0.22 | 0.53 | 0.31 | 0.53 | |
| 2012-2013 | 21 | Bastia | 1 League | 29 | 22 | 2,041 | 22.7 | 7 | 8 | 15 | 7 | 0 | 0 | 5 | 0 | 0.31 | 0.35 | 0.66 | 0.31 | 0.66 | |
| 2013-2014 | 22 | Bastia | 1 League | 32 | 25 | 2,259 | 25.1 | 6 | 2 | 8 | 5 | 1 | 1 | 6 | 0 | 0.24 | 0.08 | 0.32 | 0.20 | 0.28 | |
| 2014-2015 | 23 | Bordeaux | 1 League | 32 | 29 | 2,362 | 26.2 | 9 | 5 | 14 | 7 | 2 | 2 | 8 | 0 | 0.34 | 0.19 | 0.53 | 0.27 | 0.46 | |
| 2015-2016 | 24 | Bordeaux | 3 Leagues | 25 | 22 | 1,809 | 20.1 | 5 | 7 | 12 | 5 | 0 | 1 | 8 | 1 | 0.25 | 0.35 | 0.60 | 0.25 | 0.60 | |
| 2015-2016 | 24 | Sunderland | 1 League | 14 | 13 | 1,071 | 11.9 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.17 | 0.08 | 0.25 | 0.17 | 0.25 | |
| 2016-2017 | 25 | Sunderland | 2 Leagues | 23 | 9 | 1,010 | 11.2 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 0 | 0.09 | 0.09 | 0.18 | 0.09 | 0.18 | |
| 2017-2018 | 26 | Sunderland | 2 Leagues | 5 | 2 | 239 | 2.7 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 26 | Rennes | 3 Leagues | 29 | 28 | 2,332 | 25.9 | 11 | 4 | 15 | 8 | 3 | 3 | 8 | 1 | 0.42 | 0.15 | 0.58 | 0.31 | 0.46 | |
| 2018-2019 | 27 | Saint-Étienne | 3 Leagues | 35 | 33 | 3,003 | 33.4 | 14 | 10 | 24 | 10 | 4 | 4 | 12 | 1 | 0.42 | 0.30 | 0.72 | 0.30 | 0.60 | |
| 2019-2020 | 28 | Saint-Étienne | 4 Leagues | 23 | 19 | 1,650 | 18.3 | 6 | 3 | 9 | 4 | 2 | 2 | 5 | 0 | 0.33 | 0.16 | 0.49 | 0.22 | 0.38 | |
| 2020-2021 | 29 | Saint-Étienne | 2 Leagues | 23 | 16 | 1,211 | 13.5 | 7 | 1 | 8 | 4 | 3 | 3 | 5 | 1 | 0.52 | 0.07 | 0.59 | 0.30 | 0.37 | |
| 2021-2022 | 30 | Saint-Étienne | 3 Leagues | 33 | 28 | 2,414 | 26.8 | 10 | 1 | 11 | 6 | 4 | 4 | 6 | 0 | 0.37 | 0.04 | 0.41 | 0.22 | 0.26 | |
| 2022-2023 | 31 | Montpellier | 2 Leagues | 28 | 21 | 1,696 | 18.8 | 4 | 1 | 5 | 4 | 0 | 0 | 5 | 1 | 0.21 | 0.05 | 0.27 | 0.21 | 0.27 | |
| 2023-2024 | 32 | Montpellier | 2 Leagues | 28 | 16 | 1,322 | 14.7 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | |
| 2024-2025 | 33 | Montpellier | 2 Leagues | 31 | 10 | 1,147 | 12.7 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | |
| 15 Seasons | 6 Clubs | 9 Leagues | 454 | 346 | 30,240 | 336.0 | 96 | 54 | 150 | 77 | 19 | 20 | 104 | 7 | 0.29 | 0.16 | 0.45 | 0.23 | 0.39 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 100 | 8,974 | 99.7 | 25 | 19 | 44 | 24 | 1 | 1 | 23 | 2 | 0.25 | 0.19 | 0.44 | 0.24 | 0.43 | |||
| Saint-Étienne (4 Seasons) | 5 Leagues | 114 | 96 | 8,278 | 92.0 | 37 | 15 | 52 | 24 | 13 | 13 | 28 | 2 | 0.40 | 0.16 | 0.57 | 0.26 | 0.42 | |||
| Montpellier (3 Seasons) | 2 Leagues | 87 | 47 | 4,165 | 46.3 | 6 | 2 | 8 | 6 | 0 | 0 | 16 | 1 | 0.13 | 0.04 | 0.17 | 0.13 | 0.17 | |||
| Sunderland (3 Seasons) | 3 Leagues | 42 | 24 | 2,320 | 25.8 | 3 | 2 | 5 | 3 | 0 | 0 | 13 | 0 | 0.12 | 0.08 | 0.19 | 0.12 | 0.19 | |||
| Bordeaux (2 Seasons) | 3 Leagues | 57 | 51 | 4,171 | 46.3 | 14 | 12 | 26 | 12 | 2 | 3 | 16 | 1 | 0.30 | 0.26 | 0.56 | 0.26 | 0.52 | |||
| Rennes (1 Season) | 3 Leagues | 29 | 28 | 2,332 | 25.9 | 11 | 4 | 15 | 8 | 3 | 3 | 8 | 1 | 0.42 | 0.15 | 0.58 | 0.31 | 0.46 | |||
| Ligue 1 (12 Seasons) | 319 | 249 | 21,415 | 237.9 | 75 | 35 | 110 | 57 | 18 | 19 | 74 | 4 | 0.32 | 0.15 | 0.46 | 0.24 | 0.39 | ||||
| Coupe de France (8 Seasons) | 13 | 9 | 802 | 8.9 | 2 | 6 | 8 | 2 | 0 | 0 | 2 | 0 | 0.22 | 0.67 | 0.90 | 0.22 | 0.90 | ||||
| Coupe de la Ligue (4 Seasons) | 7 | 6 | 544 | 6.0 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.33 | 0.33 | 0.66 | 0.33 | 0.66 | ||||
| Ligue 2 (2 Seasons) | 64 | 53 | 4,674 | 51.9 | 12 | 9 | 21 | 12 | 0 | 0 | 12 | 2 | 0.23 | 0.17 | 0.40 | 0.23 | 0.40 | ||||
| Premier League (2 Seasons) | 35 | 20 | 1,920 | 21.3 | 3 | 1 | 4 | 3 | 0 | 0 | 9 | 0 | 0.14 | 0.05 | 0.19 | 0.14 | 0.19 | ||||
| Europa Lg (2 Seasons) | 7 | 4 | 386 | 4.3 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 1 | 0.47 | 0.00 | 0.47 | 0.23 | 0.23 | ||||
| EFL Cup (2 Seasons) | 4 | 4 | 327 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.28 | 0.28 | 0.00 | 0.28 | ||||
| Championship (1 Season) | 3 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Rel/Pro play-offs (1 Season) | 2 | 1 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20th | 31 | 20 | 1,807 | 20.1 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 1 | 0.10 | 0.10 | 0.20 | 0.10 | 0.20 | |
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 1st | 33 | 33 | 2,867 | 31.9 | 10 | 7 | 17 | 10 | 0 | 0 | 5 | 1 | 0.31 | 0.22 | 0.53 | 0.31 | 0.53 | |
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 12th | 29 | 22 | 2,041 | 22.7 | 7 | 8 | 15 | 7 | 0 | 0 | 5 | 0 | 0.31 | 0.35 | 0.66 | 0.31 | 0.66 | Matches |
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 10th | 32 | 25 | 2,259 | 25.1 | 6 | 2 | 8 | 5 | 1 | 1 | 6 | 0 | 0.24 | 0.08 | 0.32 | 0.20 | 0.28 | Matches |
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 6th | 32 | 29 | 2,362 | 26.2 | 9 | 5 | 14 | 7 | 2 | 2 | 8 | 0 | 0.34 | 0.19 | 0.53 | 0.27 | 0.46 | Matches |
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 11th | 20 | 20 | 1,579 | 17.5 | 5 | 7 | 12 | 5 | 0 | 1 | 7 | 0 | 0.28 | 0.40 | 0.68 | 0.28 | 0.68 | Matches |
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 17th | 14 | 13 | 1,071 | 11.9 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.17 | 0.08 | 0.25 | 0.17 | 0.25 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 20th | 21 | 7 | 849 | 9.4 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 24th | 3 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 5th | 24 | 23 | 1,918 | 21.3 | 9 | 2 | 11 | 6 | 3 | 3 | 8 | 1 | 0.42 | 0.09 | 0.52 | 0.28 | 0.38 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 4th | 32 | 32 | 2,817 | 31.3 | 13 | 6 | 19 | 9 | 4 | 4 | 10 | 1 | 0.42 | 0.19 | 0.61 | 0.29 | 0.48 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 17th | 16 | 13 | 1,149 | 12.8 | 3 | 2 | 5 | 2 | 1 | 1 | 4 | 0 | 0.23 | 0.16 | 0.39 | 0.16 | 0.31 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 11th | 22 | 16 | 1,181 | 13.1 | 7 | 1 | 8 | 4 | 3 | 3 | 5 | 1 | 0.53 | 0.08 | 0.61 | 0.30 | 0.38 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 18th | 30 | 26 | 2,225 | 24.7 | 10 | 0 | 10 | 6 | 4 | 4 | 6 | 0 | 0.40 | 0.00 | 0.40 | 0.24 | 0.24 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 27 | 20 | 1,635 | 18.2 | 4 | 1 | 5 | 4 | 0 | 0 | 5 | 1 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 25 | 13 | 1,131 | 12.6 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 0 | 0.08 | 0.00 | 0.08 | 0.08 | 0.08 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 18th | 30 | 10 | 1,118 | 12.4 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | Matches |
| 15 Seasons | 6 Clubs | 4 Leagues | 421 | 322 | 28,082 | 312.0 | 90 | 45 | 135 | 72 | 18 | 19 | 96 | 6 | 0.29 | 0.14 | 0.43 | 0.23 | 0.37 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 100 | 8,974 | 99.7 | 25 | 19 | 44 | 24 | 1 | 1 | 23 | 2 | 0.25 | 0.19 | 0.44 | 0.24 | 0.43 | |||||
| Saint-Étienne (4 Seasons) | 1 League | 100 | 87 | 7,372 | 81.9 | 33 | 9 | 42 | 21 | 12 | 12 | 25 | 2 | 0.40 | 0.11 | 0.51 | 0.26 | 0.37 | |||||
| Montpellier (3 Seasons) | 1 League | 82 | 43 | 3,884 | 43.2 | 6 | 2 | 8 | 6 | 0 | 0 | 15 | 1 | 0.14 | 0.05 | 0.19 | 0.14 | 0.19 | |||||
| Sunderland (3 Seasons) | 2 Leagues | 38 | 20 | 1,993 | 22.1 | 3 | 1 | 4 | 3 | 0 | 0 | 10 | 0 | 0.14 | 0.05 | 0.18 | 0.14 | 0.18 | |||||
| Bordeaux (2 Seasons) | 1 League | 52 | 49 | 3,941 | 43.8 | 14 | 12 | 26 | 12 | 2 | 3 | 15 | 0 | 0.32 | 0.27 | 0.59 | 0.27 | 0.55 | |||||
| Rennes (1 Season) | 1 League | 24 | 23 | 1,918 | 21.3 | 9 | 2 | 11 | 6 | 3 | 3 | 8 | 1 | 0.42 | 0.09 | 0.52 | 0.28 | 0.38 | |||||
| Ligue 1 (12 Seasons) | 319 | 249 | 21,415 | 237.9 | 75 | 35 | 110 | 57 | 18 | 19 | 74 | 4 | 0.32 | 0.15 | 0.46 | 0.24 | 0.39 | ||||||
| Ligue 2 (2 Seasons) | 64 | 53 | 4,674 | 51.9 | 12 | 9 | 21 | 12 | 0 | 0 | 12 | 2 | 0.23 | 0.17 | 0.40 | 0.23 | 0.40 | ||||||
| Premier League (2 Seasons) | 35 | 20 | 1,920 | 21.3 | 3 | 1 | 4 | 3 | 0 | 0 | 9 | 0 | 0.14 | 0.05 | 0.19 | 0.14 | 0.19 | ||||||
| Championship (1 Season) | 3 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 3rd | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 9th | 2 | 2 | 161 | 1.8 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.56 | 0.56 | 0.00 | 0.56 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 17th | 2 | 2 | 166 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 33rd | 1 | 1 | 71 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3rd | 4 | 4 | 343 | 3.8 | 2 | 2 | 4 | 2 | 0 | 0 | 0 | 0 | 0.52 | 0.52 | 1.05 | 0.52 | 1.05 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 17th | 2 | 1 | 135 | 1.5 | 1 | 4 | 5 | 1 | 0 | 0 | 1 | 0 | 0.67 | 2.67 | 3.33 | 0.67 | 3.33 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 17th | 1 | 0 | 51 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2nd | 3 | 2 | 195 | 2.2 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.46 | 0.46 | 0.92 | 0.46 | 0.92 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 5th | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 33rd | 1 | 0 | 30 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | R16 | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | R64 | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | R16 | 3 | 3 | 191 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | R64 | 1 | 0 | 29 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 10 Seasons | 5 Clubs | 3 Leagues | 24 | 19 | 1,673 | 18.6 | 4 | 9 | 13 | 4 | 0 | 0 | 7 | 0 | 0.22 | 0.48 | 0.70 | 0.22 | 0.70 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Saint-Étienne (4 Seasons) | 2 Leagues | 9 | 5 | 561 | 6.2 | 2 | 6 | 8 | 2 | 0 | 0 | 2 | 0 | 0.32 | 0.96 | 1.28 | 0.32 | 1.28 | |||||
| Montpellier (3 Seasons) | 1 League | 5 | 4 | 281 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Sunderland (2 Seasons) | 1 League | 4 | 4 | 327 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.28 | 0.28 | 0.00 | 0.28 | |||||
| Rennes (1 Season) | 2 Leagues | 5 | 5 | 414 | 4.6 | 2 | 2 | 4 | 2 | 0 | 0 | 0 | 0 | 0.43 | 0.43 | 0.87 | 0.43 | 0.87 | |||||
| Bordeaux (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Coupe de France (8 Seasons) | 13 | 9 | 802 | 8.9 | 2 | 6 | 8 | 2 | 0 | 0 | 2 | 0 | 0.22 | 0.67 | 0.90 | 0.22 | 0.90 | ||||||
| Coupe de la Ligue (4 Seasons) | 7 | 6 | 544 | 6.0 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.33 | 0.33 | 0.66 | 0.33 | 0.66 | ||||||
| EFL Cup (2 Seasons) | 4 | 4 | 327 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.28 | 0.28 | 0.00 | 0.28 | ||||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | GR | 4 | 1 | 140 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | GR | 3 | 3 | 246 | 2.7 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.73 | 0.00 | 0.73 | 0.37 | 0.37 | Matches |
| 2 Seasons | 2 Clubs | 1 League | 7 | 4 | 386 | 4.3 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 1 | 0.47 | 0.00 | 0.47 | 0.23 | 0.23 | |||
| Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bordeaux (1 Season) | 1 League | 4 | 1 | 140 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Saint-Étienne (1 Season) | 1 League | 3 | 3 | 246 | 2.7 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.73 | 0.00 | 0.73 | 0.37 | 0.37 | ||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2013 | 21 | tn Tunisia | Africa Cup of Nations | GR | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014 | 22 | tn Tunisia | WCQ | 2 | 1 | 122 | 1.4 | 1 | 1 | 0 | 0 | 1 | 0 | 0.74 | 0.74 | Matches | ||||||
| 2014 | 22 | tn Tunisia | Friendlies (M) | 1 | 1 | 45 | 0.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | Matches | |
| 2015 | 23 | tn Tunisia | Friendlies (M) | 2 | 2 | 154 | 1.7 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 1.17 | 0.58 | 1.75 | 1.17 | 1.75 | Matches | |
| 2015 | 23 | tn Tunisia | Africa Cup of Nations | QF | 4 | 4 | 304 | 3.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015 | 23 | tn Tunisia | Africa Cup of Nations qualification | 5 | 5 | 408 | 4.5 | 2 | 2 | 0 | 0 | 3 | 0 | 0.44 | 0.44 | Matches | ||||||
| 2016 | 24 | tn Tunisia | Friendlies (M) | 1 | 1 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2017 | 25 | tn Tunisia | Friendlies (M) | 1 | 1 | 15 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2017 | 25 | tn Tunisia | Africa Cup of Nations | QF | 4 | 3 | 241 | 2.7 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0.37 | 0.00 | 0.37 | 0.00 | 0.00 | Matches |
| 2017 | 25 | tn Tunisia | Africa Cup of Nations qualification | 3 | 3 | 228 | 2.5 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.39 | 0.39 | 0.79 | 0.39 | 0.79 | Matches | |
| 2018 | 26 | tn Tunisia | WCQ | 6 | 5 | 417 | 4.6 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.43 | 0.00 | 0.43 | 0.22 | 0.22 | Matches | |
| 2018 | 26 | tn Tunisia | Friendlies (M) | 3 | 3 | 245 | 2.7 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.37 | 0.00 | 0.37 | 0.37 | 0.37 | Matches | |
| 2018 | 27 | tn Tunisia | 1. World Cup | GR | 3 | 3 | 262 | 2.9 | 2 | 2 | 4 | 2 | 0 | 0 | 0 | 0 | 0.69 | 0.69 | 1.37 | 0.69 | 1.37 | Matches |
| 2019 | 27 | tn Tunisia | Friendlies (M) | 2 | 2 | 172 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | Matches | |
| 2019 | 27 | tn Tunisia | Africa Cup of Nations | 4th | 7 | 6 | 623 | 6.9 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.14 | 0.14 | 0.29 | 0.14 | 0.29 | Matches |
| 2019 | 27 | tn Tunisia | Africa Cup of Nations qualification | 2 | 2 | 180 | 2.0 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches | |
| 2020 | 28 | tn Tunisia | Friendlies (M) | 2 | 2 | 152 | 1.7 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.18 | 1.18 | 0.00 | 1.18 | Matches | |
| 2021 | 29 | tn Tunisia | Friendlies (M) | 2 | 2 | 149 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2021 | 29 | tn Tunisia | Africa Cup of Nations | QF | 4 | 3 | 264 | 2.9 | 2 | 1 | 3 | 2 | 0 | 1 | 1 | 0 | 0.68 | 0.34 | 1.02 | 0.68 | 1.02 | Matches |
| 2021 | 29 | tn Tunisia | Africa Cup of Nations qualification | 4 | 4 | 337 | 3.7 | 3 | 0 | 3 | 3 | 0 | 1 | 2 | 0 | 0.80 | 0.00 | 0.80 | 0.80 | 0.80 | Matches | |
| 2022 | 31 | tn Tunisia | 1. World Cup | GR | 2 | 1 | 83 | 0.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.08 | 0.00 | 1.08 | 1.08 | 1.08 | Matches |
| 2022 | 30 | tn Tunisia | WCQ | 6 | 5 | 410 | 4.6 | 3 | 1 | 4 | 1 | 2 | 3 | 2 | 0 | 0.66 | 0.22 | 0.88 | 0.22 | 0.44 | Matches | |
| 2022 | 30 | tn Tunisia | Friendlies (M) | 2 | 1 | 97 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 10 Seasons | 1 Club | 5 Leagues | 69 | 61 | 5,025 | 55.8 | 24 | 11 | 32 | 20 | 4 | 8 | 18 | 1 | 0.43 | 0.22 | 0.64 | 0.36 | 0.56 | |||
| Friendlies (M) (9 Seasons) | 16 | 15 | 1,085 | 12.1 | 5 | 3 | 8 | 5 | 0 | 0 | 5 | 1 | 0.41 | 0.25 | 0.66 | 0.41 | 0.66 | |||||
| Africa Cup of Nations (5 Seasons) | 20 | 17 | 1,493 | 16.6 | 4 | 2 | 6 | 3 | 1 | 2 | 4 | 0 | 0.24 | 0.12 | 0.36 | 0.18 | 0.30 | |||||
| Africa Cup of Nations qualification (4 Seasons) | 14 | 14 | 1,153 | 12.8 | 6 | 3 | 7 | 6 | 0 | 2 | 5 | 0 | 0.47 | 0.36 | 0.85 | 0.47 | 0.85 | |||||
| WCQ (3 Seasons) | 14 | 11 | 949 | 10.5 | 6 | 1 | 6 | 3 | 3 | 4 | 4 | 0 | 0.57 | 0.11 | 0.65 | 0.28 | 0.33 | |||||
| World Cup (2 Seasons) | 5 | 4 | 345 | 3.8 | 3 | 2 | 5 | 3 | 0 | 0 | 0 | 0 | 0.78 | 0.52 | 1.30 | 0.78 | 1.30 | |||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20.1 | 2 | 12 | 0.60 | 0.17 | 0 | 0 | |||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 31.9 | 10 | 24 | 0.75 | 0.42 | 0 | 0 | |||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 22.7 | 7 | 22 | 0.97 | 0.32 | 0 | 0 | Matches | ||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 25.1 | 6 | 25 | 1.00 | 0.20 | 1 | 1 | Matches | ||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 26.2 | 9 | 31 | 1.18 | 0.23 | 2 | 2 | Matches | ||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | 1.6 | 0 | 3 | 1.93 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 17.5 | 5 | 19 | 1.08 | 0.26 | 0 | 1 | Matches | ||||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 11.9 | 2 | 5 | 0.42 | 0.40 | 0 | 0 | Matches | ||||
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 1.8 | 0 | 5 | 1 | 20.0 | 2.80 | 0.56 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 9.4 | 1 | 23 | 10 | 43.5 | 2.44 | 1.06 | 0.04 | 0.10 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3.8 | 2 | 0 | 0 | Matches | |||||||
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 1.8 | 0 | 5 | 1 | 20.0 | 2.71 | 0.54 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 21.3 | 9 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 1.5 | 1 | 3 | 2 | 66.7 | 2.00 | 1.33 | 0.33 | 0.50 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 0.6 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 31.3 | 13 | 92 | 38 | 41.3 | 2.94 | 1.21 | 0.10 | 0.24 | 4 | 4 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2.2 | 1 | 4 | 1 | 25.0 | 1.85 | 0.46 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 0.7 | 0 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | 2.7 | 2 | 5 | 3 | 60.0 | 1.83 | 1.10 | 0.20 | 0.33 | 1 | 1 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 12.8 | 3 | 44 | 9 | 20.5 | 3.45 | 0.70 | 0.05 | 0.22 | 1 | 1 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 0.3 | 0 | 4 | 2 | 50.0 | 12.00 | 6.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 13.1 | 7 | 32 | 14 | 43.8 | 2.44 | 1.07 | 0.13 | 0.29 | 3 | 3 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 24.7 | 10 | 72 | 22 | 30.6 | 2.91 | 0.89 | 0.08 | 0.27 | 4 | 4 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Rel/Pro play-offs | 1.1 | 0 | 4 | 1 | 25.0 | 3.64 | 0.91 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | 0.7 | 0 | 1 | 0 | 0.0 | 1.48 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 18.2 | 4 | 38 | 16 | 42.1 | 2.09 | 0.88 | 0.11 | 0.25 | 0 | 0 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | 2.1 | 0 | 6 | 0 | 0.0 | 2.83 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12.6 | 1 | 44 | 16 | 36.4 | 3.50 | 1.27 | 0.02 | 0.06 | 0 | 0 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 12.4 | 1 | 36 | 6 | 16.7 | 2.90 | 0.48 | 0.03 | 0.17 | 0 | 0 | Matches |
| 15 Seasons | 6 Clubs | 9 Leagues | 336.0 | 96 | 486 | 306 | 34.0 | 2.81 | 0.93 | 0.08 | 0.25 | 19 | 20 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 25 | 83 | 0.83 | 0.29 | 1 | 1 | ||||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 92.0 | 37 | 262 | 94 | 35.9 | 2.87 | 1.03 | 0.09 | 0.26 | 13 | 13 | ||||
| Montpellier (3 Seasons) | 2 Leagues | 46.3 | 6 | 125 | 38 | 30.4 | 2.70 | 0.82 | 0.05 | 0.16 | 0 | 0 | ||||
| Sunderland (3 Seasons) | 3 Leagues | 25.8 | 3 | 34 | 17 | 35.3 | 2.45 | 0.66 | 0.03 | 0.18 | 0 | 0 | ||||
| Bordeaux (2 Seasons) | 3 Leagues | 46.3 | 14 | 53 | 1.17 | 0.23 | 2 | 3 | ||||||||
| Rennes (1 Season) | 3 Leagues | 25.9 | 11 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | ||||
| Ligue 1 (12 Seasons) | 237.9 | 75 | 423 | 239 | 33.6 | 2.89 | 1.00 | 0.08 | 0.24 | 18 | 19 | |||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 19 | 6 | 31.6 | 2.34 | 0.74 | 0.11 | 0.33 | 0 | 0 | |||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | |||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 36 | 0.69 | 0.33 | 0 | 0 | |||||||||
| Premier League (2 Seasons) | 21.3 | 3 | 23 | 15 | 43.5 | 2.44 | 0.70 | 0.04 | 0.20 | 0 | 0 | |||||
| Europa Lg (2 Seasons) | 4.3 | 2 | 5 | 6 | 60.0 | 1.83 | 1.40 | 0.20 | 0.17 | 1 | 1 | |||||
| EFL Cup (2 Seasons) | 3.6 | 0 | 10 | 2 | 20.0 | 2.75 | 0.55 | 0.00 | 0.00 | 0 | 0 | |||||
| Championship (1 Season) | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | ||||||
| Rel/Pro play-offs (1 Season) | 1.1 | 0 | 4 | 1 | 25.0 | 3.64 | 0.91 | 0.00 | 0.00 | 0 | 0 | |||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2009-2010 | 18 | Bastia | 1 League | 20.1 | 2 | 12 | 0.60 | 0.17 | 0 | 0 | |||||
| 2011-2012 | 20 | Bastia | 1 League | 31.9 | 10 | 24 | 0.75 | 0.42 | 0 | 0 | |||||
| 2012-2013 | 21 | Bastia | 1 League | 22.7 | 7 | 22 | 0.97 | 0.32 | 0 | 0 | |||||
| 2013-2014 | 22 | Bastia | 1 League | 25.1 | 6 | 25 | 1.00 | 0.20 | 1 | 1 | |||||
| 2014-2015 | 23 | Bordeaux | 1 League | 26.2 | 9 | 31 | 1.18 | 0.23 | 2 | 2 | |||||
| 2015-2016 | 24 | Bordeaux | 3 Leagues | 20.1 | 5 | 22 | 1.15 | 0.23 | 0 | 1 | |||||
| 2015-2016 | 24 | Sunderland | 1 League | 11.9 | 2 | 5 | 0.42 | 0.40 | 0 | 0 | |||||
| 2016-2017 | 25 | Sunderland | 2 Leagues | 11.2 | 1 | 28 | 11 | 39.3 | 2.50 | 0.98 | 0.04 | 0.09 | 0 | 0 | |
| 2017-2018 | 26 | Sunderland | 2 Leagues | 2.7 | 0 | 6 | 1 | 16.7 | 2.26 | 0.38 | 0.00 | 0.00 | 0 | 0 | |
| 2017-2018 | 26 | Rennes | 3 Leagues | 25.9 | 11 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | |
| 2018-2019 | 27 | Saint-Étienne | 3 Leagues | 33.4 | 14 | 95 | 40 | 42.1 | 2.90 | 1.22 | 0.11 | 0.25 | 4 | 4 | |
| 2019-2020 | 28 | Saint-Étienne | 4 Leagues | 18.3 | 6 | 54 | 14 | 25.9 | 2.95 | 0.76 | 0.07 | 0.29 | 2 | 2 | |
| 2020-2021 | 29 | Saint-Étienne | 2 Leagues | 13.5 | 7 | 36 | 16 | 44.4 | 2.68 | 1.19 | 0.11 | 0.25 | 3 | 3 | |
| 2021-2022 | 30 | Saint-Étienne | 3 Leagues | 26.8 | 10 | 77 | 24 | 31.2 | 2.87 | 0.89 | 0.08 | 0.25 | 4 | 4 | |
| 2022-2023 | 31 | Montpellier | 2 Leagues | 18.8 | 4 | 39 | 16 | 41.0 | 2.07 | 0.85 | 0.10 | 0.25 | 0 | 0 | |
| 2023-2024 | 32 | Montpellier | 2 Leagues | 14.7 | 1 | 50 | 16 | 32.0 | 3.40 | 1.09 | 0.02 | 0.06 | 0 | 0 | |
| 2024-2025 | 33 | Montpellier | 2 Leagues | 12.7 | 1 | 36 | 6 | 16.7 | 2.82 | 0.47 | 0.03 | 0.17 | 0 | 0 | |
| 15 Seasons | 6 Clubs | 9 Leagues | 336.0 | 96 | 486 | 306 | 34.0 | 2.81 | 0.93 | 0.08 | 0.25 | 19 | 20 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 25 | 83 | 0.83 | 0.29 | 1 | 1 | |||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 92.0 | 37 | 262 | 94 | 35.9 | 2.87 | 1.03 | 0.09 | 0.26 | 13 | 13 | |||
| Montpellier (3 Seasons) | 2 Leagues | 46.3 | 6 | 125 | 38 | 30.4 | 2.70 | 0.82 | 0.05 | 0.16 | 0 | 0 | |||
| Sunderland (3 Seasons) | 3 Leagues | 25.8 | 3 | 34 | 17 | 35.3 | 2.45 | 0.66 | 0.03 | 0.18 | 0 | 0 | |||
| Bordeaux (2 Seasons) | 3 Leagues | 46.3 | 14 | 53 | 1.17 | 0.23 | 2 | 3 | |||||||
| Rennes (1 Season) | 3 Leagues | 25.9 | 11 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | |||
| Ligue 1 (12 Seasons) | 237.9 | 75 | 423 | 239 | 33.6 | 2.89 | 1.00 | 0.08 | 0.24 | 18 | 19 | ||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 19 | 6 | 31.6 | 2.34 | 0.74 | 0.11 | 0.33 | 0 | 0 | ||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | ||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 36 | 0.69 | 0.33 | 0 | 0 | ||||||||
| Premier League (2 Seasons) | 21.3 | 3 | 23 | 15 | 43.5 | 2.44 | 0.70 | 0.04 | 0.20 | 0 | 0 | ||||
| Europa Lg (2 Seasons) | 4.3 | 2 | 5 | 6 | 60.0 | 1.83 | 1.40 | 0.20 | 0.17 | 1 | 1 | ||||
| EFL Cup (2 Seasons) | 3.6 | 0 | 10 | 2 | 20.0 | 2.75 | 0.55 | 0.00 | 0.00 | 0 | 0 | ||||
| Championship (1 Season) | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | |||||
| Rel/Pro play-offs (1 Season) | 1.1 | 0 | 4 | 1 | 25.0 | 3.64 | 0.91 | 0.00 | 0.00 | 0 | 0 | ||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20th | 20.1 | 2 | 12 | 0.60 | 0.17 | 0 | 0 | |||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 1st | 31.9 | 10 | 24 | 0.75 | 0.42 | 0 | 0 | |||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 12th | 22.7 | 7 | 22 | 0.97 | 0.32 | 0 | 0 | Matches | ||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 10th | 25.1 | 6 | 25 | 1.00 | 0.20 | 1 | 1 | Matches | ||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 6th | 26.2 | 9 | 31 | 1.18 | 0.23 | 2 | 2 | Matches | ||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 11th | 17.5 | 5 | 19 | 1.08 | 0.26 | 0 | 1 | Matches | ||||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 17th | 11.9 | 2 | 5 | 0.42 | 0.40 | 0 | 0 | Matches | ||||
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 20th | 9.4 | 1 | 23 | 10 | 43.5 | 2.44 | 1.06 | 0.04 | 0.10 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 24th | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 5th | 21.3 | 9 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 4th | 31.3 | 13 | 92 | 38 | 41.3 | 2.94 | 1.21 | 0.10 | 0.24 | 4 | 4 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 17th | 12.8 | 3 | 44 | 9 | 20.5 | 3.45 | 0.70 | 0.05 | 0.22 | 1 | 1 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 11th | 13.1 | 7 | 32 | 14 | 43.8 | 2.44 | 1.07 | 0.13 | 0.29 | 3 | 3 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 18th | 24.7 | 10 | 72 | 22 | 30.6 | 2.91 | 0.89 | 0.08 | 0.27 | 4 | 4 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 18.2 | 4 | 38 | 16 | 42.1 | 2.09 | 0.88 | 0.11 | 0.25 | 0 | 0 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 12.6 | 1 | 44 | 16 | 36.4 | 3.50 | 1.27 | 0.02 | 0.06 | 0 | 0 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 18th | 12.4 | 1 | 36 | 6 | 16.7 | 2.90 | 0.48 | 0.03 | 0.17 | 0 | 0 | Matches |
| 15 Seasons | 6 Clubs | 4 Leagues | 312.0 | 90 | 447 | 290 | 34.0 | 2.85 | 0.93 | 0.08 | 0.25 | 18 | 19 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 25 | 83 | 0.83 | 0.29 | 1 | 1 | |||||||||
| Saint-Étienne (4 Seasons) | 1 League | 81.9 | 33 | 240 | 83 | 34.6 | 2.93 | 1.01 | 0.09 | 0.25 | 12 | 12 | |||||
| Montpellier (3 Seasons) | 1 League | 43.2 | 6 | 118 | 38 | 32.2 | 2.73 | 0.88 | 0.05 | 0.16 | 0 | 0 | |||||
| Sunderland (3 Seasons) | 2 Leagues | 22.1 | 3 | 24 | 15 | 41.7 | 2.34 | 0.68 | 0.04 | 0.20 | 0 | 0 | |||||
| Bordeaux (2 Seasons) | 1 League | 43.8 | 14 | 50 | 1.14 | 0.24 | 2 | 3 | |||||||||
| Rennes (1 Season) | 1 League | 21.3 | 9 | 65 | 21 | 32.3 | 3.05 | 0.99 | 0.09 | 0.29 | 3 | 3 | |||||
| Ligue 1 (12 Seasons) | 237.9 | 75 | 423 | 239 | 33.6 | 2.89 | 1.00 | 0.08 | 0.24 | 18 | 19 | ||||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 36 | 0.69 | 0.33 | 0 | 0 | ||||||||||
| Premier League (2 Seasons) | 21.3 | 3 | 23 | 15 | 43.5 | 2.44 | 0.70 | 0.04 | 0.20 | 0 | 0 | ||||||
| Championship (1 Season) | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | |||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 3rd | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 9th | 1.8 | 0 | 5 | 1 | 20.0 | 2.80 | 0.56 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 17th | 1.8 | 0 | 5 | 1 | 20.0 | 2.71 | 0.54 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 33rd | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3rd | 3.8 | 2 | 0 | 0 | Matches | |||||||
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 17th | 1.5 | 1 | 3 | 2 | 66.7 | 2.00 | 1.33 | 0.33 | 0.50 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 17th | 0.6 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2nd | 2.2 | 1 | 4 | 1 | 25.0 | 1.85 | 0.46 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 5th | 0.7 | 0 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 33rd | 0.3 | 0 | 4 | 2 | 50.0 | 12.00 | 6.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | R16 | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | R64 | 0.7 | 0 | 1 | 0 | 0.0 | 1.48 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | R16 | 2.1 | 0 | 6 | 0 | 0.0 | 2.83 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | R64 | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 10 Seasons | 5 Clubs | 3 Leagues | 18.6 | 4 | 30 | 9 | 30.0 | 2.42 | 0.72 | 0.07 | 0.22 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Saint-Étienne (4 Seasons) | 2 Leagues | 6.2 | 2 | 13 | 7 | 53.8 | 2.29 | 1.24 | 0.15 | 0.29 | 0 | 0 | |||||
| Montpellier (3 Seasons) | 1 League | 3.1 | 0 | 7 | 0 | 0.0 | 2.24 | 0.00 | 0.00 | 0 | 0 | ||||||
| Sunderland (2 Seasons) | 1 League | 3.6 | 0 | 10 | 2 | 20.0 | 2.75 | 0.55 | 0.00 | 0.00 | 0 | 0 | |||||
| Rennes (1 Season) | 2 Leagues | 4.6 | 2 | 0 | 0 | ||||||||||||
| Bordeaux (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 19 | 6 | 31.6 | 2.34 | 0.74 | 0.11 | 0.33 | 0 | 0 | ||||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | ||||||
| EFL Cup (2 Seasons) | 3.6 | 0 | 10 | 2 | 20.0 | 2.75 | 0.55 | 0.00 | 0.00 | 0 | 0 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | GR | 1.6 | 0 | 3 | 1.93 | 0.00 | 0 | 0 | Matches | ||||
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | GR | 2.7 | 2 | 5 | 3 | 60.0 | 1.83 | 1.10 | 0.20 | 0.33 | 1 | 1 | Matches |
| 2 Seasons | 2 Clubs | 1 League | 4.3 | 2 | 5 | 6 | 60.0 | 1.83 | 1.40 | 0.20 | 0.17 | 1 | 1 | |||
| Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bordeaux (1 Season) | 1 League | 1.6 | 0 | 3 | 1.93 | 0.00 | 0 | 0 | ||||||||
| Saint-Étienne (1 Season) | 1 League | 2.7 | 2 | 5 | 3 | 60.0 | 1.83 | 1.10 | 0.20 | 0.33 | 1 | 1 | ||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013 | 21 | tn Tunisia | Africa Cup of Nations | GR | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2014 | 22 | tn Tunisia | WCQ | 1.4 | 1 | 0 | 0 | Matches | ||||||||
| 2014 | 22 | tn Tunisia | Friendlies (M) | 0.5 | 1 | 0 | 0 | Matches | ||||||||
| 2015 | 23 | tn Tunisia | Friendlies (M) | 1.7 | 2 | 0 | 0 | Matches | ||||||||
| 2015 | 23 | tn Tunisia | Africa Cup of Nations | QF | 3.4 | 0 | 8 | 1 | 12.5 | 2.37 | 0.30 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2015 | 23 | tn Tunisia | Africa Cup of Nations qualification | 4.5 | 2 | 0 | 0 | Matches | ||||||||
| 2016 | 24 | tn Tunisia | Friendlies (M) | 0.6 | 0 | 0 | 0 | Matches | ||||||||
| 2017 | 25 | tn Tunisia | Friendlies (M) | 0.2 | 0 | 0 | 0 | Matches | ||||||||
| 2017 | 25 | tn Tunisia | Africa Cup of Nations | QF | 2.7 | 1 | 11 | 5 | 45.5 | 4.11 | 1.87 | 0.00 | 0.00 | 1 | 1 | Matches |
| 2017 | 25 | tn Tunisia | Africa Cup of Nations qualification | 2.5 | 1 | 0 | 0 | Matches | ||||||||
| 2018 | 26 | tn Tunisia | WCQ | 4.6 | 2 | 1 | 1 | Matches | ||||||||
| 2018 | 26 | tn Tunisia | Friendlies (M) | 2.7 | 1 | 0 | 0 | Matches | ||||||||
| 2018 | 27 | tn Tunisia | 1. World Cup | GR | 2.9 | 2 | 11 | 5 | 45.5 | 3.78 | 1.72 | 0.18 | 0.40 | 0 | 0 | Matches |
| 2019 | 27 | tn Tunisia | Friendlies (M) | 1.9 | 1 | 0 | 0 | Matches | ||||||||
| 2019 | 27 | tn Tunisia | Africa Cup of Nations | 4th | 6.9 | 1 | 18 | 6 | 33.3 | 2.60 | 0.87 | 0.06 | 0.17 | 0 | 0 | Matches |
| 2019 | 27 | tn Tunisia | Africa Cup of Nations qualification | 2.0 | 0 | 0 | 1 | Matches | ||||||||
| 2020 | 28 | tn Tunisia | Friendlies (M) | 1.7 | 0 | 0 | 0 | Matches | ||||||||
| 2021 | 29 | tn Tunisia | Friendlies (M) | 1.7 | 0 | 0 | 0 | Matches | ||||||||
| 2021 | 29 | tn Tunisia | Africa Cup of Nations | QF | 2.9 | 2 | 12 | 6 | 50.0 | 4.09 | 2.05 | 0.17 | 0.33 | 0 | 1 | Matches |
| 2021 | 29 | tn Tunisia | Africa Cup of Nations qualification | 3.7 | 3 | 0 | 1 | Matches | ||||||||
| 2022 | 31 | tn Tunisia | 1. World Cup | GR | 0.9 | 1 | 5 | 3 | 60.0 | 5.42 | 3.25 | 0.20 | 0.33 | 0 | 0 | Matches |
| 2022 | 30 | tn Tunisia | WCQ | 4.6 | 3 | 2 | 3 | Matches | ||||||||
| 2022 | 30 | tn Tunisia | Friendlies (M) | 1.1 | 0 | 0 | 0 | Matches | ||||||||
| 10 Seasons | 1 Club | 5 Leagues | 55.8 | 24 | 65 | 26 | 40.0 | 3.29 | 1.32 | 0.09 | 0.23 | 4 | 8 | |||
| Friendlies (M) (9 Seasons) | 12.1 | 5 | 0 | 0 | ||||||||||||
| Africa Cup of Nations (5 Seasons) | 16.6 | 4 | 49 | 18 | 36.7 | 3.08 | 1.13 | 0.06 | 0.17 | 1 | 2 | |||||
| Africa Cup of Nations qualification (4 Seasons) | 12.8 | 6 | 0 | 2 | ||||||||||||
| WCQ (3 Seasons) | 10.5 | 6 | 3 | 4 | ||||||||||||
| World Cup (2 Seasons) | 3.8 | 3 | 16 | 8 | 50.0 | 4.17 | 2.09 | 0.19 | 0.38 | 0 | 0 | |||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 31 | 1,807 | 58 | 52.8 | 20.1 | 20 | 11 | |||||||||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 33 | 2,867 | 87 | 83.8 | 31.9 | 33 | 0 | |||||||||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 29 | 2,041 | 70 | 59.7 | 22.7 | 22 | 15 | 7 | Matches | |||||||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 32 | 2,259 | 71 | 66.1 | 25.1 | 25 | 18 | 7 | Matches | |||||||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 32 | 2,362 | 74 | 69.1 | 26.2 | 29 | 7 | 3 | 1 | 1.69 | 36 | 31 | +5 | +0.19 | +0.36 | Matches | ||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 2 | 0.00 | 1 | 5 | -4 | -4.00 | -6.50 | Matches | |
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | 4 | 140 | 35 | 25.9 | 1.6 | 1 | 0 | 3 | 0 | 1.50 | 0 | 2 | -2 | -1.29 | -2.19 | Matches | |||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 20 | 1,579 | 79 | 46.2 | 17.5 | 20 | 10 | 0 | 1 | 1.45 | 21 | 22 | -1 | -0.06 | +0.24 | Matches | ||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 14 | 1,071 | 77 | 31.3 | 11.9 | 13 | 6 | 1 | 1 | 1.36 | 14 | 10 | +4 | +0.34 | +1.03 | Matches | ||
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 2 | 161 | 81 | 59.6 | 1.8 | 2 | 81 | 1 | 0 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | -0.83 | Matches | |
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 21 | 849 | 40 | 24.8 | 9.4 | 7 | 4 | 14 | 12 | 0.33 | 7 | 21 | -14 | -1.48 | -0.57 | Matches | ||
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 3 | 73 | 24 | 1.8 | 0.8 | 0 | 0 | 3 | 2 | 0.33 | 0 | 2 | -2 | -2.47 | -1.89 | Matches | ||
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 1 | 71 | 71 | 78.9 | 0.8 | 1 | 71 | 0 | 0 | 0 | 0.00 | 1 | 4 | -3 | -3.80 | +5.67 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 4 | 343 | 86 | 87.9 | 3.8 | 4 | 86 | 2 | 0 | 0 | 2.25 | 7 | 8 | -1 | -0.26 | -6.01 | Matches | |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 2 | 166 | 83 | 61.5 | 1.8 | 2 | 83 | 1 | 0 | 0 | 3.00 | 3 | 1 | +2 | +1.08 | +3.68 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 24 | 1,918 | 80 | 56.1 | 21.3 | 23 | 82 | 13 | 1 | 37 | 1 | 1.46 | 26 | 21 | +5 | +0.23 | +0.17 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 2 | 135 | 68 | 75.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 0 | 1.50 | 8 | 4 | +4 | +2.67 | +4.67 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 1 | 51 | 51 | 42.5 | 0.6 | 0 | 0 | 1 | 50 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 32 | 2,817 | 88 | 82.4 | 31.3 | 32 | 88 | 24 | 0 | 0 | 1.66 | 43 | 34 | +9 | +0.29 | -1.06 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 3 | 195 | 65 | 36.1 | 2.2 | 2 | 75 | 0 | 1 | 45 | 1 | 2.00 | 5 | 2 | +3 | +1.38 | +0.60 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 1 | 60 | 60 | 33.3 | 0.7 | 1 | 60 | 0 | 0 | 0 | 0.00 | 0 | 5 | -5 | -7.50 | -8.25 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | 3 | 246 | 82 | 45.6 | 2.7 | 3 | 82 | 1 | 0 | 1 | 0.67 | 5 | 4 | +1 | +0.37 | +1.28 | Matches | ||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 16 | 1,149 | 72 | 45.6 | 12.8 | 13 | 82 | 6 | 3 | 27 | 0 | 1.31 | 12 | 21 | -9 | -0.70 | -0.25 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 1 | 30 | 30 | 33.3 | 0.3 | 0 | 0 | 1 | 30 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.50 | Matches | |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 22 | 1,181 | 54 | 34.5 | 13.1 | 16 | 64 | 0 | 6 | 26 | 1 | 1.27 | 13 | 10 | +3 | +0.23 | +0.83 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 1 | 0 | +1 | +1.00 | 0.00 | Matches | |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 30 | 2,225 | 74 | 65.1 | 24.7 | 26 | 81 | 10 | 4 | 27 | 0 | 0.97 | 28 | 46 | -18 | -0.73 | +0.55 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Rel/Pro play-offs | 2 | 99 | 50 | 47.1 | 1.1 | 1 | 61 | 0 | 1 | 38 | 0 | 1.00 | 0 | 2 | -2 | -1.82 | -3.44 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | 1 | 61 | 61 | 67.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.48 | -1.48 | Matches | |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 27 | 1,635 | 61 | 47.8 | 18.2 | 20 | 72 | 5 | 7 | 29 | 2 | 1.33 | 30 | 28 | +2 | +0.11 | +0.06 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | 3 | 191 | 64 | 70.7 | 2.1 | 3 | 64 | 0 | 0 | 0 | 2.00 | 4 | 4 | 0 | 0.00 | -2.28 | Matches | |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 25 | 1,131 | 45 | 37.0 | 12.6 | 13 | 69 | 1 | 12 | 20 | 0 | 1.08 | 17 | 18 | -1 | -0.08 | +0.11 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | 1 | 29 | 29 | 32.2 | 0.3 | 0 | 0 | 1 | 29 | 0 | 0.00 | 0 | 3 | -3 | -9.31 | -7.83 | Matches | |
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 30 | 1,118 | 37 | 36.5 | 12.4 | 10 | 69 | 1 | 20 | 21 | 2 | 0.50 | 7 | 28 | -21 | -1.69 | -0.07 | Matches |
| 15 Seasons | 6 Clubs | 9 Leagues | 454 | 30,240 | 67 | 49.1 | 336.0 | 346 | 78 | 128 | 108 | 25 | 27 | 1.22 | 291 | 339 | -48 | -0.20 | +0.25 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 8,974 | 72 | 65.6 | 99.7 | 100 | 33 | 25 | |||||||||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 114 | 8,278 | 73 | 55.5 | 92.0 | 96 | 81 | 43 | 18 | 31 | 3 | 1.29 | 116 | 129 | -13 | -0.14 | +0.23 | ||||
| Montpellier (3 Seasons) | 2 Leagues | 87 | 4,165 | 48 | 41.7 | 46.3 | 47 | 70 | 7 | 40 | 22 | 4 | 0.96 | 58 | 82 | -24 | -0.52 | +0.05 | ||||
| Sunderland (3 Seasons) | 3 Leagues | 42 | 2,320 | 55 | 20.1 | 25.8 | 24 | 82 | 12 | 18 | 15 | 0.86 | 25 | 35 | -10 | -0.39 | +0.32 | |||||
| Bordeaux (2 Seasons) | 3 Leagues | 57 | 4,171 | 73 | 54.5 | 46.3 | 51 | 90 | 18 | 6 | 4 | 1.56 | 58 | 60 | -2 | -0.04 | -0.07 | |||||
| Rennes (1 Season) | 3 Leagues | 29 | 2,332 | 80 | 59.8 | 25.9 | 28 | 82 | 15 | 1 | 37 | 1 | 1.52 | 34 | 33 | +1 | +0.04 | -0.08 | ||||
| Ligue 1 (12 Seasons) | 319 | 21,415 | 67 | 54.3 | 237.9 | 249 | 78 | 110 | 70 | 24 | 8 | 1.27 | 233 | 259 | -26 | -0.14 | +0.30 | |||||
| Coupe de France (8 Seasons) | 13 | 802 | 62 | 49.5 | 8.9 | 9 | 73 | 2 | 4 | 37 | 1 | 1.38 | 19 | 18 | +1 | +0.11 | -0.11 | |||||
| Coupe de la Ligue (4 Seasons) | 7 | 544 | 78 | 56.7 | 6.0 | 6 | 82 | 3 | 1 | 50 | 2 | 1.29 | 9 | 19 | -10 | -1.65 | -3.60 | |||||
| Ligue 2 (2 Seasons) | 64 | 4,674 | 73 | 68.3 | 51.9 | 53 | 11 | |||||||||||||||
| Premier League (2 Seasons) | 35 | 1,920 | 55 | 28.1 | 21.3 | 20 | 10 | 15 | 13 | 0.74 | 21 | 31 | -10 | -0.47 | +0.34 | |||||||
| Europa Lg (2 Seasons) | 7 | 386 | 55 | 35.7 | 4.3 | 4 | 82 | 1 | 3 | 1 | 1.14 | 5 | 6 | -1 | -0.23 | -0.36 | ||||||
| EFL Cup (2 Seasons) | 4 | 327 | 82 | 60.6 | 3.6 | 4 | 82 | 2 | 0 | 0 | 2.25 | 4 | 2 | +2 | +0.55 | +1.40 | ||||||
| Championship (1 Season) | 3 | 73 | 24 | 1.8 | 0.8 | 0 | 0 | 3 | 2 | 0.33 | 0 | 2 | -2 | -2.47 | -1.89 | |||||||
| Rel/Pro play-offs (1 Season) | 2 | 99 | 50 | 47.1 | 1.1 | 1 | 61 | 0 | 1 | 38 | 0 | 1.00 | 0 | 2 | -2 | -1.82 | -3.44 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2009-2010 | 18 | Bastia | 1 League | 31 | 1,807 | 58 | 52.8 | 20.1 | 20 | 11 | |||||||||||
| 2011-2012 | 20 | Bastia | 1 League | 33 | 2,867 | 87 | 83.8 | 31.9 | 33 | 0 | |||||||||||
| 2012-2013 | 21 | Bastia | 1 League | 29 | 2,041 | 70 | 59.7 | 22.7 | 22 | 15 | 7 | ||||||||||
| 2013-2014 | 22 | Bastia | 1 League | 32 | 2,259 | 71 | 66.1 | 25.1 | 25 | 18 | 7 | ||||||||||
| 2014-2015 | 23 | Bordeaux | 1 League | 32 | 2,362 | 74 | 69.1 | 26.2 | 29 | 7 | 3 | 1 | 1.69 | 36 | 31 | +5 | +0.19 | +0.36 | |||
| 2015-2016 | 24 | Bordeaux | 3 Leagues | 25 | 1,809 | 72 | 42.8 | 20.1 | 22 | 90 | 11 | 3 | 3 | 1.40 | 22 | 29 | -7 | -0.35 | -0.46 | ||
| 2015-2016 | 24 | Sunderland | 1 League | 14 | 1,071 | 77 | 31.3 | 11.9 | 13 | 6 | 1 | 1 | 1.36 | 14 | 10 | +4 | +0.34 | +1.03 | |||
| 2016-2017 | 25 | Sunderland | 2 Leagues | 23 | 1,010 | 44 | 27.4 | 11.2 | 9 | 81 | 5 | 14 | 12 | 0.43 | 8 | 22 | -14 | -1.25 | -0.41 | ||
| 2017-2018 | 26 | Sunderland | 2 Leagues | 5 | 239 | 48 | 5.4 | 2.7 | 2 | 83 | 1 | 3 | 2 | 1.40 | 3 | 3 | 0 | 0.00 | +0.63 | ||
| 2017-2018 | 26 | Rennes | 3 Leagues | 29 | 2,332 | 80 | 59.8 | 25.9 | 28 | 82 | 15 | 1 | 37 | 1 | 1.52 | 34 | 33 | +1 | +0.04 | -0.08 | |
| 2018-2019 | 27 | Saint-Étienne | 3 Leagues | 35 | 3,003 | 86 | 80.7 | 33.4 | 33 | 88 | 25 | 2 | 48 | 0 | 1.60 | 52 | 39 | +13 | +0.39 | -0.61 | |
| 2019-2020 | 28 | Saint-Étienne | 4 Leagues | 23 | 1,650 | 72 | 43.7 | 18.3 | 19 | 80 | 7 | 4 | 32 | 2 | 1.26 | 22 | 32 | -10 | -0.55 | -0.29 | |
| 2020-2021 | 29 | Saint-Étienne | 2 Leagues | 23 | 1,211 | 53 | 34.5 | 13.5 | 16 | 64 | 0 | 7 | 26 | 1 | 1.21 | 13 | 10 | +3 | +0.22 | +0.85 | |
| 2021-2022 | 30 | Saint-Étienne | 3 Leagues | 33 | 2,414 | 73 | 61.9 | 26.8 | 28 | 81 | 11 | 5 | 29 | 0 | 1.03 | 29 | 48 | -19 | -0.71 | +0.08 | |
| 2022-2023 | 31 | Montpellier | 2 Leagues | 28 | 1,696 | 61 | 48.3 | 18.8 | 21 | 71 | 5 | 7 | 29 | 2 | 1.28 | 30 | 29 | +1 | +0.05 | 0.00 | |
| 2023-2024 | 32 | Montpellier | 2 Leagues | 28 | 1,322 | 47 | 39.7 | 14.7 | 16 | 68 | 1 | 12 | 20 | 0 | 1.18 | 21 | 22 | -1 | -0.07 | +0.02 | |
| 2024-2025 | 33 | Montpellier | 2 Leagues | 31 | 1,147 | 37 | 36.4 | 12.7 | 10 | 69 | 1 | 21 | 22 | 2 | 0.48 | 7 | 31 | -24 | -1.88 | -0.27 | |
| 15 Seasons | 6 Clubs | 9 Leagues | 454 | 30,240 | 67 | 49.1 | 336.0 | 346 | 78 | 128 | 108 | 25 | 27 | 1.22 | 291 | 339 | -48 | -0.20 | +0.25 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 8,974 | 72 | 65.6 | 99.7 | 100 | 33 | 25 | ||||||||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 114 | 8,278 | 73 | 55.5 | 92.0 | 96 | 81 | 43 | 18 | 31 | 3 | 1.29 | 116 | 129 | -13 | -0.14 | +0.23 | |||
| Montpellier (3 Seasons) | 2 Leagues | 87 | 4,165 | 48 | 41.7 | 46.3 | 47 | 70 | 7 | 40 | 22 | 4 | 0.96 | 58 | 82 | -24 | -0.52 | +0.05 | |||
| Sunderland (3 Seasons) | 3 Leagues | 42 | 2,320 | 55 | 20.1 | 25.8 | 24 | 82 | 12 | 18 | 15 | 0.86 | 25 | 35 | -10 | -0.39 | +0.32 | ||||
| Bordeaux (2 Seasons) | 3 Leagues | 57 | 4,171 | 73 | 54.5 | 46.3 | 51 | 90 | 18 | 6 | 4 | 1.56 | 58 | 60 | -2 | -0.04 | -0.07 | ||||
| Rennes (1 Season) | 3 Leagues | 29 | 2,332 | 80 | 59.8 | 25.9 | 28 | 82 | 15 | 1 | 37 | 1 | 1.52 | 34 | 33 | +1 | +0.04 | -0.08 | |||
| Ligue 1 (12 Seasons) | 319 | 21,415 | 67 | 54.3 | 237.9 | 249 | 78 | 110 | 70 | 24 | 8 | 1.27 | 233 | 259 | -26 | -0.14 | +0.30 | ||||
| Coupe de France (8 Seasons) | 13 | 802 | 62 | 49.5 | 8.9 | 9 | 73 | 2 | 4 | 37 | 1 | 1.38 | 19 | 18 | +1 | +0.11 | -0.11 | ||||
| Coupe de la Ligue (4 Seasons) | 7 | 544 | 78 | 56.7 | 6.0 | 6 | 82 | 3 | 1 | 50 | 2 | 1.29 | 9 | 19 | -10 | -1.65 | -3.60 | ||||
| Ligue 2 (2 Seasons) | 64 | 4,674 | 73 | 68.3 | 51.9 | 53 | 11 | ||||||||||||||
| Premier League (2 Seasons) | 35 | 1,920 | 55 | 28.1 | 21.3 | 20 | 10 | 15 | 13 | 0.74 | 21 | 31 | -10 | -0.47 | +0.34 | ||||||
| Europa Lg (2 Seasons) | 7 | 386 | 55 | 35.7 | 4.3 | 4 | 82 | 1 | 3 | 1 | 1.14 | 5 | 6 | -1 | -0.23 | -0.36 | |||||
| EFL Cup (2 Seasons) | 4 | 327 | 82 | 60.6 | 3.6 | 4 | 82 | 2 | 0 | 0 | 2.25 | 4 | 2 | +2 | +0.55 | +1.40 | |||||
| Championship (1 Season) | 3 | 73 | 24 | 1.8 | 0.8 | 0 | 0 | 3 | 2 | 0.33 | 0 | 2 | -2 | -2.47 | -1.89 | ||||||
| Rel/Pro play-offs (1 Season) | 2 | 99 | 50 | 47.1 | 1.1 | 1 | 61 | 0 | 1 | 38 | 0 | 1.00 | 0 | 2 | -2 | -1.82 | -3.44 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20th | 31 | 1,807 | 58 | 52.8 | 20.1 | 20 | 11 | |||||||||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 1st | 33 | 2,867 | 87 | 83.8 | 31.9 | 33 | 0 | |||||||||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 12th | 29 | 2,041 | 70 | 59.7 | 22.7 | 22 | 15 | 7 | Matches | |||||||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 10th | 32 | 2,259 | 71 | 66.1 | 25.1 | 25 | 18 | 7 | Matches | |||||||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 6th | 32 | 2,362 | 74 | 69.1 | 26.2 | 29 | 7 | 3 | 1 | 1.69 | 36 | 31 | +5 | +0.19 | +0.36 | Matches | ||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 11th | 20 | 1,579 | 79 | 46.2 | 17.5 | 20 | 10 | 0 | 1 | 1.45 | 21 | 22 | -1 | -0.06 | +0.24 | Matches | ||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 17th | 14 | 1,071 | 77 | 31.3 | 11.9 | 13 | 6 | 1 | 1 | 1.36 | 14 | 10 | +4 | +0.34 | +1.03 | Matches | ||
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 20th | 21 | 849 | 40 | 24.8 | 9.4 | 7 | 4 | 14 | 12 | 0.33 | 7 | 21 | -14 | -1.48 | -0.57 | Matches | ||
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 24th | 3 | 73 | 24 | 1.8 | 0.8 | 0 | 0 | 3 | 2 | 0.33 | 0 | 2 | -2 | -2.47 | -1.89 | Matches | ||
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 5th | 24 | 1,918 | 80 | 56.1 | 21.3 | 23 | 82 | 13 | 1 | 37 | 1 | 1.46 | 26 | 21 | +5 | +0.23 | +0.17 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 4th | 32 | 2,817 | 88 | 82.4 | 31.3 | 32 | 88 | 24 | 0 | 0 | 1.66 | 43 | 34 | +9 | +0.29 | -1.06 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 17th | 16 | 1,149 | 72 | 45.6 | 12.8 | 13 | 82 | 6 | 3 | 27 | 0 | 1.31 | 12 | 21 | -9 | -0.70 | -0.25 | Matches |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 11th | 22 | 1,181 | 54 | 34.5 | 13.1 | 16 | 64 | 0 | 6 | 26 | 1 | 1.27 | 13 | 10 | +3 | +0.23 | +0.83 | Matches |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 18th | 30 | 2,225 | 74 | 65.1 | 24.7 | 26 | 81 | 10 | 4 | 27 | 0 | 0.97 | 28 | 46 | -18 | -0.73 | +0.55 | Matches |
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 27 | 1,635 | 61 | 47.8 | 18.2 | 20 | 72 | 5 | 7 | 29 | 2 | 1.33 | 30 | 28 | +2 | +0.11 | +0.06 | Matches |
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 25 | 1,131 | 45 | 37.0 | 12.6 | 13 | 69 | 1 | 12 | 20 | 0 | 1.08 | 17 | 18 | -1 | -0.08 | +0.11 | Matches |
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 18th | 30 | 1,118 | 37 | 36.5 | 12.4 | 10 | 69 | 1 | 20 | 21 | 2 | 0.50 | 7 | 28 | -21 | -1.69 | -0.07 | Matches |
| 15 Seasons | 6 Clubs | 4 Leagues | 421 | 28,082 | 67 | 49.1 | 312.0 | 322 | 78 | 120 | 99 | 24 | 23 | 1.20 | 254 | 292 | -38 | -0.18 | +0.35 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bastia (4 Seasons) | 2 Leagues | 125 | 8,974 | 72 | 65.6 | 99.7 | 100 | 33 | 25 | ||||||||||||||
| Saint-Étienne (4 Seasons) | 1 League | 100 | 7,372 | 74 | 57.7 | 81.9 | 87 | 81 | 40 | 13 | 26 | 1 | 1.31 | 96 | 111 | -15 | -0.18 | +0.32 | |||||
| Montpellier (3 Seasons) | 1 League | 82 | 3,884 | 47 | 40.7 | 43.2 | 43 | 70 | 7 | 39 | 22 | 4 | 0.95 | 54 | 74 | -20 | -0.46 | +0.14 | |||||
| Sunderland (3 Seasons) | 2 Leagues | 38 | 1,993 | 52 | 18.2 | 22.1 | 20 | 10 | 18 | 15 | 0.71 | 21 | 33 | -12 | -0.54 | +0.16 | |||||||
| Bordeaux (2 Seasons) | 1 League | 52 | 3,941 | 76 | 57.6 | 43.8 | 49 | 17 | 3 | 2 | 1.60 | 57 | 53 | +4 | +0.09 | +0.34 | |||||||
| Rennes (1 Season) | 1 League | 24 | 1,918 | 80 | 56.1 | 21.3 | 23 | 82 | 13 | 1 | 37 | 1 | 1.46 | 26 | 21 | +5 | +0.23 | +0.17 | |||||
| Ligue 1 (12 Seasons) | 319 | 21,415 | 67 | 54.3 | 237.9 | 249 | 78 | 110 | 70 | 24 | 8 | 1.27 | 233 | 259 | -26 | -0.14 | +0.30 | ||||||
| Ligue 2 (2 Seasons) | 64 | 4,674 | 73 | 68.3 | 51.9 | 53 | 11 | ||||||||||||||||
| Premier League (2 Seasons) | 35 | 1,920 | 55 | 28.1 | 21.3 | 20 | 10 | 15 | 13 | 0.74 | 21 | 31 | -10 | -0.47 | +0.34 | ||||||||
| Championship (1 Season) | 3 | 73 | 24 | 1.8 | 0.8 | 0 | 0 | 3 | 2 | 0.33 | 0 | 2 | -2 | -2.47 | -1.89 | ||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 3rd | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 2 | 0.00 | 1 | 5 | -4 | -4.00 | -6.50 | Matches | |
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 9th | 2 | 161 | 81 | 59.6 | 1.8 | 2 | 81 | 1 | 0 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | -0.83 | Matches | |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 17th | 2 | 166 | 83 | 61.5 | 1.8 | 2 | 83 | 1 | 0 | 0 | 3.00 | 3 | 1 | +2 | +1.08 | +3.68 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 33rd | 1 | 71 | 71 | 78.9 | 0.8 | 1 | 71 | 0 | 0 | 0 | 0.00 | 1 | 4 | -3 | -3.80 | +5.67 | Matches | |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3rd | 4 | 343 | 86 | 87.9 | 3.8 | 4 | 86 | 2 | 0 | 0 | 2.25 | 7 | 8 | -1 | -0.26 | -6.01 | Matches | |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 17th | 2 | 135 | 68 | 75.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 0 | 1.50 | 8 | 4 | +4 | +2.67 | +4.67 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 17th | 1 | 51 | 51 | 42.5 | 0.6 | 0 | 0 | 1 | 50 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2nd | 3 | 195 | 65 | 36.1 | 2.2 | 2 | 75 | 0 | 1 | 45 | 1 | 2.00 | 5 | 2 | +3 | +1.38 | +0.60 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 5th | 1 | 60 | 60 | 33.3 | 0.7 | 1 | 60 | 0 | 0 | 0 | 0.00 | 0 | 5 | -5 | -7.50 | -8.25 | Matches | |
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 33rd | 1 | 30 | 30 | 33.3 | 0.3 | 0 | 0 | 1 | 30 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.50 | Matches | |
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | R16 | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 1 | 0 | +1 | +1.00 | 0.00 | Matches | |
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | R64 | 1 | 61 | 61 | 67.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.48 | -1.48 | Matches | |
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | R16 | 3 | 191 | 64 | 70.7 | 2.1 | 3 | 64 | 0 | 0 | 0 | 2.00 | 4 | 4 | 0 | 0.00 | -2.28 | Matches | |
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | R64 | 1 | 29 | 29 | 32.2 | 0.3 | 0 | 0 | 1 | 29 | 0 | 0.00 | 0 | 3 | -3 | -9.31 | -7.83 | Matches | |
| 10 Seasons | 5 Clubs | 3 Leagues | 24 | 1,673 | 70 | 53.6 | 18.6 | 19 | 78 | 7 | 5 | 40 | 3 | 1.50 | 32 | 39 | -7 | -0.38 | -0.94 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Saint-Étienne (4 Seasons) | 2 Leagues | 9 | 561 | 62 | 40.7 | 6.2 | 5 | 78 | 2 | 4 | 43 | 1 | 1.33 | 15 | 12 | +3 | +0.48 | +0.04 | |||||
| Montpellier (3 Seasons) | 1 League | 5 | 281 | 56 | 62.4 | 3.1 | 4 | 63 | 0 | 1 | 29 | 0 | 1.20 | 4 | 8 | -4 | -1.28 | -1.81 | |||||
| Sunderland (2 Seasons) | 1 League | 4 | 327 | 82 | 60.6 | 3.6 | 4 | 82 | 2 | 0 | 0 | 2.25 | 4 | 2 | +2 | +0.55 | +1.40 | ||||||
| Rennes (1 Season) | 2 Leagues | 5 | 414 | 83 | 86.3 | 4.6 | 5 | 83 | 2 | 0 | 0 | 1.80 | 8 | 12 | -4 | -0.87 | -2.23 | ||||||
| Bordeaux (1 Season) | 1 League | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 2 | 0.00 | 1 | 5 | -4 | -4.00 | -6.50 | ||||||
| Coupe de France (8 Seasons) | 13 | 802 | 62 | 49.5 | 8.9 | 9 | 73 | 2 | 4 | 37 | 1 | 1.38 | 19 | 18 | +1 | +0.11 | -0.11 | ||||||
| Coupe de la Ligue (4 Seasons) | 7 | 544 | 78 | 56.7 | 6.0 | 6 | 82 | 3 | 1 | 50 | 2 | 1.29 | 9 | 19 | -10 | -1.65 | -3.60 | ||||||
| EFL Cup (2 Seasons) | 4 | 327 | 82 | 60.6 | 3.6 | 4 | 82 | 2 | 0 | 0 | 2.25 | 4 | 2 | +2 | +0.55 | +1.40 | |||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | GR | 4 | 140 | 35 | 25.9 | 1.6 | 1 | 0 | 3 | 0 | 1.50 | 0 | 2 | -2 | -1.29 | -2.19 | Matches | ||
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | GR | 3 | 246 | 82 | 45.6 | 2.7 | 3 | 82 | 1 | 0 | 1 | 0.67 | 5 | 4 | +1 | +0.37 | +1.28 | Matches | |
| 2 Seasons | 2 Clubs | 1 League | 7 | 386 | 55 | 35.7 | 4.3 | 4 | 82 | 1 | 3 | 1 | 1.14 | 5 | 6 | -1 | -0.23 | -0.36 | ||||
| Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bordeaux (1 Season) | 1 League | 4 | 140 | 35 | 25.9 | 1.6 | 1 | 0 | 3 | 0 | 1.50 | 0 | 2 | -2 | -1.29 | -2.19 | ||||||
| Saint-Étienne (1 Season) | 1 League | 3 | 246 | 82 | 45.6 | 2.7 | 3 | 82 | 1 | 0 | 1 | 0.67 | 5 | 4 | +1 | +0.37 | +1.28 | |||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013 | 21 | tn Tunisia | Africa Cup of Nations | GR | 1 | 61 | 61 | 22.6 | 0.7 | 1 | 61 | 0 | 0 | 2 | 1.00 | 1 | 1 | 0 | 0.00 | +0.86 | Matches | |
| 2014 | 22 | tn Tunisia | WCQ | 2 | 122 | 61 | 16.9 | 1.4 | 1 | 91 | 1 | 1 | 31 | 1 | 3.00 | 1 | 3 | -2 | -1.48 | -2.38 | Matches | |
| 2014 | 22 | tn Tunisia | Friendlies (M) | 1 | 45 | 45 | 16.7 | 0.5 | 1 | 45 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | ||
| 2015 | 23 | tn Tunisia | Friendlies (M) | 2 | 154 | 77 | 42.8 | 1.7 | 2 | 77 | 0 | 0 | 0 | 1.00 | 4 | 3 | +1 | +0.58 | +1.90 | Matches | ||
| 2015 | 23 | tn Tunisia | Africa Cup of Nations | QF | 4 | 304 | 76 | 77.9 | 3.4 | 4 | 76 | 0 | 0 | 0 | 1.25 | 3 | 3 | 0 | 0.00 | 0.00 | Matches | |
| 2015 | 23 | tn Tunisia | Africa Cup of Nations qualification | 5 | 408 | 82 | 75.6 | 4.5 | 5 | 82 | 1 | 0 | 0 | 2.60 | 4 | 2 | +2 | +0.44 | -0.92 | Matches | ||
| 2016 | 24 | tn Tunisia | Friendlies (M) | 1 | 56 | 56 | 62.2 | 0.6 | 1 | 56 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | ||
| 2017 | 25 | tn Tunisia | Friendlies (M) | 1 | 15 | 15 | 4.2 | 0.2 | 1 | 15 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.26 | Matches | ||
| 2017 | 25 | tn Tunisia | Africa Cup of Nations | QF | 4 | 241 | 60 | 66.9 | 2.7 | 3 | 65 | 0 | 1 | 45 | 0 | 1.50 | 6 | 2 | +4 | +1.49 | +5.28 | Matches |
| 2017 | 25 | tn Tunisia | Africa Cup of Nations qualification | 3 | 228 | 76 | 42.2 | 2.5 | 3 | 76 | 0 | 0 | 0 | 3.00 | 12 | 2 | +10 | +3.95 | +3.08 | Matches | ||
| 2018 | 26 | tn Tunisia | WCQ | 6 | 417 | 70 | 57.9 | 4.6 | 5 | 81 | 0 | 1 | 12 | 2 | 2.67 | 8 | 2 | +6 | +1.29 | +0.40 | Matches | |
| 2018 | 26 | tn Tunisia | Friendlies (M) | 3 | 245 | 82 | 45.4 | 2.7 | 3 | 82 | 1 | 0 | 1 | 2.00 | 2 | 1 | +1 | +0.37 | +0.67 | Matches | ||
| 2018 | 27 | tn Tunisia | 1. World Cup | GR | 3 | 262 | 87 | 97.0 | 2.9 | 3 | 87 | 1 | 0 | 0 | 1.00 | 5 | 7 | -2 | -0.69 | +10.56 | Matches | |
| 2019 | 27 | tn Tunisia | Friendlies (M) | 2 | 172 | 86 | 27.3 | 1.9 | 2 | 86 | 1 | 0 | 1 | 3.00 | 4 | 1 | +3 | +1.57 | +1.57 | Matches | ||
| 2019 | 27 | tn Tunisia | Africa Cup of Nations | 4th | 7 | 623 | 89 | 90.3 | 6.9 | 6 | 95 | 6 | 1 | 52 | 0 | 1.29 | 6 | 5 | +1 | +0.14 | +0.14 | Matches |
| 2019 | 27 | tn Tunisia | Africa Cup of Nations qualification | 2 | 180 | 90 | 33.3 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 4 | 3 | +1 | +0.50 | -1.25 | Matches | ||
| 2020 | 28 | tn Tunisia | Friendlies (M) | 2 | 152 | 76 | 84.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 2.00 | 4 | 1 | +3 | +1.78 | +1.78 | Matches | ||
| 2021 | 29 | tn Tunisia | Friendlies (M) | 2 | 149 | 75 | 55.2 | 1.7 | 2 | 75 | 0 | 0 | 0 | 1.50 | 1 | 4 | -3 | -1.81 | -4.04 | Matches | ||
| 2021 | 29 | tn Tunisia | Africa Cup of Nations | QF | 4 | 264 | 66 | 58.7 | 2.9 | 3 | 86 | 2 | 1 | 5 | 0 | 1.50 | 4 | 2 | +2 | +0.68 | +0.68 | Matches |
| 2021 | 29 | tn Tunisia | Africa Cup of Nations qualification | 4 | 337 | 84 | 62.4 | 3.7 | 4 | 84 | 1 | 0 | 0 | 2.50 | 7 | 2 | +5 | +1.34 | -0.44 | Matches | ||
| 2022 | 31 | tn Tunisia | 1. World Cup | GR | 2 | 83 | 42 | 30.7 | 0.9 | 1 | 59 | 0 | 1 | 24 | 1 | 1.50 | 1 | 0 | +1 | +1.08 | +1.57 | Matches |
| 2022 | 30 | tn Tunisia | WCQ | 6 | 410 | 68 | 56.9 | 4.6 | 5 | 81 | 2 | 1 | 6 | 0 | 2.17 | 9 | 2 | +7 | +1.54 | +0.67 | Matches | |
| 2022 | 30 | tn Tunisia | Friendlies (M) | 2 | 97 | 49 | 53.9 | 1.1 | 1 | 68 | 0 | 1 | 29 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | +3.25 | Matches | |
| 10 Seasons | 1 Club | 5 Leagues | 69 | 5,025 | 73 | 50.8 | 55.8 | 61 | 79 | 18 | 8 | 26 | 8 | 1.87 | 88 | 48 | +40 | +0.72 | +0.46 | |||
| Friendlies (M) (9 Seasons) | 16 | 1,085 | 68 | 37.7 | 12.1 | 15 | 70 | 2 | 1 | 29 | 2 | 1.63 | 17 | 12 | +5 | +0.41 | +0.67 | |||||
| Africa Cup of Nations (5 Seasons) | 20 | 1,493 | 75 | 69.1 | 16.6 | 17 | 82 | 8 | 3 | 34 | 2 | 1.35 | 20 | 13 | +7 | +0.42 | +1.37 | |||||
| Africa Cup of Nations qualification (4 Seasons) | 14 | 1,153 | 82 | 53.4 | 12.8 | 14 | 82 | 4 | 0 | 0 | 2.50 | 27 | 9 | +18 | +1.41 | -0.02 | ||||||
| WCQ (3 Seasons) | 14 | 949 | 68 | 43.9 | 10.5 | 11 | 82 | 3 | 3 | 16 | 3 | 2.50 | 18 | 7 | +11 | +1.04 | +0.15 | |||||
| World Cup (2 Seasons) | 5 | 345 | 69 | 63.9 | 3.8 | 4 | 80 | 1 | 1 | 24 | 1 | 1.20 | 6 | 7 | -1 | -0.26 | +0.66 | |||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20.1 | 7 | 1 | |||||||||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 31.9 | 5 | 1 | |||||||||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 22.7 | 5 | 0 | 24 | Matches | |||||||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 25.1 | 6 | 0 | 35 | Matches | |||||||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 26.2 | 8 | 0 | 44 | Matches | |||||||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 1.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | 1.6 | 0 | 1 | 2 | Matches | ||||||||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 17.5 | 7 | 0 | 28 | Matches | |||||||||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 11.9 | 3 | 0 | 18 | Matches | |||||||||
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 1.8 | 1 | 0 | 0 | 5 | 4 | 2 | 5 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 9.4 | 6 | 0 | 0 | 20 | 16 | 7 | 71 | 9 | 10 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 0.8 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 1.8 | 2 | 0 | 0 | 8 | 1 | 0 | 10 | 1 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 21.3 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 1.5 | 1 | 0 | 0 | 1 | 0 | 1 | 6 | 2 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 0.6 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 31.3 | 10 | 1 | 0 | 56 | 52 | 24 | 198 | 15 | 30 | 3 | 0 | 0 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2.2 | 0 | 0 | 0 | 3 | 5 | 0 | 6 | 0 | 1 | 0 | Matches | ||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 0.7 | 0 | 0 | 0 | 3 | 4 | 0 | 5 | 0 | 1 | 0 | Matches | ||
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | 2.7 | 1 | 0 | 0 | 7 | 2 | 2 | 16 | 2 | 5 | 0 | Matches | |||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 12.8 | 4 | 0 | 0 | 21 | 19 | 5 | 60 | 5 | 10 | 0 | Matches | ||
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 13.1 | 5 | 1 | 0 | 25 | 32 | 8 | 31 | 4 | 16 | 0 | Matches | ||
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | 1.0 | 0 | 0 | 0 | 1 | 5 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 24.7 | 6 | 0 | 0 | 22 | 47 | 22 | 59 | 10 | 18 | 0 | Matches | ||
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Rel/Pro play-offs | 1.1 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | 0.7 | 0 | 0 | 0 | 1 | 1 | 1 | 7 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 18.2 | 5 | 1 | 0 | 20 | 36 | 13 | 39 | 8 | 15 | 0 | Matches | ||
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | 2.1 | 1 | 0 | 0 | 1 | 2 | 2 | 5 | 0 | 1 | 0 | Matches | ||
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12.6 | 6 | 0 | 0 | 19 | 23 | 7 | 11 | 4 | 18 | 0 | Matches | ||
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 12.4 | 4 | 0 | 0 | 23 | 28 | 7 | 47 | 5 | 19 | 0 | Matches | ||
| 15 Seasons | 6 Clubs | 9 Leagues | 336.0 | 104 | 7 | 0 | 426 | 333 | 119 | 646 | 72 | 164 | 3 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 23 | 2 | 59 | |||||||||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 92.0 | 28 | 2 | 0 | 140 | 168 | 63 | 382 | 39 | 83 | 3 | 0 | 0 | ||||
| Montpellier (3 Seasons) | 2 Leagues | 46.3 | 16 | 1 | 0 | 64 | 90 | 30 | 110 | 17 | 53 | 0 | ||||||
| Sunderland (3 Seasons) | 3 Leagues | 25.8 | 13 | 0 | 0 | 51 | 23 | 9 | 91 | 10 | 11 | 0 | 0 | 0 | ||||
| Bordeaux (2 Seasons) | 3 Leagues | 46.3 | 16 | 1 | 0 | 74 | 0 | |||||||||||
| Rennes (1 Season) | 3 Leagues | 25.9 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | ||||
| Ligue 1 (12 Seasons) | 237.9 | 74 | 4 | 0 | 355 | 289 | 103 | 508 | 57 | 143 | 3 | 0 | 0 | |||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 0 | 0 | 7 | 13 | 4 | 26 | 3 | 4 | 0 | 0 | 0 | |||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 0 | 0 | 3 | 4 | 0 | 5 | 0 | 1 | 0 | |||||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 2 | |||||||||||||||
| Premier League (2 Seasons) | 21.3 | 9 | 0 | 0 | 38 | 16 | 7 | 71 | 9 | 10 | 0 | 0 | 0 | |||||
| Europa Lg (2 Seasons) | 4.3 | 1 | 1 | 0 | 9 | 2 | 2 | 16 | 2 | 5 | 0 | |||||||
| EFL Cup (2 Seasons) | 3.6 | 3 | 0 | 0 | 13 | 5 | 2 | 15 | 1 | 0 | 0 | 0 | 0 | |||||
| Championship (1 Season) | 0.8 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | |||||
| Rel/Pro play-offs (1 Season) | 1.1 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | ||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2009-2010 | 18 | Bastia | 1 League | 20.1 | 7 | 1 | |||||||||||
| 2011-2012 | 20 | Bastia | 1 League | 31.9 | 5 | 1 | |||||||||||
| 2012-2013 | 21 | Bastia | 1 League | 22.7 | 5 | 0 | 24 | ||||||||||
| 2013-2014 | 22 | Bastia | 1 League | 25.1 | 6 | 0 | 35 | ||||||||||
| 2014-2015 | 23 | Bordeaux | 1 League | 26.2 | 8 | 0 | 44 | ||||||||||
| 2015-2016 | 24 | Bordeaux | 3 Leagues | 20.1 | 8 | 1 | 0 | 30 | 0 | ||||||||
| 2015-2016 | 24 | Sunderland | 1 League | 11.9 | 3 | 0 | 18 | ||||||||||
| 2016-2017 | 25 | Sunderland | 2 Leagues | 11.2 | 7 | 0 | 0 | 25 | 20 | 9 | 76 | 9 | 10 | 0 | 0 | 0 | |
| 2017-2018 | 26 | Sunderland | 2 Leagues | 2.7 | 3 | 0 | 0 | 8 | 3 | 0 | 15 | 1 | 1 | 0 | 0 | 0 | |
| 2017-2018 | 26 | Rennes | 3 Leagues | 25.9 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | |
| 2018-2019 | 27 | Saint-Étienne | 3 Leagues | 33.4 | 12 | 1 | 0 | 57 | 52 | 25 | 204 | 17 | 30 | 3 | 0 | 0 | |
| 2019-2020 | 28 | Saint-Étienne | 4 Leagues | 18.3 | 5 | 0 | 0 | 34 | 30 | 7 | 87 | 7 | 17 | 0 | |||
| 2020-2021 | 29 | Saint-Étienne | 2 Leagues | 13.5 | 5 | 1 | 0 | 25 | 32 | 8 | 31 | 5 | 16 | 0 | |||
| 2021-2022 | 30 | Saint-Étienne | 3 Leagues | 26.8 | 6 | 0 | 0 | 24 | 54 | 23 | 60 | 10 | 20 | 0 | |||
| 2022-2023 | 31 | Montpellier | 2 Leagues | 18.8 | 5 | 1 | 0 | 21 | 37 | 14 | 46 | 8 | 15 | 0 | |||
| 2023-2024 | 32 | Montpellier | 2 Leagues | 14.7 | 7 | 0 | 0 | 20 | 25 | 9 | 16 | 4 | 19 | 0 | |||
| 2024-2025 | 33 | Montpellier | 2 Leagues | 12.7 | 4 | 0 | 0 | 23 | 28 | 7 | 48 | 5 | 19 | 0 | |||
| 15 Seasons | 6 Clubs | 9 Leagues | 336.0 | 104 | 7 | 0 | 426 | 333 | 119 | 646 | 72 | 164 | 3 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 23 | 2 | 59 | ||||||||||||
| Saint-Étienne (4 Seasons) | 5 Leagues | 92.0 | 28 | 2 | 0 | 140 | 168 | 63 | 382 | 39 | 83 | 3 | 0 | 0 | |||
| Montpellier (3 Seasons) | 2 Leagues | 46.3 | 16 | 1 | 0 | 64 | 90 | 30 | 110 | 17 | 53 | 0 | |||||
| Sunderland (3 Seasons) | 3 Leagues | 25.8 | 13 | 0 | 0 | 51 | 23 | 9 | 91 | 10 | 11 | 0 | 0 | 0 | |||
| Bordeaux (2 Seasons) | 3 Leagues | 46.3 | 16 | 1 | 0 | 74 | 0 | ||||||||||
| Rennes (1 Season) | 3 Leagues | 25.9 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | |||
| Ligue 1 (12 Seasons) | 237.9 | 74 | 4 | 0 | 355 | 289 | 103 | 508 | 57 | 143 | 3 | 0 | 0 | ||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 0 | 0 | 7 | 13 | 4 | 26 | 3 | 4 | 0 | 0 | 0 | ||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 0 | 0 | 3 | 4 | 0 | 5 | 0 | 1 | 0 | ||||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 2 | ||||||||||||||
| Premier League (2 Seasons) | 21.3 | 9 | 0 | 0 | 38 | 16 | 7 | 71 | 9 | 10 | 0 | 0 | 0 | ||||
| Europa Lg (2 Seasons) | 4.3 | 1 | 1 | 0 | 9 | 2 | 2 | 16 | 2 | 5 | 0 | ||||||
| EFL Cup (2 Seasons) | 3.6 | 3 | 0 | 0 | 13 | 5 | 2 | 15 | 1 | 0 | 0 | 0 | 0 | ||||
| Championship (1 Season) | 0.8 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | ||||
| Rel/Pro play-offs (1 Season) | 1.1 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | |||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2009-2010 | 18 | Bastia | fr FRA | 2. Ligue 2 | 20th | 20.1 | 7 | 1 | |||||||||||
| 2011-2012 | 20 | Bastia | fr FRA | 2. Ligue 2 | 1st | 31.9 | 5 | 1 | |||||||||||
| 2012-2013 | 21 | Bastia | fr FRA | 1. Ligue 1 | 12th | 22.7 | 5 | 0 | 24 | Matches | |||||||||
| 2013-2014 | 22 | Bastia | fr FRA | 1. Ligue 1 | 10th | 25.1 | 6 | 0 | 35 | Matches | |||||||||
| 2014-2015 | 23 | Bordeaux | fr FRA | 1. Ligue 1 | 6th | 26.2 | 8 | 0 | 44 | Matches | |||||||||
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Ligue 1 | 11th | 17.5 | 7 | 0 | 28 | Matches | |||||||||
| 2015-2016 | 24 | Sunderland | eng ENG | 1. Premier League | 17th | 11.9 | 3 | 0 | 18 | Matches | |||||||||
| 2016-2017 | 25 | Sunderland | eng ENG | 1. Premier League | 20th | 9.4 | 6 | 0 | 0 | 20 | 16 | 7 | 71 | 9 | 10 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | 2. Championship | 24th | 0.8 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | 1. Ligue 1 | 5th | 21.3 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Ligue 1 | 4th | 31.3 | 10 | 1 | 0 | 56 | 52 | 24 | 198 | 15 | 30 | 3 | 0 | 0 | Matches |
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Ligue 1 | 17th | 12.8 | 4 | 0 | 0 | 21 | 19 | 5 | 60 | 5 | 10 | 0 | Matches | ||
| 2020-2021 | 29 | Saint-Étienne | fr FRA | 1. Ligue 1 | 11th | 13.1 | 5 | 1 | 0 | 25 | 32 | 8 | 31 | 4 | 16 | 0 | Matches | ||
| 2021-2022 | 30 | Saint-Étienne | fr FRA | 1. Ligue 1 | 18th | 24.7 | 6 | 0 | 0 | 22 | 47 | 22 | 59 | 10 | 18 | 0 | Matches | ||
| 2022-2023 | 31 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 18.2 | 5 | 1 | 0 | 20 | 36 | 13 | 39 | 8 | 15 | 0 | Matches | ||
| 2023-2024 | 32 | Montpellier | fr FRA | 1. Ligue 1 | 12th | 12.6 | 6 | 0 | 0 | 19 | 23 | 7 | 11 | 4 | 18 | 0 | Matches | ||
| 2024-2025 | 33 | Montpellier | fr FRA | 1. Ligue 1 | 18th | 12.4 | 4 | 0 | 0 | 23 | 28 | 7 | 47 | 5 | 19 | 0 | Matches | ||
| 15 Seasons | 6 Clubs | 4 Leagues | 312.0 | 96 | 6 | 0 | 393 | 307 | 110 | 584 | 66 | 154 | 3 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bastia (4 Seasons) | 2 Leagues | 99.7 | 23 | 2 | 59 | ||||||||||||||
| Saint-Étienne (4 Seasons) | 1 League | 81.9 | 25 | 2 | 0 | 124 | 150 | 59 | 348 | 34 | 74 | 3 | 0 | 0 | |||||
| Montpellier (3 Seasons) | 1 League | 43.2 | 15 | 1 | 0 | 62 | 87 | 27 | 97 | 17 | 52 | 0 | |||||||
| Sunderland (3 Seasons) | 2 Leagues | 22.1 | 10 | 0 | 0 | 38 | 18 | 7 | 76 | 9 | 11 | 0 | 0 | 0 | |||||
| Bordeaux (2 Seasons) | 1 League | 43.8 | 15 | 0 | 72 | ||||||||||||||
| Rennes (1 Season) | 1 League | 21.3 | 8 | 1 | 0 | 38 | 52 | 17 | 63 | 6 | 17 | 0 | 0 | 0 | |||||
| Ligue 1 (12 Seasons) | 237.9 | 74 | 4 | 0 | 355 | 289 | 103 | 508 | 57 | 143 | 3 | 0 | 0 | ||||||
| Ligue 2 (2 Seasons) | 51.9 | 12 | 2 | ||||||||||||||||
| Premier League (2 Seasons) | 21.3 | 9 | 0 | 0 | 38 | 16 | 7 | 71 | 9 | 10 | 0 | 0 | 0 | ||||||
| Championship (1 Season) | 0.8 | 1 | 0 | 0 | 0 | 2 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | ||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2015-2016 | 24 | Bordeaux | fr FRA | 1. Coupe de la Ligue | 3rd | 1.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 25 | Sunderland | eng ENG | EFL Cup | 9th | 1.8 | 1 | 0 | 0 | 5 | 4 | 2 | 5 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Sunderland | eng ENG | EFL Cup | 17th | 1.8 | 2 | 0 | 0 | 8 | 1 | 0 | 10 | 1 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 26 | Rennes | fr FRA | Coupe de France | 33rd | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 26 | Rennes | fr FRA | 1. Coupe de la Ligue | 3rd | 3.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 27 | Saint-Étienne | fr FRA | Coupe de France | 17th | 1.5 | 1 | 0 | 0 | 1 | 0 | 1 | 6 | 2 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 27 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 17th | 0.6 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | Coupe de France | 2nd | 2.2 | 0 | 0 | 0 | 3 | 5 | 0 | 6 | 0 | 1 | 0 | Matches | ||
| 2019-2020 | 28 | Saint-Étienne | fr FRA | 1. Coupe de la Ligue | 5th | 0.7 | 0 | 0 | 0 | 3 | 4 | 0 | 5 | 0 | 1 | 0 | Matches | ||
| 2020-2021 | 29 | Saint-Étienne | fr FRA | Coupe de France | 33rd | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2021-2022 | 30 | Saint-Étienne | fr FRA | Coupe de France | R16 | 1.0 | 0 | 0 | 0 | 1 | 5 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 31 | Montpellier | fr FRA | Coupe de France | R64 | 0.7 | 0 | 0 | 0 | 1 | 1 | 1 | 7 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 32 | Montpellier | fr FRA | Coupe de France | R16 | 2.1 | 1 | 0 | 0 | 1 | 2 | 2 | 5 | 0 | 1 | 0 | Matches | ||
| 2024-2025 | 33 | Montpellier | fr FRA | Coupe de France | R64 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 10 Seasons | 5 Clubs | 3 Leagues | 18.6 | 7 | 0 | 0 | 23 | 22 | 6 | 46 | 4 | 5 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Saint-Étienne (4 Seasons) | 2 Leagues | 6.2 | 2 | 0 | 0 | 8 | 14 | 1 | 18 | 3 | 4 | 0 | 0 | 0 | |||||
| Montpellier (3 Seasons) | 1 League | 3.1 | 1 | 0 | 0 | 2 | 3 | 3 | 13 | 0 | 1 | 0 | |||||||
| Sunderland (2 Seasons) | 1 League | 3.6 | 3 | 0 | 0 | 13 | 5 | 2 | 15 | 1 | 0 | 0 | 0 | 0 | |||||
| Rennes (1 Season) | 2 Leagues | 4.6 | 0 | 0 | 0 | 0 | |||||||||||||
| Bordeaux (1 Season) | 1 League | 1.0 | 1 | 0 | 0 | 0 | |||||||||||||
| Coupe de France (8 Seasons) | 8.9 | 2 | 0 | 0 | 7 | 13 | 4 | 26 | 3 | 4 | 0 | 0 | 0 | ||||||
| Coupe de la Ligue (4 Seasons) | 6.0 | 2 | 0 | 0 | 3 | 4 | 0 | 5 | 0 | 1 | 0 | ||||||||
| EFL Cup (2 Seasons) | 3.6 | 3 | 0 | 0 | 13 | 5 | 2 | 15 | 1 | 0 | 0 | 0 | 0 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2015-2016 | 24 | Bordeaux | 2. Europa Lg | GR | 1.6 | 0 | 1 | 2 | Matches | |||||||||
| 2019-2020 | 28 | Saint-Étienne | 2. Europa Lg | GR | 2.7 | 1 | 0 | 0 | 7 | 2 | 2 | 16 | 2 | 5 | 0 | Matches | ||
| 2 Seasons | 2 Clubs | 1 League | 4.3 | 1 | 1 | 0 | 9 | 2 | 2 | 16 | 2 | 5 | 0 | |||||
| Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bordeaux (1 Season) | 1 League | 1.6 | 0 | 1 | 2 | |||||||||||||
| Saint-Étienne (1 Season) | 1 League | 2.7 | 1 | 0 | 0 | 7 | 2 | 2 | 16 | 2 | 5 | 0 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013 | 21 | tn Tunisia | Africa Cup of Nations | GR | 0.7 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2014 | 22 | tn Tunisia | WCQ | 1.4 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2014 | 22 | tn Tunisia | Friendlies (M) | 0.5 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2015 | 23 | tn Tunisia | Friendlies (M) | 1.7 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2015 | 23 | tn Tunisia | Africa Cup of Nations | QF | 3.4 | 1 | 0 | 0 | 9 | 5 | 1 | 17 | 4 | 2 | 0 | 0 | 0 | Matches |
| 2015 | 23 | tn Tunisia | Africa Cup of Nations qualification | 4.5 | 3 | 0 | 0 | 0 | Matches | |||||||||
| 2016 | 24 | tn Tunisia | Friendlies (M) | 0.6 | 0 | 1 | 0 | 0 | Matches | |||||||||
| 2017 | 25 | tn Tunisia | Friendlies (M) | 0.2 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2017 | 25 | tn Tunisia | Africa Cup of Nations | QF | 2.7 | 0 | 0 | 0 | 2 | 3 | 2 | 10 | 1 | 5 | 1 | 0 | 0 | Matches |
| 2017 | 25 | tn Tunisia | Africa Cup of Nations qualification | 2.5 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2018 | 26 | tn Tunisia | WCQ | 4.6 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2018 | 26 | tn Tunisia | Friendlies (M) | 2.7 | 3 | 0 | 0 | 0 | Matches | |||||||||
| 2018 | 27 | tn Tunisia | 1. World Cup | GR | 2.9 | 0 | 0 | 0 | 3 | 4 | 4 | 9 | 1 | 2 | 0 | 0 | 0 | Matches |
| 2019 | 27 | tn Tunisia | Friendlies (M) | 1.9 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2019 | 27 | tn Tunisia | Africa Cup of Nations | 4th | 6.9 | 1 | 0 | 0 | 9 | 14 | 4 | 34 | 4 | 6 | 0 | Matches | ||
| 2019 | 27 | tn Tunisia | Africa Cup of Nations qualification | 2.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2020 | 28 | tn Tunisia | Friendlies (M) | 1.7 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2021 | 29 | tn Tunisia | Friendlies (M) | 1.7 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2021 | 29 | tn Tunisia | Africa Cup of Nations | QF | 2.9 | 1 | 0 | 0 | 5 | 1 | 1 | 11 | 1 | 3 | 0 | Matches | ||
| 2021 | 29 | tn Tunisia | Africa Cup of Nations qualification | 3.7 | 2 | 0 | 0 | 0 | Matches | |||||||||
| 2022 | 31 | tn Tunisia | 1. World Cup | GR | 0.9 | 0 | 0 | 0 | 1 | 2 | 2 | 2 | 0 | 0 | 0 | Matches | ||
| 2022 | 30 | tn Tunisia | WCQ | 4.6 | 2 | 0 | 0 | 0 | Matches | |||||||||
| 2022 | 30 | tn Tunisia | Friendlies (M) | 1.1 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 10 Seasons | 1 Club | 5 Leagues | 55.8 | 18 | 1 | 0 | 29 | 29 | 14 | 83 | 11 | 18 | 1 | 0 | 0 | |||
| Friendlies (M) (9 Seasons) | 12.1 | 5 | 1 | 0 | 0 | |||||||||||||
| Africa Cup of Nations (5 Seasons) | 16.6 | 4 | 0 | 0 | 25 | 23 | 8 | 72 | 10 | 16 | 1 | 0 | 0 | |||||
| Africa Cup of Nations qualification (4 Seasons) | 12.8 | 5 | 0 | 0 | 0 | |||||||||||||
| WCQ (3 Seasons) | 10.5 | 4 | 0 | 0 | 0 | |||||||||||||
| World Cup (2 Seasons) | 3.8 | 0 | 0 | 0 | 4 | 6 | 6 | 11 | 1 | 2 | 0 | 0 | 0 | |||||
About FBref.com
FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.
FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries.
Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons.
You can sign up to receive an e-mail when new countries and features launch.
For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.
FBref is one of seven Sports-Reference.com sites.

Player Club Summary