| | | Ronde de l'Isard (2.2U) |
| 14 | | Klassement |
| 2 | | Punten |
| 1 | | Berg |
| 02-10 | 1 | 14 | Stage 5Laroque-d'Olmes - Saint-Girons (153.0km) | 153.0km |
| 01-10 | 29 | 15 | Stage 4Saint-Aventi - Guzet Neige (131.0km) | 131.0km |
| 30-09 | 1 | 8 | Stage 3Carbonne - Goulier Neige (126.0km) | 126.0km |
| 29-09 | 2 | 19 | Stage 2aBagnères-de-Bigorre - Bagnères-de-Bigorre (22.0km) | 22.0km |
| 29-09 | 2 | 15 | Stage 2bBagnères-de-Bigorre - Gavarnie-Gèdre (71.0km) | 71.0km |
| 28-09 | 43 | 43 | Stage 1Castelsarrasin - Saverdun (157.0km) | 157.0km |
| 04-09 | 14 | | Tour du Doubs (1.1) | 204.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 8 | | Klassement |
| 32 | | Punten |
| 21 | | Berg |
| 4 | | Jongeren |
| 28-08 | 10 | 8 | Stage 9Bessans - Villaroger (134.0km) | 134.0km |
| 27-08 | 6 | 8 | Stage 8Ugine - La Toussuire (99.0km) | 99.0km |
| 26-08 | 17 | 13 | Stage 7Thonon-les-Bains - Saint-François-Longchamp (175.0km) | 175.0km |
| 24-08 | 13 | 13 | Stage 6Saint-Amour - Oyonnax (124.0km) | 124.0km |
| 23-08 | | 30 | Stage 5Gueugnon - Saint-Vallier (27.0km) | 27.0km |
| 22-08 | 39 | 38 | Stage 4Sainte-Sévère-sur-Indre - Chaillac (142.0km) | 142.0km |
| 21-08 | 63 | 70 | Stage 3Civray - La Trimouille (153.0km) | 153.0km |
| 20-08 | 74 | 80 | Stage 2Benet - Civray (142.0km) | 142.0km |
| 19-08 | 86 | 86 | Stage 1La Roche-sur-Yon - La Roche-sur-Yon (121.0km) | 121.0km |
| 11-08 | 5 | | National Road Championships - France TT U23 (CN) | 18.0km |
| 10-08 | DNF | | National Road Championships - France U23 (CN) | 162.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 1 | | Klassement |
| 2 | | Punten |
| 6 | | Berg |
| 17-07 | 10 | 1 | Stage 5Valtournenche - Cervinia (119.0km) | 119.0km |
| 16-07 | 2 | 1 | Stage 4Pont-Saint-Martin - Fontainemore (173.0km) | 173.0km |
| 15-07 | 37 | 1 | Stage 3Aosta - Aosta (138.0km) | 138.0km |
| 14-07 | 7 | 1 | Stage 2Saint-Christophe - Saint-Christophe (124.0km) | 124.0km |
| 13-07 | 2 | 2 | Stage 1Saint-Gervais Mont-Blanc - Saint-Gervais Mont-Blanc (82.0km) | 82.0km |
| | | Baby Giro (2.2U) |
| 3 | | Klassement |
| 13 | | Punten |
| 1 | | Berg |
| 18-06 | 18 | 3 | Stage 7Cuneo - Pinerolo (142.0km) | 142.0km |
| 17-06 | 2 | 3 | Stage 6Boves - Colle Fauniera (110.0km) | 110.0km |
| 16-06 | 47 | 7 | Stage 5Busca - Peveragno (146.0km) | 146.0km |
| 14-06 | 50 | 6 | Stage 4Chiuro - Chiavenna (101.0km) | 101.0km |
| 13-06 | 5 | 5 | Stage 3Pinzolo - Santa Caterina Valfurva (177.0km) | 177.0km |
| 12-06 | 84 | 77 | Stage 2Rossano Veneto - Pinzolo (168.0km) | 168.0km |
| 11-06 | 120 | 119 | Stage 1Gradara - Argenta (163.0km) | 163.0km |
| 31-05 | 8 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 167.0km |
| 08-05 | 85 | | Flèche Ardennaise (1.2) | 168.0km |
| | | Tour of the Alps (2.Pro) |
| 14 | | Klassement |
| 22-04 | 30 | 14 | Stage 5Lienz - Lienz (115.0km) | 115.0km |
| 21-04 | 18 | 13 | Stage 4Villabassa - Kals am Großglockner (142.0km) | 142.0km |
| 20-04 | 20 | 15 | Stage 3Lana - Villabassa (154.0km) | 154.0km |
| 19-04 | 14 | 16 | Stage 2Fiera di Primiero - Lana (154.0km) | 154.0km |
| 18-04 | 39 | 38 | Stage 1Clès - Fiera di Primiero (160.0km) | 160.0km |
| 16-04 | 30 | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| | | Circuit des Ardennes (2.2) |
| 20 | | Klassement |
| 11 | | Jongeren |
| 09-04 | 22 | 20 | Stage 4Charleville-Mézières - Charleville-Mézières (175.0km) | 175.0km |
| 07-04 | 18 | 20 | Stage 2Bazeilles - Sedan (133.0km) | 133.0km |
| 06-04 | 74 | 74 | Stage 1Signy-le-Petit - Signy-le-Petit (165.0km) | 165.0km |
| 06-03 | 47 | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | |
| 02-03 | 37 | | Trofeo Laigueglia (1.Pro) | 202.0km |