| 05-12 | 40 | | CAC African Road Championships (CC) | |
| 30-11 | 1 | | CAC African Road Championships TTT (CC) | |
| 06-10 | DNF | | Giro di Lombardia (WT) | 242.0km |
| 02-10 | 121 | | Milano-Torino (1.HC) | 193.0km |
| 27-09 | 63 | | UCI World Championship Firenze U23 (CM) | 185.0km |
| 18-09 | 30 | | Grand Prix de Wallonie (1.1) | 203.0km |
| 15-09 | 36 | | Tour du Doubs - Conseil Général (1.1) | |
| 01-09 | 128 | | GP Ouest France - Plouay (WT) | 243.0km |
| 23-08 | DNF | | Tre Valli Varesine (1.HC) | 198.0km |
| 22-08 | 22 | | GP Banca di Legnano - Coppa Bernocchi (1.1) | |
| 21-08 | 59 | | Coppa Agostoni - Giro delle Brianze (1.1) | 198.0km |
| | | Tour de l'Ain (2.1) |
| 25 | | Klassement |
| 13-08 | 49 | 25 | Stage 4Nantua - Belley (126.0km) | 126.0km |
| 12-08 | 26 | 25 | Stage 3Izernore - Lélex (136.0km) | 136.0km |
| 11-08 | 13 | 12 | Stage 2Courtes - Oyonnax (149.0km) | 149.0km |
| 10-08 | 47 | 23 | Stage 1Lagnieu - Bourg-en-Bresse (156.0km) | 156.0km |
| 09-08 | 22 | 22 | PrologueTrévoux - Trévoux (4.0km) | 4.0km |
| | | Tour Alsace (2.2) |
| 17 | | Klassement |
| 28-07 | 15 | 17 | Stage 6Ribeauville - Cernay (139.0km) | 139.0km |
| 27-07 | 23 | 20 | Stage 5Selestat - Le Markstein (176.0km) | 176.0km |
| 26-07 | 19 | 32 | Stage 4Dannemarie - Colmar (164.0km) | 164.0km |
| 25-07 | 47 | 40 | Stage 3Strasbourg - Bischoffsheim (153.0km) | 153.0km |
| 24-07 | 121 | 65 | Stage 2Mulhouse - Huningue (157.0km) | 157.0km |
| 23-07 | 16 | 16 | Stage 1Le Bioscope Ungersheim - Sausheim (118.0km) | 118.0km |
| | | Route du Sud (2.1) |
| 41 | | Klassement |
| 16-06 | 96 | 41 | Stage 4Saint-Gaudens - L'Isle-Jourdain (149.0km) | 149.0km |
| 15-06 | 39 | 39 | Stage 3Izaourt - Bagnères-de-Luchon (176.0km) | 176.0km |
| 14-06 | 25 | 24 | Stage 2Villecomtal-sur-Arros - Villecomtal-sur-Arros (182.0km) | 182.0km |
| 13-06 | 31 | 35 | Stage 1Castres - Mirande (209.0km) | 209.0km |
| | | Critérium du Dauphiné (WT) |
| 09-06 | DNS | | Stage 8Sisteron - Risoul (152.0km) | 152.0km |
| 08-06 | 103 | 112 | Stage 7Le Pont-de-Claix - Superdévoluy (184.0km) | 184.0km |
| 07-06 | 117 | 124 | Stage 6La Léchère - Grenoble (141.0km) | 141.0km |
| 06-06 | 158 | 119 | Stage 5Grésy-sur-Aix - Valmorel (139.0km) | 139.0km |
| 05-06 | 147 | 103 | Stage 4Villars-les-Dombes - Parc des Oiseaux (32.0km) | 32.0km |
| 04-06 | 160 | 99 | Stage 3Ambérieu-en-Bugey - Tarare (164.0km) | 164.0km |
| 03-06 | 136 | 91 | Stage 2Châtel - Oyonnax (183.0km) | 183.0km |
| 02-06 | 78 | 78 | Stage 1Champéry - Champéry (121.0km) | 121.0km |
| 26-05 | 39 | | Boucles de l'Aulne (1.1) | |
| 25-05 | 40 | | Grand Prix de Plumelec-Morbihan (1.1) | |
| | | Presidential Cycling Tour of Turkey (2.HC) |
| 2 | | Klassement |
| 7 | | Berg |
| 28-04 | 60 | 2 | Stage 8Istanbul - Istanbul (121.0km) | 121.0km |
| 27-04 | 73 | 2 | Stage 7Kusadasi - İzmir (124.0km) | 124.0km |
| 26-04 | 12 | 2 | Stage 6Bodrum - Selçuk (182.0km) | 182.0km |
| 25-04 | 25 | 1 | Stage 5Marmaris - Turgutreis (183.0km) | 183.0km |
| 24-04 | 34 | 1 | Stage 4Gocek - Marmaris (147.0km) | 147.0km |
| 23-04 | 1 | 1 | Stage 3Antalya - Elmali (153.0km) | 153.0km |
| 22-04 | 37 | 67 | Stage 2Alanya - Antalya (150.0km) | 150.0km |
| 21-04 | 115 | 115 | Stage 1Alanya - Alanya (143.0km) | 143.0km |
| | | Giro del Trentino (2.HC) |
| 19-04 | DNF | | Stage 4Arco - Sega di Ala (166.0km) | 166.0km |
| 18-04 | 104 | 69 | Stage 3Pergine Valsugana - Condino (176.0km) | 176.0km |
| 17-04 | 50 | 48 | Stage 2Sillian - Vetriolo Terme (220.0km) | 220.0km |
| 16-04 | 82 | 82 | Stage 1aLienz - Lienz (128.0km) | 128.0km |
| 16-04 | 6 | 36 | Stage 1bLienz - Lienz (14.0km) | 14.0km |
| 13-04 | 27 | | Tour du Finistère (1.1) | |
| 09-04 | 54 | | Paris-Camembert (1.1) | 206.0km |
| 31-03 | 107 | | Val d'Ille Classic (1.1) | |
| 29-03 | DNF | | Route Adélie de Vitré (1.1) | 198.0km |
| | | Tour de Normandie (2.2) |
| 64 | | Klassement |
| 24-03 | 17 | 64 | Stage 6Bagnoles de l'Orne - Caen (137.0km) | 137.0km |
| 23-03 | 45 | 68 | Stage 5Gouville-sur-Mer - Bagnoles de l'Orne (183.0km) | 183.0km |
| 22-03 | 27 | 68 | Stage 4Domfront - Villers-Bocage (155.0km) | 155.0km |
| 21-03 | 112 | 82 | Stage 3Le Thuit-Signol - Argentan (159.0km) | 159.0km |
| 20-03 | 35 | 32 | Stage 2Forges-les-Eaux - Elbeuf (161.0km) | 161.0km |
| 19-03 | 49 | 63 | Stage 1Colombelles - Forges-les-Eaux (201.0km) | 201.0km |
| 18-03 | 105 | 105 | PrologueSaint-Lô - Saint-Lô (3.0km) | 3.0km |
| 24-02 | 47 | | Classic Sud Ardèche - Souvenir Francis Delpech (1.1) | 198.0km |
| 06-02 | OTL | | Trofeo Platja de Muro (1.1) | 170.0km |
| 05-02 | OTL | | Trofeo Serra de Tramuntana (1.1) | 150.0km |
| 04-02 | 172 | | Trofeo Campos-Santanyi-Ses Salines (1.1) | 160.0km |
| 03-02 | 48 | | Trofeo Palma (1.1) | 110.0km |
| | | La Tropicale Amissa Bongo (2.1) |
| 13 | | Klassement |
| 20-01 | 19 | 13 | Stage 7Owendo - Libreville (128.0km) | 128.0km |
| 19-01 | 20 | 14 | Stage 6Lambaréné - Kango (147.0km) | 147.0km |
| 18-01 | 42 | 28 | Stage 5Lambaréné - Mouila (190.0km) | 190.0km |
| 17-01 | 28 | 19 | Stage 4Oyem - Mitzic (109.0km) | 109.0km |
| 16-01 | 18 | 18 | Stage 3Oyem - Bitam (110.0km) | 110.0km |
| 15-01 | 9 | 13 | Stage 2Yaounde - Yaounde (112.0km) | 112.0km |
| 14-01 | 17 | 19 | Stage 1Bitam - Ebolowa (149.0km) | 149.0km |