| 19-10 | 35 | | Chrono des Nations U23 (1.2U) | 26.0km |
| 09-08 | DNS | | National Road Championships - France U23 (CN) | |
| | | Tour Alsace (2.2) |
| 23 | | Klassement |
| 13 | | Jongeren |
| 03-08 | 25 | 23 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 49 | 28 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 32 | 31 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 126 | 48 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 7 | 42 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 36 | | Klassement |
| 22-06 | 53 | 36 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 25 | 38 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 113 | 52 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 53 | 41 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 110 | 39 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 38 | 38 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 104 | 48 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 57 | 57 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Flèche du Sud (2.2) |
| 45 | | Klassement |
| 17 | | Jongeren |
| 01-06 | 57 | 45 | Stage 4Esch-sur-Alzette - Esch-sur-Alzette (165.0km) | 165.0km |
| 31-05 | 53 | 50 | Stage 3Canach - Canach (195.0km) | 195.0km |
| 30-05 | 50 | 49 | Stage 2Sanem - Sanem (160.0km) | 160.0km |
| 29-05 | 80 | 80 | Stage 1Rumelange - Rumelange (151.0km) | 151.0km |
| 28-05 | 80 | 80 | PrologueDudelange - Dudelange (7.0km) | 7.0km |
| | | Il Giro d'Abruzzo (2.1) |
| 16-04 | DNF | | Stage 2Tocco da Casauria - Penne (138.0km) | 138.0km |
| 15-04 | 118 | 118 | Stage 1Scerni - Crecchio (151.0km) | 151.0km |