| 16-10 | 10 | | Chrono des Nations (1.1) | 45.0km |
| 25-09 | DNF | | Classique Paris-Chauny (1.1) | 203.0km |
| 11-09 | 118 | | GP de Fourmies (1.Pro) | 197.0km |
| 04-09 | 47 | | Tour du Doubs (1.1) | 204.0km |
| | | Tour du Limousin (2.1) |
| 96 | | Klassement |
| 5 | | Berg |
| 19-08 | 106 | 96 | Stage 4Saint-Laurent-sur-Gorre - Limoges (174.0km) | 174.0km |
| 18-08 | 101 | 101 | Stage 3Donzenac - Malemort (181.0km) | 181.0km |
| 17-08 | 88 | 101 | Stage 2Périgueux - Ribérac (184.0km) | 184.0km |
| 16-08 | 101 | 103 | Stage 1Verneuil-sur-Vienne - La Souterraine (176.0km) | 176.0km |
| | | Tour de l'Ain (2.1) |
| 53 | | Klassement |
| 11-08 | 35 | 53 | Stage 3Plateau d'Hauteville - Lélex (131.0km) | 131.0km |
| 10-08 | 63 | 62 | Stage 2Saint-Vulbas - Lagnieu (144.0km) | 144.0km |
| 09-08 | 63 | 63 | Stage 1Chatillon-sur-Chalaronne - Val-Revermont (152.0km) | 152.0km |
| | | Tour d'Alsace (2.2) |
| 6 | | Klassement |
| 39 | | Punten |
| 19 | | Berg |
| 31-07 | 36 | 6 | Stage 5Mulhouse - Berrwiller (158.0km) | 158.0km |
| 30-07 | 9 | 6 | Stage 4Kembs - Altkirch (169.0km) | 169.0km |
| 29-07 | 17 | 16 | Stage 3Vesoul - La Planche des Belles Filles (144.0km) | 144.0km |
| 28-07 | 28 | 18 | Stage 2Rust (Europapark) - Scherwiller (156.0km) | 156.0km |
| 27-07 | 38 | 38 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 23-06 | 11 | | National Road Championships - France TT (CN) | 44.0km |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 19-06 | DNS | | Stage 4Les Angles - Auterive (188.0km) | 188.0km |
| 18-06 | 43 | 42 | Stage 3Sigean - Les Angles (188.0km) | 188.0km |
| 17-06 | 62 | 64 | Stage 2Belmont-sur-Rance - Roquefort-sur-Soulzon (35.0km) | 35.0km |
| 16-06 | 99 | 100 | Stage 1Séméac - L'Isle Jourdain (174.0km) | 174.0km |
| 14-06 | 60 | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| 31-05 | 21 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 167.0km |
| 22-05 | 37 | | Boucles de l'Aulne - Châteaulin (1.1) | 177.0km |
| 21-05 | DNF | | Tour du Finistère (1.1) | 193.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 08-05 | DNF | | Stage 6Ardres - Dunkerque (182.0km) | 182.0km |
| 07-05 | 71 | 97 | Stage 5Roubaix - Cassel (183.0km) | 183.0km |
| 06-05 | 113 | 112 | Stage 4Mazingarbe - Aire-sur-la-Lys (174.0km) | 174.0km |
| 05-05 | 105 | 108 | Stage 3Péronne - Mont-Saint-Éloi (170.0km) | 170.0km |
| 04-05 | 101 | 106 | Stage 2Béthune - Maubeuge (181.0km) | 181.0km |
| 03-05 | 104 | 104 | Stage 1Dunkerque - Aniche (161.0km) | 161.0km |
| 16-04 | 46 | | Tour du Jura Cycliste (1.1) | |
| 15-04 | 43 | | Classic Grand Besançon Doubs (1.1) | |
| 12-04 | 71 | | Paris - Camembert (1.1) | |
| 01-04 | DNF | | La Route Adélie de Vitré (1.1) | 197.0km |
| 27-03 | 61 | | La Roue Tourangelle (1.1) | 202.0km |
| 20-03 | 85 | | Cholet - Pays de la Loire (1.1) | 202.0km |
| 19-03 | 66 | | Classic Loire Atlantique (1.1) | 182.0km |
| | | Tour de la Provence (2.Pro) |
| 14 | | Klassement |
| 13-02 | 31 | 14 | Stage 3Manosque - La Montagne de Lure (166.0km) | 166.0km |
| 12-02 | 26 | 17 | Stage 2Arles - Manosque (180.0km) | 180.0km |
| 11-02 | 24 | 24 | Stage 1Istres - Les Saintes-Maries-de-la-Mer (152.0km) | 152.0km |
| 10-02 | 39 | 39 | PrologueBerre l'Etang - Berre l'Etang (7.0km) | 7.0km |
| 30-01 | 114 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 174.0km |