| | | Tour of Hainan (2.HC) |
| 105 | | Klassement |
| 26 | | Berg |
| 31-10 | 102 | 105 | Stage 9Changjiang - Danzhou (181.0km) | 181.0km |
| 30-10 | 109 | 104 | Stage 8Longmuwan - Changjiang (197.0km) | 197.0km |
| 29-10 | 112 | 89 | Stage 7Wuzhishan - Sanya (127.0km) | 127.0km |
| 28-10 | 92 | 91 | Stage 6Lingshui - Wuzhishan (193.0km) | 193.0km |
| 27-10 | 106 | 95 | Stage 5Wanning - Lingshui (178.0km) | 178.0km |
| 26-10 | 84 | 90 | Stage 4Qionghai - Wanning (142.0km) | 142.0km |
| 25-10 | 89 | 93 | Stage 3Chengmai - Qionghai (231.0km) | 231.0km |
| 24-10 | 71 | 98 | Stage 2Danzhou - Chengmai (139.0km) | 139.0km |
| 23-10 | 120 | 119 | Stage 1Danzhou - Danzhou (90.0km) | 90.0km |
| | | Tour of Taihu Lake (2.1) |
| 41 | | Klassement |
| 14-10 | 81 | 41 | Stage 8Wuxing - Changxing (137.0km) | 137.0km |
| 13-10 | 69 | 44 | Stage 7Wujiang - Wujiang (116.0km) | 116.0km |
| 12-10 | 87 | 43 | Stage 6Nantong - Haimen (146.0km) | 146.0km |
| 11-10 | 93 | 43 | Stage 5Jiangnan - Jiangnan (98.0km) | 98.0km |
| 10-10 | 78 | 43 | Stage 4Jinhu - Jinhu (88.0km) | 88.0km |
| 09-10 | 66 | 43 | Stage 3Jurong Chishanhu - Maoshan (130.0km) | 130.0km |
| 08-10 | 87 | 32 | Stage 2Wuxi - Binhu (85.0km) | 85.0km |
| 07-10 | 33 | 33 | Stage 1Wuxi - Wuxi (5.0km) | 5.0km |
| 23-09 | 27 | | Tour du Gévaudan Occitanie (1.2) | |
| 24-08 | 14 | | National Road Championships - France U23
(CN) | |
| | | Tour du Limousin (2.1) |
| 87 | | Klassement |
| 18-08 | 100 | 87 | Stage 4Bellac - Limoges (163.0km) | 163.0km |
| 17-08 | 102 | 84 | Stage 3Egletons - Uzerche (190.0km) | 190.0km |
| 16-08 | 49 | 66 | Stage 2Rouffiac - Coteau de Grèzes (176.0km) | 176.0km |
| 15-08 | 104 | 104 | Stage 1Saint-Just-le-Martel - Bonnat (172.0km) | 172.0km |
| 05-08 | 34 | | La Poly Normande (1.1) | |
| | | Le Tour de Savoie Mont Blanc (2.2) |
| 38 | | Klassement |
| 22 | | Punten |
| 19 | | Berg |
| 24-06 | 73 | 38 | Stage 5Bonneville - Cluses (139.0km) | 139.0km |
| 23-06 | 40 | 29 | Stage 4Chambéry - Les Belleville (184.0km) | 184.0km |
| 22-06 | 34 | 18 | Stage 2Modane - Valloire (92.0km) | 92.0km |
| 22-06 | 63 | 19 | Stage 3Orelle - Orelle (7.0km) | 7.0km |
| 21-06 | 11 | 7 | Stage 1Saint-Michel-de-Maurienne - Bonneval (150.0km) | 150.0km |
| | | Ronde de l'Isard (2.2U) |
| 20-05 | DNS | | Stage 4Salies-du-Salat - Saint-Girons (152.0km) | 152.0km |
| 19-05 | 111 | 48 | Stage 3Lévignac - Boulogne-sur-Gesse (153.0km) | 153.0km |
| 18-05 | 31 | 26 | Stage 2Fonsorbes - Goulier Neige (154.0km) | 154.0km |
| 17-05 | 10 | 10 | Stage 1Lorp - Eycheil (125.0km) | 125.0km |
| | | Toscana Terra di Ciclismo Eroica (2.2U) |
| 01-05 | DNF | | Stage 3Cesa-Marciano della Chiana - Buonconvento (163.0km) | 163.0km |
| 30-04 | 49 | 33 | Stage 2Radicofani - Abbadia S.Salvatore (156.0km) | 156.0km |
| 28-04 | 34 | 34 | Stage 1Paganico - Cinigiano (146.0km) | 146.0km |
| | | Tour du Jura Cycliste (2.2) |
| 5 | | Klassement |
| 22-04 | 14 | 5 | Stage 2Villeneuve-sous-Pymont - Arbois (161.0km) | 161.0km |
| 21-04 | 5 | 5 | Stage 1Poligny - Salins-Les-Bains (163.0km) | 163.0km |
| 07-04 | 3 | | Trofeo Edil C (1.2U) | |
| 02-04 | 19 | | Giro del Belvedere (1.2U) | |
| 01-04 | 52 | | 70° Trofeo Piva (1.2U) | |