23.12 | 8 | | | Arab Road Cycling Championships ME - Road Race (JR) | 124.29 | | 3 | more |
11.11 | 4 | | | Le Trophée de la Maison Royale (1.2) Morocco | 130.5 | 4 | 20 | more |
10.11 | 3 | | | Le Trophée de l'Anniversaire (1.2) Morocco | 121.5 | 7 | 25 | more |
08.11 | 1 | | | Le Trophée Princier (1.2) Morocco | 125.4 | 15 | 40 | more |
06.11 | 24 | | | Grand Prix Al Massira (1.2) Morocco | 116.7 | | | more |
05.11 | 7 | | | Grand Prix Oued Eddahab (1.2) Morocco | 98.6 | | 5 | more |
03.11 | 8 | | | Grand Prix Sakia El Hamra (1.2) Morocco | 140 | | 3 | more |
25.09 | DNF | | | World Championships ME - Road Race (WC) | 266.9 | | | more |
13.08 | 4 | | | Islamic Solidarity Games ME - Road Race (JR) | 130 | 6 | | more |
31.07 | 8 | | | Grand Prix Yahyalı (1.2) Morocco | 118 | | 3 | more |
02.07 | 29 | | | Mediterranean Games - Road Race (JR) | 145 | | | more |
30.06 | 14 | | | Mediterranean Games - ITT (JR) | 25.7 | | | more |
19.06 | 1 | | | National Championships Morocco ME - Road Race (NC) | 140 | 15 | 50 | more |
17.06 | 3 | | | National Championships Morocco ME - ITT (NC) | 30 | 2 | 10 | more |
04.06 › 12.064-12/6 | | | | Tour du Cameroun (2.2) Morocco | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 10 | | | Mountains classificationMountains classification | | | | |
| 6 | | | Points classificationPoints classification | | | | |
| 6 | | | General classificationGeneral classification | | 6 | 10 | |
12.06 | 3 | | | S8Stage 8 - Ebolowa › Yaoundé | 151.4 | 1 | 1 | |
11.06 | 10 | 5 | | S7Stage 7 - Boumnyebel › Mbalmayo | 112.6 | | | |
09.06 | 4 | 4 | | S6Stage 6 - Douala › Kribi | 152.7 | | | |
08.06 | 14 | 4 | | S5Stage 5 - Loum › Limbe | 129.9 | | | |
07.06 | 5 | 5 | | S4Stage 4 - Bangangté › Bangangté | 129 | | | |
06.06 | 16 | 5 | | S3Stage 3 - Obala › Ndikinimiki | 148.5 | | | |
05.06 | 13 | 3 | | S2Stage 2 - Yaoundé › Ayos | 118.8 | | | |
04.06 | 6 | 6 | | S1Stage 1 - Douala › Douala | 123.3 | | | |
03.05 › 07.053-7/5 | | | | Tour du Bénin (2.2) Morocco | | | | more |
| 11 | | | Points classificationPoints classification | | | | |
| 6 | | | General classificationGeneral classification | | 6 | 10 | |
07.05 | 26 | | | S5Stage 5 - Séhoué › Porto-Novo | 138.4 | | | |
06.05 | 31 | 6 | | S4Stage 4 - Bohicon › Comé | 126.5 | | | |
05.05 | 5 | 6 | | S3Stage 3 - Savalou › Bohicon | 127.7 | | | |
04.05 | 8 | 15 | | S2Stage 2 - Djougou › Parakou | 133.3 | | | |
03.05 | 18 | 18 | | S1Stage 1 - Boukoumbé › Djougou | 120.2 | | | |
27.03 | 6 | | | African Continental Championships ME - Road Race (CC) | 150.6 | 45 | 90 | more |
24.03 | 13 | | | African Continental Championships ME - ITT (CC) | 44.4 | | | more |
23.03 | 6 | | | African Continental Championships ME - TTT (CC) | 42.6 | | 5 | more |
06.03 | 72 | | | Grand Prix Mediterrennean (1.2) Morocco | 98 | | | more |
05.03 | 17 | | | Grand Prix Gazipaşa ME (1.2) Morocco | 123.6 | | | more |
20.02 › 27.0220-27/2 | | | | Tour du Rwanda (2.1) Morocco | | | | more |
| 21 | | | Youth classificationYouth classification | | | | |
| 57 | | | General classificationGeneral classification | | | | |
27.02 | 50 | | | S8Stage 8 - Kigali › Kigali | 75.3 | | | |
26.02 | 68 | 63 | | S7Stage 7 - Kigali › Mont Kigali | 152.6 | | | |
25.02 | 54 | 45 | | S6Stage 6 - Musanze › Kigali | 152 | | | |
24.02 | 42 | 48 | | S5Stage 5 - Muhanga › Musanze | 129.9 | | | |
23.02 | 55 | 49 | | S4Stage 4 - Kigali › Gicumbi | 124.3 | | | |
22.02 | 15 | 35 | | S3Stage 3 - Kigali › Rubavu | 155.9 | | | |
21.02 | 20 | 46 | | S2Stage 2 - Kigali › Rwamagana | 148.3 | | | |
20.02 | 47 | 47 | | ProloguePrologue - Kigali › Kigali | 4 | | | |
05.02 | 48 | | | Grand Prix Alanya (1.2) Morocco | 147.2 | | | more |
28.01 › 01.0228-1/1 | | | | Tour of Sharjah (2.2) Morocco | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 38 | | | Points classificationPoints classification | | | | |
| 47 | | | General classificationGeneral classification | | | | |
01.02 | 21 | | | S5Stage 5 - Khor Fakkan › Sharjah | 103 | | | |
31.01 | 38 | 66 | | S4Stage 4 - Al Badayer Oases › Wadi al Hedo | 122.8 | | | |
30.01 | 97 | 91 | | S3Stage 3 - Al Fujayrak › Khor Fakkan (Al Suhub Rest Area) | 107.8 | | | |
29.01 | 16 | 10 | | S2Stage 2 - Sharjah › Ahd Dhayd | 95.35 | | | |
28.01 | 9 | 9 | | S1 (ITT)Stage 1 (ITT) - Sharjah › Sharjah | 8.86 | | | |