10.10 | DNF | | | Gran Piemonte (1.HC) | 183 | | | more |
09.10 | 45 | | | Milano-Torino (1.HC) | 179 | | | more |
06.10 | 66 | | | Gran Premio Bruno Beghelli (1.HC) | 199.3 | | | more |
05.10 | DNF | | | Giro dell'Emilia (1.HC) | 207.4 | | | more |
18.09 | 66 | | | Grand Prix de Wallonie (1.1) | 205.9 | | | more |
15.09 | 6 | | | Tour du Doubs (1.1) | 188.9 | 24 | 40 | more |
29.08 › 01.0929-1/8 | | | | Deutschland Tour (2.HC) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 45 | | | General classificationGeneral classification | | | | |
01.09 | 73 | | | S4Stage 4 - Eisenach › Erfurt | 159.5 | | | |
31.08 | 36 | 41 | | S3Stage 3 - Göttingen › Eisenach | 189 | | | |
30.08 | 48 | 51 | | S2Stage 2 - Marburg › Göttingen | 202 | | | |
29.08 | 53 | 53 | | S1Stage 1 - Hannover › Halberstadt | 167 | | | |
21.08 › 24.0821-24/8 | | | | Tour du Limousin - Nouvelle Aquitaine (2.1) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 15 | | | Mountains classificationMountains classification | | | | |
| 9 | | | General classificationGeneral classification | | 16 | 25 | |
24.08 | 11 | | | S4Stage 4 - Confolens › Limoges | 177.4 | | | |
23.08 | 8 | 9 | | S3Stage 3 - Chamboulive › Beynat | 176.8 | 1 | | |
22.08 | 19 | 9 | | S2Stage 2 - Base départementale de Rouffiac › Trélissac | 182.9 | | | |
21.08 | 11 | 11 | | S1Stage 1 - Condat-sur-Vienne › Guéret | 172.2 | | | |
18.08 | 18 | | | La Poly Normande (1.1) | 168.9 | 3 | 3 | more |
06.07 › 28.076-28/7 | | | | Tour de France (2.UWT) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 38 | | | Mountains classificationMountains classification | | | | |
| 82 | | | Points classificationPoints classification | | | | |
| 78 | | | General classificationGeneral classification | | 25 | | |
28.07 | 73 | | | S21Stage 21 - Rambouillet › Paris | 128 | | | |
27.07 | 18 | 78 | | S20Stage 20 - Albertville › Val Thorens | 59.5 | | | |
26.07 | DF | 83 | | S19Stage 19 - Saint-Jean-de-Maurienne › Tignes | 89 | | | |
25.07 | 96 | 89 | | S18Stage 18 - Embrun › Valloire | 208 | | | |
24.07 | 70 | 89 | | S17Stage 17 - Pont du Gard › Gap | 200 | | | |
23.07 | 96 | 85 | | S16Stage 16 - Nîmes › Nîmes | 177 | | | |
21.07 | 77 | 87 | | S15Stage 15 - Limoux › Foix Prat D'Albis | 185 | | | |
20.07 | 31 | 86 | | S14Stage 14 - Tarbes › Col du Tourmalet | 111 | | | |
19.07 | 68 | 97 | | S13 (ITT)Stage 13 (ITT) - Pau › Pau | 27.2 | | | |
18.07 | 121 | 97 | | S12Stage 12 - Toulouse › Bagnères-de-Bigorre | 209.5 | | | |
17.07 | 113 | 90 | | S11Stage 11 - Albi › Toulouse | 167 | | | |
15.07 | 137 | 89 | | S10Stage 10 - Saint-Flour › Albi | 217.5 | | | |
14.07 | 89 | 85 | | S9Stage 9 - Saint-Étienne › Brioude | 170.5 | | | |
13.07 | 67 | 84 | | S8Stage 8 - Mâcon › Saint-Étienne | 200 | | | |
12.07 | 123 | 92 | | S7Stage 7 - Belfort › Chalon-sur-Saône | 230 | | | |
11.07 | 44 | 90 | | S6Stage 6 - Mulhouse › La Planche des Belles Filles | 160.5 | | | |
10.07 | 108 | 108 | | S5Stage 5 - Saint-Dié-des-Vosges › Colmar | 175.5 | | | |
09.07 | 112 | 128 | | S4Stage 4 - Reims › Nancy | 213.5 | | | |
08.07 | 88 | 141 | | S3Stage 3 - Binche › Épernay | 215 | | | |
07.07 | 21 | 175 | | S2 (TTT)Stage 2 (TTT) - Brussels › Brussels | 27.6 | | | |
06.07 | 168 | 173 | | S1Stage 1 - Brussels › Brussels | 194.5 | | | |
30.06 | 38 | | | National Championships France ME - Road Race (NC) | 252 | | | more |
20.06 › 23.0620-23/6 | | | | La Route d'Occitanie - La Dépêche du Midi (2.1) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 24 | | | Mountains classificationMountains classification | | | | |
| 16 | | | Points classificationPoints classification | | | | |
| 13 | | | General classificationGeneral classification - Gignac | | 8 | 5 | |
23.06 | 29 | | | S4Stage 4 - Gers - Astarac Arros en Gascogne › Clermont-Pouyguillès | 154.8 | | | |
22.06 | 17 | 13 | | S3Stage 3 - Arreau › Luchon - Hospice de France | 173 | | | |
21.06 | 33 | 3 | | S2Stage 2 - Labruguière › Martres-Tolosane | 187.7 | | | |
20.06 | 3 | 3 | | S1Stage 1 - Gignac - Vallée de l’Hérault › Saint-Geniez-d’Olt-et-d’Aubrac | 175.5 | 7 | 3 | |
17.06 | 5 | | | Mont Ventoux Dénivelé Challenge (1.1) | 171 | 28 | 50 | more |
02.06 | 56 | | | Boucles de l'Aulne - Châteaulin (1.1) | 177.6 | | | more |
01.06 | 22 | | | Grand Prix de Plumelec-Morbihan (1.1) | 188 | | 3 | more |
24.05 › 26.0524-26/5 | | | | Tour de l'Ain (2.1) | | | | more |
| 3 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 4 | | | General classificationGeneral classification | | 36 | 60 | |
26.05 | 2 | | | S3Stage 3 - Parc des Oiseaux (Villars-les-Dombes) › Col du Grand Colombier | 118.9 | 12 | 5 | |
25.05 | 13 | 7 | | S2Stage 2 - Bellignat › Col de la Faucille | 123.9 | | | |
24.05 | 5 | 5 | | S1Stage 1 - Bourg-en-Bresse › Saint-Vulbas | 162.6 | 4 | | |
28.04 | DNF | | | Liège-Bastogne-Liège (1.UWT) | 256 | | | more |
22.04 › 26.0422-26/4 | | | | Tour of the Alps (2.HC) | | | | more |
26.04 | DNF | | | S5Stage 5 - Kaltern/Caldaro › Bozen/Bolzano | 148.7 | | | |
25.04 | 69 | 65 | | S4Stage 4 - Baselga di Pinè › Cles | 134 | | | |
24.04 | 48 | 57 | | S3Stage 3 - Salurn/Salorno › Baselga di Pinè | 106.3 | | | |
23.04 | 82 | 71 | | S2Stage 2 - Reith im Alpbachtal › Schenna/Scena | 178.7 | | | |
22.04 | 33 | 33 | | S1Stage 1 - Kufstein › Kufstein | 144 | | | |
16.04 | 9 | | | Paris-Camembert (1.1) | 182.5 | 16 | 25 | more |
05.04 | 54 | | | Route Adélie de Vitré (1.1) | 197.8 | | | more |
27.03 › 31.0327-31/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 23 | | | Points classificationPoints classification | | | | |
| 21 | | | General classificationGeneral classification | | | 3 | |
31.03 | 22 | | | S5Stage 5 - Fiorano Modenese › Sassuolo | 153.4 | | | |
30.03 | 71 | 22 | | S4Stage 4 - Crevalcore › Crevalcore | 171.4 | | | |
29.03 | 16 | 22 | | S3Stage 3 - Forlì › Forlì | 166.2 | | | |
28.03 | 7 | 22 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 140 | 2 | | |
27.03 | 13 | 60 | | S1b (TTT)Stage 1b (TTT) - Gatteo a mare › Gatteo | 13.3 | | | |
27.03 | 119 | 81 | | S1aStage 1a - Gatteo › Gatteo | 97.8 | | | |
10.03 › 17.0310-17/3 | | | | Paris - Nice (2.UWT) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 15 | | | Mountains classificationMountains classification | | | | |
| 38 | | | General classificationGeneral classification | | 5 | 10 | |
17.03 | 21 | | | S8Stage 8 - Nice › Nice | 110 | | | |
16.03 | 12 | 47 | | S7Stage 7 - Nice › Col de Turini | 181.5 | | | |
15.03 | 140 | 86 | | S6Stage 6 - Peynier › Brignoles | 176.5 | | | |
14.03 | 118 | 65 | | S5 (ITT)Stage 5 (ITT) - Barbentane › Barbentane | 25.5 | | | |
13.03 | 50 | 62 | | S4Stage 4 - Vichy › Pélussin | 212 | | | |
12.03 | 102 | 128 | | S3Stage 3 - Cepoy › Moulins/Yzeure | 200 | | | |
11.03 | 99 | 135 | | S2Stage 2 - Les Bréviaires › Bellegarde | 163.5 | | | |
10.03 | 146 | 146 | | S1Stage 1 - Saint-Germain-en-Laye › Saint-Germain-en-Laye | 138.5 | | | |
03.03 | 24 | | | Royal Bernard Drôme Classic (1.1) | 207.8 | | 3 | more |
16.02 › 21.0216-21/2 | | | | Tour of Oman (2.HC) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 17 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 70 | 85 | |
21.02 | 49 | | | S6Stage 6 - Al Mouj Muscat › Matrah Corniche | 135.5 | | | |
20.02 | 5 | 5 | | S5Stage 5 - Samayil › Al Jabal Al Akhdar (Green Mountain) | 152 | 4 | | |
19.02 | 19 | 8 | | S4Stage 4 - Yiti (Al Sifah) › Oman Convention & Exhibition Center | 131 | | | |
18.02 | 9 | 8 | | S3Stage 3 - Shati Al Qurum › Qurayyat | 192.5 | | | |
17.02 | 19 | 9 | | S2Stage 2 - Royal Cavalry Oman › Al Bustan | 156.5 | | | |
16.02 | 30 | 31 | | S1Stage 1 - Al Sawadi Beach › Suhar Corniche | 138.5 | | | |
07.02 › 10.027-10/2 | | | | Etoile de Bessèges (2.1) | | | | more |
| 45 | | | General classificationGeneral classification | | | | |
10.02 | 57 | | | S4 (ITT)Stage 4 (ITT) - Alès › Alès | 10.7 | | | |
09.02 | 35 | 51 | | S3Stage 3 - Bessèges › Bessèges | 158 | | | |
08.02 | 63 | 76 | | S2Stage 2 - Saint-Geniés-de-Malgoires › La Calmette | 157.9 | | | |
07.02 | 83 | 84 | | S1Stage 1 - Bellegarde › Beaucaire | 140 | | | |
03.02 | 81 | | | Grand Prix Cycliste la Marseillaise (1.1) | 139.8 | | | more |