| 12-10 | 61 | | Paris - Tours Elite (1.Pro) | 211.0km |
| 11-10 | DNF | | Tour de Vendée (1.1) | 202.0km |
| 28-09 | 36 | | Paris-Chauny (1.1) | 188.0km |
| 21-09 | 53 | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 201.0km |
| 31-08 | 27 | | Grand Prix de Plouay (1.2) | 186.0km |
| | | Tour du Limousin (2.1) |
| 22-08 | DNF | | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 51 | 47 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 59 | 49 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 58 | 57 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| 17-08 | 54 | | La Polynormande (1.1) | 168.0km |
| | | Tour de l'Ain (2.1) |
| 59 | | Klassement |
| 08-08 | 51 | 59 | Stage 3Plateau d'Hauteville - Belley (130.0km) | 130.0km |
| 07-08 | 67 | 71 | Stage 2Saint-Vulbas - Lélex Monts-Jura (153.0km) | 153.0km |
| 06-08 | 83 | 83 | Stage 1Feillens - Lagnieu (163.0km) | 163.0km |
| | | Tour Alsace (2.2) |
| 03-08 | DNF | | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 128 | 124 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 87 | 86 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 42 | 69 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 28 | 73 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| 22-06 | DNS | | Andorra MoraBanc Clàssica (1.1) | 138.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 42 | | Klassement |
| 15 | | Jongeren |
| 21-06 | 85 | 42 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 31 | 32 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 50 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 42 | 42 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Boucles de la Mayenne (2.Pro) |
| 70 | | Klassement |
| 20 | | Jongeren |
| 01-06 | 94 | 70 | Stage 3Javron-les-Chapelles - Laval (163.0km) | 163.0km |
| 31-05 | 64 | 63 | Stage 2Sainte-Suzanne - Bais (210.0km) | 210.0km |
| 30-05 | 75 | 76 | Stage 1Saint-Berthevin - Juvigné (166.0km) | 166.0km |
| 29-05 | 80 | 80 | PrologueLaval - Laval (5.0km) | 5.0km |
| 26-05 | 21 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 36 | | Klassement |
| 17 | | Jongeren |
| 18-05 | 73 | 36 | Stage 5Worhmout - Dunkerque (185.0km) | 185.0km |
| 17-05 | 50 | 37 | Stage 4La Chapelle-d'Armentières - Cassel (172.0km) | 172.0km |
| 16-05 | 75 | 45 | Stage 3Valenciennes - Famars (154.0km) | 154.0km |
| 15-05 | 69 | 56 | Stage 2Avesnes-sur-Helpe - Crépy-en-Valois (178.0km) | 178.0km |
| 14-05 | 53 | 55 | Stage 1Sainte-Catherine - Amiens (177.0km) | 177.0km |
| 13-05 | 115 | | Classique Dunkerque (1.Pro) | 193.0km |
| 10-05 | 99 | | Grand Prix du Morbihan (1.Pro) | 196.0km |
| 09-05 | 68 | | Tour du Finistère Pays de Quimper (1.1) | 168.0km |
| 08-05 | 46 | | Boucles de l'Aulne - Châteaulin (1.1) | 183.0km |
| 20-04 | DNF | | Tour du Doubs (1.1) | 196.0km |
| 19-04 | 31 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | 23 | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| 02-04 | 70 | | Paris - Camembert (1.1) | 199.0km |
| 23-03 | 58 | | Cholet Agglo Tour (1.1) | 205.0km |
| 02-03 | DNF | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 101 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 73 | | Klassement |
| 36 | | Jongeren |
| 23-02 | 81 | 73 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 22-02 | 73 | 73 | Stage 1Contes - Gourdon (162.0km) | 162.0km |
| 21-02 | 28 | | Classic Var (1.1) | 165.0km |
| | | Etoile de Bessèges - Tour du Gard (2.1) |
| 08-02 | DNF | | Stage 4Vauvert - Le Mont Bouquet (119.0km) | 119.0km |
| 07-02 | 24 | 22 | Stage 3Bessèges - Bessèges (136.0km) | 136.0km |
| 06-02 | 70 | 36 | Stage 2Domessargues - Marguerittes (165.0km) | 165.0km |
| 05-02 | 40 | 40 | Stage 1Bellegarde - Bellegarde (159.0km) | 159.0km |
| 02-02 | 53 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.0km |