29.09 | DNF | | | World Championships ME - Road Race (WC) | 272.2 | | | more |
22.06 | 3 | | | National Championships Morocco ME - Road Race (NC) | 155 | 7 | 32 | more |
04.06 » 08.06 | | | | Okolo Slovenska (2.2) | | | | more |
06.06 | DNS | | | Stage 3 - Liptovský Hrádok › Trenčín | 225.8 | | | more |
05.06 | 113 | 111 | | Stage 2 - Stropkov › Liptovský Hrádok | 212.5 | | | more |
04.06 | 87 | 87 | | Stage 1b - Košice › Humenné | 162.9 | | | more |
04.06 | 50 | 50 | | Stage 1a (ITT) - Košice › Košice | 1.8 | | | more |
12.05 | 5 | | | Challenge du Prince - Trophée de la Maison Royale (1.2) | 148.5 | 2 | 10 | more |
11.05 | 2 | | | Challenge du Prince - Trophée de l'Anniversaire (1.2) | 147.5 | 10 | 30 | more |
10.05 | 1 | | | Challenge du Prince - Trophée Princier (1.2) | 103 | 15 | 40 | more |
29.03 » 07.04 | | | | Tour du Maroc (2.2) | | | | more |
| 4 | | | Mountains classification | | | | more |
| 19 | | | Points classification | | | | more |
| 7 | | | General classification | | 4 | 6 | more |
07.04 | 25 | | | Stage 10 - El Jadida › Casablanca | 120 | | | more |
06.04 | 17 | 7 | | Stage 9 - Marrakech › El Jadida | 198 | | | more |
05.04 | 23 | 7 | | Stage 8 - Béni Mellal › Marrakech | 184 | | | more |
04.04 | 32 | 7 | | Stage 7 - Khenifra › Béni Mellal | 122 | | | more |
03.04 | 42 | 7 | | Stage 6 - Meknes › Khenifra | 150 | | | more |
02.04 | 4 | 7 | | Stage 5 - Fes › Meknes | 101 | | | more |
31.03 | 18 | 9 | | Stage 3 - Nador-Saadia-Berkane › Oujda | 181 | | | more |
30.03 | 7 | 8 | | Stage 2 - Oued Laou › Al Hoceima | 181 | | | more |
29.03 | 39 | 39 | | Stage 1 - Rabat › Larache | 180 | | | more |
21.03 » 23.03 | | | | Tour de Blida (2.2) | | | | more |
21.03 | DNF | | | Stage 1 - Blida › Chebli | 151 | | | more |
18.03 » 20.03 | | | | Tour de Tipaza (2.2) | | | | more |
| 5 | | | Mountains classification | | | | more |
| 1 | | | Points classification | | | | more |
| 2 | | | General classification | | 18 | 30 | more |
20.03 | 6 | | | Stage 3 - Tipaza › Tipaza | 100 | | | more |
19.03 | 6 | 2 | | Stage 2 - Alger › Ain-Benian | 117 | | | more |
18.03 | 2 | 2 | | Stage 1 - Alger › Hameur El Ain | 124 | 2 | 5 | more |
16.03 | 18 | | | Circuit d'Alger (1.2) | 124 | | | more |
11.03 » 15.03 | | | | Tour d'Algérie (2.2) | | | | more |
| 10 | | | Points classification | | | | more |
| 8 | | | General classification | | 3 | 3 | more |
15.03 | 16 | | | Stage 5 - Mila › Constantine | 125 | | | more |
14.03 | 19 | 7 | | Stage 4 - Constantine › Constantine | 135 | | | more |
13.03 | 6 | 8 | | Stage 3 - Biskra › Setif | 112.6 | | | more |
12.03 | 67 | 18 | | Stage 2 - Setif › Biskra | 209.5 | | | more |
11.03 | 12 | 12 | | Stage 1 - Alger › Bouira | 137 | | | more |
28.02 | 4 | | | Les Challenges de la Marche Verte - GP Al Massira (1.2) | 150 | 4 | 12 | more |
27.02 | 1 | | | Les Challenges de la Marche Verte - GP Oued Eddahab (1.2) | 100 | 15 | 40 | more |
26.02 | 4 | | | Les Challenges de la Marche Verte - GP Sakia El Hamra (1.2) | 100 | 4 | | more |
14.01 » 20.01 | | | | La Tropicale Amissa Bongo (2.1) | | | | more |
| 23 | | | Points classification | | | | more |
| 12 | | | General classification | | 10 | 3 | more |
20.01 | 18 | | | Stage 7 - Owendo › Libreville | 128 | | | more |
19.01 | 8 | 13 | | Stage 6 - Lambarene › Kango | 147 | 1 | | more |
18.01 | 38 | 30 | | Stage 5 - Lambarene › Mouila | 189 | | | more |
17.01 | 19 | 29 | | Stage 4 - Oyem › Mitzic | 109 | | | more |
16.01 | 22 | 35 | | Stage 3 - Oyem › Bitam | 110 | | | more |
15.01 | 59 | 41 | | Stage 2 - Yaounde › Yaounde | 112 | | | more |
14.01 | 29 | 31 | | Stage 1 - Bitam › Ebolowa | 149 | | | more |