Duathlon de Rabat 2026 — Ocean Rabat Triathlon
Championnat du Maroc de Duathlon — Étape 1

DUATHLON
DE RABAT

Ocean Rabat Triathlon
26 · 04 · 2026  —  Rabat, Maroc
--Jours
--Heures
--Min
--Sec
27.5
km au total
1ère
Étape nationale

Une première
historique

L'Ocean Rabat Triathlon (ORT) a l'honneur d'accueillir la première étape du Championnat du Maroc de Duathlon 2026. Un événement fondateur pour le sport multidisciplinaire marocain, organisé dans la capitale du Royaume, face à l'Atlantique.

Fondé à Rabat, l'ORT rassemble des athlètes passionnés autour d'une vision commune : développer le triathlon et le duathlon au Maroc, en organisant des compétitions de haut niveau accessibles à tous.

Les inscriptions à la compétition sont gérées directement par la Fédération Royale Marocaine de Triathlon (FRMTri). Retrouvez toutes les informations sur les modalités de participation sur le site officiel de la fédération.

🏆
Championnat officiel
Étape 1 / 2026
Championnats du Maroc de Duathlon
📍
Lieu
Rabat — Marina Bouregreg
Capitale du Royaume du Maroc
🚴
Format
Run — Bike — Run
5 km · 20 km · 2.5 km
🎽
Catégories
Seniors · U23 · U19 · U17 · U15 · U13
Hommes & Femmes
📅
Date
26 avril 2026
Départ officiel à 07:00

Run — Bike — Run

🏃 5 km
Course à pied — S1
Départ · Zone de transition T1
🚴 20 km
Cyclisme
Boucle Atlantique · T2
🏃 2.5 km
Course à pied — S2
Arrivée · Ligne finale
🗺
Carte interactive du parcours

Intégration Strava / Google Maps — disponible prochainement

Programme
officiel

25.04 avant 21:00
Accueil & retrait des dossards
Zone d'accueil ouverte — zone de transition accessible aux athlètes pour installation du matériel vélo.
25.04 vers 19:00
Briefing technique officiel
Obligatoire pour tous les participants. Règlements, consignes de sécurité, présentation du parcours.
26.04 — 07:00
🏁 Départ officiel
Seniors · U23 · U19 · U17 · U15 · U13 — Hommes & Femmes
11:30
Remise des prix & podium
Cérémonie officielle du Championnat du Maroc — podium par catégorie, médailles et distinctions.
12:30
Village ORT
Espace animation, nutrition et récupération, stands partenaires, photos officielles.

Suivre
l'événement

Recevez toutes les actualités du Duathlon de Rabat directement dans votre boîte mail.

Ouverture des inscriptions FRMTri
Détails du parcours & logistique
Résultats en avant-première
Photos & vidéos post-course
Actualités de l'ORT Rabat

Inscrivez-vous aux actualités

Gratuit · Sans spam · Désabonnement en un clic

✓  Inscription confirmée ! Vous serez parmi les premiers informés.
Pour s'inscrire à la compétition : Les inscriptions sont gérées par la Fédération Royale Marocaine de Triathlon (FRMTri). Licence FRMTri obligatoire pour les catégories championnat.

Résultats
en direct

Résultats en temps réel — Activation le 26 avril 2026 à 07:00

Classement général · Classement par catégorie · Temps de passage T1 & T2 · Chronométrage officiel

Pos.AthlèteCatégorieTemps
Le classement sera affiché ici en temps réel le jour de la course

Galerie

Photos & vidéos de l'événement — mises à jour après la course · 26 avril 2026

La communauté
ORT

Quel segment redoutez-vous le plus ?
🚴 La montée vélo48%
🏃 Le sprint final Run 231%
⚡ La transition T113%
🏁 Le départ en peloton8%
143 participants ont répondu
Mur de motivation
#DuathlonRabat2026
@Youssef_ORT
Première étape nationale à Rabat, quel honneur ! Bravo à l'ORT 💪 #DuathlonRabat2026
@Fatima_Benali
Hâte de voir le parcours vélo le long de l'Atlantique 🌊 L'ORT au sommet !
@Karim_Endurance
Entraînement du jour : 2h30 vélo + 40min run. Je serai prêt en avril ! #DuathlonRabat2026
@Sara_Multi
Mon premier championnat national, trop hâte de vivre ça à Rabat ! 🇲🇦

Nos sponsors

Or
Logo Partenaire Or
Logo Partenaire Or
Argent
Partenaire Argent
Partenaire Argent
Partenaire Argent
Bronze
Bronze
Bronze
Bronze
Bronze

