B-Formation
Description succincte du projet
B-Formation est une application web de gestion administrative développée pour les établissements d'enseignement. Elle propose une solution complète pour la gestion des cours, des présences et des emplois du temps.
Date et lieu
- Terminée le: 01 Mars, 2024
- Lieu: Projet réalisé dans le cadre du BTS SIO option SLAM
Avec qui
- Projet réalisé en autonomie avec le soutien des professeurs
- Destiné aux utilisateurs : administrateurs, enseignants et étudiants
Contexte
Ce projet a été réalisé pour répondre aux besoins administratifs des établissements d'enseignement en offrant une plateforme centralisée pour gérer les aspects essentiels de l'organisation pédagogique. La demande provient des centres de formation et établissements d'enseignement souhaitant moderniser leur gestion administrative.
Environnement technique
Technologies utilisées
- PHP (Architecture MVC personnalisée)
- MySQL (Base de données relationnelle)
- Bootstrap 5 (Interface responsive)
- JavaScript (Interactions utilisateur)
- Git (Versioning et déploiement)
Sources d'apprentissage
- Documentation officielle PHP et MySQL
- Cours sur l'architecture MVC
- Tutoriels Bootstrap
- Ressources Git pour la gestion de version
- Documentation sur les bonnes pratiques de sécurité
Liste des tâches
- Analyse des besoins et conception de l'architecture
- Modélisation de la base de données (MCD, MLD, MPD)
- Développement du framework MVC personnalisé
- Implémentation du système d'authentification et de gestion des utilisateurs
- Développement du module de gestion des classes et des matières
- Création du système de planification des emplois du temps
- Conception et implémentation du système de signature numérique
- Développement des interfaces spécifiques (administrateur, enseignant, étudiant)
- Tests et correction des bugs
- Documentation du projet
- Déploiement de l'application
La planification du projet a été organisée selon les phases suivantes :
Difficultés rencontrées et solutions apportées
| Difficulté | Solution apportée |
|---|---|
| Conception d'une architecture modulaire et évolutive | Implémentation d'un framework MVC personnalisé pour garantir l'évolutivité et la séparation des préoccupations |
| Sécurisation des accès et protection des données | Mise en place d'un système d'authentification robuste avec gestion des rôles et des permissions |
| Création d'interfaces adaptées à chaque type d'utilisateur | Développement d'interfaces spécifiques pour les administrateurs, enseignants et étudiants, en tenant compte de leurs besoins particuliers |
| Gestion en temps réel des signatures de présence | Utilisation de JavaScript pour actualiser dynamiquement les informations sans rechargement de page |
| Automatisation du déploiement | Configuration de GitHub Actions pour faciliter le déploiement continu et garantir la qualité du code |
Bilan personnel
Aptitudes renforcées
- Maîtrise de l'architecture MVC et de la programmation orientée objet en PHP
- Conception et gestion de bases de données relationnelles
- Développement d'interfaces utilisateur intuitives et responsives
- Gestion de projet et planification
- Utilisation avancée de Git pour le versioning
- Sécurisation des applications web
- Documentation technique
Axes d'amélioration
- Approfondir les connaissances en JavaScript pour des interfaces plus dynamiques
- Explorer les frameworks PHP modernes comme Laravel ou Symfony
- Améliorer les compétences en tests automatisés
- Développer des connaissances en développement mobile pour une version native de l'application
- Renforcer les compétences en UX/UI design
Ce projet m'a permis de mettre en œuvre plusieurs compétences du référentiel du BTS SIO option SLAM :
| Compétence | Comment elle est mise en œuvre dans B-Formation |
|---|---|
| Gérer le patrimoine informatique |
|
| Travailler en mode projet |
|
| Mettre à disposition des utilisateurs un service informatique |
|
Annexes
Documentation technique disponible :
- Dictionnaire de données
- Modèle Conceptuel de Données (MCD)
- Modèle Logique de Données (MLD)
- Modèle Physique de Données (MPD)
- Diagramme de Gantt (planification)
- Diagramme de contexte
- Diagramme de package
- Diagramme de classes simplifié
- Cartographie
- Cahier des charges
Architecture du système
Modèle physique de données montrant les relations entre les entités du système
Diagramme de contexte
Le système propose trois niveaux d'accès avec des fonctionnalités spécifiques.
Diagramme de package
Page du projet : Github