Développer une plateforme SaaS au Maroc : Étude de cas CenterHub
Comment nous avons conçu et développé CenterHub, une plateforme SaaS de gestion éducative multi-rôles, de zéro à la production en 8 semaines.
Le contexte
Un centre éducatif de Casablanca gérait tout avec des feuilles Excel et WhatsApp : présences, paiements, emplois du temps, notes... Un cauchemar administratif. Notre mission : créer une plateforme SaaS complète en 8 semaines.
Les besoins identifiés
Après un atelier de découverte de 2 jours, nous avons défini 4 rôles :
L'architecture technique
Frontend
``
Next.js 15 (App Router)
TypeScript
Tailwind CSS
Framer Motion
React Hook Form + Zod
`
Backend
`
Next.js API Routes (serverless)
Prisma ORM
PostgreSQL (Neon.tech)
NextAuth.js (authentification)
`
Déploiement
`
Vercel (frontend + API)
Neon.tech (PostgreSQL serverless)
Cloudinary (stockage fichiers)
`
Le modèle de données principal
`prisma
model User {
id String @id @default(cuid())
name String
email String @unique
role Role
centerId String
center Center @relation(fields: [centerId], references: [id])
}
enum Role {
ADMIN
SECRETARY
TEACHER
STUDENT
}
model Payment {
id String @id @default(cuid())
amount Float
status PaymentStatus
studentId String
student User @relation(fields: [studentId], references: [id])
date DateTime @default(now())
}
`
Les défis techniques rencontrés
Défi 1 : Gestion des rôles granulaire
Chaque rôle a accès à des données différentes. Solution : middleware Next.js qui vérifie le rôle avant chaque requête API.
Défi 2 : Performance sur les listes longues
Avec 500+ étudiants, les tableaux paginés avec recherche en temps réel sont devenus lents. Solution : debounce de 300ms + pagination server-side avec Prisma.
Défi 3 : Support bilingue FR/AR
Le centre fonctionne en français ET arabe. Solution : next-intl avec routes /fr/ et /ar/`, support RTL natif.
Les résultats (2 mois après le lancement)
Leçons apprises
Conclusion
Développer un SaaS au Maroc est tout à fait réalisable avec les bonnes technologies et la bonne méthodologie. CenterHub est aujourd'hui utilisé quotidiennement par 300+ utilisateurs et continue d'évoluer selon les besoins du centre.