Devenez partenaire du Duathlon de Rabat 2026
Associez votre marque à la première étape du Championnat du Maroc.

Dossier sponsor →

Contact

Une question sur l'organisation ? Un partenariat à proposer ? L'équipe ORT est disponible pour vous répondre.

📧
Email
contact@ort-rabat.ma
📍
Lieu
Marina Bouregreg, Rabat
📱
Réseaux sociaux
@OceanRabatTriathlon

Inscriptions à la compétition

Gérées par la Fédération Royale Marocaine de Triathlon (FRMTri). Licence obligatoire pour les catégories officielles. Consultez frmtri.ma pour les modalités.

FAQ

Comment s'inscrire à la compétition ?+
Les inscriptions à la compétition officielle sont gérées exclusivement par la Fédération Royale Marocaine de Triathlon (FRMTri). Rendez-vous sur frmtri.ma pour les modalités, délais et conditions de licence. L'ORT vous informe de l'ouverture des inscriptions via sa newsletter.
Quel équipement vélo est autorisé ?+
Tout vélo de route homologué UCI. Les vélos de triathlon (TT) sont autorisés en catégorie senior. Le casque rigide homologué est obligatoire pour tous les participants. Les disques arrière sont interdits en catégorie U17 et moins.
Y a-t-il une catégorie pour les non-licenciés ?+
Une catégorie "découverte" non classée au championnat est en cours d'étude. Inscrivez-vous à notre newsletter pour être informé dès confirmation. Cette catégorie serait ouverte aux pratiquants non licenciés souhaitant découvrir le duathlon.
Où se garer le jour de la course ?+
Un plan d'accès et de stationnement détaillé sera communiqué dans le kit participant, envoyé à J-7. Des zones de parking gratuites seront indiquées à proximité de la Marina Bouregreg.
Puis-je participer en relais ?+
Oui, une catégorie relais est prévue pour les équipes. Les modalités de composition (binôme ou trinôme) seront précisées dans le règlement officiel de la FRMTri. Inscrivez-vous à nos actualités pour être informé.
--sand: #F5F0E8; --sand-dark: #E8E0CF; --white: #FFFFFF; --ink: #0D1B2A; --ink-mid: #2C4157; --ink-light: #7A8FA3; --accent: #E8500A; --accent-light: #FF7043; --gold: #C9A84C; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; } body { font-family: 'DM Sans', sans-serif; background: var(--sand); color: var(--ink); overflow-x: hidden; } /* NAV */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(10,61,107,0.97); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(93,202,165,0.2); padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; height: 58px; } .nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 2px; color: var(--white); display: flex; align-items: center; gap: 10px; } .nav-logo-wave { width: 32px; height: 32px; background: var(--wave); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; } .nav-links { display: flex; gap: 28px; list-style: none; } .nav-links a { font-size: 12px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.65); text-decoration: none; transition: color 0.2s; } .nav-links a:hover { color: var(--wave-light); } .nav-cta { background: var(--wave); color: var(--white) !important; padding: 7px 16px; border-radius: 4px; font-size: 11px !important; font-weight: 500 !important; } .nav-cta:hover { background: var(--wave-light); color: var(--ink) !important; } .nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; } .nav-burger span { width: 22px; height: 2px; background: white; border-radius: 2px; } /* HERO — IMAGE DE FOND */ #hero { min-height: 100vh; /* * ══════════════════════════════════════════════════════════════ * REMPLACEZ "VOTRE_IMAGE_ICI.jpg" par l'URL de votre photo : * https://oceanrabattriathlon.com/wp-content/uploads/2026/04/Duathlon_Rabat_ORT * WordPress → url('/wp-content/uploads/2026/04/hero.jpg') * Relatif → url('images/hero-duathlon.jpg') * Absolu → url('https://monsite.ma/images/hero.jpg') * * Si l'image ne charge pas, le fond bleu --ocean s'affiche. * ══════════════════════════════════════════════════════════════ */ background: linear-gradient(to bottom, rgba(5,18,35,0.50) 0%, rgba(5,18,35,0.35) 45%, rgba(5,18,35,0.70) 100% ), url('ici-image.jpg') center center / cover no-repeat; background-color: var(--ocean); position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; padding: 80px 2rem 4rem; } .hero-bg-grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 60px 60px; } .hero-bg-diag { position: absolute; bottom: -2px; left: 0; right: 0; height: 120px; background: var(--sand); clip-path: polygon(0 60%, 100% 0%, 100% 100%, 0% 100%); } .hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(93,202,165,0.18); border: 1px solid rgba(93,202,165,0.45); color: var(--wave-light); font-size: 11px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 16px; border-radius: 20px; margin-bottom: 1.5rem; animation: fadeUp 0.8s ease both; } .eyebrow-dot { width: 6px; height: 6px; background: var(--wave-light); border-radius: 50%; animation: blink 2s infinite; } @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} } /* TITRE : plus grand + entièrement blanc */ .hero h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(90px, 16vw, 168px); /* était clamp(64px,12vw,130px) */ line-height: 0.88; color: #FFFFFF; letter-spacing: 3px; text-shadow: 0 4px 32px rgba(0,0,0,0.45); animation: fadeUp 0.8s 0.1s ease both; position: relative; } .hero h1 span { color: #FF0000; } /* "DE RABAT" en blanc comme "DUATHLON" */ .hero-subtitle { font-size: 15px; font-weight: 300; color: rgba(255,255,255,0.70); letter-spacing: 3px; text-transform: uppercase; margin-top: 1rem; margin-bottom: 0.5rem; animation: fadeUp 0.8s 0.2s ease both; } .hero-date { font-family: 'DM Mono', monospace; font-size: 13px; color: var(--wave-light); letter-spacing: 2px; animation: fadeUp 0.8s 0.3s ease both; margin-bottom: 2.5rem; } .countdown { display: flex; gap: 12px; justify-content: center; margin-bottom: 3rem; animation: fadeUp 0.8s 0.4s ease both; } .cd-unit { background: rgba(5,18,35,0.75); border: 1px solid rgba(255,255,255,0.18); border-radius: 6px; width: 80px; padding: 14px 8px 10px; text-align: center; } .cd-num { font-family: 'Bebas Neue', sans-serif; font-size: 42px; line-height: 1; color: var(--white); display: block; } .cd-lbl { font-size: 9px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-top: 4px; display: block; } .hero-btns { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; animation: fadeUp 0.8s 0.5s ease both; } .btn-primary { background: var(--wave); color: var(--white); padding: 13px 28px; border-radius: 4px; font-size: 13px; font-weight: 500; letter-spacing: 0.5px; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background 0.2s, transform 0.15s; text-decoration: none; display: inline-block; } .btn-primary:hover { background: var(--wave-light); color: var(--ink); transform: translateY(-1px); } .btn-outline { background: transparent; color: var(--white); padding: 13px 28px; border-radius: 4px; font-size: 13px; font-weight: 400; border: 1px solid rgba(255,255,255,0.35); cursor: pointer; font-family: 'DM Sans', sans-serif; transition: border-color 0.2s, transform 0.15s; text-decoration: none; display: inline-block; } .btn-outline:hover { border-color: var(--wave-light); color: var(--wave-light); transform: translateY(-1px); } .hero-stats { position: absolute; bottom: 130px; right: 2rem; display: flex; flex-direction: column; gap: 10px; animation: fadeUp 0.8s 0.6s ease both; } .hero-stat { text-align: right; } .hero-stat-n { font-family: 'Bebas Neue', sans-serif; font-size: 28px; color: var(--wave-light); line-height: 1; } .hero-stat-l { font-size: 10px; color: rgba(255,255,255,0.4); letter-spacing: 1px; text-transform: uppercase; } @keyframes fadeUp { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform: translateY(0); } } /* SECTIONS */ section { padding: 90px 2rem; } .container { max-width: 1100px; margin: 0 auto; } .section-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--wave); margin-bottom: 0.5rem; display: flex; align-items: center; gap: 10px; } .section-label::after { content: ''; flex: 1; height: 1px; background: var(--wave); opacity: 0.3; max-width: 60px; } .section-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(38px, 5vw, 62px); letter-spacing: 1px; line-height: 0.95; margin-bottom: 1rem; } /* PRÉSENTATION */ #presentation { background: var(--sand); } .about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; } .about-text-block p { font-size: 16px; line-height: 1.8; color: var(--ink-mid); margin-bottom: 1rem; } .about-text-block strong { color: var(--ocean); font-weight: 500; } .about-highlight { background: var(--ocean); color: var(--white); padding: 2rem; border-radius: 6px; margin-top: 2rem; } .about-highlight p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.8); margin: 0; } .about-highlight strong { color: var(--wave-light); } .about-cards { display: flex; flex-direction: column; gap: 14px; } .about-card { background: var(--white); border: 1px solid var(--sand-dark); border-left: 3px solid var(--wave); padding: 1.25rem 1.5rem; border-radius: 4px; display: flex; align-items: center; gap: 16px; } .about-card-icon { font-size: 26px; width: 50px; height: 50px; background: var(--sand); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .about-card-title { font-size: 13px; font-weight: 500; color: var(--ocean); margin-bottom: 2px; } .about-card-val { font-family: 'Bebas Neue', sans-serif; font-size: 28px; color: var(--ink); letter-spacing: 0.5px; } .about-card-sub { font-size: 12px; color: var(--ink-light); } /* PARCOURS */ #parcours { background: var(--ocean); color: var(--white); } #parcours .section-label { color: var(--wave-light); } #parcours .section-label::after { background: var(--wave-light); } #parcours .section-title { color: var(--white); } .seg-visual { display: flex; align-items: center; gap: 0; margin: 3rem 0; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; overflow: hidden; } .seg-block { flex: 1; padding: 2rem 1.5rem; text-align: center; position: relative; } .seg-block:not(:last-child)::after { content: '→'; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); font-size: 20px; color: rgba(255,255,255,0.3); z-index:1; } .seg-block.run-1 { background: rgba(29,158,117,0.15); border-right: 1px solid rgba(255,255,255,0.08); } .seg-block.bike { background: rgba(21,96,160,0.3); border-right: 1px solid rgba(255,255,255,0.08); } .seg-block.run-2 { background: rgba(29,158,117,0.15); } .seg-icon { font-size: 32px; margin-bottom: 0.75rem; display: block; } .seg-dist { font-family: 'Bebas Neue', sans-serif; font-size: 48px; line-height: 1; color: var(--white); display: block; } .seg-km { font-size: 16px; color: var(--wave-light); vertical-align: super; } .seg-name { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-top: 4px; } .seg-detail { font-size: 12px; color: rgba(255,255,255,0.4); margin-top: 8px; } .map-embed { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; height: 280px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; color: rgba(255,255,255,0.4); font-size: 13px; position: relative; overflow: hidden; } .map-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(93,202,165,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(93,202,165,0.06) 1px, transparent 1px); background-size: 30px 30px; } .map-content { position: relative; z-index: 1; text-align: center; } .map-content p { font-size: 12px; color: rgba(255,255,255,0.35); margin-top: 6px; } /* PROGRAMME */ #programme { background: var(--white); } .timeline { display: grid; grid-template-columns: auto 1fr; gap: 0 24px; margin-top: 2.5rem; position: relative; } .tl-time { font-family: 'DM Mono', monospace; font-size: 13px; font-weight: 500; color: var(--ocean); text-align: right; padding-top: 22px; white-space: nowrap; } .tl-right { border-left: 2px solid var(--sand-dark); padding: 0 0 2.5rem 28px; position: relative; } .tl-right::before { content: ''; position: absolute; left: -7px; top: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--sand-dark); border: 2px solid var(--white); } .tl-right.go::before { background: var(--wave); box-shadow: 0 0 0 4px rgba(29,158,117,0.2); } .tl-right.end::before { background: var(--ocean); } .tl-card { background: var(--sand); border-radius: 6px; padding: 1rem 1.25rem; margin-top: 10px; } .tl-card-title { font-size: 14px; font-weight: 500; color: var(--ink); } .tl-card-desc { font-size: 12px; color: var(--ink-light); margin-top: 3px; line-height: 1.5; } .tl-card.highlight { background: var(--wave); } .tl-card.highlight .tl-card-title { color: var(--white); } .tl-card.highlight .tl-card-desc { color: rgba(255,255,255,0.75); } .tl-right:last-of-type { border-left-color: transparent; } /* NEWSLETTER */ #newsletter { background: var(--sand); } .nl-wrapper { background: var(--ocean); border-radius: 10px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; } .nl-left { padding: 3.5rem; position: relative; } .nl-left-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(93,202,165,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(93,202,165,0.04) 1px, transparent 1px); background-size: 40px 40px; } .nl-left-content { position: relative; z-index: 1; } .nl-left .section-label { color: var(--wave-light); } .nl-left .section-label::after { background: var(--wave-light); } .nl-left .section-title { color: var(--white); font-size: 42px; } .nl-left p { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.7; margin-top: 1rem; } .nl-perks { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 8px; } .nl-perk { display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,0.75); } .nl-perk-dot { width: 6px; height: 6px; background: var(--wave-light); border-radius: 50%; flex-shrink: 0; } .nl-right { background: var(--white); padding: 3.5rem; display: flex; flex-direction: column; justify-content: center; } .nl-right h3 { font-size: 22px; font-weight: 500; color: var(--ink); margin-bottom: 0.5rem; } .nl-right p { font-size: 13px; color: var(--ink-light); margin-bottom: 1.75rem; } .nl-form { display: flex; flex-direction: column; gap: 12px; } .nl-input { width: 100%; padding: 12px 14px; border: 1.5px solid var(--sand-dark); border-radius: 5px; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--ink); background: var(--sand); outline: none; transition: border-color 0.2s; } .nl-input:focus { border-color: var(--wave); } .nl-submit { background: var(--wave); color: var(--white); border: none; padding: 13px; border-radius: 5px; font-size: 14px; font-weight: 500; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: background 0.2s; } .nl-submit:hover { background: var(--ocean); } .nl-success { display: none; background: #E1F5EE; color: #0F6E56; border-radius: 5px; padding: 14px; font-size: 14px; font-weight: 500; text-align: center; } .nl-frmtri-note { font-size: 11px; color: var(--ink-light); margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--sand-dark); line-height: 1.6; } .nl-frmtri-note a { color: var(--ocean); font-weight: 500; } /* RÉSULTATS LIVE */ #resultats { background: var(--ink); color: var(--white); } #resultats .section-label { color: var(--wave-light); } #resultats .section-label::after { background: var(--wave-light); } #resultats .section-title { color: var(--white); } .live-banner { background: rgba(29,158,117,0.12); border: 1px solid rgba(29,158,117,0.3); border-radius: 8px; padding: 2rem; display: flex; align-items: center; gap: 20px; margin: 2rem 0; } .live-pulse { width: 14px; height: 14px; border-radius: 50%; background: var(--wave); flex-shrink: 0; animation: livePulse 1.5s infinite; } @keyframes livePulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(29,158,117,0.4)} 50%{opacity:0.7;box-shadow:0 0 0 10px rgba(29,158,117,0)} } .live-text h3 { font-size: 16px; font-weight: 500; color: var(--white); margin-bottom: 3px; } .live-text p { font-size: 13px; color: rgba(255,255,255,0.5); } .results-table-ph { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; overflow: hidden; } .rt-header { display: grid; grid-template-columns: 50px 1fr 120px 120px; padding: 12px 20px; background: rgba(255,255,255,0.06); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.4); font-family: 'DM Mono', monospace; } .rt-activation { text-align: center; padding: 2rem; font-size: 13px; color: rgba(255,255,255,0.35); } /* GALERIE */ #galerie { background: var(--sand); } .gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 200px 200px; gap: 8px; margin-top: 2.5rem; } .gal-item { border-radius: 6px; overflow: hidden; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; font-size: 32px; position: relative; cursor: pointer; transition: transform 0.2s; } .gal-item:hover { transform: scale(0.98); } .gal-item:nth-child(1) { grid-column: span 2; background: #B5D4F4; } .gal-item:nth-child(2) { background: #9FE1CB; } .gal-item:nth-child(3) { background: #FAC775; } .gal-item:nth-child(4) { background: #EEEDFE; } .gal-item:nth-child(5) { grid-column: span 2; background: #F5C4B3; } .gal-label { font-size: 11px; color: rgba(0,0,0,0.4); letter-spacing: 1px; text-transform: uppercase; } .gal-note { font-size: 12px; color: var(--ink-light); text-align: center; margin-top: 12px; } /* COMMUNAUTÉ */ #communaute { background: var(--white); } .comm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 2.5rem; } .poll-block { background: var(--sand); border-radius: 8px; padding: 1.75rem; } .poll-title { font-size: 16px; font-weight: 500; color: var(--ink); margin-bottom: 1.25rem; } .poll-opt { display: flex; align-items: center; justify-content: space-between; border: 1.5px solid var(--sand-dark); border-radius: 6px; padding: 11px 14px; cursor: pointer; margin-bottom: 8px; font-size: 13px; color: var(--ink-mid); transition: border-color 0.15s, background 0.15s; position: relative; overflow: hidden; } .poll-opt:hover { border-color: var(--wave); } .poll-opt.voted { border-color: var(--wave); background: white; } .poll-opt-fill { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(29,158,117,0.1); width: 0; transition: width 0.6s ease; } .poll-opt-label { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; } .poll-opt-pct { position: relative; z-index: 1; font-family: 'DM Mono', monospace; font-size: 12px; color: var(--wave); display: none; } .poll-total { font-size: 11px; color: var(--ink-light); margin-top: 6px; } .wall-block { background: var(--sand); border-radius: 8px; padding: 1.75rem; display: flex; flex-direction: column; } .wall-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; } .wall-title { font-size: 16px; font-weight: 500; color: var(--ink); } .hashtag-pill { background: var(--ocean); color: white; font-size: 10px; font-weight: 500; letter-spacing: 0.5px; padding: 4px 10px; border-radius: 12px; } .wall-feed { flex: 1; display: flex; flex-direction: column; gap: 8px; margin-bottom: 1rem; max-height: 220px; overflow-y: auto; } .wall-post { background: var(--white); border-radius: 6px; padding: 10px 12px; font-size: 13px; color: var(--ink-mid); line-height: 1.5; transition: background 0.4s; } .wall-post-user { font-size: 11px; font-weight: 500; color: var(--wave); margin-bottom: 3px; } .wall-input-row { display: flex; gap: 8px; } .wall-input { flex: 1; padding: 9px 12px; border-radius: 5px; border: 1.5px solid var(--sand-dark); font-size: 13px; font-family: 'DM Sans', sans-serif; color: var(--ink); background: var(--white); outline: none; transition: border-color 0.2s; } .wall-input:focus { border-color: var(--wave); } .wall-send { padding: 9px 16px; background: var(--ocean); color: white; border: none; border-radius: 5px; font-size: 13px; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background 0.2s; } .wall-send:hover { background: var(--ocean-mid); } /* SPONSORS */ #sponsors { background: var(--sand); } .spon-tiers { display: flex; flex-direction: column; gap: 28px; margin-top: 2.5rem; } .spon-tier-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; font-family: 'DM Mono', monospace; color: var(--ink-light); margin-bottom: 10px; } .spon-grid-or { display: flex; gap: 12px; } .spon-box { background: var(--white); border: 1px solid var(--sand-dark); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--ink-light); font-weight: 500; letter-spacing: 0.5px; } .spon-or { height: 90px; flex: 1; } .spon-ag { height: 70px; } .spon-br { height: 55px; } .spon-grid-ag { display: flex; gap: 10px; } .spon-grid-br { display: flex; gap: 8px; } .spon-grid-ag .spon-box { flex: 1; } .spon-grid-br .spon-box { flex: 1; } .spon-cta { margin-top: 1.75rem; background: var(--white); border: 1px solid var(--sand-dark); border-radius: 8px; padding: 1.25rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 20px; } .spon-cta p { font-size: 13px; color: var(--ink-mid); } .spon-cta strong { color: var(--ink); font-weight: 500; } .btn-sm { background: var(--ocean); color: white; padding: 9px 18px; border-radius: 4px; font-size: 12px; font-weight: 500; letter-spacing: 0.5px; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; white-space: nowrap; text-decoration: none; display: inline-block; transition: background 0.2s; } .btn-sm:hover { background: var(--ocean-mid); } /* CONTACT & FAQ */ #contact { background: var(--white); } .contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; } .contact-info p { font-size: 15px; color: var(--ink-mid); line-height: 1.7; margin-bottom: 2rem; } .contact-cards { display: flex; flex-direction: column; gap: 10px; } .contact-card { background: var(--sand); border-radius: 6px; padding: 1rem 1.25rem; display: flex; align-items: center; gap: 14px; } .cc-icon { font-size: 20px; width: 40px; height: 40px; background: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; } .cc-label { font-size: 11px; color: var(--ink-light); } .cc-val { font-size: 13px; font-weight: 500; color: var(--ink); } .frmtri-box { background: var(--ocean); color: white; border-radius: 8px; padding: 1.25rem 1.5rem; margin-top: 1.5rem; } .frmtri-box h4 { font-size: 14px; font-weight: 500; color: var(--wave-light); margin-bottom: 6px; } .frmtri-box p { font-size: 13px; color: rgba(255,255,255,0.7); line-height: 1.6; } .frmtri-box a { color: var(--wave-light); font-weight: 500; } .faq-list { display: flex; flex-direction: column; gap: 0; } .faq-item { border-bottom: 1px solid var(--sand-dark); padding: 0; } .faq-item:first-child { border-top: 1px solid var(--sand-dark); } .faq-q { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--ink); gap: 16px; } .faq-icon { width: 24px; height: 24px; border-radius: 50%; background: var(--sand); border: 1px solid var(--sand-dark); display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; transition: background 0.2s; color: var(--ocean); } .faq-item.open .faq-icon { background: var(--wave); border-color: var(--wave); color: white; } .faq-a { font-size: 13px; color: var(--ink-light); line-height: 1.7; padding-bottom: 1rem; display: none; } .faq-item.open .faq-a { display: block; } /* FOOTER */ footer { background: var(--ink); color: rgba(255,255,255,0.5); padding: 3rem 2rem 2rem; } .footer-inner { max-width: 1100px; margin: 0 auto; } .footer-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 2rem; flex-wrap: wrap; gap: 2rem; } .footer-logo { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 2px; color: var(--white); margin-bottom: 4px; } .footer-tagline { font-size: 12px; color: rgba(255,255,255,0.4); letter-spacing: 1px; } .footer-links { display: flex; gap: 40px; } .footer-col h4 { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 12px; font-weight: 500; } .footer-col a { display: block; font-size: 13px; color: rgba(255,255,255,0.35); text-decoration: none; margin-bottom: 8px; transition: color 0.2s; } .footer-col a:hover { color: var(--wave-light); } .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; } .footer-bottom p { font-size: 12px; } .footer-social { display: flex; gap: 10px; } .social-btn { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); display: flex; align-items: center; justify-content: center; font-size: 13px; cursor: pointer; transition: background 0.2s; text-decoration: none; color: rgba(255,255,255,0.5); } .social-btn:hover { background: var(--wave); border-color: var(--wave); color: white; } /* SCROLL REVEAL */ .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; } .reveal.visible { opacity: 1; transform: translateY(0); } /* RESPONSIVE */ @media (max-width: 768px) { nav { padding: 0 1rem; } .nav-links { display: none; } .nav-burger { display: flex; } .nav-links.open { display: flex; flex-direction: column; position: absolute; top: 58px; left: 0; right: 0; background: var(--ocean); padding: 1rem 2rem 1.5rem; gap: 16px; border-bottom: 1px solid rgba(255,255,255,0.1); } #hero { padding: 90px 1.25rem 3rem; } .hero-stats { display: none; } .countdown { gap: 8px; } .cd-unit { width: 64px; } .cd-num { font-size: 32px; } section { padding: 60px 1.25rem; } .about-layout { grid-template-columns: 1fr; gap: 2rem; } .nl-wrapper { grid-template-columns: 1fr; } .nl-left { display: none; } .comm-grid { grid-template-columns: 1fr; } .contact-layout { grid-template-columns: 1fr; gap: 2rem; } .footer-links { flex-direction: column; gap: 1.5rem; } .rt-header { grid-template-columns: 40px 1fr 100px; } .rt-header span:last-child { display: none; } .seg-visual { flex-direction: column; } .seg-block:not(:last-child)::after { content: '↓'; right: auto; bottom: -14px; top: auto; left: 50%; transform: translateX(-50%); } .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .gal-item:nth-child(1), .gal-item:nth-child(5) { grid-column: span 1; } }
Championnat du Maroc de Duathlon — Étape 1

