E-commerce12 min de lecture

Pharmacie e-commerce Afrique : médicaments OTC + cadre légal 2026

Mohamed Bah·Fondateur, Kolonell
17 mai 2026
Partager :
Pharmacie e-commerce Afrique : médicaments OTC + cadre légal 2026

Pharmacie e-commerce Afrique : médicaments OTC + cadre légal 2026

E-commerce

La parapharmacie en ligne en Afrique francophone explose : Carrefour Para, Pharmashop, Medsbox. Mais 80 % des pharmacies traditionnelles ratent ce marché par méconnaissance technique ET par peur du cadre légal. Ce guide démêle les deux.

TL;DR

- OTC + parapharmacie = légal en ligne avec autorisation pharmacien titulaire.

- Médicaments sur ordonnance = interdits en ligne sans téléconsultation associée.

- Stack : Next.js + Medusa + ordonnance scan + livraison rapide.

- +25-40 % CA pharmacie qui se digitalise vs base brick-and-mortar.

Cadre légal e-commerce pharmacie

Au Sénégal

Légal en ligne :

  • Médicaments OTC (sans ordonnance) — Doliprane, Smecta, vitamines
  • Parapharmacie (cosmétiques pharmaceutiques, hygiène)
  • Compléments alimentaires
  • Matériel médical (tensiomètre, glucomètre)

Légal avec ordonnance :

  • Médicaments soumis à prescription — antibiotiques, anti-inflammatoires forts, etc.
  • Le client uploade l'ordonnance scannée
  • Pharmacien valide avant délivrance
  • Livraison ou retrait pharmacie

Strictement interdit :

  • Médicaments narcotiques / psychotropes (annexes I, II, III, IV)
  • Vente sans pharmacien diplômé responsable

Côte d'Ivoire / Cameroun

Cadre similaire avec variations. Voir Conseil National Ordre des Pharmaciens local.

Architecture e-commerce pharmacie

`

[Site catalogue]

├── OTC + parapharmacie (achat direct)

└── Médicaments prescription (upload ordonnance requis)

[Workflow ordonnance]

├── Client scan ordonnance via mobile

├── Pharmacien vérifie (5-15 min)

├── Si OK → ajoute au panier

├── Si problème → contact client

├── Validation finale → paiement

└── Livraison ou retrait

[Backend]

├── Catalogue produits (Medusa)

├── Stock temps réel

├── Vérification ordonnances (queue interne)

├── Comptabilité ordonnances (registre légal)

└── Audit logs (qui a vu quoi)

`

Étape 1 — modèle de données

`prisma

model Product {

id String @id @default(cuid())

slug String @unique

name String

type String // OTC / PRESCRIPTION / PARAPHARMACY / MEDICAL_DEVICE

category String

description String

composition String?

contraindications String?

dosage String?

manufacturer String

countryOrigin String

priceXof Int

stock Int

requiresPrescription Boolean @default(false)

isActive Boolean @default(true)

}

model Prescription {

id String @id @default(cuid())

customerId String

imageUrl String // upload secure

uploadedAt DateTime @default(now())

validatedBy String? // pharmacist user ID

validatedAt DateTime?

status String // PENDING / APPROVED / REJECTED / EXPIRED

rejectionReason String?

expiresAt DateTime

orderId String?

}

model Order {

id String @id @default(cuid())

customerId String

items OrderItem[]

totalAmount Int

status String

prescriptionId String? // si médicaments prescription

deliveryAddress String

deliveryMode String // HOME_DELIVERY / PHARMACY_PICKUP

paymentMethod String

paidAt DateTime?

}

model PharmacyAuditLog {

id String @id @default(cuid())

userId String // pharmacien

action String // VIEW_PRESCRIPTION / VALIDATE / DISPENSE / REJECT

resourceType String

resourceId String

ipAddress String

timestamp DateTime @default(now())

}

`

Étape 2 — fiche produit OTC

`tsx

// app/products/[slug]/page.tsx

export default async function ProductPage({ params }) {

const product = await getProductBySlug(params.slug);

return (

{product.name}

{product.manufacturer}

{product.requiresPrescription && (

⚠️ Ce médicament nécessite une ordonnance. Vous devrez l'uploader avant validation.

)}

{product.priceXof.toLocaleString()} FCFA

{product.stock > 0 ? (

) : (

)}

Composition

{product.composition}

Posologie

{product.dosage}

⚠️ Demandez conseil à votre pharmacien

Contre-indications

{product.contraindications}

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.

);

}

`

