16.11 » 23.11 | | | | Tour of Rwanda (2.2) | | | | more |
| 4 | | | Youth classification | | | | more |
| 14 | | | Mountains classification | | | | more |
| 5 | | | General classification | | 8 | 10 | more |
23.11 | 1 | | | Stage 7 - Kigali › Kigali | 108 | 5 | 8 | more |
22.11 | 5 | 6 | | Stage 6 - Huye › Kigali | 125.7 | | | more |
21.11 | 3 | 6 | | Stage 5 - Rubavu › Nyanza | 182.4 | 1 | 2 | more |
20.11 | 1 | 8 | | Stage 4 - Muhanga › Rubavu | 138.8 | 5 | 8 | more |
19.11 | 11 | 14 | | Stage 3 - Musanze › Muhanga | 127.5 | | | more |
18.11 | 8 | 12 | | Stage 2 - Rwamagana › Musanze | 151.5 | | | more |
17.11 | 42 | 20 | | Stage 1 - Kigali › Kibungo | 96.4 | | | more |
16.11 | 25 | 25 | | Prologue - Kigali › Kigali | 3.5 | | | more |
06.11 » 09.11 | | | | Grand Prix Chantal Biya (2.2) | | | | more |
| 3 | | | Youth classification | | | | more |
| 1 | | | Mountains classification | | | | more |
| 1 | | | Points classification | | | | more |
| 5 | | | General classification | | 8 | 10 | more |
09.11 | 4 | | | Stage 4 - Sangmelima › Yaoundi | 172 | | | more |
08.11 | 4 | 3 | | Stage 3 - Zoetele › Meyomessala | 143 | | | more |
07.11 | 1 | 5 | | Stage 2 - Yaounde › Ebolowa | 155.3 | 5 | 8 | more |
06.11 | 10 | 10 | | Stage 1 - Yaounde › Baffia | 122.7 | | | more |
26.09 | 115 | | | World Championships MU - Road Race (WC) | 182 | | | more |
22.09 | 53 | | | World Championships MU - ITT (WC) | 36.15 | | | more |
21.06 | 2 | | | National Championships Morocco ME - Road Race (NC) | 140 | 10 | 30 | more |
12.05 | 2 | | | Challenge du Prince - Trophée de la Maison Royale (1.2) | 132 | 10 | 30 | more |
10.05 | 4 | | | Challenge du Prince - Trophée de l'Anniversaire (1.2) | 92 | 4 | 12 | more |
09.05 | 5 | | | Challenge du Prince - Trophée Princier (1.2) | 178 | | 10 | more |
04.04 » 13.04 | | | | Tour du Maroc (2.2) | | | | more |
| 1 | | | Youth classification | | | | more |
| 2 | | | Mountains classification | | | | more |
| 6 | | | Points classification | | | | more |
| 7 | | | General classification | | 4 | 6 | more |
13.04 | 7 | | | Stage 10 - Rabat › Casablanca | 120.6 | | | more |
12.04 | 4 | 7 | | Stage 9 - Meknès › Rabat | 136 | | | more |
11.04 | 43 | 8 | | Stage 8 - Midelt › Meknès | 187 | | | more |
10.04 | 3 | 8 | | Stage 7 - Errachidia › Midelt | 137.8 | 1 | 2 | more |
09.04 | 2 | 12 | | Stage 6 - Tinghir › Errachidia | 136 | 2 | 5 | more |
08.04 | 7 | 17 | | Stage 5 - Ouarzazate › Tinghir | 164.1 | | | more |
07.04 | 13 | 19 | | Stage 4 - Talioune › Ouarzazate | 170.1 | | | more |
06.04 | 33 | 39 | | Stage 3 - Essaouira › Inezgane | 182 | | | more |
05.04 | 13 | 38 | | Stage 2 - Safi › Essaouira | 140 | | | more |
04.04 | 64 | 58 | | Stage 1 - El Jadida › Safi | 156 | | | more |
29.03 | DNS | | | Criterium International de Blida (1.2) | 99 | | | more |
24.03 » 27.03 | | | | Tour International de Constantine (2.2) | | | | more |
24.03 | DNS | | | Stage 1 - Constantine › Sétif | 132 | | | more |
22.03 | 3 | | | Criterium International de Setif (1.2) | 96 | 7 | 16 | more |
19.03 » 21.03 | | | | Tour International de Setif (2.2) | | | | more |
| 2 | | | Youth classification | | | | more |
| 9 | | | Mountains classification | | | | more |
| 4 | | | Points classification | | | | more |
| 6 | | | General classification | | 6 | 8 | more |
21.03 | 6 | | | Stage 3 - Sétif › Sétif | 110.5 | | | more |
20.03 | 8 | 8 | | Stage 2 - Sétif › Sétif | 117.6 | | | more |
19.03 | 9 | 9 | | Stage 1 - Sétif › Bougaa | 129 | | | more |
16.03 » 18.03 | | | | Tour International de Blida (2.2) | | | | more |
| 7 | | | Youth classification | | | | more |
| 16 | | | General classification | | | | more |
18.03 | 16 | | | Stage 3 - Zeralda › Chréa | 114.4 | | | more |
17.03 | 10 | 19 | | Stage 2 - Mouzaia › Mouzaia | 158.8 | | | more |
16.03 | 27 | 27 | | Stage 1 - Mouzaia › Mouzaia | 129.5 | | | more |
14.03 | 13 | | | Grand Prix d'Oran (1.2) | 96 | | | more |
09.03 » 13.03 | | | | Tour d'Algérie (2.2) | | | | more |
| 5 | | | Youth classification | | | | more |
| 5 | | | Mountains classification | | | | more |
| 20 | | | Points classification | | | | more |
| 12 | | | General classification | | | | more |
13.03 | 57 | | | Stage 5 - Sidi Bel Abbes › Oran | 130 | | | more |
12.03 | 13 | 10 | | Stage 4 - Oran › Ain Temouchent | 143 | | | more |
11.03 | 17 | 15 | | Stage 3 - Oran › Sidi Bel Abbès | 148 | | | more |
09.03 | 26 | 26 | | Stage 1 - Alger › Ain Defla | 112.5 | | | more |
08.03 | 8 | | | Criterium International d\'Alger (1.2) | 96 | | 3 | more |
02.03 | 17 | | | Les Challenges de la Marche Verte - GP Al Massira (1.2) | 125 | | | more |
01.03 | 13 | | | Les Challenges de la Marche Verte - GP Oued Eddahab (1.2) | 125 | | | more |
27.02 | DNF | | | Les Challenges de la Marche Verte - GP Sakia El Hamra (1.2) | 100 | | | more |
13.01 » 19.01 | | | | La Tropicale Amissa Bongo (2.1) | | | | more |
| 2 | | | Youth classification | | | | more |
| 9 | | | Mountains classification | | | | more |
| 12 | | | Points classification | | | | more |
| 10 | | | General classification | | 14 | 6 | more |
19.01 | 9 | | | Stage 7 - Owendo › Libreville | 124 | | | more |
18.01 | 26 | 11 | | Stage 6 - Port-Gentil › Port-Gentil | 106 | | | more |
17.01 | 25 | 12 | | Stage 5 - Lambaréné › Kango | 143 | | | more |
16.01 | 12 | 10 | | Stage 4 - Lambaréné › Mouila | 190 | | | more |
15.01 | 17 | 11 | | Stage 3 - Ndjolé › Lambaréné | 133 | | | more |
14.01 | 7 | 10 | | Stage 2 - Awoua › Oyem | 120 | 2 | | more |
13.01 | 13 | 13 | | Stage 1 - Bitam › Ebolowa | 149 | | | more |