DUATHLON
DE RABAT

Ocean Rabat Triathlon
26 · 04 · 2026  —  Rabat, Maroc
Jours
Heures
Min
Sec
27.5
km au total
1ère
Étape nationale

Une première
historique

L’Ocean Rabat Triathlon (ORT) a l’honneur d’accueillir la première étape du Championnat du Maroc de Duathlon 2026. Un événement fondateur pour le sport multidisciplinaire marocain, organisé dans la capitale du Royaume, face à l’Atlantique.

Fondé à Rabat, l’ORT rassemble des athlètes passionnés autour d’une vision commune : développer le triathlon et le duathlon au Maroc, en organisant des compétitions de haut niveau accessibles à tous.

Les inscriptions à la compétition sont gérées directement par la Fédération Royale Marocaine de Triathlon (FRMTri). Retrouvez toutes les informations sur les modalités de participation sur le site officiel de la fédération.

🏆
Championnat officiel
Étape 1 / 2026
Championnats du Maroc de Duathlon
📍
Lieu
Rabat — Marina Bouregreg
Capitale du Royaume du Maroc
🚴
Format
Run — Bike — Run
5 km · 20 km · 2.5 km
🎽
Catégories
Seniors · U23 · U19 · U17 · U15 · U13
Hommes & Femmes
📅
Date
26 avril 2026
Départ officiel à 07:00

