| 30-11 | 1 | | UCI Cyclo-cross World Cup - Flamanville U23 (CDM) | |
| 23-11 | 2 | | UCI Cyclo-cross World Cup - Tabor U23 (CDM) | |
| 16-11 | 1 | | Coupe de France de Cyclo-Cross #4 - Quelneuc (C2) | |
| 15-11 | 1 | | Coupe de France de Cyclo-Cross #3 - Quelneuc (C2) | |
| 08-11 | 6 | | UEC Cyclo-cross European Championships U23 (CC) | |
| 01-11 | 1 | | X²O Badkamers Trofee - Koppenbergcross U23 (C1) | |
| 26-10 | 1 | | Coupe de France de Cyclo-Cross #2 - Albi (C2) | |
| 25-10 | 1 | | Coupe de France de Cyclo-Cross #1 - Albi (C2) | |
| 09-08 | DNF | | National Road Championships - France U23 (CN) | |
| 06-08 | 9 | | National Road Championships - France TT U23 (CN) | |
| | | Tour Alsace (2.2) |
| 14 | | Klassement |
| 2 | | Punten |
| 11 | | Berg |
| 8 | | Jongeren |
| 03-08 | 1 | 14 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 30 | 24 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 23 | 26 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 6 | 104 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 40 | 104 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 32 | | Klassement |
| 1 | | Punten |
| 19 | | Berg |
| 9 | | Jongeren |
| 22-06 | 5 | 32 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 39 | 39 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 25 | 46 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 75 | 52 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 3 | 36 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 40 | 39 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 2 | 17 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 28 | 28 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Alpes Isère Tour (2.2) |
| 1 | | Klassement |
| 1 | | Punten |
| 4 | | Berg |
| 1 | | Jongeren |
| 01-06 | 1 | 1 | Stage 5Saint-Joseph-de-Rivière - La Mure (181.0km) | 181.0km |
| 31-05 | 2 | 8 | Stage 4Primarette - Saint-Maurice-l'Exil (176.0km) | 176.0km |
| 30-05 | 2 | 11 | Stage 3Colombier-Saugnieu - Jons (159.0km) | 159.0km |
| 29-05 | 4 | 16 | Stage 2Dolomieu - Satolas-et-Bonce (153.0km) | 153.0km |
| 28-05 | 23 | 24 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux (135.0km) | 135.0km |
| 11-05 | DNF | | Tro-Bro Léon (1.Pro) | 203.0km |
| 09-05 | 1 | | Tour du Finistère Pays de Quimper (1.1) | 168.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 3 | | Klassement |
| 11 | | Punten |
| 13 | | Berg |
| 2 | | Jongeren |
| 01-05 | 11 | 3 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 2 | 3 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 29 | 4 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 6 | 5 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 46 | 51 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 18 | 54 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 116 | 106 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 13-04 | 34 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 59 | | Klassement |
| 11 | | Jongeren |
| 11-04 | 63 | 59 | Stage 4Sillé-le-Guillaume - Le Mans (186.0km) | 186.0km |
| 10-04 | 64 | 70 | Stage 3Tiercé - Hambers (165.0km) | 165.0km |
| 09-04 | 85 | 71 | Stage 2La Bernardière - Beaupréau (158.0km) | 158.0km |
| 08-04 | 65 | 65 | Stage 1Machecoul-Saint-Même - La Baule-Escoublac (208.0km) | 208.0km |
| 04-04 | DNF | | La Route Adélie de Vitré (1.1) | 174.0km |
| 02-04 | 24 | | Paris - Camembert (1.1) | 199.0km |
| 30-03 | 78 | | La Roue Tourangelle (1.1) | 197.0km |
| 01-02 | 6 | | UCI Cyclo-cross World Championships Liévin U23 (CM) | |
| 26-01 | 2 | | UCI Cyclo-cross World Cup - Hoogerheide U23 (CDM) | |
| 19-01 | 3 | | UCI Cyclo-cross World Cup - Benidorm U23 (CDM) | |
| 11-01 | 2 | | French National Championships CX U23 (CN) | |