20.10 | 4 | | | Cyclo-cross de Sécheval (NAT) | | | | more |
06.10 | 22 | | | Paris - Tours Espoirs (1.2U) | 178.9 | | | more |
27.09 › 29.0927-29/9 | | | | Tour d'Eure-et-Loir (2.2) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 33 | | | Points classificationPoints classification | | | | |
| 20 | | | General classificationGeneral classification | | | | |
29.09 | 40 | | | S3Stage 3 - Vernouillet › Chartres | 190 | | | |
28.09 | 10 | 15 | | S2Stage 2 - Les Villages Vovéens › Vald'Yerre | 197.5 | | | |
27.09 | 19 | 19 | | S1Stage 1 - Le Coudray › Mignières | 146.9 | | | |
22.09 | 106 | | | Paris-Chauny (1.1) Lotto Dstny | 197.2 | | | more |
13.09 | 31 | | | European Continental Championships MU - Road Race (CC) France | 162 | | | more |
07.09 | DNF | | | GP Rik Van Looy (1.2) | 181.1 | | | more |
22.08 › 25.0822-25/8 | | | | West Bohemia Tour (2.2U) | | | | more |
23.08 | DNF | | | S1Stage 1 - Rokycany › Rokycany | 150 | | | |
22.08 | 36 | 36 | | ProloguePrologue - Starý Plzenec › Starý Plzenec | 3.7 | | | |
07.08 › 11.087-11/8 | | | | Tour de Namur (NAT) | | | | more |
| 1 | | | General classificationGeneral classification | | 150 | | |
11.08 | 7 | | | S5Stage 5 - Beauraing › Citadelle de Namur | 160 | 24 | | |
10.08 | 4 | | | S4Stage 4 - Walcourt › Walcourt | 148.6 | 30 | | |
09.08 | 2 | | | S3Stage 3 - Profondeville (Lustin) › Doische | 160 | 35 | | |
08.08 | 2 | | | S2Stage 2 - Couvin › Couvin | 156.3 | 35 | | |
07.08 | 1 | | | S1Stage 1 - Vresse-sur-Semois › Gedinne | 160 | 40 | | |
04.08 | 66 | | | Hel van Voerendaal (NAT) | 163.1 | | | more |
24.07 › 28.0724-28/7 | | | | Tour Alsace (2.2) | | | | more |
| 53 | | | Youth classificationYouth classification | | | | |
| 10 | | | Points classificationPoints classification | | | | |
| 77 | | | General classificationGeneral classification | | | | |
28.07 | 4 | | | S5Stage 5 - Europa-Park › Sélestat | 166.1 | | | |
27.07 | 98 | 78 | | S4Stage 4 - L'Isle-sur-le-Doubs › Valentigney | 176 | | | |
26.07 | 87 | 64 | | S3Stage 3 - Vesoul › La Planche des Belles Filles | 132.6 | | | |
25.07 | 57 | 54 | | S2Stage 2 - Riedisheim › Ferrette | 154.9 | | | |
24.07 | 10 | 24 | | S1 (TTT)Stage 1 (TTT) - Sausheim › Sausheim | 4.3 | | | |
23.06 | 84 | | | National Championships France ME - Road Race (NC) | 240.6 | | | more |
09.06 › 16.069-16/6 | | | | Giro d'Italia Next Gen (2.2U) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 49 | | | Points classificationPoints classification | | | | |
| 101 | | | General classificationGeneral classification | | | | |
16.06 | 111 | | | S8Stage 8 - Cesena › Forlimpopoli | 137 | | | |
15.06 | 89 | 100 | | S7Stage 7 - Montegrotto Terme › Zocca | 182 | | | |
14.06 | 134 | 103 | | S6Stage 6 - Borgo Virgilio › Fosse | 172 | | | |
13.06 | 16 | 92 | | S5Stage 5 - Bergamo › Cremona | 138 | | | |
12.06 | 12 | 92 | | S4Stage 4 - Pertusio › Borgomanero | 139 | | | |
11.06 | 59 | 101 | | S3Stage 3 - Verrès › Pian della Mussa | 134 | | | |
10.06 | 116 | 111 | | S2Stage 2 - Aymavilles › Saint-Vincent | 105 | | | |
09.06 | 86 | 86 | | S1 (ITT)Stage 1 (ITT) - Aosta › Aosta | 8.8 | | | |
26.05 | 2 | | | Omloop Het Nieuwsblad U23 (NAT) | 153.1 | 67 | | more |
15.05 › 19.0515-19/5 | | | | Orlen Nations Grand Prix (2.Ncup) France | | | | more |
| 82 | | | General classificationGeneral classification | | | | |
19.05 | 101 | | | S5Stage 5 - Lesko, Powiat Leski › Hotel Arłamów | 149 | | | |
18.05 | 15 | 67 | | S4Stage 4 - Bukovina Resort › Jasło | 175 | | | |
17.05 | 7 | 68 | | S3Stage 3 - Tvrdošín › Štrbské Pleso | 121 | | | |
16.05 | 84 | 81 | | S2Stage 2 - Přerov › Kohútka | 110 | | | |
15.05 | 95 | 95 | | S1Stage 1 - Prostějov › Bouzov | 135 | | | |
11.05 | 27 | | | National Championships France MU - Road Race (NC) | 166.4 | | | more |
08.05 | 41 | | | National Championships France MU - ITT (NC) | 21.5 | | | more |
25.04 › 01.0525-1/4 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 6 | | | Youth classificationYouth classification | | | | |
| 17 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 17 | | | General classificationGeneral classification | | | | |
01.05 | 11 | | | S7Stage 7 - Le Hinglé › Dinan | 159.3 | | | |
30.04 | 2 | 21 | | S6Stage 6 - Saint-Onen-la-Chapelle › Louvigné-du-Désert | 192.5 | 2 | 3 | |
29.04 | 1 | 24 | | S5Stage 5 - La Gacilly › Saint-Méen-le-Grand | 203.4 | 5 | 7 | |
28.04 | 11 | 31 | | S4Stage 4 - Le Croisic › La Gacilly | 171.5 | | | |
27.04 | 35 | 36 | | S3Stage 3 - Pontivy › Guérande | 180.8 | | | |
26.04 | 42 | 25 | | S2Stage 2 - Milizac-Guipronvel › Pontivy | 206.2 | | | |
25.04 | 16 | 22 | | S1Stage 1 - Locmaria-Plouzané › Plougonvelin | 146 | | | |
13.04 | DNF | | | Tour du Jura Cycliste (1.1) Lotto Dstny | 174.6 | | | more |
07.04 | 57 | | | Paris-Roubaix Espoirs (1.2U) | 163.6 | | | more |
29.03 | 25 | | | La Route Adélie de Vitré (1.1) | 174.2 | | 3 | more |
20.03 › 24.0320-24/3 | | | | Olympia's Tour (2.2) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 22 | | | Points classificationPoints classification | | | | |
| 19 | | | General classificationGeneral classification | | | | |
24.03 | 17 | | | S5Stage 5 - Neede › Tiel | 188.3 | | | |
23.03 | 36 | 21 | | S4Stage 4 - Gieten › Ruurlo | 168.2 | | | |
22.03 | 11 | 19 | | S3Stage 3 - Assen › Roden | 140.8 | | | |
21.03 | 12 | 18 | | S2Stage 2 - Baflo › Baflo | 150.4 | | | |
20.03 | 27 | 27 | | S1Stage 1 - Medemblik › Medemblik | 144.9 | | | |
17.03 | 7 | | | Dorpenomloop Rucphen (1.2) | 181.4 | | 5 | more |
03.03 | DNF | | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | 197.4 | | | more |
02.03 | 9 | | | Le Tour des 100 Communes (1.2) | 183 | | 3 | more |
25.02 | 5 | | | Brussel-Opwijk (NAT) | 162.7 | 48 | | more |
17.02 › 18.0217-18/2 | | | | Tour des Alpes-Maritimes (2.1) | | | | more |
18.02 | OTL | | | S2Stage 2 - Villefranche-sur-Mer › Vence | 131.8 | | | |
17.02 | 10 | 12 | | S1Stage 1 - Levens › Antibes | 165.5 | | | |
16.02 | 62 | | | Classic Var (1.1) | 184.3 | | | more |