Plateforme de certification en ligne
- POK
- 2024-2025
- développement web
- Laravel
- Serigne Mbaye Sy AMAR
Un POK traitant de la création d'une plateforme de certification en ligne où les utilisateurs peuvent suivre des cours en vidéo et obtenir un certificat après évaluation.
- Avoir des connaissances en développement web (HTML, CSS, JavaScript).
- Connaître le framework back-end Laravel.
- Des bases en bases de données (MySQL).
- Connaître l'utilisation de systèmes de gestion des utilisateurs et d'authentification.
Table des matières
- Pourquoi créer une plateforme d'apprentissage en ligne ?
- Pourquoi utiliser Laravel pour une telle plateforme ?
- Tâches
- Résultats
Pourquoi créer une plateforme d'apprentissage en ligne 🌍📚?
Dans un monde où l'éducation et le développement personnel sont de plus en plus numérisés, la création d'une plateforme d'apprentissage en ligne présente de nombreux avantages. Elle permet de démocratiser l'accès à la connaissance, de briser les barrières géographiques et de permettre à quiconque, où qu'il soit, d'accéder à des formations de qualité. Voici quelques raisons clés pour lesquelles ce projet est non seulement pertinent, mais également porteur d'avenir.
D'abord une plateforme de cours en ligne permet aux étudiants du monde entier d'accéder à des connaissances spécialisées. Que ce soit pour des étudiants dans des régions reculées ou pour des professionnels qui cherchent à acquérir de nouvelles compétences, ce type de plateforme est un levier pour la formation continue.
Ensuite, contrairement aux méthodes traditionnelles d'enseignement, une plateforme en ligne permet aux apprenants de progresser à leur rythme. Ils peuvent visionner des vidéos, revoir des leçons et passer des évaluations selon leur propre emploi du temps, rendant l'apprentissage flexible et adapté aux besoins de chacun.
Enfin, grâce à la flexibilité de la plateforme, le contenu peut être mis à jour régulièrement. De nouveaux cours peuvent être ajoutés, permettant aux étudiants d'accéder aux dernières innovations dans leur domaine. L'apprentissage devient ainsi un processus continu, en phase avec les évolutions du marché.
Voici un article sur les plaformes de certifications en ligne.
Pourquoi utiliser Laravel pour une telle plateforme 🖥️⚙️?
Laravel, un des frameworks PHP les plus populaires, est un bon choix pour le développement d'une telle plateforme. C'est grace a ces raison qu'il est un bon choix:
-
Sécurité renforcée
-
Système d'authentification intégré
-
Flexibilité et évolutivité
-
Écosystème riche
-
Architecture MVC claire
-
Gestion des bases de données simplifiée
Tâches 📝✅
L'objectif de ce projet est de créer une plateforme en ligne où les étudiants peuvent suivre des cours en vidéo et passer une évaluation pour obtenir un certificat. Les instructeurs peuvent s'inscrire, et une fois approuvés par le super administrateur, ils peuvent ajouter des cours. Le projet est divisé en deux sprints pour structurer les étapes de développement.
Sprint 1 :
Ce sprint est dédié à la création de l'interface utilisateur de la plateforme et la mise en place des systèmes d'authentification et des droits d'accès pour les différents rôles (étudiant, instructeur, super admin). Les tâches incluent la conception des pages et l'intégration du frontend.
Tâche | Durée estimée |
---|---|
Développer les pages d'accueil | 4h |
Créer les formulaires d'inscription | 1h |
Mettre en place la structure des pages vidéos | 3h |
Implémenter le système d'authentification | 2h |
Étude post-mortem :
À la fin de ce sprint, Je vais évaler la fonctionnalité des pages développées et corriger les bugs éventuels.
À la fin de du sprint
-
[x] Développer les pages d'accueil
-
[x] Créer les formulaires d'inscription
-
[x] Mettre en place la structure des pages vidéos
-
[x] Implémenter le système d'authentification
Sprint 2 :
Ce sprint est dédié à l'ajout de fonctionnalités permettant aux instructeurs de créer des cours, aux étudiants de les suivre et de passer des évaluations.
Tâche | Durée estimée |
---|---|
Développer un tableau de bord(Toutes les pages visibles) pour les admins | 4h |
Assurer la sécurité | 1h30 |
Permettre la création de cours(gérer les permissions) | 2h |
Intégrer un lecteur vidéo | 1h30 |
Recherche sur le systeme de payement | 1h |
À la fin de du sprint
-
[x] Développer un tableau de bord(Toutes les pages visibles) pour les admins
-
[x] Assurer la sécurité
-
[x] Permettre la création de cours(gérer les permissions)
-
[x] Intégrer un lecteur vidéo
-
[x] Recherche sur le systeme de payement
-
[ ] Implémentation d'un filtre de recherche par catégorie pour les cours (non terminé).
-
[ ] Liaison correcte pour le paiement en ligne
-
[ ] Gestion de la progression de l'étudiant dans la base de données (non terminé).
Étude post-mortem :
Je vais évaler la fluidité de la gestion des cours et ajuster les problèmes liés à la gestion des données.
Résultats
Pour avoir une meilleure présentation des résultats, j'ai téléchargé l'extension Simulateur téléphone mobile - test site responsive.
Page d'accueil
Page d'accueil
Les cours disponibles
Les cours disponibles
Connexion
Connexion
Ajouter le cours dans son panier
Ajouter le cours dans son panier
Là, je n'ai pas réussi à lier correctement le paiement en ligne, même si j'ai essayé de l'implémenter avec Sandbox Payment System, qui n'est pas un système français. Mais cela n'a pas abouti, donc j'aimerais essayer d'implémenter les méthodes françaises comme Paylib ou PayPal.
Finalisatioon commande
Finalisatioon commande
Tableau de bord de l'étudiant
Tableau de bord de l'étudiant
Contenu du cours
Contenu du cours
Comme instructeur
Comme instructeur
Page d'accueil admin
Page d'accueil admin
Dashbord super admin
Dashbord super admin
Conclusion
Je termine en rappelant que le but de ce projet est de mettre en valeur mes compétences en Laravel, surtout avec la méthode CRUD, car presque la totalité du développement consiste à Créer, Lire, Modifier et Supprimer je voulais aussi renforcer mes compétences en développement frontend. Donc je peux dire que j'ai appris énormément de choses qui me donnent plus de confiance avec ce framework. Vous trouverez le code source sur mon GitHub dont voici le lien