14.10 › 19.1014-19/10 | | | | Tour of Guangxi (2.UWT) | | | | more |
17.10 | 92 | 73 | | S4Stage 4 - Bama › Jinchengjiang | 176.8 | | | |
16.10 | 103 | 71 | | S3Stage 3 - Jingxi › Bama | 214 | | | |
15.10 | 61 | 44 | | S2Stage 2 - Chongzuo › Jingxi | 177.4 | | | |
14.10 | 29 | 35 | | S1Stage 1 - Fangchenggang › Fangchenggang | 149.4 | | | |
14.09 | 16 | | | Grand Prix Cycliste de Montréal (1.UWT) | 209.1 | 20 | 30 | more |
12.09 | 109 | | | Grand Prix Cycliste de Québec (1.UWT) | 216 | 5 | | more |
31.08 | 42 | | | Bretagne Classic - Ouest-France (1.UWT) | 261.7 | 5 | 8 | more |
19.08 › 22.0819-22/8 | | | | Tour du Limousin-Périgord - Nouvelle Aquitaine (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 17 | | | Mountains classificationMountains classification | | | | |
| 1 | | | General classificationGeneral classification | | 100 | 125 | |
22.08 | 23 | | | S4Stage 4 - Saint-Hilaire-Bonneval › Limoges | 164.5 | | | |
21.08 | 2 | 1 | | S3Stage 3 - Saint-Jal › Masseret | 182.7 | 12 | 5 +3 | |
20.08 | 3 | 1 | | S2Stage 2 - Thiviers › Grèzes (Les Côteaux Périgourdins) | 174.3 | 7 | 3 +3 | |
19.08 | 2 | 2 | | S1Stage 1 - Panazol › La Courtine | 184.6 | 12 | 5 | |
02.08 | DNS | | | Donostia San Sebastian Klasikoa (1.UWT) | 211.4 | | | more |
05.07 › 27.075-27/7 | | | | Tour de France (2.UWT) | | | | more |
| 12 | | | Youth classificationYouth classification | | | | |
| 33 | | | Mountains classificationMountains classification | | | | |
| 55 | | | Points classificationPoints classification | | | | |
| 51 | | | General classificationGeneral classification | | 25 | 20 | |
27.07 | 143 | | | S21Stage 21 - Mantes-la-Ville › Paris (Champs-Élysées) | 132.3 | | | |
26.07 | 12 | 51 | | S20Stage 20 - Nantua › Pontarlier 108k | 184.2 | 6 | 20 | |
25.07 | 26 | 57 | | S19Stage 19 - Albertville › La Plagne | 93.1 | | | |
24.07 | 35 | 62 | | S18Stage 18 - Vif › Courchevel (Col de la Loze) | 171.5 | | | |
23.07 | 140 | 67 | | S17Stage 17 - Bollène › Valence | 160.4 | | | |
22.07 | 38 | 67 | | S16Stage 16 - Montpellier › Mont Ventoux 88k | 171.5 | | | |
20.07 | 146 | 76 | | S15Stage 15 - Muret › Carcassonne | 169.3 | | | |
19.07 | 51 | 66 | | S14Stage 14 - Pau › Luchon-Superbagnères | 182.6 | | | |
18.07 | 79 | 71 | | S13 (ITT)Stage 13 (ITT) - Loudenvielle › Peyragudes | 10.9 | | | |
17.07 | 27 | 72 | | S12Stage 12 - Auch › Hautacam | 180.6 | | | |
16.07 | 137 | 100 | | S11Stage 11 - Toulouse › Toulouse | 156.8 | | | |
14.07 | 37 | 87 | | S10Stage 10 - Ennezat › Le Mont-Dore Puy de Sancy | 165.3 | | | |
13.07 | 151 | 116 | | S9Stage 9 - Chinon › Châteauroux | 174.1 | | | |
12.07 | 158 | 113 | | S8Stage 8 - Saint-Méen-le-Grand › Laval (Espace Mayenne) | 171.4 | | | |
11.07 | 56 | 110 | | S7Stage 7 - Saint-Malo › Mûr-de-Bretagne (Guerlédan) 112k | 197 | | | |
10.07 | 139 | 129 | | S6Stage 6 - Bayeux › Vire Normandie | 201.5 | | | |
09.07 | 115 | 72 | | S5 (ITT)Stage 5 (ITT) - Caen › Caen | 33 | | | |
08.07 | 55 | 71 | | S4Stage 4 - Amiens Métropole › Rouen | 174.2 | | | |
07.07 | 114 | 113 | | S3Stage 3 - Valenciennes › Dunkerque | 178.3 | | | |
06.07 | 74 | 112 | | S2Stage 2 - Lauwin-Planque › Boulogne-sur-Mer | 209.1 | | | |
05.07 | 150 | 152 | | S1Stage 1 - Lille Métropole › Lille Métropole | 184.9 | | | |
29.06 | 23 | | | National Championships France ME - Road Race (NC) | 214.5 | | | more |
26.06 | 5 | | | National Championships France ME - ITT (NC) | 26.5 | | 10 | more |
15.06 › 22.0615-22/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 23 | | | General classificationGeneral classification | | 14 | 20 | |
22.06 | 61 | | | S8 (ITT)Stage 8 (ITT) - Beckenried › Stockhütte | 10 | | | |
21.06 | 11 | 22 | | S7Stage 7 - Neuhausen am Rheinfall › Emmetten | 207.3 | | | |
20.06 | 62 | 26 | | S6Stage 6 - Chur › Neuhausen am Rheinfall | 186.7 | | | |
19.06 | 30 | 26 | | S5Stage 5 - La Punt › Santa Maria in Calanca | 183.8 | | | |
18.06 | 44 | 34 | | S4Stage 4 - Heiden › Piuro (Valchiavenna) | 193.2 | | | |
17.06 | 54 | 35 | | S3Stage 3 - Aarau › Heiden | 195.6 | | | |
16.06 | 91 | 22 | | S2Stage 2 - Aarau › Schwarzsee | 177 | | | |
15.06 | 16 | 16 | | S1Stage 1 - Küssnacht › Küssnacht 101k | 129.4 | | | |
18.04 | DNF | | | Classic Grand Besançon Doubs (1.1) | 168.65 | | | more |
08.04 › 11.048-11/4 | | | | Région Pays de la Loire Tour (2.1) | | | | more |
| 10 | | | Mountains classificationMountains classification | | | | |
| 5 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 28 | 50 | |
11.04 | 4 | | | S4Stage 4 - Sillé-le-Guillaume › Le Mans | 186.5 | 5 | | |
10.04 | 3 | 3 | | S3Stage 3 - Tiercé › Hambers (La Butte de Montaigu) | 165.9 | 7 | 3 | |
09.04 | 16 | 18 | | S2Stage 2 - Cugand-la-Bernardière › Beaupréau-en-Mauges | 158.5 | | | |
08.04 | 26 | 29 | | S1Stage 1 - Machecoul-Saint-Même › La Baule-Escoublac | 208.4 | | | |
04.04 | 62 | | | La Route Adélie de Vitré (1.1) | 174.2 | | | more |
02.04 | 4 | | | Paris - Camembert (1.1) | 198 | 32 | 60 | more |
09.03 › 16.039-16/3 | | | | Paris-Nice (2.UWT) | | | | more |
| 15 | | | Youth classificationYouth classification | | | | |
| 49 | | | General classificationGeneral classification | | 5 | 10 | |
16.03 | 36 | | | S8Stage 8 - Nice › Nice | 119.9 | | | |
15.03 | 91 | 65 | | S7Stage 7 - Nice › Auron | 109.3 | | | |
14.03 | 128 | 43 | | S6Stage 6 - Saint-Julien-en-Saint-Alban › Berre l'Étang | 209.8 | | | |
13.03 | 75 | 38 | | S5Stage 5 - Saint-Just-en-Chevalet › La Côte-Saint-André (Côte de Notre-Dame-de-Sciez) | 203.3 | | | |
12.03 | 37 | 36 | | S4Stage 4 - Vichy › La Loge des Gardes | 163.4 | | | |
11.03 | 19 | 56 | | S3 (TTT)Stage 3 (TTT) - Circuit Nevers Magny-Cours › Nevers | 28.4 | | | |
10.03 | 53 | 78 | | S2Stage 2 - Montesson › Bellegarde | 183.9 | | | |
09.03 | 96 | 97 | | S1Stage 1 - Le Perray-en-Yvelines › Le Perray-en-Yvelines | 156.1 | | | |
05.03 | 12 | | | Trofeo Laigueglia (1.Pro) | 197 | 18 | 25 | more |
22.02 › 23.0222-23/2 | | | | Tour des Alpes-Maritimes (2.1) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 18 | | | General classificationGeneral classification | | 3 | 3 | |
23.02 | 37 | | | S2Stage 2 - Villefranche-sur-Mer › Vence | 131.8 | | | |
22.02 | 9 | 9 | | S1Stage 1 - Contes › Gourdon | 162.4 | | | |
21.02 | 29 | | | Classic Var (1.1) | 164 | | | more |
14.02 › 16.0214-16/2 | | | | Tour de la Provence (2.1) | | | | more |
| 4 | | | Youth classificationYouth classification | | | | |
| 13 | | | Mountains classificationMountains classification | | | | |
| 18 | | | General classificationGeneral classification | | 3 | 3 | |
16.02 | 51 | | | S3Stage 3 - Rognac › Arles | 190.6 | | | |
15.02 | 23 | 18 | | S2Stage 2 - Forcalquier › Manosque | 167.3 | | | |
14.02 | 24 | 25 | | S1Stage 1 - Marseille › Saint-Victoret | 169.3 | | | |
01.02 | NR | | | Trofeo Andratx - Pollença (1.1) | 151.5 23 | | | more |
31.01 | DNF | | | Trofeo Serra Tramuntana (1.1) | 151.3 | | | more |
29.01 | 28 | | | Trofeo Calvià (1.1) | 149.6 | | | more |
26.01 | 28 | | | Clàssica Comunitat Valenciana 1969 - Gran Premi València (1.1) | 184 | | | more |