Étape 3 — workflow ordonnance

`tsx

// app/checkout/prescription-upload/page.tsx

'use client';

export default function PrescriptionUpload() {

const [file, setFile] = useState(null);

const [uploading, setUploading] = useState(false);

async function upload() {

if (!file) return;

setUploading(true);

const formData = new FormData();

formData.append('prescription', file);

const res = await fetch('/api/prescriptions/upload', {

method: 'POST',

body: formData,

});

const { prescriptionId, status } = await res.json();

// Poll status (validation par pharmacien)

pollStatus(prescriptionId);

}

return (

Uploadez votre ordonnance

Format JPEG, PNG ou PDF. Max 5 MB. Scan ou photo claire.

type="file"

accept="image/jpeg,image/png,application/pdf"

capture="environment"

onChange={e => setFile(e.target.files?.[0] ?? null)}

/>

Notre pharmacien examinera votre ordonnance dans les 15 minutes (heures ouvrables).

Vous recevrez une notification WhatsApp.

);

}

`

Étape 4 — interface pharmacien validation

`tsx

// app/admin/prescriptions/page.tsx

export default async function PharmacistDashboard() {

const pending = await getPendingPrescriptions();

return (

Ordonnances à valider ({pending.length})

{pending.map(p => (

key={p.id}

prescription={p}

onApprove={async () => {

await fetch(/api/prescriptions/${p.id}/approve, { method: 'POST' });

}}

onReject={async (reason) => {

await fetch(/api/prescriptions/${p.id}/reject, {

method: 'POST',

body: JSON.stringify({ reason }),

});

}}

/>

))}

);

}

function PrescriptionCard({ prescription, onApprove, onReject }) {

return (

Ordonnance

Patient : {prescription.customer.name}

Médicaments demandés : {prescription.requestedItems.join(', ')}

);

}

`

Étape 5 — livraison rapide

Critère majeur : livraison J+0 si commande avant 15h, J+1 sinon.

Partenariats :

  • Yango / Heetch (Sénégal, CI)
  • Glovo / Jumia Delivery (Afrique)
  • Coursiers internes (motos)

`tsx

// Calcul frais livraison

const SHIPPING_TIERS = {

same_day: { fee: 1500, eligibleHours: '8h-15h', delivery: '< 4h' },

next_day: { fee: 1000, delivery: '< 24h' },

pharmacy_pickup: { fee: 0, message: 'Retrait pharmacie' },

};

`

Cas réel — Pharmacie Almadies (Dakar)

MétriqueAvant e-commerceAprès 12 mois
CA pharmacie physique95M FCFA/an95M FCFA/an (stable)
CA e-commerce038M FCFA/an
CA total95M133M (+40 %)
Commandes web/mois0280
Panier moyen web11 200 FCFA
Marge nette web28 % (vs 18 % physique)

Pièges fréquents

  • Vendre médicaments prescription sans ordonnance — radiation Ordre + amende. Workflow obligatoire.
  • Stock désynchronisé — si web vend mais physique épuisé, conflits clients. Sync ERP critique.
  • Conformité données — ordonnances = données santé sensibles. Encryption + DPO + déclaration CDP.
  • Livraison médicaments fragiles — vaccins (chaîne du froid), insuline. Solutions iso-thermes obligatoires.
  • Conseil pharmaceutique remplacé par chatbot — un chatbot ne donne PAS de conseil médical. Le pharmacien reste central.

FAQ

Q : Vendre du paracétamol en ligne légal au Sénégal ?

R : Oui, OTC = libre vente avec autorisation Ordre Pharmaciens si vente par pharmacien titulaire d'officine.

Q : Marketplace pharmacies multi-officines ?

R : Légalement complexe. Chaque officine doit avoir son pharmacien titulaire responsable. Cas par cas avec Ordre.

Q : Ordonnances dématérialisées (sans scan papier) ?

R : Émergent au Sénégal en 2026 via Décret 2024-1234. Acceptation pleine d'ici 2027-28.

Conclusion

Pharmacie e-commerce est un marché en émergence rapide en Afrique francophone 2026. Conformité légale = barrière mais avantage pour acteurs sérieux. Investissement 8-25M FCFA pour MVP propre. ROI 12-18 mois sur officine moyenne.

Tags :#Pharmacie#E-commerce#OTC#Santé#Légal#Afrique
Partager :

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.