| 28-12 | 30 | | Telenet Superprestige Diegem (C1) | |
| 27-12 | 36 | | Telenet Superprestige Heusden-Zolder (C1) | |
| 23-12 | 41 | | UCI Cyclo-cross World Cup - Antwerpen (CDM) | |
| 26-11 | 16 | | Cyclo-cross International d'Auxerre (C2) | |
| 08-10 | 4 | | Paris - Tours Elite (1.Pro) | 231.0km |
| 05-10 | 61 | | Paris - Bourges (1.1) | 198.0km |
| 01-10 | 23 | | Tour de Vendée (1.1) | 207.0km |
| 24-09 | 66 | | Classique Paris-Chauny (1.1) | 203.0km |
| 17-09 | 88 | | Grand Prix d'Isbergues (1.1) | |
| 03-09 | DNF | | Grand Prix de Plouay (1.2) | |
| | | Tour du Limousin (2.1) |
| 9 | | Standings |
| 19 | | Mountain |
| 18-08 | 18 | 9 | Stage 4Saint-Yrieix-la-Perche - Limoges | 170.0km |
| 17-08 | 11 | 10 | Stage 3Sarran - Bort-les-Orgues | 195.0km |
| 16-08 | 28 | 18 | Stage 2Excideuil - Trélissac | 185.0km |
| 15-08 | 21 | 21 | Stage 1Rilhac-Rancon - Bénévent-l'Abbaye | 165.0km |
| 13-08 | 54 | | La Polynormande (1.1) | |
| | | Tour de l'Ain (2.1) |
| 13 | | Standings |
| 30 | | Points |
| 02-08 | 19 | 13 | Stage 3Oyonnax - Lélex | 137.0km |
| 01-08 | 14 | 16 | Stage 2Saint-Vulbas - Lagnieu | 124.0km |
| 31-07 | 70 | 70 | Stage 1Loyettes - La Plaine Tonique | 154.0km |
| 23-07 | 39 | | Grand Prix de la ville de Pérenchies (1.2) | |
| 25-06 | DNF | | National Road Championships - France (CN) | 224.0km |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 25 | | Standings |
| 8 | | Mountain |
| 18-06 | 28 | 25 | Stage 4Saint-Gaudens - Saint-Girons | 164.0km |
| 17-06 | 34 | 29 | Stage 3Gimont - Nistos Cap Nestès | 189.0km |
| 16-06 | 34 | 49 | Stage 2Cazouls-lès-Béziers - Graulhet | 182.0km |
| 15-06 | 67 | 67 | Stage 1Narbonne - Gruissan | 184.0km |
| | | Ronde de l'Oise (2.2) |
| 11 | | Standings |
| 11 | | Points |
| 6 | | Mountain |
| 04-06 | 5 | 11 | Stage 4Breuil-le-Sec - Liancourt | 158.0km |
| 03-06 | 33 | 14 | Stage 3Andeville - Le Plessis-Belleville | 189.0km |
| 02-06 | 9 | 18 | Stage 2Bréteuil - Margny-lès-Compiègne | 181.0km |
| 01-06 | 22 | 22 | Stage 1Beauvais - Clermont | 145.0km |
| 30-05 | 58 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 167.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 21-05 | DNF | | Stage 6Avion - Dunkerque | 180.0km |
| 20-05 | 40 | 70 | Stage 5Roubaix - Cassel | 183.0km |
| 19-05 | 60 | 106 | Stage 4Maubeuge - Achicourt | 173.0km |
| 18-05 | 130 | 130 | Stage 3Saint-Quentin - Saint-Quentin | 15.0km |
| 17-05 | 121 | 131 | Stage 2Compiègne - Laon | 165.0km |
| 16-05 | 129 | 137 | Stage 1Dunkerque - Abbeville | 193.0km |
| 07-05 | DNF | | Tro-Bro Léon (1.Pro) | 204.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 27 | | Standings |
| 9 | | Mountain |
| 01-05 | 56 | 27 | Stage 7Piré-Chancé - Châteaugiron | 163.0km |
| 29-04 | 99 | 34 | Stage 5Sérent - Louisfert | 173.0km |
| 28-04 | 21 | 29 | Stage 4Le Mené - Plumelec | 183.0km |
| 27-04 | 24 | 41 | Stage 3Trégunc - Le Quillio | 191.0km |
| 26-04 | 112 | 72 | Stage 2Sibiril - Melgven | 172.0km |
| 25-04 | 36 | 40 | Stage 1Plouescat - Saint-Pol-de-Léon | 155.0km |
| 16-04 | 36 | | Tour du Doubs (1.1) | 200.0km |
| 14-04 | 22 | | Classic Grand Besançon Doubs (1.1) | 180.0km |
| 11-04 | 38 | | Paris - Camembert (1.1) | 209.0km |
| 31-03 | 23 | | La Route Adélie de Vitré (1.1) | 197.0km |
| 19-03 | 38 | | Cholet - Pays de la Loire (1.1) | 205.0km |
| 16-03 | 52 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 195.0km |
| 05-03 | 84 | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | |
| 04-03 | 95 | | Le Tour des 100 Communes (1.2) | |
| 26-02 | DNF | | Faun Drome Classic (1.Pro) | |
| 25-02 | DNF | | Faun-Ardèche Classic
(1.Pro) | |
| 15-01 | 11 | | French National Championships CX (CN) | |
| 01-01 | 7 | | Grand Prix Garage Collé (C2) | |