| 01-11 | 36 | | Cyclo-cross International de Dijon (C2) | |
| 30-10 | 5 | | Swiss Cyclocross Cup #3 - CX de Bulle (C2) | |
| 23-10 | 19 | | Coupe de France de Cyclo-Cross #2 - Nommay (C2) | |
| 22-10 | 11 | | Coupe de France de Cyclo-Cross #1 - Nommay (C2) | |
| 16-10 | 43 | | Veneto Classic (1.1) | 190.0km |
| 09-10 | DNF | | Paris - Tours Elite (1.Pro) | 213.0km |
| 06-10 | 54 | | Paris - Bourges (1.1) | 198.0km |
| 02-10 | 37 | | Tour de Vendée (1.1) | 206.0km |
| 25-09 | 56 | | Classique Paris-Chauny (1.1) | 203.0km |
| 18-09 | 78 | | Grand Prix d'Isbergues (1.1) | 197.0km |
| 16-09 | 95 | | Kampioenschap van Vlaanderen (1.1) | 195.0km |
| 11-09 | DNF | | Grand Prix Cycliste de Montréal (1.UWT) | 221.0km |
| 09-09 | 69 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| | | Arctic Race of Norway (2.Pro) |
| 59 | | Klassement |
| 14-08 | 81 | 59 | Stage 4Trondheim - Trondheim (160.0km) | 160.0km |
| 13-08 | 65 | 52 | Stage 3Namsos - Skallstuggu (180.0km) | 180.0km |
| 12-08 | 47 | 34 | Stage 2Mosjøen - Brønnøysund (155.0km) | 155.0km |
| 11-08 | 36 | 36 | Stage 1Mo I Rana - Mo I Rana (185.0km) | 185.0km |
| | | Ethias Tour de Wallonie (2.Pro) |
| 82 | | Klassement |
| 27-07 | 97 | 82 | Stage 5Le Roeulx - Chapelle-lez-Herlaimont (200.0km) | 200.0km |
| 26-07 | 73 | 58 | Stage 4Durbuy - Couvin (200.0km) | 200.0km |
| 25-07 | 70 | 64 | Stage 3Visé - Rochefort (194.0km) | 194.0km |
| 24-07 | 53 | 65 | Stage 2Verviers - Herve (176.0km) | 176.0km |
| 23-07 | 71 | 71 | Stage 1Temploux - Huy (173.0km) | 173.0km |
| 26-06 | 43 | | National Road Championships - France (CN) | 240.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 103 | | Klassement |
| 12-06 | 79 | 103 | Stage 8Saint-Alban-Leysse - Plateau de Solaison (139.0km) | 139.0km |
| 11-06 | 111 | 110 | Stage 7Saint-Chaffrey - Vaujany (134.0km) | 134.0km |
| 10-06 | 29 | 112 | Stage 6Rives - Gap (196.0km) | 196.0km |
| 09-06 | 38 | 116 | Stage 5Thizy-les-Bourgs - Chaintré (162.0km) | 162.0km |
| 08-06 | 135 | 124 | Stage 4Montbrison - La Bâtie d'Urfé (31.0km) | 31.0km |
| 07-06 | 102 | 123 | Stage 3Saint-Paulien - Chastreix (164.0km) | 164.0km |
| 06-06 | 130 | 127 | Stage 2Saint-Péray - Brives-Charensac (169.0km) | 169.0km |
| 05-06 | 18 | 21 | Stage 1La Voulte-sur-Rhône - Beauchastel (191.0km) | 191.0km |
| | | Boucles de la Mayenne (2.Pro) |
| 18 | | Klassement |
| 29-05 | 54 | 18 | Stage 4Martigné-sur-Mayenne - Laval (180.0km) | 180.0km |
| 28-05 | 47 | 16 | Stage 3Saint-Berthevin - Château-Gontier (188.0km) | 188.0km |
| 27-05 | 17 | 18 | Stage 2Jublains - Pré-en-Pail-Saint-Samson (171.0km) | 171.0km |
| 26-05 | 51 | 54 | Stage 1Saint-Pierre-des-Landes - Andouillé (180.0km) | 180.0km |
| 15-05 | 18 | | Tro-Bro Léon (1.Pro) | 207.0km |
| 14-05 | 6 | | Grand Prix du Morbihan (1.Pro) | |
| | | 4 Jours de Dunkerque (2.Pro) |
| 35 | | Klassement |
| 08-05 | 58 | 35 | Stage 6Ardres - Dunkerque (182.0km) | 182.0km |
| 07-05 | 41 | 39 | Stage 5Roubaix - Cassel (183.0km) | 183.0km |
| 06-05 | 54 | 45 | Stage 4Mazingarbe - Aire-sur-la-Lys (174.0km) | 174.0km |
| 05-05 | 29 | 42 | Stage 3Péronne - Mont-Saint-Éloi (170.0km) | 170.0km |
| 04-05 | 43 | 48 | Stage 2Béthune - Maubeuge (181.0km) | 181.0km |
| 03-05 | 63 | 64 | Stage 1Dunkerque - Aniche (161.0km) | 161.0km |
| 17-04 | 67 | | Paris-Roubaix (1.UWT) | 257.0km |
| 12-04 | 34 | | Paris - Camembert (1.1) | |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 41 | | Klassement |
| 08-04 | 50 | 41 | Stage 4La Chapelle-Saint-Aubin - La Chapelle-Saint-Aubin (173.0km) | 173.0km |
| 07-04 | 30 | 29 | Stage 3Sablé-sur-Sarthe - Sablé-sur-Sarthe (176.0km) | 176.0km |
| 06-04 | 47 | 33 | Stage 2Le Lude - Le Lude (173.0km) | 173.0km |
| 05-04 | 20 | 20 | Stage 1Mamers - Mamers (192.0km) | 192.0km |
| 01-04 | 35 | | La Route Adélie de Vitré (1.1) | 197.0km |
| 27-03 | 76 | | La Roue Tourangelle (1.1) | 202.0km |
| 20-03 | 62 | | Cholet - Pays de la Loire (1.1) | 202.0km |
| 19-03 | 44 | | Classic Loire Atlantique (1.1) | 182.0km |
| 01-03 | DNF | | Le Samyn (1.1) | 209.0km |
| 27-02 | 109 | | 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) |
| 56 | | Klassement |
| 20-02 | 59 | 56 | Stage 3Villefranche-sur-Mer - Blausasc (113.0km) | 113.0km |
| 19-02 | 63 | 60 | Stage 2Puget-Théniers - La Turbie (149.0km) | 149.0km |
| 18-02 | 56 | 60 | Stage 1Saint-Raphaël - La Seyne-sur-Mer (176.0km) | 176.0km |
| 30-01 | 96 | | Trofeo Playa de Palma - Palma (1.1) | |
| 28-01 | 91 | | Trofeo Serra de Tramuntana (Lloseta - Deia) (1.1) | |
| 27-01 | 45 | | Trofeo Alcúdia - Port d'Alcúdia (1.1) | |
| 26-01 | 88 | | Trofeo Calvia (1.1) | |
| 09-01 | 18 | | French National Championships CX (CN) | |
| 02-01 | 45 | | UCI Cyclo-cross World Cup - Hulst (CDM) | |