| 17-10 | DNF | | Boucles de l'Aulne - Châteaulin (1.1) | 177.0km |
| 07-10 | 99 | | Paris - Bourges (1.1) | 193.0km |
| 02-10 | DNF | | Classic Loire Atlantique (1.1) | 182.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 27 | | Klassement |
| 57 | | Punten |
| 19 | | Berg |
| 26-09 | 44 | 27 | Stage 7Guitté - Dinan (155.0km) | 155.0km |
| 25-09 | 52 | 26 | Stage 6Quédillac - Fougères (164.0km) | 164.0km |
| 24-09 | 55 | 24 | Stage 5Chateaubriant - Boisgervilly (217.0km) | 217.0km |
| 23-09 | 51 | 25 | Stage 4Ploeren - Louisfert (166.0km) | 166.0km |
| 22-09 | 19 | 26 | Stage 3Rosporden - Brandivy (170.0km) | 170.0km |
| 21-09 | 47 | 40 | Stage 2Corlay - Rosporden (165.0km) | 165.0km |
| 20-09 | 39 | 42 | Stage 1Le Cambout - Allineuc (159.0km) | 159.0km |
| 15-09 | 82 | | Grand Prix de Wallonie (1.Pro) | 208.0km |
| | | Tour Poitou - Charentes (2.1) |
| 20 | | Klassement |
| 27-08 | 33 | 20 | Stage 5Villefagnan - Poitiers (166.0km) | 166.0km |
| 26-08 | 57 | 28 | Stage 4Monts-sur-Guesnes - Loudun (23.0km) | 23.0km |
| 26-08 | 23 | 19 | Stage 3Moncontour - Loudun (109.0km) | 109.0km |
| 25-08 | 19 | 18 | Stage 2Parthenay - Ruffec (193.0km) | 193.0km |
| 24-08 | 35 | 35 | Stage 1Pons - Parthenay (198.0km) | 198.0km |
| 15-08 | DNF | | La Polynormande (1.1) | 168.0km |
| | | Le Tour de Savoie Mont Blanc (2.2) |
| 32 | | Klassement |
| 8 | | Punten |
| 1 | | Berg |
| 08-08 | 53 | 32 | Stage 4Saint-Jean-de-Maurienne - La Toussuire (124.0km) | 124.0km |
| 07-08 | 1 | 27 | Stage 3Orelle - Aussois (128.0km) | 128.0km |
| 06-08 | 58 | 40 | Stage 2Termignon - Col du Galibier (150.0km) | 150.0km |
| 05-08 | 25 | 17 | Stage 1Bonneville - Praz-sur-Arly (122.0km) | 122.0km |
| 04-08 | 31 | 31 | PrologueSallanches - Sallanches (5.0km) | 5.0km |
| | | Tour de l'Ain (2.1) |
| 46 | | Klassement |
| 11 | | Berg |
| 31-07 | 55 | 46 | Stage 3Izernore - Lélex (125.0km) | 125.0km |
| 30-07 | 48 | 34 | Stage 2Lagnieu - Saint-Vulbas (136.0km) | 136.0km |
| 29-07 | 49 | 49 | Stage 1Parc des Oiseaux - Bourg-en-Bresse (141.0km) | 141.0km |
| 20-06 | 114 | | National Road Championships - France (CN) | 242.0km |
| 17-06 | 35 | | National Road Championships - France TT (CN) | 45.0km |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 13-06 | DNF | | Stage 4Lavelanet - Duilhac-sous-Peyrepertuse (151.0km) | 151.0km |
| 12-06 | 29 | 29 | Stage 3Pierrefitte-Nestalas - Station du Mourtis (191.0km) | 191.0km |
| 11-06 | 13 | 12 | Stage 2Villefranche-de-Rouergue - Auch (198.0km) | 198.0km |
| 10-06 | 21 | 21 | Stage 1Cazouls-lès-Béziers - Lacaune-les-Bains (156.0km) | 156.0km |
| 08-06 | DNF | | Mont Ventoux Dénivelé Challenge (1.1) | 154.0km |
| 24-05 | 35 | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 163.0km |
| 16-05 | 64 | | Trofeo Alcudia-Port d'Alcudia (1.1) | |
| 15-05 | DNF | | Trofeo Andratx - Mirador des Colomer (1.1) | 158.0km |
| 14-05 | 112 | | Trofeo Serra de Tramuntana (1.1) | |
| 13-05 | DNF | | Trofeo Calvia (1.1) | |
| | | Tour du Rwanda (2.1) |
| 4 | | Klassement |
| 14 | | Berg |
| 09-05 | 6 | 4 | Stage 8Kigali - Kigali (75.0km) | 75.0km |
| 08-05 | 3 | 4 | Stage 7Kigali - Kigali (4.0km) | 4.0km |
| 07-05 | 7 | 5 | Stage 6Kigali - Kigali (152.0km) | 152.0km |
| 06-05 | 1 | 11 | Stage 5Nygatare - Kigali (149.0km) | 149.0km |
| 05-05 | 9 | 12 | Stage 4Kigali - Musanze (123.0km) | 123.0km |
| 04-05 | 1 | 12 | Stage 3Nyanze - Gicumbi (171.0km) | 171.0km |
| 03-05 | 1 | 29 | Stage 2Kigali - Huye (120.0km) | 120.0km |
| 02-05 | 72 | 73 | Stage 1Kigali - Rwamagana (115.0km) | 115.0km |
| | | Volta a la Comunitat Valenciana (2.Pro) |
| 34 | | Klassement |
| 18-04 | 40 | 34 | Stage 5Paterna - Valencia (95.0km) | 95.0km |
| 17-04 | 21 | 34 | Stage 4Xilxes - Almenara (21.0km) | 21.0km |
| 16-04 | 38 | 45 | Stage 3Torrent - Alto de la Reina (160.0km) | 160.0km |
| 15-04 | 23 | 37 | Stage 2Alicante - Alicante (184.0km) | 184.0km |
| 14-04 | 45 | 45 | Stage 1Elche - Ondara (166.0km) | 166.0km |
| 14-03 | DNF | | Paris - Troyes (1.2) | |
| 02-03 | DNF | | Le Samyn (1.1) | 205.0km |
| 27-02 | 114 | | Faun-Ardèche Classic (1.Pro) | 171.0km |