| 04-12 | 51 | | Coupe de France de Cyclo-Cross #6 - Troyes U23 (C2) | |
| 03-12 | 110 | | Coupe de France de Cyclo-Cross #5 - Troyes (C2) | |
| 20-11 | 49 | | Coupe de France de Cyclo-Cross #4 - Camors U23 (C2) | |
| 19-11 | 98 | | Coupe de France de Cyclo-Cross #3 - Camors (C2) | |
| | | La Philippe Gilbert juniors (2.1) |
| 3 | | Standings |
| 5 | | Mountain |
| 09-10 | 4 | 3 | Stage 2Harzé - Remouchamps | 118.0km |
| 08-10 | 16 | 16 | Stage 1Harzé - La Gleize | 82.0km |
| 23-09 | 7 | | UCI World Championship Wollongong U19 (CM) | 135.0km |
| 20-09 | 10 | | UCI World Championship Wollongong TT U19 (CM) | 28.0km |
| | | Giro Della Lunigiana (2.1) |
| 16 | | Standings |
| 4 | | Points |
| 4 | | Mountain |
| 04-09 | 1 | 16 | Stage 4Ceparana - Casano | 102.0km |
| 03-09 | 4 | 21 | Stage 3Pontremoli - Fivizzano | 97.0km |
| 02-09 | 13 | 45 | Stage 2bMassa - San Carlo Terme | 56.0km |
| 02-09 | 137 | 73 | Stage 2aPortovenere - Sarzana | 46.0km |
| 01-09 | 34 | 34 | Stage 1Portofino - La Spezia | 91.0km |
| | | Vuelta Junior a la Ribera del Duero (2.1) |
| 8 | | Standings |
| 10 | | Mountain |
| 21-08 | 5 | 8 | Stage 3Aranda de Duero - Aranda de Duero | 115.0km |
| 20-08 | 88 | 35 | Stage 2Langa de Duero - San Esteban de Gormaz | 94.0km |
| 19-08 | 8 | 9 | Stage 1Caleruega - Pedrosa de Duero | 102.0km |
| 11-08 | 33 | | National Road Championships - France TT U19 (CN) | 18.0km |
| 09-08 | 33 | | National Road Championships - France U19 (CN) | 125.0km |
| | | Ain Bugey Valromey Tour (2.1) |
| 13 | | Standings |
| 9 | | Points |
| 5 | | Mountain |
| 17-07 | 2 | 13 | Stage 5Artemare - Hauteville-Lompnès | 102.0km |
| 16-07 | 5 | 29 | Stage 4Izernore - Injoux-Génissiat | 93.0km |
| 15-07 | 16 | 36 | Stage 3Loyettes - Ambérieu-en-Bugey | 94.0km |
| 14-07 | 72 | 63 | Stage 2Saint-Victor-de-Morestel - Morestel | 98.0km |
| 13-07 | 86 | 87 | Stage 1Culoz - Belley | 104.0km |
| 09-07 | 30 | | UEC Road European Championships U19 (CC) | 125.0km |
| 07-07 | 7 | | UEC Road European Championships TT U19 (CC) | 22.0km |
| | | LVM Saarland Trofeo (2.NCUP) |
| 2 | | Standings |
| 11 | | Points |
| 4 | | Mountain |
| 12-06 | 36 | 2 | Stage 4Gersheim - Gersheim | 126.0km |
| 11-06 | 3 | 2 | Stage 3bAßweiler - Bitche | 125.0km |
| 11-06 | 4 | 2 | Stage 3aZweibrücken - Zweibrücken | 14.0km |
| 10-06 | 3 | 2 | Stage 2Friedrichsthal - Bexbach | 84.0km |
| 09-06 | 94 | 90 | Stage 1Bliesbruck-Reinheim - Neunkirchen | 98.0km |
| 04-06 | 32 | | La Classique des Alpes Juniors (1.1) | 128.0km |
| | | Trophée Centre Morbihan (2.NCUP) |
| 22-05 | 7 | 7 | Stage 2aRéguiny - Évellys | 7.0km |
| 22-05 | 26 | 15 | Stage 2bBuléon - Locminé | 109.0km |
| 21-05 | 39 | 39 | Stage 1Pluvigner - Pluvigner | 115.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 11 | | Standings |
| 11 | | Points |
| 19 | | Mountain |
| 08-05 | 19 | 11 | Stage 4Terezín - Terezín | 96.0km |
| 07-05 | 5 | 11 | Stage 3Teplice - Olbernhau | 121.0km |
| 06-05 | 7 | 17 | Stage 2bSteti - Steti | 57.0km |
| 06-05 | 17 | 17 | Stage 2aTrebenice - Trebenice | 11.0km |
| 05-05 | 14 | 16 | Stage 1Litomerice - Litomerice | 102.0km |
| | | XXVIII. Gipuzkoa Klasikoa (2.1) |
| 5 | | Standings |
| 9 | | Mountain |
| 24-04 | 7 | 5 | Stage 2Egia - Egia | 108.0km |
| 23-04 | 8 | 8 | Stage 1Deba - Deba | 105.0km |
| 27-03 | 18 | | Gent-Wevelgem / Grote Prijs A. Noyelle-Ieper U19 (1.NCUP) | 123.0km |
| 20-03 | 5 | | Bernaudeau Junior (1.1) | |
| 27-02 | 3 | | Kuurne-Brussel-Kuurne U19 (1.1) | |
| 09-01 | 24 | | French National Championships CX U19 (CN) | |