Daka Smart School est une plateforme de gestion scolaire et d'apprentissage pensée pour les écoles algériennes (wilayas, tarifs en DZD, paiements CIB, Edahabia et CCP). Elle réunit six espaces Filament séparés par rôle : super admin, admin, admin jeux, enseignant, élève et parent. Les enseignants publient leçons, exercices et devoirs ; les élèves les réalisent avec un retour animé ; les parents suivent les résultats de leurs enfants.
Une API REST versionnée, protégée par Sanctum, alimente trois mini-jeux éducatifs avec correction côté serveur, niveaux, classements et boosters. Un site vitrine trilingue (FR/EN/AR, RTL) gère tout le parcours de pré-inscription, jusqu'à la création automatique des comptes. Une application mobile Flutter élève / parent est en cours : son interface complète, dont j'ai aussi conçu les 62 maquettes, est réalisée, la connexion à l'API est la prochaine étape.
De la problématique au résultat
1
Problématique
L'école gérait tout avec des outils dispersés : inscriptions, cours, devoirs, notes et paiements passaient par le papier, Excel et WhatsApp, sans vue d'ensemble pour la direction. Les parents n'avaient presque aucune visibilité sur les résultats de leurs enfants entre deux réunions, et les élèves décrochaient faute d'un apprentissage plus motivant.
2
Solution
Une seule plateforme réunit tout le suivi scolaire : les exercices sont corrigés automatiquement avec un retour animé, chaque nouveau devoir ou exercice déclenche une notification, et les bulletins s'exportent en PDF. Les parents suivent les résultats de leurs enfants depuis leur espace. Pour la motivation, des mini-jeux éducatifs avec niveaux, classements et récompenses (boosters, animations, musiques) rendent l'apprentissage ludique, tandis que la direction pilote inscriptions, abonnements et paiements depuis le back-office.
3
Résultats
Depuis janvier 2026, 88 % des exercices proposés aux élèves sont réalisés sur la plateforme.
Fonctionnalités
01Six espaces Filament séparés par rôle (super admin, admin, admin jeux, enseignant, élève, parent) avec redirection automatique
02Trois mini-jeux éducatifs : quiz (avec image), formes cachées et calcul mental généré dynamiquement
03Correction des réponses côté serveur et calcul du score par session de jeu
04Boosters attribués automatiquement aux élèves dont la moyenne récente est faible
05Abonnements payant, promu ou invité (avec limite quotidienne de parties) contrôlant l'accès aux jeux et aux cours
06Exercices de 6 types (QCM, vrai/faux, texte à trous, appariement, mise en ordre) avec animation Lottie selon le score et musique de récompense
07Devoirs avec dépôt des rendus et notifications aux élèves pour chaque nouveau devoir ou exercice
08Pré-inscription en ligne : confirmation par e-mail, suivi, validation, paiement puis création automatique des comptes parent et élève
09Export PDF du bulletin de l'élève
10Site vitrine trilingue FR/EN/AR (RTL, mode sombre) avec blog, pages matières, tarifs, FAQ et sitemap dynamique
11QCM interactif : chronomètre dont la couleur change selon le temps restant, navigation entre questions, astuces, envoi automatique à la fin du temps
12Performance parent : graphique d'évolution des scores avec une courbe par enfant (3 mois / 6 mois / 1 an) et comparaison par matière
Stack par couche
Frontend
Blade
CSS
JavaScript
Lottie
Mobile
Flutter
Dart
go_router
Freezed
fl_chart
Material 3
Back-office
Filament 3
Livewire
Backend
Laravel 12
PHP 8.2
Laravel Sanctum
Spatie Permission
DomPDF
Pest
Base de données
MySQL
Services externes
SMTP
Infrastructure
Cloudflare R2
Vite
Laravel Telescope
Architecture technique
API REST versionnée (/api/v1) avec authentification par jetons Sanctum
Rôles et permissions Spatie, avec un middleware qui contrôle l'accès à chaque espace Filament
Liste blanche d'IP pour l'administration en production (gérable depuis le back-office, mise en cache 5 min)
Stockage des fichiers sur Cloudflare R2 (compatible S3), un bucket par environnement, avec une commande de migration depuis le disque local (mode simulation)
Notifications en base affichées dans les espaces Filament, déclenchées par des observers Eloquent