
Wszechstronny atakujący, który zawodowcem został dopiero w wieku 24 lat, a w 2026 roku wygrał z RC Lens Puchar Francji.
Urodził się 25 października 1990 roku w Narbonne. Wychowywał się w tamtejszym FU Narbonne i jako senior grał w nim w amatorskich rozgrywkach. Amatorskie pieniądze, kilkaset euro miesięcznie, nie wystarczały na życie, więc dorabiał w sklepie z butami swojego wuja w Narbonne, gdzie przyjmował dostawy. Przez dwa lata studiował też na uniwersytecie w Montpellier na kierunku STAPS, czyli nauk o sporcie.
W 2013 roku przeszedł do amatorskiego FC Martigues, a potem grał w AS Béziers. Latem 2013 roku, jeszcze jako zawodnik Martigues, pojechał z reprezentacją uniwersytecką Francji na letnią uniwersjadę. W finale z Wielką Brytanią otworzył wynik głową w 15. minucie, Francja prowadziła 2:0, ale rywale doprowadzili do remisu w doliczonym czasie, a Francuzi wygrali 3:2 po dogrywce.
Zawodowy kontrakt podpisał w Montpellier HSC, gdy miał 24 lata. Prawie nie grał: jak sam mówił, w Ligue 1 wszedł z ławki tylko raz. Kiedy kończył mu się kontrakt, a on był w impasie, odezwał się Grenoble Foot 38, grający wtedy w amatorskim CFA i borykający się z kłopotami finansowymi. Do projektu przekonał go trener Olivier Guégan. W Grenoble Sotoca od razu został jednym z liderów zespołu, który w ciągu dwóch lat awansował z CFA przez National do Ligue 2. Guégana zwolniono tuż po awansie. Piłkarze nie rozumieli tej decyzji i wysłali do zarządu list.
Latem 2019 roku, mając 28 lat, przeszedł do RC Lens. Interesowały się nim kluby z Ligue 1 i zagraniczne, ale wybrał Lens, wtedy grający w Ligue 2. Mówił, że jego droga jest nietypowa, bo późno został zawodowcem i wrócił do amatorów, a Lens to dla niego „inny świat”. W pierwszym meczu dla nowego klubu strzelił gola na wyrównanie z Le Mans. 9 marca 2020 roku, w meczu bez publiczności z powodu epidemii koronawirusa, strzelił z rzutu karnego jedynego gola z Orléans. Kilka dni później rozgrywki zawieszono, a Liga Piłkarska zdecydowała o awansie Lens do Ligue 1. Sotoca nie wiedział jeszcze, że zdobył decydującego gola awansu.
Pierwszy pełny sezon w Ligue 1, 2020/2021, rozegrał jako 30-latek. W sezonie 2021/2022 trener Franck Haise polecił mu cofać się do środka pola i pomagać w obronie. W pierwszej kolejce sezonu 2022/2023 strzelił Brestowi trzy gole w wygranym 3:2 meczu, swojego pierwszego hat-tricka w zawodowej karierze. Wcześniej ostatnie trzy gole w jednym meczu zdobył w regionalnej lidze z FU Narbonne. Wiosną 2023 roku Haise ustawił go także jako prawego wahadłowego. W sezonie 2023/2024 Lens grał w fazie grupowej Ligi Mistrzów, a Sotoca wyszedł w pierwszym składzie między innymi w wygranym 2:1 meczu z Arsenalem w Lens 3 października 2023 roku.
4 lutego 2026 roku w wygranym 4:2 meczu 1/8 finału Pucharu Francji w Troyes strzelił gola głową i asystował przy czwartym golu Lens. 22 maja 2026 roku wszedł na boisko w 77. minucie finału z Nice, zmieniając kontuzjowanego Floriana Thauvina. Lens wygrał 3:1 i po raz pierwszy w historii zdobył Puchar Francji.
Ma wielką zdolność do wysiłku: biega bez przerwy i bez ustanku naciska rywali. Trener Franck Haise mówił o nim w 2023 roku, że potrafi groźnie atakować i dobrze bronić, ma przywódcze cechy, jest silny w grze głową i może grać jako środkowy napastnik, ofensywny skrzydłowy lub wahadłowy. Olivier Guégan, jego trener z Grenoble, uważał, że najlepiej wykorzystuje swój potencjał w osi boiska, bo poprawia grę kolegów.
1
co 335 minut
0
6,6
Minuty w sezonie
335′6 z 9 meczów
| Sezon | Klub | Rozgrywki | M | Min | Gole | Asysty |
|---|---|---|---|---|---|---|
| 2026/2027Superpuchar Francji | RC Lens | Superpuchar Francji | 0 | – | 0 | 0 |
| 2026/2027Como Cup | RC Lens | Como Cup | 1 | 120 | 0 | 0 |
| 2025/2026Ligue 1 | RC Lens | Ligue 1 | 26 | 553 | 1 | 0 |
| 2024/2025Ligue 1 | RC Lens | Ligue 1 | 31 | 1797 | 1 | 1 |
| 2024/2025Liga Konferencji | RC Lens | Liga Konferencji | 2 | 180 | 0 | 1 |
| 2023/2024Ligue 1 | RC Lens | Ligue 1 | 32 | 2604 | 7 | 6 |
| 2022/2023Ligue 1 | RC Lens | Ligue 1 | 26 | 2124 | 6 | 7 |
| 2021/2022 | RC Lens | – | – | – | – | |
| 2020/2021 | RC Lens | – | – | – | – | |
| 2019/2020 | RC Lens | – | – | – | – | |
| 2018/2019 | Grenoble | – | – | – | – | |
| 2017/2018 | Grenoble | – | – | – | – | |
| 2016/2017 | Grenoble | – | – | – | – | |
| 2015/2016Ligue 1 | Montpellier HSC | Ligue 1 | 0 | – | 0 | 0 |
| 2014/2015Ligue 1 | Montpellier HSC | Ligue 1 | 0 | – | 0 | 0 |
| 2013/2014 | Martigues | – | – | – | – | |
| 2012/2013 | Narbonne | – | – | – | – |





