13.11 | 9 | | | African Continental Championships - Road Race (CC) | 146.3 | 32 | 9 | more |
09.11 | 3 | | | African Continental Championships - TTT (CC) | 36 | | | more |
25.09 | DNF | | | World Championships ME - Road Race (WC) | 266 | | | more |
14.08 | 96 | | | London Surrey Cycle Classic (1.2) | 140 | | | more |
02.07 | 2 | | | Circuit d'Alger (1.2) | 74 | 10 | | more |
27.06 » 01.07 | | | | Tour d'Algérie (2.2) | | | | more |
| 2 | | | General classification | | 18 | | more |
01.07 | 3 | | | Stage 5 - Ain Defla › Chrea | 111 | 1 | | more |
30.06 | 4 | | | Stage 4 - Tiaret › Khemis Miliana | 162 | | | more |
29.06 | 3 | | | Stage 3 - Chlef › Tiaret | 167 | 1 | | more |
28.06 | 4 | | | Stage 2 - Ain Defla › Chlef | 105 | | | more |
27.06 | 2 | | | Stage 1 - Alger › Ain-Defla | 149 | 2 | | more |
25.06 | 1 | | | National Championships Morocco ME - Road Race (NC) | 151 | 15 | | more |
23.06 | 4 | | | National Championships Morocco ME - ITT (NC) | | | | more |
11.06 » 12.06 | | | | Kwita Izina Cycling Tour (2.2) | | | | more |
| 3 | | | General classification | | 14 | | more |
12.06 | 3 | | | Stage 3 - Gisenyi › Kigali | 158 | 1 | | more |
11.06 | 3 | | | Stage 2 - Ruhengeri › Gisenyi | 63 | 1 | | more |
11.06 | 4 | | | Stage 1 - Kigali › Kinigi | 100 | | | more |
08.05 | 4 | | | Challenge Du Prince - Trophée De La Maison Royale (1.2) | 131 | 4 | | more |
07.05 | 4 | | | Challenge du Prince - Trophée de l'Anniversaire (1.2) | 128 | 4 | | more |
06.05 | 4 | | | Challenge Du Prince - Trophée Princier (1.2) | 160 | 4 | | more |
09.04 | 3 | | | Les Challenges Phosphatiers-Challenge Ben Guerir (1.2) | 166 | 7 | | more |
08.04 | 1 | | | Les Challenges Phosphatiers-Challenge Youssoufia (1.2) | 144 | 15 | | more |
07.04 | 5 | | | Les Challenges Phosphatiers-Challenge Khouribga (1.2) | 118 | 2 | | more |
25.03 » 03.04 | | | | Tour du Maroc (2.2) | | | | more |
| 4 | | | General classification | | 11 | | more |
03.04 | 13 | | | Stage 11 - Khouribga › Casablanca | 120 | | | more |
02.04 | 10 | | | Stage 10 - Meknes › Rabat | 140 | | | more |
01.04 | 8 | | | Stage 9 - Fes › Mesknes | 120 | | | more |
31.03 | 14 | | | Stage 8 - Khenifra › Fes | 120 | | | more |
30.03 | 14 | | | Stage 7 - El Kelaa des Sraghna › Beni Mellal | 116 | | | more |
30.03 | 23 | | | Stage 6 - Azilal › El Kelaa des Sraghna | 110 | | | more |
29.03 | 7 | | | Stage 5 - Marrakech › Azilal | 174 | | | more |
28.03 | 13 | | | Stage 4 - Ouled Berrehil › Marrakech | 170 | | | more |
27.03 | 33 | | | Stage 3 - Essaouira › Agadir | 170 | | | more |
26.03 | 18 | | | Stage 2 - Safi › Essaouira | 130 | | | more |
25.03 | 3 | | | Stage 1 - El Jadida › Safi | 156 | 1 | | more |
19.02 » 26.02 | | | | Tour Of South-Africa (2.2) | | | | more |
| 19 | | | General classification | | | | more |
26.02 | 36 | | | Stage 7 - Paarl › Paarl | 100 | | | more |
25.02 | 9 | | | Stage 6 - Hermanus › Stellenbosch | 140 | | | more |
24.02 | 64 | | | Stage 5 - Oudtshoorn › Swellendam | 175 | | | more |
23.02 | 29 | | | Stage 4 - Bloukrans Bridge › George | 153 | | | more |
22.02 | 18 | | | Stage 3 - Nelson Mandela Bay › Summer Strand | 173 | | | more |
19.02 | 50 | | | Stage 1 - Menlyn Shopping Centre › Monte Casino | 167 | | | more |
25.01 » 30.01 | | | | La Tropicale Amissa Bongo (2.1) | | | | more |
| 3 | | | General classification | | 50 | | more |
30.01 | 19 | | | Stage 6 - Owendo › Libreville | 130 | | | more |
29.01 | 22 | | | Stage 5 - Lambaréné › Kango | 149 | | | more |
28.01 | 3 | | | Stage 4 - Ndjolé › Lambaréné | 133 | 7 | | more |
27.01 | 37 | | | Stage 3 - Bibasse › Oyem | 109 | | | more |
26.01 | 13 | | | Stage 2 - Bitam › Ebolowa (Cameroun) | 147 | | | more |
25.01 | 4 | | | Stage 1 - Oyem › Bitam | 96 | 5 | | more |