| 07-10 | 15 | | Paris - Tours Elite (1.HC) | 214.0km |
| 04-10 | 10 | | Paris-Bourges (1.1) | 193.0km |
| 27-09 | 13 | | Famenne Ardenne Classic (1.1) | 194.0km |
| 23-09 | 22 | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 199.0km |
| 16-09 | 16 | | Grote Prijs Jef Scherens - Rondom Leuven (1.1) | 185.0km |
| 02-09 | 20 | | GP de Fourmies / La Voix du Nord (1.HC) | |
| | | Tour de l'Avenir (2.NCUP) |
| 52 | | Klassement |
| 1 | | Punten |
| 27 | | Berg |
| 26-08 | 62 | 52 | Stage 10Val-d'Isère - Saint-Colomban-des-Villards (149.0km) | 149.0km |
| 25-08 | 49 | 51 | Stage 9Séez - Val-d'Isère (83.0km) | 83.0km |
| 24-08 | 87 | 63 | Stage 8La Bâthie - Crest-Voland Cohennoz (81.0km) | 81.0km |
| 23-08 | 51 | 41 | Stage 7Moûtiers - Méribel (34.0km) | 34.0km |
| 22-08 | 9 | 8 | Stage 6Le Blanc - Cérilly (181.0km) | 181.0km |
| 21-08 | 6 | 8 | Stage 5Beaugency - Levroux (135.0km) | 135.0km |
| 20-08 | | 12 | Stage 4Orléans - Orléans (20.0km) | 20.0km |
| 19-08 | 1 | 4 | Stage 3Le Lude - Châteaudun (170.0km) | 170.0km |
| 18-08 | 60 | 29 | Stage 2Dréfféac - Chateaubriant (144.0km) | 144.0km |
| 17-08 | 3 | 3 | Stage 1Grand Champ - Elven (138.0km) | 138.0km |
| 12-08 | DNF | | UEC Road Elite European Championships (CC) | 230.0km |
| 05-08 | 15 | | La Poly Normande (1.1) | |
| | | Kreiz Breizh Elites (2.2) |
| 1 | | Klassement |
| 1 | | Punten |
| 8 | | Berg |
| 30-07 | 11 | 1 | Stage 3Guingamp - Rostrenen (171.0km) | 171.0km |
| 29-07 | 13 | 1 | Stage 2bCarhaix - Carhaix (102.0km) | 102.0km |
| 29-07 | 10 | 1 | Stage 2aPloërdut - Callac (93.0km) | 93.0km |
| 28-07 | 1 | 1 | Stage 1Calanhel - Plouray (181.0km) | 181.0km |
| 15-07 | 21 | | UEC Road European Championships U23 (CC) | 140.0km |
| 01-07 | 16 | | National Road Championships - France (CN) | 253.0km |
| | | Route d'Occitanie (2.1) |
| 16-06 | DNS | | Stage 3Prat-Bonrepaux - Les Monts d'Olmes (198.0km) | 198.0km |
| 15-06 | 15 | 14 | Stage 2Saint-Gaudens - Masseube Val de Gers (178.0km) | 178.0km |
| 14-06 | 13 | 15 | Stage 1Cap Découverte - Carmaux (168.0km) | 168.0km |
| | | Ronde de l'Oise (2.2) |
| 6 | | Klassement |
| 6 | | Punten |
| 10-06 | 9 | 6 | Stage 4La Croix-Saint-Ouen - Beauvais (181.0km) | 181.0km |
| 09-06 | 23 | 5 | Stage 3Moirenval - Nanteuil-le-Haudouin (174.0km) | 174.0km |
| 08-06 | 1 | 3 | Stage 2Andeville - Ribécourt-Dreslincourt (208.0km) | 208.0km |
| 07-06 | 16 | 17 | Stage 1Bréteuil - Liancourt (131.0km) | 131.0km |
| | | Boucles de la Mayenne (2.1) |
| 26 | | Klassement |
| 13 | | Punten |
| 03-06 | 41 | 26 | Stage 3Congrier - Laval (184.0km) | 184.0km |
| 02-06 | 12 | 16 | Stage 2Saint-Aignan-de-Couptrain - Pré-en-Pail-Saint-Samson (172.0km) | 172.0km |
| 01-06 | 6 | 22 | Stage 1Saint-Berthevin - Gorron (176.0km) | 176.0km |
| 31-05 | 42 | 42 | PrologueLaval - Laval (4.0km) | 4.0km |
| 27-05 | 46 | | Boucles de l Aulne - Chateaulin (1.1) | |
| 26-05 | 61 | | Grand Prix de Plumelec-Morbihan (1.1) | |
| | | 4 Jours de Dunkerque (2.HC) |
| 33 | | Klassement |
| 12 | | Punten |
| 13-05 | 31 | 33 | Stage 6Coulogne - Dunkerque (174.0km) | 174.0km |
| 12-05 | 36 | 34 | Stage 5Wormhout - Cassel (178.0km) | 178.0km |
| 11-05 | 28 | 17 | Stage 4Dainville - Mont-Saint-Éloi (172.0km) | 172.0km |
| 10-05 | 13 | 13 | Stage 3Fort-Mahon-Plage - Ecques (172.0km) | 172.0km |
| 09-05 | 8 | 10 | Stage 2Le Quesnoy - Soissons (173.0km) | 173.0km |
| 08-05 | 7 | 9 | Stage 1Dunkerque - La Bassée (165.0km) | 165.0km |
| 29-04 | 21 | | Paris - Mantes-en-Yvelines (1.2) | |
| 15-04 | 43 | | Tro-Bro Léon (1.1) | 203.0km |
| 14-04 | DNF | | Tour du Finistère (1.1) | 190.0km |
| 10-04 | 5 | | Paris-Camembert (1.1) | 196.0km |
| 07-04 | 8 | | Ronde van Vlaanderen U23 (1.NCUP) | 165.0km |
| 01-04 | 20 | | La Roue Tourangelle (1.1) | 200.0km |
| 30-03 | 24 | | Route Adélie de Vitré (1.1) | |
| 24-03 | 4 | | Classic Loire Atlantique (1.1) | |
| 18-03 | 37 | | Grand Prix de Denain - Porte du Hainaut (1.HC) | 199.0km |
| 11-03 | 3 | | Paris-Troyes (1.2) | |
| 04-03 | OVL | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | |
| 25-02 | DNF | | Royal Bernard Drome Classic (1.1) | |
| 24-02 | 49 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | 50ème Tour Cycliste International du Haut Var Matin (2.1) |
| 34 | | Klassement |
| 18-02 | 54 | 34 | Stage 2Vidauban - Flayosc (188.0km) | 188.0km |
| 17-02 | 28 | 28 | Stage 1Le Cannet des Maures - Fayence (169.0km) | 169.0km |
| | | Etoile de Bessèges (2.1) |
| 64 | | Klassement |
| 10 | | Punten |
| 04-02 | 68 | 64 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 03-02 | 5 | 64 | Stage 4Chusclan - Laudun-l'Ardoise (153.0km) | 153.0km |
| 02-02 | 9 | 70 | Stage 3Bessèges - Bessèges (152.0km) | 152.0km |
| 01-02 | 34 | 103 | Stage 2Nîmes - Générac (151.0km) | 151.0km |
| 31-01 | 114 | 115 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 28-01 | 65 | | Grand Prix Cycliste la Marseillaise (1.1) | 145.0km |