| | | Tour du Gévaudan Languedoc-Roussillon (2.2) |
| 6 | | Standings |
| 25-09 | 11 | 6 | Stage 2Mende - Mende (162.0km) | 162.0km |
| 24-09 | 5 | 5 | Stage 1La Grande Combe - Langogne (149.0km) | 149.0km |
| 19-09 | 19 | | UCI World Championship København TT U23 (WC) | 35.0km |
| 10-09 | 89 | | Paris-Brussel (1.HC) | 219.0km |
| 04-09 | 18 | | Tour du Doubs (1.1) | 196.0km |
| | | Tour du Poitou-Charentes (2.1) |
| 87 | | Standings |
| 26-08 | 86 | 87 | Stage 5Saint-Jacques-de-Thouars - Poitiers (171.0km) | 171.0km |
| 25-08 | 132 | 106 | Stage 3Bressuire - Chatellerault (1048.0km) | 1048.0km |
| 25-08 | 48 | 68 | Stage 4Chatellerault - Chatellerault (20.0km) | 20.0km |
| 24-08 | 18 | 23 | Stage 2Cognac - Bressuire (175.0km) | 175.0km |
| 23-08 | 15 | 20 | Stage 1Surgères - Cognac (184.0km) | 184.0km |
| 18-08 | 1 | | National Road Championships - France TT U23 (U23) | |
| | | Paris-Corrèze (2.1) |
| 19 | | Standings |
| 04-08 | 25 | 19 | Stage 2Objat - Chaumeil (178.0km) | 178.0km |
| 03-08 | 24 | 24 | Stage 1Contres - Bellac (182.0km) | 182.0km |
| 31-07 | 18 | | La Poly Normande (1.1) | 157.0km |
| 17-07 | 16 | | European Championship U23 (CC) | 170.0km |
| 15-07 | 7 | | European Championship TT U23 (CC) | 25.0km |
| 23-06 | 23 | | National Road Championships - France TT (CN) | 45.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 5 | | Standings |
| 19-06 | 5 | 5 | Stage 7Weida - Weida (166.0km) | 166.0km |
| 18-06 | 19 | 5 | Stage 6Kahla - Kahla (197.0km) | 197.0km |
| 17-06 | 5 | 5 | Stage 5Katzhütte - Neuhaus am Rennweg (11.0km) | 11.0km |
| 16-06 | 3 | 8 | Stage 4Fröttstädt - Ohrdruf (145.0km) | 145.0km |
| 15-06 | 26 | 12 | Stage 3Ohrdruf - Ohrdruf (145.0km) | 145.0km |
| 14-06 | | 12 | Stage 2Streufdorf - Streufdorf (22.0km) | 22.0km |
| 13-06 | 7 | 7 | Stage 1Erfurt - Erfurt (179.0km) | 179.0km |
| 28-05 | 24 | | Grand Prix de Plumelec-Morbihan (1.1) | 181.0km |
| | | Tour de Picardie (2.1) |
| 73 | | Standings |
| 1 | | Mountain |
| 15-05 | 65 | 73 | Stage 3Charly-sur-Marne - Péronne (189.0km) | 189.0km |
| 14-05 | 48 | 79 | Stage 2Villers-Saint-Paul - Château-Thierry (166.0km) | 166.0km |
| 13-05 | 118 | 114 | Stage 1Abbeville - La Neuville-en-Hez (162.0km) | 162.0km |
| | | Quatre Jours de Dunkerque (2.HC) |
| 31 | | Standings |
| 08-05 | 72 | 31 | Stage 5Grande-Synthe - Dunkerque (179.0km) | 179.0km |
| 07-05 | 31 | 31 | Stage 4Hazebrouck - Cassel (189.0km) | 189.0km |
| 06-05 | 114 | 95 | Stage 3Caudry - Le Cateau-Cambrésis (171.0km) | 171.0km |
| 05-05 | 73 | 56 | Stage 2Douai - Iwuy (166.0km) | 166.0km |
| 04-05 | 61 | 64 | Stage 1Dunkerque - Orchies (180.0km) | 180.0km |
| 01-05 | 65 | | Rund um den Finanzplatz Eschborn-Frankfurt (1.HC) | 201.0km |
| 24-04 | 2 | | Paris - Mantes-en-Yvelines (1.2) | 170.0km |
| 14-04 | 91 | | GP de Denain Porte du Hainaut (1.1) | 199.0km |
| 10-04 | | | Paris-Roubaix (HIS) | 259.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 07-04 | DNF | | Stage 4Angers - Pré-en-Pail (181.0km) | 181.0km |
| 06-04 | 17 | 19 | Stage 3Angers - Angers (6.0km) | 6.0km |
| 06-04 | 83 | 90 | Stage 2Saint-Mars-la-Jaille - Angers (100.0km) | 100.0km |
| 05-04 | 89 | 89 | Stage 1Château-d'Olonne - Saint-Mars-la-Jaille (191.0km) | 191.0km |
| 03-04 | 43 | | Flèche d'Emeraude - Saint Malo (1.1) | 182.0km |
| | | Tour de Normandie (2.2) |
| 91 | | Standings |
| 27-03 | 102 | 91 | Stage 7Bagnoles de l'Orne - Caen (143.0km) | 143.0km |
| 26-03 | 104 | 92 | Stage 6Gouville-sur-Mer - Bagnoles de l'Orne (172.0km) | 172.0km |
| 25-03 | 114 | 87 | Stage 5Domfront - Agon-Coutainville (168.0km) | 168.0km |
| 24-03 | 77 | 5 | Stage 4Elbeuf - Flers (188.0km) | 188.0km |
| 23-03 | 42 | 4 | Stage 3Grand-Couronne - Elbeuf (72.0km) | 72.0km |
| 23-03 | 43 | 4 | Stage 2Forges-les-Eaux - Grand-Couronne (84.0km) | 84.0km |
| 22-03 | 115 | 8 | Stage 1Colombelles - Forges-les-Eaux (198.0km) | 198.0km |
| 21-03 | 5 | 5 | PrologueMondeville - Mondeville (4.0km) | 4.0km |
| 13-03 | 84 | | Paris-Troyes (1.2) | 172.0km |
| 26-02 | 88 | | Omloop Het Nieuwsblad (1.HC) | 203.0km |
| | | Tour du Haut Var (2.1) |
| 20-02 | DNF | | Stage 2Draguignan - Draguignan (207.0km) | 207.0km |
| 19-02 | 90 | 90 | Stage 1La Croix-Valmer - Grimaud (168.0km) | 168.0km |
| | | Etoile de Bessèges (2.1) |
| 74 | | Standings |
| 4 | | Mountain |
| 06-02 | 99 | 74 | Stage 5Gagnières - Bessèges (145.0km) | 145.0km |
| 05-02 | 36 | 76 | Stage 4Alès - Alès (152.0km) | 152.0km |
| 04-02 | 14 | 101 | Stage 3Saint-Victor-la-Coste - Laudun-l'Ardoise (152.0km) | 152.0km |
| 03-02 | 108 | 118 | Stage 2Nîmes - Saint-Ambroix (149.0km) | 149.0km |
| 02-02 | 113 | 113 | Stage 1Beaucaire - Bellegarde (153.0km) | 153.0km |