| 12-10 | 1 | | Paris - Tours Espoirs (1.2U) | 176.0km |
| 04-10 | 2 | | UEC Road European Championships U23 (CC) | 121.0km |
| 01-10 | 4 | | UEC Road European Championships TT U23 (CC) | 24.0km |
| 26-09 | 13 | | UCI World Championship Kigali U23 (CM) | 164.0km |
| 22-09 | 3 | | UCI World Championship Kigali TT U23 (CM) | 31.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 7 | 1 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo | 41.0km |
| 29-08 | 8 | 5 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan | 10.0km |
| 28-08 | 12 | 1 | Stage 5Saint-Gervais Mont-Blanc - Tignes | 121.0km |
| 27-08 | 70 | 1 | Stage 4Montagnat - Val Suran | 110.0km |
| 26-08 | 51 | 1 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne | 158.0km |
| 25-08 | 10 | 1 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais | 136.0km |
| 24-08 | 88 | 13 | Stage 1Aoste - Saint-Galmier | 188.0km |
| 23-08 | 12 | 12 | PrologueTignes - Tignes | 3.0km |
| 09-08 | 31 | | National Road Championships - France U23 (CN) | |
| 06-08 | 2 | | National Road Championships - France TT U23 (CN) | |
| | | Tour Alsace (2.2) |
| 10 | | Standings |
| 5 | | Youth |
| 03-08 | 13 | 10 | Stage 5Ribeauville - Champ du Feu | 135.0km |
| 02-08 | 59 | 13 | Stage 4Ferrette - Altkirch | 133.0km |
| 01-08 | 16 | 13 | Stage 3Velleminfroy - La Planche des Belles Filles | 141.0km |
| 31-07 | 129 | 26 | Stage 2Rust (Europapark) - Selestat | 168.0km |
| 30-07 | 10 | 24 | Stage 1Sausheim - Sausheim | 4.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| 26-06 | 8 | | National Road Championships - France TT (CN) | 26.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 44 | | Standings |
| 53 | | Points |
| 22-06 | 59 | 44 | Stage 8Pinerolo - Pinerolo | 127.0km |
| 21-06 | 33 | 43 | Stage 7Bra - Prato Nevoso | 163.0km |
| 20-06 | 137 | 61 | Stage 6Ovada - Acqui Terme | 154.0km |
| 19-06 | 42 | 39 | Stage 5Fiorenzuola d'Arda - Gavi | 153.0km |
| 18-06 | 120 | 60 | Stage 4Manerbio - Salsomaggiore Terme | 134.0km |
| 17-06 | 53 | 48 | Stage 3Albese con Cassano - Passo del Maniva | 144.0km |
| 16-06 | 49 | 9 | Stage 2Rho - Cantù | 146.0km |
| 15-06 | 8 | 8 | Stage 1Rho - Rho | 8.0km |
| | | Alpes Isère Tour (2.2) |
| 2 | | Standings |
| 5 | | Points |
| 10 | | Mountain |
| 2 | | Youth |
| 01-06 | 4 | 2 | Stage 5Saint-Joseph-de-Rivière - La Mure | 181.0km |
| 31-05 | 20 | 9 | Stage 4Primarette - Saint-Maurice-l'Exil | 176.0km |
| 30-05 | 40 | 8 | Stage 3Colombier-Saugnieu - Jons | 159.0km |
| 29-05 | 2 | 8 | Stage 2Dolomieu - Satolas-et-Bonce | 153.0km |
| 28-05 | 58 | 58 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux | 135.0km |
| 19-04 | 4 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 13-04 | 13 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 04-04 | 18 | | La Route Adélie de Vitré (1.1) | 174.0km |
| 02-04 | 31 | | Paris - Camembert (1.1) | 199.0km |
| 21-03 | 42 | | Youngster Coast Challenge (1.2U) | 170.0km |
| | | O Gran Camiño - The Historical Route (2.1) |
| 12 | | Standings |
| 17 | | Points |
| 21 | | Mountain |
| 3 | | Youth |
| 02-03 | 16 | 12 | Stage 5Betanzos - Santiago de Compostela | 165.0km |
| 01-03 | 19 | 13 | Stage 4A Pobra do Brollón - O Cebreiro | 142.0km |
| 28-02 | 3 | 5 | Stage 3Ourense - Pereiro de Aguiar | 15.0km |
| 27-02 | 34 | 32 | Stage 2Marín - Lalín/a Estrada | 144.0km |
| 26-02 | 49 | 53 | Stage 1Maia - Matosinhos | 190.0km |
| | | Etoile de Bessèges - Tour du Gard (2.1) |
| 15 | | Standings |
| 17 | | Points |
| 13 | | Mountain |
| 2 | | Youth |
| 09-02 | 5 | 15 | Stage 5Alès - Alès | 10.0km |
| 08-02 | 16 | 26 | Stage 4Vauvert - Le Mont Bouquet | 119.0km |
| 07-02 | 45 | 45 | Stage 3Bessèges - Bessèges | 136.0km |
| 06-02 | 95 | 91 | Stage 2Domessargues - Marguerittes | 165.0km |
| 05-02 | 92 | 92 | Stage 1Bellegarde - Bellegarde | 159.0km |
| 02-02 | 63 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.0km |