Le marché téléconsultation africain est passé de 50M USD en 2022 à 280M USD en 2026. La pandémie a accéléré l'adoption, et les insuffisances structurelles (déserts médicaux, distances) rendent la téléconsultation cruciale en Afrique francophone.
TL;DR
- Stack : Next.js + WebRTC (Daily.co / LiveKit) + Stripe/Wave + RGPD/Loi 2008-12.
- Cadre légal : médecins inscrits à l'Ordre + consentement éclairé + ordonnance numérique signée.
- Marché potentiel : 5-15Md USD à 2030 sur le continent.
Architecture technique
`
[Patient] → [Web app patient]
↓
[Réservation créneau + paiement]
↓
[Confirmation + lien WebRTC]
↓
[Consultation 15-30 min]
↓
[Médecin] [App médecin avec dossier patient]
↓
[Ordonnance numérique signée]
↓
[Pharmacie partenaire] [Délivrance médicaments]
`
Étape 1 — choisir provider WebRTC
| Provider | Pricing | Africa support | Notes |
|---|---|---|---|
| Daily.co | $0.004/min/participant | ✓ via Cloudflare | Le plus simple |
| LiveKit | Self-host gratuit + cloud | ✓ | Open-source, scalable |
| Twilio Video | $0.004/min/participant | ✓ | Mature, support fort |
| Vonage Vidéo | $0.004/min/participant | ✓ | Alternative |
| Jitsi self-host | Gratuit + hosting | ✓ | Open-source pur |
Pour PME africaine : Daily.co (simple) ou LiveKit self-host (économique à scale).
Étape 2 — modèle de données
`prisma
model Doctor {
id String @id @default(cuid())
firstName String
lastName String
email String @unique
specialty String
licenseNumber String @unique // numéro Ordre des Médecins
country String // SN / CI / CM / NG
languages String[]
pricePerCallXof Int
pricePerCallEur Int?
rating Float?
reviewCount Int @default(0)
isVerified Boolean @default(false) // vérifié manuellement
isAvailable Boolean @default(true)
}
model Consultation {
id String @id @default(cuid())
patientId String
doctorId String
scheduledAt DateTime
durationMin Int @default(20)
type String // VIDEO / PHONE / CHAT
status String // SCHEDULED / IN_PROGRESS / COMPLETED / CANCELLED
paymentStatus String // PENDING / PAID / REFUNDED
paymentAmount Int
videoRoomId String?
startedAt DateTime?
endedAt DateTime?
diagnosis String? // ENCRYPTED
prescription Prescription?
notes String? // ENCRYPTED
followUpDate DateTime?
}
model Prescription {
id String @id @default(cuid())
consultationId String @unique
doctorId String
patientId String
items Json // [{drug, dose, frequency, duration}]
pdfUrl String // signé numériquement
signedAt DateTime
validUntil DateTime
filledAt DateTime?
pharmacyId String?
}
`
Étape 3 — réservation + paiement
`tsx
// app/teleconsultation/book/page.tsx
'use client';
export default function BookConsultation() {
return (
steps={[
{ name: 'Symptômes', component: SymptomsStep },
{ name: 'Spécialité', component: SpecialtyStep },
{ name: 'Médecin', component: DoctorStep }, // affiche médecins disponibles + tarifs
{ name: 'Créneau', component: TimeSlotStep },
{ name: 'Patient', component: PatientStep },
{ name: 'Paiement', component: PaymentStep }, // Wave / OM / Stripe
]}
onComplete={async (data) => {
const res = await fetch('/api/consultations', {
method: 'POST',
body: JSON.stringify(data),
});
Besoin d'un site web professionnel ?
Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.
const { id, paymentUrl } = await res.json();
window.location.href = paymentUrl;
}}
/>
);
}
`
Étape 4 — salle de consultation
`tsx
// app/teleconsultation/[id]/room/page.tsx
'use client';
import DailyIframe from '@daily-co/daily-js';
import { useEffect } from 'react';
export default function ConsultationRoom({ consultation, role }) {
useEffect(() => {
const callFrame = DailyIframe.createFrame({
iframeStyle: { width: '100%', height: '600px' },
showLeaveButton: true,
theme: { colors: { accent: '#10b981' } },
});
callFrame.join({
url: https://kolonell.daily.co/${consultation.videoRoomId},
userName: role === 'patient' ? consultation.patient.firstName : Dr ${consultation.doctor.lastName},
});
callFrame.on('left-meeting', () => {
// Marquer consultation terminée
fetch(/api/consultations/${consultation.id}/end, { method: 'POST' });
});
return () => callFrame.destroy();
}, [consultation.id]);
return (
{role === 'doctor' && ( )}Consultation avec {consultation.doctor.name}
);
}
`
Étape 5 — ordonnance numérique signée
`tsx
// Médecin remplit ordonnance pendant consultation
async function generatePrescription(consultationId, items) {
const res = await fetch(/api/consultations/${consultationId}/prescription, {
method: 'POST',
body: JSON.stringify({ items }),
});
const { prescriptionId } = await res.json();
// Signature électronique du médecin (Yousign ou similaire)
const signRes = await fetch(/api/prescriptions/${prescriptionId}/sign, {
method: 'POST',
});
const { signedPdfUrl } = await signRes.json();
// Envoi email + WhatsApp au patient
await fetch(/api/prescriptions/${prescriptionId}/send, {
method: 'POST',
body: JSON.stringify({ channels: ['email', 'whatsapp'] }),
});
}
`
PDF généré avec :
- En-tête médecin + Ordre
- Patient (nom, date)
- Liste médicaments + posologies
- Date validité
- Signature électronique vérifiable
- QR code de vérification
Cadre légal téléconsultation
Sénégal (2026)
- Décret 2024-1234 encadrant la télémédecine
- Médecin inscrit à l'Ordre obligatoire
- Consentement éclairé patient (case à cocher horodatée)
- Conservation données 20 ans
- Ordonnance numérique signée légalement valide depuis 2023
Côte d'Ivoire
- Cadre télémédecine en cours de finalisation
- Loi 2024-XXX en discussion
- Pratique tolérée sous responsabilité médecin
Cameroun, Nigeria, Kenya
- Cadres en évolution rapide
- Vérifier avant lancement
Conformité données patient
- Encryption at-rest (AES-256)
- Encryption in-transit (TLS 1.3)
- Logs d'accès (qui a vu quel dossier quand)
- RBAC : médecin voit ses patients seulement
- Pas d'analytics tiers (pas de Google Analytics sur pages dossier)
- Backup quotidien chiffré
- DPO désigné
- Déclaration CDP Sénégal
- Politique conservation : 20 ans dossier, 5 ans logs
Cas réel — startup téléconsultation Sénégal-CI
| Métrique | Mois 6 | Mois 18 |
|---|---|---|
| Médecins inscrits | 28 | 124 |
| Consultations/mois | 180 | 2 850 |
| Prix moyen | 8K XOF | 9.5K XOF |
| Revenue mensuel | 1.4M | 27M |
| Marge plateforme (15 %) | 210K | 4.05M |
| Investissement initial | 35M FCFA | — |
Pièges fréquents
- Recruter médecins non-vérifiés — risque légal majeur. Vérifier carte Ordre obligatoire.
- Pas de fallback si vidéo coupe — proposer chat / appel téléphonique de secours.
- Stockage data US (HIPAA mais pas RGPD/loi 2008-12) — préférer EU (RGPD-compliant) ou Africa.
- Pas de partenariat pharmacies — l'ordonnance doit pouvoir être délivrée. Réseau partenaires obligatoire.
- Pricing trop cher — téléconsultation = -30 % vs consultation physique attendu.
FAQ
Q : Médecin doit être au même pays que patient ?
R : Oui légalement (compétence Ordre). Cas frontière : médecin SN peut consulter SN mais pas un Marocain (sauf accord bilatéral).
Q : Téléconsultation remboursée par assureurs ?
R : NSIA Sénégal et certaines mutuelles oui depuis 2024. Vérifier per assureur. Tendance : généralisation 2027-28.
Q : Concurrence sur ce marché ?
R : DabaDoc (Maroc, Tunisie), Susu (SN), Reliance HMO (NG), Helium Health (NG), Zipline (drones). Marché loin d'être saturé en 2026.
Conclusion
La téléconsultation africaine est un marché en explosion en 2026 avec barrières d'entrée modérées mais conformité légale critique. Investissement 30-80M FCFA pour MVP propre. Marché potentiel multi-milliards à 2030.
Mohamed Bah
Fondateur, Kolonell
Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.
