| 20-10 | 20 | | Chrono des Nations (1.1) | |
| 13-10 | DNF | | Paris - Tours Elite (1.HC) | 217.0km |
| 10-10 | 95 | | Paris-Bourges (1.1) | |
| 29-09 | DNF | | Paris-Chauny (classique) (1.1) | |
| 15-09 | DNF | | Tour du Doubs (1.1) | |
| 08-09 | 112 | | GP de Fourmies (1.HC) | |
| | | Tour du Limousin (2.1) |
| 24-08 | DNF | | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 90 | 87 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 76 | 83 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 100 | 96 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| 18-08 | 62 | | La Poly Normande (1.1) | 170.0km |
| | | Tour Alsace (2.2) |
| 03-08 | DNF | | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 51 | 52 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 87 | 134 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 136 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 30-06 | 80 | | National Road Championships - France (CN) | 252.0km |
| 27-06 | 37 | | National Road Championships - France TT (CN) | 47.0km |
| | | La Route d'Occitanie (2.1) |
| 22-06 | DNF | | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 104 | 103 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 110 | 110 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| | | Ronde de l'Oise (2.2) |
| 80 | | Klassement |
| 16-06 | 88 | 80 | Stage 4Laigneville - Pont-Sainte-Maxence (183.0km) | 183.0km |
| 15-06 | 73 | 73 | Stage 3Grandvilliers - Ressons-sur-Matz (174.0km) | 174.0km |
| 14-06 | 75 | 63 | Stage 2Liancourt - Liancourt (186.0km) | 186.0km |
| 13-06 | 67 | 66 | Stage 1Couloisy-Lisières de l'Oise - Clermont (126.0km) | 126.0km |
| 01-06 | DNF | | Grand Prix de Plumelec-Morbihan (1.1) | 188.0km |
| | | Tour de l'Ain (2.1) |
| 67 | | Klassement |
| 26-05 | 52 | 67 | Stage 3Parc des Oiseaux - Le Grand Colombier (120.0km) | 120.0km |
| 25-05 | 85 | 82 | Stage 2Bellignat - Col de la Faucille (131.0km) | 131.0km |
| 24-05 | 72 | 72 | Stage 1Bourg-en-Bresse - Saint-Vulbas (164.0km) | 164.0km |
| | | 4 Jours de Dunkerque (2.HC) |
| 18-05 | DNF | | Stage 5Gravelines - Cassel (181.0km) | 181.0km |
| 17-05 | 106 | 109 | Stage 4Fort-Mahon-Plage - Le Portel (184.0km) | 184.0km |
| 16-05 | 108 | 106 | Stage 3Laon - Compiègne (156.0km) | 156.0km |
| 15-05 | 67 | 71 | Stage 2Wallers - Saint-Quentin (181.0km) | 181.0km |
| 14-05 | 90 | 90 | Stage 1Dunkerque - Condé sur l'Escaut (180.0km) | 180.0km |
| 05-05 | 86 | | Entre Brenne et Montmorillonnais (1.2) | |
| | | Tour du Jura Cycliste (2.2) |
| 57 | | Klassement |
| 28-04 | 41 | 57 | Stage 2Moissey - Dôle (184.0km) | 184.0km |
| 27-04 | 81 | 81 | Stage 1Lavans-lès-Saint-Claude - Saint-Lupicin (154.0km) | 154.0km |
| 20-04 | 53 | | Tour du Finistère (1.1) | 196.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 12-04 | DNF | | Stage 4Sillé-le-Guillaume - Sillé-le-Guillaume (183.0km) | 183.0km |
| 11-04 | 71 | 87 | Stage 3Royal Abbey of Epau - Mont des Avaloirs (184.0km) | 184.0km |
| 10-04 | 81 | 97 | Stage 2Freigné - Belligné (172.0km) | 172.0km |
| 09-04 | 99 | 99 | Stage 1La Châtaigneraie - La Châtaigneraie (180.0km) | 180.0km |
| 05-04 | 89 | | Route Adélie de Vitré (1.1) | 197.0km |
| 31-03 | 68 | | Cholet - Pays de la Loire (1.1) | 203.0km |
| 17-03 | DNF | | Paris-Troyes (1.2) | |
| | | Tour du Haut Var Matin (2.1) |
| 23-02 | DNF | | Stage 2Le Cannet des Maures - Mons (201.0km) | 201.0km |
| 22-02 | 87 | 87 | Stage 1Vence - Mandelieu-la-Napoule (154.0km) | 154.0km |
| | | Etoile de Bessèges (2.1) |
| 62 | | Klassement |
| 10-02 | 78 | 62 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 73 | 79 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 107 | 122 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 124 | 124 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 03-02 | 91 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |