| 04-12 | 23 | | Coupe de France de Cyclo-Cross #6 - Troyes (C2) | |
| 03-12 | 31 | | Coupe de France de Cyclo-Cross #5 - Troyes (C2) | |
| 20-11 | 26 | | Coupe de France de Cyclo-Cross #4 - Camors (C2) | |
| 19-11 | 27 | | Coupe de France de Cyclo-Cross #3 - Camors (C2) | |
| 09-10 | DNF | | Paris - Tours Elite (1.Pro) | 213.0km |
| 04-10 | 11 | | Binche - Chimay - Binche (1.1) | 198.0km |
| 02-10 | 41 | | Famenne Ardenne Classic (1.1) | 188.0km |
| 25-09 | 41 | | Classique Paris-Chauny (1.1) | 203.0km |
| 17-09 | 6 | | Primus Classic (1.Pro) | 201.0km |
| 11-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 221.0km |
| 09-09 | 36 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| 28-08 | 117 | | Bretagne Classic - Ouest-France (1.UWT) | 254.0km |
| | | Tour du Limousin (2.1) |
| 67 | | Klassement |
| 19-08 | 61 | 67 | Stage 4Saint-Laurent-sur-Gorre - Limoges (174.0km) | 174.0km |
| 18-08 | 86 | 85 | Stage 3Donzenac - Malemort (181.0km) | 181.0km |
| 17-08 | 82 | 48 | Stage 2Périgueux - Ribérac (184.0km) | 184.0km |
| 16-08 | 12 | 17 | Stage 1Verneuil-sur-Vienne - La Souterraine (176.0km) | 176.0km |
| 14-08 | 3 | | La Polynormande (1.1) | 168.0km |
| | | Tour de France (2.UWT) |
| 129 | | Klassement |
| 113 | | Punten |
| 24-07 | 92 | 129 | Stage 21Paris - Paris (112.0km) | 112.0km |
| 23-07 | 96 | 132 | Stage 20Lacapelle-Marival - Rocamadour (40.0km) | 40.0km |
| 22-07 | 114 | 133 | Stage 19Castelnaudary - Cahors (188.0km) | 188.0km |
| 21-07 | 91 | 134 | Stage 18Lourdes - Hautacam (143.0km) | 143.0km |
| 20-07 | 134 | 137 | Stage 17Saint-Gaudens - Peyragudes (129.0km) | 129.0km |
| 19-07 | 109 | 140 | Stage 16Carcassonne - Foix (178.0km) | 178.0km |
| 17-07 | 80 | 146 | Stage 15Rodez - Carcassonne (202.0km) | 202.0km |
| 16-07 | 138 | 156 | Stage 14Saint-Étienne - Mende (192.0km) | 192.0km |
| 15-07 | 138 | 157 | Stage 13Bourg-d'Oisans - Saint-Étienne (192.0km) | 192.0km |
| 14-07 | 120 | 159 | Stage 12Briançon - L'Alpe-d'Huez (165.0km) | 165.0km |
| 13-07 | 94 | 159 | Stage 11Albertville - Col du Granon (151.0km) | 151.0km |
| 12-07 | 123 | 161 | Stage 10Morzine - Megève (148.0km) | 148.0km |
| 10-07 | 146 | 165 | Stage 9Aigle - Les Portes du Soleil (192.0km) | 192.0km |
| 09-07 | 156 | 168 | Stage 8Dôle - Lausanne (186.0km) | 186.0km |
| 08-07 | 163 | 172 | Stage 7Tomblaine - La Planche des Belles Filles (176.0km) | 176.0km |
| 07-07 | 171 | 172 | Stage 6Binche - Longwy (219.0km) | 219.0km |
| 06-07 | 172 | 174 | Stage 5Lille - Arenberg (157.0km) | 157.0km |
| 05-07 | 175 | 176 | Stage 4Dunkerque - Calais (171.0km) | 171.0km |
| 03-07 | 173 | 176 | Stage 3Vejle - Sønderborg (182.0km) | 182.0km |
| 02-07 | 176 | 81 | Stage 2Roskilde - Nyborg (202.0km) | 202.0km |
| 01-07 | 81 | 81 | Stage 1København (Copenhagen) - København (Copenhagen) (13.0km) | 13.0km |
| 26-06 | 2 | | National Road Championships - France (CN) | 240.0km |
| | | Tour de Suisse (2.UWT) |
| 67 | | Klassement |
| 24 | | Berg |
| 19-06 | 63 | 67 | Stage 8Vaduz - Vaduz (25.0km) | 25.0km |
| 18-06 | 76 | 70 | Stage 7Ambri - Malbun (Triesenberg) (196.0km) | 196.0km |
| 17-06 | 83 | 70 | Stage 6Locarno - Moosalp (179.0km) | 179.0km |
| 16-06 | 103 | 77 | Stage 5Ambri - Novazzano (193.0km) | 193.0km |
| 15-06 | 114 | 78 | Stage 4Grenchen - Brunnen (190.0km) | 190.0km |
| 14-06 | 56 | 66 | Stage 3Aesch - Grenchen (176.0km) | 176.0km |
| 13-06 | 93 | 73 | Stage 2Küsnacht - Aesch (199.0km) | 199.0km |
| 12-06 | 69 | 69 | Stage 1Küsnacht - Küsnacht (177.0km) | 177.0km |
| 10-06 | 8 | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| | | Boucles de la Mayenne (2.Pro) |
| 10 | | Klassement |
| 15 | | Punten |
| 16 | | Berg |
| 29-05 | 33 | 10 | Stage 4Martigné-sur-Mayenne - Laval (180.0km) | 180.0km |
| 28-05 | 41 | 10 | Stage 3Saint-Berthevin - Château-Gontier (188.0km) | 188.0km |
| 27-05 | 21 | 10 | Stage 2Jublains - Pré-en-Pail-Saint-Samson (171.0km) | 171.0km |
| 26-05 | 5 | 8 | Stage 1Saint-Pierre-des-Landes - Andouillé (180.0km) | 180.0km |
| 15-05 | 46 | | Tro-Bro Léon (1.Pro) | 207.0km |
| 17-04 | DNF | | Paris-Roubaix (1.UWT) | 257.0km |
| 10-04 | DNF | | Amstel Gold Race (1.UWT) | 254.0km |
| 03-04 | DNF | | Ronde van Vlaanderen (1.UWT) | 272.0km |
| 30-03 | 72 | | Dwars door Vlaanderen (1.UWT) | 183.0km |
| 27-03 | 26 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 248.0km |
| 25-03 | 13 | | E3 Saxo Bank Classic (1.UWT) | 203.0km |
| 19-03 | 2 | | Milano-Sanremo (1.UWT) | 293.0km |
| | | Paris-Nice (2.UWT) |
| 12-03 | DNS | | Stage 7Nice - Col de Turini (155.0km) | 155.0km |
| 11-03 | 93 | 65 | Stage 6Courthézon - Aubagne (213.0km) | 213.0km |
| 10-03 | 6 | 34 | Stage 5Saint-Just-Saint-Rambert - Saint-Sauveur-de-Montagut (188.0km) | 188.0km |
| 09-03 | 97 | 85 | Stage 4Domérat - Montluçon (13.0km) | 13.0km |
| 08-03 | 5 | 84 | Stage 3Vierzon - Dun-le-Palestel (190.0km) | 190.0km |
| 07-03 | 141 | 108 | Stage 2Auffargis - Orléans (159.0km) | 159.0km |
| 06-03 | 21 | 21 | Stage 1Mantes-la-Ville - Mantes-la-Ville (159.0km) | 159.0km |
| 27-02 | 32 | | Kuurne-Brussel-Kuurne (1.Pro) | 195.0km |
| 26-02 | DNF | | Omloop Het Nieuwsblad Elite (1.UWT) | 204.0km |
| | | Tour des Alpes Maritimes et du Var (2.1) |
| 62 | | Klassement |
| 6 | | Punten |
| 20-02 | 60 | 62 | Stage 3Villefranche-sur-Mer - Blausasc (113.0km) | 113.0km |
| 19-02 | 75 | 66 | Stage 2Puget-Théniers - La Turbie (149.0km) | 149.0km |
| 18-02 | 2 | 2 | Stage 1Saint-Raphaël - La Seyne-sur-Mer (176.0km) | 176.0km |
| | | Saudi Tour (2.1) |
| 33 | | Klassement |
| 05-02 | 59 | 33 | Stage 5Al-'Ula Old Town - Al-'Ula Old Town (138.0km) | 138.0km |
| 04-02 | 43 | 33 | Stage 4Winter Park - Skyviews of Harrat Uwayrid (149.0km) | 149.0km |
| 03-02 | 30 | 27 | Stage 3Tayma Hadaj Well - Al-'Ula Old Town (181.0km) | 181.0km |
| 02-02 | 42 | 33 | Stage 2Taibah University - Abu Rakah (163.0km) | 163.0km |
| 01-02 | 24 | 27 | Stage 1Winter Park - Winter Park (198.0km) | 198.0km |
| 09-01 | 12 | | French National Championships CX (CN) | |