Run — Bike — Run

🏃 5 km
Course à pied — S1
Départ · Zone de transition T1
🚴 20 km
Cyclisme
Boucle Atlantique · T2
🏃 2.5 km
Course à pied — S2
Arrivée · Ligne finale
🗺
Carte interactive du parcours

Intégration Strava / Google Maps — disponible prochainement

Programme
officiel

25.04 avant 21:00
Accueil & retrait des dossards
Zone d’accueil ouverte — zone de transition accessible aux athlètes pour installation du matériel vélo.
25.04 vers 19:00
Briefing technique officiel
Obligatoire pour tous les participants. Règlements, consignes de sécurité, présentation du parcours.
26.04 — 07:00
🏁 Départ officiel
Seniors · U23 · U19 · U17 · U15 · U13 — Hommes & Femmes
11:30
Remise des prix & podium
Cérémonie officielle du Championnat du Maroc — podium par catégorie, médailles et distinctions.
12:30
Village ORT
Espace animation, nutrition et récupération, stands partenaires, photos officielles.

Suivre
l’événement

Recevez toutes les actualités du Duathlon de Rabat directement dans votre boîte mail.

Ouverture des inscriptions FRMTri
Détails du parcours & logistique
Résultats en avant-première
Photos & vidéos post-course
Actualités de l’ORT Rabat

