| 10-10 | DNF | | Gran Piemonte (1.HC) | 183.0km |
| 09-10 | 45 | | Milano-Torino (1.HC) | 179.0km |
| 06-10 | 66 | | Gran Premio Bruno Beghelli (1.HC) | 199.0km |
| 05-10 | DNF | | Giro dell'Emilia (1.HC) | 207.0km |
| 18-09 | 66 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 15-09 | 6 | | Tour du Doubs (1.1) | |
| | | Deutschland Tour (2.HC) |
| 45 | | Standings |
| 01-09 | 73 | 45 | Stage 4Eisenach - Erfurt (160.0km) | 160.0km |
| 31-08 | 36 | 41 | Stage 3Göttingen - Eisenach (177.0km) | 177.0km |
| 30-08 | 48 | 51 | Stage 2Marburg - Göttingen (199.0km) | 199.0km |
| 29-08 | 53 | 53 | Stage 1Hannover - Halberstadt (167.0km) | 167.0km |
| | | Tour du Limousin (2.1) |
| 9 | | Standings |
| 24-08 | 11 | 9 | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 8 | 9 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 19 | 9 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 11 | 11 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| 18-08 | 18 | | La Poly Normande (1.1) | 170.0km |
| | | Tour de France (2.UWT) |
| 78 | | Standings |
| 82 | | Points |
| 38 | | Mountain |
| 10 | | Youth |
| 28-07 | 73 | 78 | Stage 21Rambouillet - Paris (128.0km) | 128.0km |
| 27-07 | 18 | 78 | Stage 20Albertville - Val Thorens (59.0km) | 59.0km |
| 26-07 | | 83 | Stage 19Saint-Jean-de-Maurienne - Tignes (126.0km) | 126.0km |
| 25-07 | 96 | 89 | Stage 18Embrun - Valloire (208.0km) | 208.0km |
| 24-07 | 70 | 89 | Stage 17Pont du Gard - Embrun (200.0km) | 200.0km |
| 23-07 | 96 | 85 | Stage 16Nîmes - Nîmes (177.0km) | 177.0km |
| 21-07 | 77 | 87 | Stage 15Limoux - Foix (185.0km) | 185.0km |
| 20-07 | 31 | 86 | Stage 14Tarbes - Col du Tourmalet (117.0km) | 117.0km |
| 19-07 | 68 | 97 | Stage 13Pau - Pau (27.0km) | 27.0km |
| 18-07 | 121 | 97 | Stage 12Toulouse - Bagnères-de-Bigorre (209.0km) | 209.0km |
| 17-07 | 113 | 90 | Stage 11Albi - Toulouse (167.0km) | 167.0km |
| 15-07 | 137 | 89 | Stage 10Saint-Flour - Albi (217.0km) | 217.0km |
| 14-07 | 89 | 85 | Stage 9Saint-Étienne - Brioude (170.0km) | 170.0km |
| 13-07 | 67 | 84 | Stage 8Mâcon - Saint-Étienne (200.0km) | 200.0km |
| 12-07 | 123 | 92 | Stage 7Belfort - Châlon-sur-Saône (230.0km) | 230.0km |
| 11-07 | 44 | 90 | Stage 6Mulhouse - La Planche des Belles Filles (160.0km) | 160.0km |
| 10-07 | 108 | 108 | Stage 5Saint-Dié-des-Vosges - Colmar (175.0km) | 175.0km |
| 09-07 | 112 | 128 | Stage 4Reims - Nancy (213.0km) | 213.0km |
| 08-07 | 88 | 141 | Stage 3Binche - Epernay (215.0km) | 215.0km |
| 07-07 | 21 | 175 | Stage 2Brussel - Brussel (27.0km) | 27.0km |
| 06-07 | 168 | 173 | Stage 1Brussel - Brussel (194.0km) | 194.0km |
| 30-06 | 38 | | National Road Championships - France (CN) | 252.0km |
| | | La Route d'Occitanie (2.1) |
| 13 | | Standings |
| 16 | | Points |
| 24 | | Mountain |
| 23-06 | 29 | 13 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 17 | 13 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 33 | 3 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 3 | 3 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| 17-06 | 5 | | Mont Ventoux Denivelé Challenges (1.1) | 185.0km |
| 02-06 | 56 | | Boucles de l'Aulne (1.1) | |
| 01-06 | 22 | | Grand Prix de Plumelec-Morbihan (1.1) | 188.0km |
| | | Tour de l'Ain (2.1) |
| 4 | | Standings |
| 2 | | Points |
| 3 | | Mountain |
| 26-05 | 2 | 4 | Stage 3Parc des Oiseaux - Le Grand Colombier (120.0km) | 120.0km |
| 25-05 | 13 | 7 | Stage 2Bellignat - Col de la Faucille (131.0km) | 131.0km |
| 24-05 | 5 | 5 | Stage 1Bourg-en-Bresse - Saint-Vulbas (164.0km) | 164.0km |
| 28-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 256.0km |
| | | Tour of the Alps (2.HC) |
| 26-04 | DNF | | Stage 5Kaltern - Bolzano (148.0km) | 148.0km |
| 25-04 | 69 | 65 | Stage 4Baselga di Pinè - Clès (134.0km) | 134.0km |
| 24-04 | 48 | 57 | Stage 3Salorno - Baselga di Pinè (106.0km) | 106.0km |
| 23-04 | 82 | 71 | Stage 2Reith im Alpbachtal - Schenna (178.0km) | 178.0km |
| 22-04 | 33 | 33 | Stage 1Kufstein - Kufstein (144.0km) | 144.0km |
| 16-04 | 9 | | Paris-Camembert (1.1) | 182.0km |
| 05-04 | 54 | | Route Adélie de Vitré (1.1) | 197.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 21 | | Standings |
| 24 | | Points |
| 31-03 | 22 | 21 | Stage 5Fiorano Modenese - Sassuolo (153.0km) | 153.0km |
| 30-03 | 72 | 22 | Stage 4Crevalcore - Crevalcore (171.0km) | 171.0km |
| 29-03 | 16 | 22 | Stage 3Forlì - Forlì (166.0km) | 166.0km |
| 28-03 | 7 | 22 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 27-03 | 13 | 60 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 27-03 | 120 | 81 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |
| | | Paris-Nice (2.UWT) |
| 38 | | Standings |
| 15 | | Mountain |
| 17-03 | 21 | 38 | Stage 8Nice - Nice (110.0km) | 110.0km |
| 16-03 | 12 | 47 | Stage 7Nice - Col de Turini (181.0km) | 181.0km |
| 15-03 | 140 | 86 | Stage 6Peynier - Brignoles (176.0km) | 176.0km |
| 14-03 | 118 | 65 | Stage 5Barbentane - Barbentane (25.0km) | 25.0km |
| 13-03 | 50 | 62 | Stage 4Vichy - Pélussin (210.0km) | 210.0km |
| 12-03 | 102 | 128 | Stage 3Cepoy - Moulines/Yzeure (200.0km) | 200.0km |
| 11-03 | 99 | 135 | Stage 2Les Bréviaires - Bellegarde (163.0km) | 163.0km |
| 10-03 | 146 | 146 | Stage 1Saint-Germain-en-Laye - Saint-Germain-en-Laye (138.0km) | 138.0km |
| 03-03 | 24 | | Royal Bernard Drome Classic (1.1) | |
| | | Tour of Oman (2.HC) |
| 5 | | Standings |
| 17 | | Points |
| 21-02 | 49 | 5 | Stage 6Al Mouj Muscat - Matrah Corniche (135.0km) | 135.0km |
| 20-02 | 5 | 5 | Stage 5Samayil - Al Jabal Al Akhdar (152.0km) | 152.0km |
| 19-02 | 19 | 8 | Stage 4Yiti - Oman Convention & Exhibition Center (125.0km) | 125.0km |
| 18-02 | 9 | 8 | Stage 3Shati Al Qurum - Qurayyat (192.0km) | 192.0km |
| 17-02 | 19 | 9 | Stage 2Royal Cavalry Oman - Al Bustan (158.0km) | 158.0km |
| 16-02 | 30 | 31 | Stage 1Al Sawadi Beach - Suhar Corniche (138.0km) | 138.0km |
| | | Etoile de Bessèges (2.1) |
| 45 | | Standings |
| 10-02 | 57 | 45 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 35 | 51 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 63 | 76 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 83 | 84 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 03-02 | 81 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |
| 06-01 | 31 | | Cyclo-cross La Meziere (C1) | |