| | | Cro Race (2.1) |
| 01-10 | DNF | | Stage 5Opatija - Labin | 154.0km |
| 30-09 | 92 | 88 | Stage 4Biograd na Moru - Crikvenica | 219.0km |
| 29-09 | 93 | 84 | Stage 3Sinj - Primosten | 157.0km |
| 28-09 | 2 | 2 | Stage 2Otočac - Zadar | 163.0km |
| 27-09 | 34 | 35 | Stage 1Osijek - Ludbreg | 223.0km |
| 18-09 | 10 | | Grand Prix d'Isbergues (1.1) | 197.0km |
| 17-09 | DNF | | Primus Classic (1.Pro) | 201.0km |
| 16-09 | 9 | | Kampioenschap van Vlaanderen (1.1) | 195.0km |
| 11-09 | 42 | | GP de Fourmies (1.Pro) | 197.0km |
| | | Tour Poitou - Charentes (2.1) |
| 71 | | Standings |
| 6 | | Points |
| 26-08 | 87 | 71 | Stage 4Mansle - Poitiers | 185.0km |
| 25-08 | 88 | 54 | Stage 3bSmarves - Vivonne | 18.0km |
| 25-08 | 12 | 5 | Stage 3aNieuil-l'Espoir - Vivonne | 90.0km |
| 24-08 | 2 | 4 | Stage 2Périgny - Vars | 195.0km |
| 23-08 | 10 | 14 | Stage 1Chauray - Périgny | 193.0km |
| | | Tour de l'Ain (2.1) |
| 10-08 | DNS | | Stage 2Saint-Vulbas - Lagnieu | 144.0km |
| 09-08 | 95 | 95 | Stage 1Chatillon-sur-Chalaronne - Val-Revermont | 152.0km |
| 07-08 | DNF | | Tour of Leuven - Memorial Jef Scherens (1.1) | 199.0km |
| 27-07 | 9 | | Ronde des Korrigans (CRTP) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 18-06 | DNF | | Stage 3Sigean - Les Angles | 188.0km |
| 17-06 | 137 | 123 | Stage 2Belmont-sur-Rance - Roquefort-sur-Soulzon | 35.0km |
| 16-06 | 2 | 2 | Stage 1Séméac - L'Isle Jourdain | 174.0km |
| 12-06 | 104 | | Elfstedenronde Brugge (1.1) | 192.0km |
| 06-06 | 28 | | Ronde van Limburg (1.2) | 202.0km |
| 05-06 | 62 | | Brussels Cycling Classic (1.Pro) | 203.0km |
| 04-06 | 22 | | Heylen Vastgoed Heistse Pijl (1.1) | 192.0km |
| 29-05 | 6 | | Marcel Kint Classic (1.1) | 199.0km |
| 22-05 | 38 | | Rund um Köln (1.1) | 199.0km |
| 21-05 | 7 | | Veenendaal-Veenendaal Classic (1.1) | 195.0km |
| 14-05 | DNF | | Grand Prix du Morbihan (1.Pro) | |
| | | 4 Jours de Dunkerque (2.Pro) |
| 61 | | Standings |
| 8 | | Points |
| 08-05 | 5 | 61 | Stage 6Ardres - Dunkerque | 182.0km |
| 07-05 | 77 | 65 | Stage 5Roubaix - Cassel | 183.0km |
| 06-05 | 14 | 21 | Stage 4Mazingarbe - Aire-sur-la-Lys | 174.0km |
| 05-05 | 4 | 16 | Stage 3Péronne - Mont-Saint-Éloi | 170.0km |
| 04-05 | 11 | 15 | Stage 2Béthune - Maubeuge | 181.0km |
| 03-05 | 4 | 10 | Stage 1Dunkerque - Aniche | 161.0km |
| 01-05 | 96 | | Eschborn-Frankfurt (1.UWT) | 183.0km |
| 17-04 | 91 | | Paris-Roubaix (1.UWT) | 257.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 32 | | Standings |
| 20 | | Points |
| 08-04 | 34 | 32 | Stage 4La Chapelle-Saint-Aubin - La Chapelle-Saint-Aubin | 173.0km |
| 07-04 | 17 | 20 | Stage 3Sablé-sur-Sarthe - Sablé-sur-Sarthe | 176.0km |
| 06-04 | 6 | 20 | Stage 2Le Lude - Le Lude | 173.0km |
| 05-04 | 26 | 26 | Stage 1Mamers - Mamers | 192.0km |
| 01-04 | 65 | | La Route Adélie de Vitré (1.1) | 197.0km |
| 27-03 | 83 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 248.0km |
| 23-03 | 47 | | Oxyclean Classic Brugge-De Panne (1.UWT) | 207.0km |
| 20-03 | 9 | | Cholet - Pays de la Loire (1.1) | 202.0km |
| 17-03 | 4 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 200.0km |
| 16-03 | 8 | | Danilith Nokere Koerse (1.Pro) | 189.0km |
| 13-03 | 24 | | Albert Achterhes Profronde van Drenthe (1.1) | 198.0km |
| 06-03 | 6 | | Grote Prijs Jean - Pierre Monseré (1.1) | 203.0km |
| 01-03 | 18 | | Le Samyn (1.1) | 209.0km |
| 27-02 | 102 | | Kuurne-Brussel-Kuurne (1.Pro) | 195.0km |
| | | Tour de la Provence (2.Pro) |
| 89 | | Standings |
| 13-02 | 91 | 89 | Stage 3Manosque - La Montagne de Lure | 166.0km |
| 12-02 | 57 | 89 | Stage 2Arles - Manosque | 180.0km |
| 11-02 | 93 | 102 | Stage 1Istres - Les Saintes-Maries-de-la-Mer | 152.0km |
| 10-02 | 99 | 99 | PrologueBerre l'Etang - Berre l'Etang | 7.0km |
| 09-01 | 41 | | French National Championships CX (CN) | |