Inscrivez-vous aux actualités

Gratuit · Sans spam · Désabonnement en un clic

✓  Inscription confirmée ! Vous serez parmi les premiers informés.
Pour s’inscrire à la compétition : Les inscriptions sont gérées par la Fédération Royale Marocaine de Triathlon (FRMTri). Licence FRMTri obligatoire pour les catégories championnat.

Résultats
en direct

Résultats en temps réel — Activation le 26 avril 2026 à 07:00

Classement général · Classement par catégorie · Temps de passage T1 & T2 · Chronométrage officiel

Pos.AthlèteCatégorieTemps
Le classement sera affiché ici en temps réel le jour de la course

Galerie

Photos & vidéos de l’événement — mises à jour après la course · 26 avril 2026

La communauté
ORT

Quel segment redoutez-vous le plus ?
🚴 La montée vélo48%
🏃 Le sprint final Run 231%
⚡ La transition T113%
🏁 Le départ en peloton8%
143 participants ont répondu
Mur de motivation
#DuathlonRabat2026
@Youssef_ORT
Première étape nationale à Rabat, quel honneur ! Bravo à l’ORT 💪 #DuathlonRabat2026
@Fatima_Benali
Hâte de voir le parcours vélo le long de l’Atlantique 🌊 L’ORT au sommet !
@Karim_Endurance
Entraînement du jour : 2h30 vélo + 40min run. Je serai prêt en avril ! #DuathlonRabat2026
@Sara_Multi
Mon premier championnat national, trop hâte de vivre ça à Rabat ! 🇲🇦

