13.10 | 24 | | | Chrono des Nations (1.1) Sprinteur Club Serres Castet | 27.23 | 7 | | more |
08.09 | 12 | | | Grand Prix de la Tomate - Marmande (NAT) | 158 | 9 | | more |
01.09 › 03.091-3/9 | | | | Vuelta a Cantabria - GP. Gobierno de Cantabria (2.1) CD Pyrénées-Atlantiques | | | | more |
| 2 | | | Mountains classificationMountains classification | | | | |
| 11 | | | Points classificationPoints classification | | | | |
| 7 | | | General classificationGeneral classification | | 50 | | |
03.09 | 3 | | | S3Stage 3 - Puente Viesgo › Puente Viesgo (Cuevas del Monte Castillo) | 127 | 32 | | |
02.09 | 19 | 19 | | S2Stage 2 - Vioño de Piélagos › Vioño de Piélagos | 140 | 5 | | |
01.09 | 39 | 39 | | S1 (ITT)Stage 1 (ITT) - Santander › Cuesta de la Atalaya | 0.84 | | | |
17.08 › 18.0817-18/8 | | | | Les Boucles de l'Oise Juniors - Trophée Arnaud Coyot (NAT) | | | | more |
18.08 | 29 | | | S2Stage 2 - Bresles › Bresles | 15.7 | 2 | | |
17.08 | 76 | | | S1Stage 1 - Le Plessis-Belleville › Le Plessis-Belleville | 118 | | | |
10.08 › 11.0810-11/8 | | | | La Ronde Des Vallées (2.1) | | | | more |
11.08 | DNF | | | S2bStage 2b - Hémonstoir › Hémonstoir | 100.4 | | | |
11.08 | 41 | 17 | | S2a (ITT)Stage 2a (ITT) - Saint-Caradec › Hémonstoir | 11.5 | | | |
10.08 | 6 | 6 | | S1Stage 1 - Cléguérec › Cléguérec | 105.7 | 37 | | |
10.07 › 14.0710-14/7 | | | | Ain Bugey Valromey Tour (2.1) | | | | more |
13.07 | DNF | | | S4Stage 4 - Frontonas › Tignieu-Jameyzieu | 95.5 | | | |
12.07 | 37 | 28 | | S3Stage 3 - Meximieux › Ordonnaz | 89 | | | |
11.07 | 33 | 35 | | S2Stage 2 - Beaupont › Le Plateau d'Hauteville | 130 | | | |
10.07 | 46 | 46 | | S1Stage 1 - Culoz › Artemare | 85.5 | | | |
07.07 | 40 | | | Tour du Carmausin Ségala (NAT) | | | | more |
08.06 › 09.068-9/6 | | | | Côte d'Or Classic Juniors (2.1) | | | | more |
| 37 | | | Youth classificationYouth classification | | | | |
| 91 | | | General classificationGeneral classification | | | | |
09.06 | 112 | | | S3Stage 3 - Pouilly-en-Auxois › Semur-en-Auxois | 100 | | | |
08.06 | 4 | 16 | | S2 (TTT)Stage 2 (TTT) - Alésia › Vitteaux | 18 | 30 | | |
08.06 | 100 | 100 | | S1Stage 1 - Saulieu › Précy-sous-Thil | 82 | | | |
01.06 | DNF | | | La Classique des Alpes Juniors (1.1) Nouvelle Aquitaine | 132.5 | | | more |
23.05 › 26.0523-26/5 | | | | Tour du Pays de Vaud (2.Ncup) France | | | | more |
| 6 | | | Youth classificationYouth classification | | | | |
| 22 | | | General classificationGeneral classification | | 40 | | |
26.05 | 55 | | | S4Stage 4 - Pomy › Pomy | 97.3 | | | |
25.05 | 14 | 20 | | S3Stage 3 - Ollon › Villars-sur-Ollon | 87.8 | 28 | | |
24.05 | 67 | 66 | | S2Stage 2 - Apples › Apples | 121 | | | |
23.05 | 71 | 71 | | S1 (ITT)Stage 1 (ITT) - Gollion › Gollion | 7.2 | | | |
12.05 | 4 | | | National Championships France MJ - Road Race (NC) | 132.6 | 54 | | more |
10.05 | 6 | | | National Championships France MJ+WJ - Mixed Relay (NAT) Nouvelle Aquitaine | 37.6 | | | more |
08.05 | 22 | | | National Championships France MJ - ITT (NC) | 21.5 | 9 | | more |
05.05 | 1 | | | Classique des Pyrénées-Atlantiques (NAT) | 105.8 | 25 | | more |
28.04 | 5 | | | Chrono 47 (TTT) (NAT) Nouvelle Aquitaine | 35.9 | 3 | | more |
20.04 › 21.0420-21/4 | | | | Gipuzkoa Klasika (2.1) Nouvelle Aquitaine | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 5 | | | Mountains classificationMountains classification | | | | |
| 9 | | | Points classificationPoints classification | | | | |
| 6 | | | General classificationGeneral classification | | 54 | | |
21.04 | 26 | | | S2Stage 2 - Egia › Egia | 104 | 2 | | |
20.04 | 5 | 5 | | S1Stage 1 - Ormaiztegi › Ormaiztegi | 93.6 | 28 | | |
13.04 › 14.0413-14/4 | | | | Penn Ar Bed - Pays d'Iroise (2.1) | | | | more |
| 3 | | | Youth classificationYouth classification | | | | |
| 10 | | | General classificationGeneral classification | | 39 | | |
14.04 | 9 | | | S3Stage 3 - Pointe Saint-Mathieu (Plougonvelin) › Plouzané | 121.5 | 20 | | |
14.04 | 31 | 29 | | S2 (ITT)Stage 2 (ITT) - Plougonvelin › Plougonvelin | 7.5 | | | |
13.04 | 96 | 96 | | S1Stage 1 - Plouzané › Ploumoguer | 101.6 | | | |
30.03 | | | | Grand Prix de Cintegabelle Juniors (NAT) | | | | more |
| 1 | | | General classificationGeneral classification | | 30 | | |
30.03 | 3 | | | S2Stage 2 - Cintegabelle › Cintegabelle | 95 | 10 | | |
30.03 | 1 | | | S1 (ITT)Stage 1 (ITT) - Cintegabelle › Cintegabelle | 9.5 | 15 | | |
23.03 › 24.0323-24/3 | | | | Tour du Bocage et de l'Ernée 53 (2.1) | | | | more |
| 25 | | | Youth classificationYouth classification | | | | |
| 89 | | | General classificationGeneral classification | | | | |
24.03 | 76 | | | S3Stage 3 - Chailland › Chailland | 106.5 | | | |
24.03 | 25 | 128 | | S2 (ITT)Stage 2 (ITT) - Chailland › Chailland | 13.8 | 7 | | |
23.03 | 131 | 131 | | S1Stage 1 - Pontmain › Pontmain | 120.3 | | | |
17.03 | DNF | | | Bernaudeau Junior (1.1) Nouvelle Aquitaine | 134 | | | more |
25.02 | 19 | | | Ronde Bessieraine (NAT) | 80.1 | 7 | | more |
24.02 | 4 | | | Mapei Classic (NAT) | 96.5 | 36 | | more |