| 12-10 | 36 | | UCI Gravel World Championship (CM) | 181.0km |
| 26-09 | DNF | | Tour de la Mirabelle (1.2) | 127.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 21-09 | DNF | | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 34 | 57 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 48 | 60 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 89 | 84 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 82 | 83 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 14-09 | DNF | | GP de Fourmies / La Voix du Nord (1.Pro) | 193.0km |
| | | Tour du Limousin (2.1) |
| 48 | | Klassement |
| 24 | | Jongeren |
| 22-08 | 93 | 48 | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 49 | 35 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 34 | 32 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 43 | 44 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| 17-08 | DNF | | La Polynormande (1.1) | 168.0km |
| | | Tour Alsace (2.2) |
| 47 | | Klassement |
| 26 | | Berg |
| 03-08 | 45 | 47 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 117 | 54 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 44 | 43 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 57 | 31 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 12 | 30 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | 15 | | 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) |
| 81 | | Klassement |
| 14 | | Punten |
| 23 | | Berg |
| 36 | | Jongeren |
| 21-06 | 70 | 81 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 81 | 89 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 113 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 57 | 57 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Boucles de la Mayenne (2.Pro) |
| 49 | | Klassement |
| 10 | | Jongeren |
| 01-06 | 51 | 49 | Stage 3Javron-les-Chapelles - Laval (163.0km) | 163.0km |
| 31-05 | 34 | 55 | Stage 2Sainte-Suzanne - Bais (210.0km) | 210.0km |
| 30-05 | 105 | 104 | Stage 1Saint-Berthevin - Juvigné (166.0km) | 166.0km |
| 29-05 | 59 | 59 | PrologueLaval - Laval (5.0km) | 5.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 54 | | Klassement |
| 6 | | Berg |
| 27 | | Jongeren |
| 18-05 | 93 | 54 | Stage 5Worhmout - Dunkerque (185.0km) | 185.0km |
| 17-05 | 22 | 53 | Stage 4La Chapelle-d'Armentières - Cassel (172.0km) | 172.0km |
| 16-05 | 110 | 97 | Stage 3Valenciennes - Famars (154.0km) | 154.0km |
| 15-05 | 84 | 77 | Stage 2Avesnes-sur-Helpe - Crépy-en-Valois (178.0km) | 178.0km |
| 14-05 | 89 | 93 | Stage 1Sainte-Catherine - Amiens (177.0km) | 177.0km |
| 09-05 | 64 | | Tour du Finistère Pays de Quimper (1.1) | 168.0km |
| 08-05 | 56 | | Boucles de l'Aulne - Châteaulin (1.1) | 183.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 41 | | Klassement |
| 29 | | Punten |
| 2 | | Berg |
| 01-05 | 49 | 41 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 74 | 45 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 19 | 18 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 36 | 23 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 121 | 6 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 78 | 45 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 36 | 37 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 19-04 | 55 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | DNF | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 39 | | Klassement |
| 11-04 | 50 | 39 | Stage 4Sillé-le-Guillaume - Le Mans (186.0km) | 186.0km |
| 10-04 | 31 | 40 | Stage 3Tiercé - Hambers (165.0km) | 165.0km |
| 09-04 | 57 | 54 | Stage 2La Bernardière - Beaupréau (158.0km) | 158.0km |
| 08-04 | 68 | 68 | Stage 1Machecoul-Saint-Même - La Baule-Escoublac (208.0km) | 208.0km |
| 04-04 | 72 | | La Route Adélie de Vitré (1.1) | 174.0km |
| 02-04 | DNF | | Paris - Camembert (1.1) | 199.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) |
| 23-02 | DNF | | Stage 5Benahavís - La Línea (168.0km) | 168.0km |
| 22-02 | 80 | 82 | Stage 4Córdoba - Alhaurín de la Torre (194.0km) | 194.0km |
| 21-02 | 52 | 79 | Stage 3Arjona - Pozoblanco (162.0km) | 162.0km |
| 20-02 | 76 | 82 | Stage 2Alcaudete - Torredelcampo (133.0km) | 133.0km |
| 19-02 | 71 | 71 | Stage 1Torrox - Cueva de Nerja (162.0km) | 162.0km |
| | | Etoile de Bessèges - Tour du Gard (2.1) |
| 08-02 | DNF | | Stage 4Vauvert - Le Mont Bouquet (119.0km) | 119.0km |
| 07-02 | 70 | 66 | Stage 3Bessèges - Bessèges (136.0km) | 136.0km |
| 06-02 | 100 | 73 | Stage 2Domessargues - Marguerittes (165.0km) | 165.0km |
| 05-02 | 65 | 65 | Stage 1Bellegarde - Bellegarde (159.0km) | 159.0km |
| 02-02 | 116 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.0km |
| | | Tour of Sharjah (2.2) |
| 11 | | Klassement |
| 27 | | Punten |
| 28-01 | 16 | 11 | Stage 5Al Hamriyah - Sharjah (121.0km) | 121.0km |
| 27-01 | 14 | 11 | Stage 4Kalba City - Khorfakkan (132.0km) | 132.0km |
| 26-01 | 4 | 6 | Stage 3Sharjah - Sharjah (11.0km) | 11.0km |
| 25-01 | 64 | 17 | Stage 2Maliha - Al Dhaid University (127.0km) | 127.0km |
| 24-01 | 17 | 17 | Stage 1Sharjah - Kalba City (132.0km) | 132.0km |