B-Formation

Interface administrateur de B-Formation
Interface étudiant de B-Formation
Interface professeur de 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

  1. Analyse des besoins et conception de l'architecture
  2. Modélisation de la base de données (MCD, MLD, MPD)
  3. Développement du framework MVC personnalisé
  4. Implémentation du système d'authentification et de gestion des utilisateurs
  5. Développement du module de gestion des classes et des matières
  6. Création du système de planification des emplois du temps
  7. Conception et implémentation du système de signature numérique
  8. Développement des interfaces spécifiques (administrateur, enseignant, étudiant)
  9. Tests et correction des bugs
  10. Documentation du projet
  11. Déploiement de l'application

La planification du projet a été organisée selon les phases suivantes :

Diagramme de planification

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
  • Conception et implémentation d'une base de données relationnelle MySQL
  • Mise en place d'une architecture MVC personnalisée
  • Gestion des utilisateurs avec différents niveaux d'accès
  • Configuration d'un pipeline CI/CD avec GitHub Actions
Travailler en mode projet
  • Planification rigoureuse du développement
  • Division du projet en phases distinctes
  • Utilisation de Git pour le versioning du code
  • Documentation technique complète du projet
  • Conception de diagrammes UML pour modéliser l'architecture
Mettre à disposition des utilisateurs un service informatique
  • Développement d'interfaces adaptées à chaque type d'utilisateur
  • Mise en place d'un système de signature numérique
  • Création d'un tableau de bord pour les enseignants
  • Conception d'une interface responsive avec Bootstrap 5
  • Sécurisation de l'accès aux fonctionnalités

Annexes

Documentation technique disponible :

Architecture du système

Modèle Physique de Données

Modèle physique de données montrant les relations entre les entités du système

Diagramme de contexte

Diagramme des acteurs

Le système propose trois niveaux d'accès avec des fonctionnalités spécifiques.

Diagramme de package

Diagramme d'architecture

Page du projet : Github

Mentions légales