Nos sponsors

Or
Logo Partenaire Or
Logo Partenaire Or
Argent
Partenaire Argent
Partenaire Argent
Partenaire Argent
Bronze
Bronze
Bronze
Bronze
Bronze

Devenez partenaire du Duathlon de Rabat 2026
Associez votre marque à la première étape du Championnat du Maroc.

Dossier sponsor →

Contact

Une question sur l’organisation ? Un partenariat à proposer ? L’équipe ORT est disponible pour vous répondre.

📧
Email
contact@ort-rabat.ma
📍
Lieu
Marina Bouregreg, Rabat
📱
Réseaux sociaux
@OceanRabatTriathlon

Inscriptions à la compétition

Gérées par la Fédération Royale Marocaine de Triathlon (FRMTri). Licence obligatoire pour les catégories officielles. Consultez frmtri.ma pour les modalités.

FAQ

Comment s’inscrire à la compétition ?+
Les inscriptions à la compétition officielle sont gérées exclusivement par la Fédération Royale Marocaine de Triathlon (FRMTri). Rendez-vous sur frmtri.ma pour les modalités, délais et conditions de licence. L’ORT vous informe de l’ouverture des inscriptions via sa newsletter.
Quel équipement vélo est autorisé ?+
Tout vélo de route homologué UCI. Les vélos de triathlon (TT) sont autorisés en catégorie senior. Le casque rigide homologué est obligatoire pour tous les participants. Les disques arrière sont interdits en catégorie U17 et moins.
Y a-t-il une catégorie pour les non-licenciés ?+
Une catégorie « découverte » non classée au championnat est en cours d’étude. Inscrivez-vous à notre newsletter pour être informé dès confirmation. Cette catégorie serait ouverte aux pratiquants non licenciés souhaitant découvrir le duathlon.
Où se garer le jour de la course ?+
Un plan d’accès et de stationnement détaillé sera communiqué dans le kit participant, envoyé à J-7. Des zones de parking gratuites seront indiquées à proximité de la Marina Bouregreg.
Puis-je participer en relais ?+
Oui, une catégorie relais est prévue pour les équipes. Les modalités de composition (binôme ou trinôme) seront précisées dans le règlement officiel de la FRMTri. Inscrivez-vous à nos actualités pour être informé.