Gestion des Enseignements

Le département informatique de l'IUT de Reims a exprimé le besoin de créer une application web pour gérer les enseignements des enseignants et vacataires professionnels. Chaque année, ces derniers choisissent les matières et les groupes qu'ils souhaitent encadrer pour l'année universitaire suivante. L'application doit permettre une gestion efficace de ces choix tout en intégrant des fonctionnalités avancées pour l'administration et la consultation des données.

Capture d'écran de l'interface de gestion des enseignements
Capture d'écran de l'interface de consultation des enseignements
Gestion des Enseignements
Symfony
React
LogoAPI Platform
Docker
Tests

Fonctionnalités Principales

Choix des Enseignements

Interface de Sélection

Chaque enseignant ou vacataire peut choisir les matières et le nombre de groupes qu'il souhaite encadrer.

Calendrier Global

Intégration d'un calendrier global des semestres incluant périodes de cours, vacances, stages, SAÉ, et alternances.

Modification des Choix

Les utilisateurs peuvent modifier leurs choix jusqu'à une date limite définie par le département.

Consultation et Administration

Consultation des Choix

Le département peut consulter les choix effectués par chaque enseignant et vacataire pour chaque semestre.

Historique des Choix

Conservation et consultation des choix effectués les années précédentes par les enseignants et vacataires.

Statistiques de Choix

Visualisation des enseignants et vacataires par matière, avec le nombre de groupes pourvus et restants.

Affectation des Groupes

Processus d'Affectation

Affectation manuelle des groupes aux enseignants et vacataires par le département, en fonction des choix effectués et du nombre de groupes disponibles.

Charge Hebdomadaire

Visualisation dynamique de la charge hebdomadaire d'enseignement pour chaque enseignant ou vacataire.

Initialisation des Données

Calendrier Semestriel

Initialisation du calendrier pour chaque semestre.

Maquette Pédagogique

Importation des données à partir d'un fichier Excel fourni par le département.

Technologies Utilisées

Front-End

HTML, CSS, React, JavaScript

Back-End

Symfony, PHP, API Platform, EasyAdmin

DevOps

Docker, Intégration Continue

Qualité du Code

PHP CS Fixer, GrumPHP

Base de Données

Doctrine ORM compatible avec Symfony

Qualité de Code et Automatisation

Style de Code

Utilisation de PHP CS Fixer pour maintenir un style de code homogène.

Scripts Composer

Automatisation des tâches récurrentes.

Contrôle de Qualité

Intégration de GrumPHP pour automatiser les contrôles de qualité du code.

Environnement de Développement

Utilisation de greffons PhpStorm pour améliorer l'environnement de développement.

Conteneurisation

Utilisation de Docker pour les services de base de données et autres composants nécessaires.

Interface Utilisateur

Gestion des Assets

Webpack Encore pour la gestion des assets front-end.

Stylisation

Utilisation de Sass et Bootstrap pour styliser l'interface utilisateur, avec personnalisation pour répondre aux besoins spécifiques.

Thèmes

Implémentation d'un mode clair et sombre pour améliorer l'expérience utilisateur.

Sécurité et Tests

Tests Automatisés

Utilisation de Codeception pour écrire et exécuter des tests automatisés.

Authentification et Autorisation

Mise en place de systèmes de connexion et gestion des permissions.

Gestion des Utilisateurs

Inscription, connexion et validation des comptes utilisateurs.

Intégration Continue

Configuration CI/CD

Mise en place d'un environnement d'intégration continue.

Commandes de Console

Création de commandes spécifiques pour gérer les utilisateurs et les choix d'enseignements.

Améliorations et Optimisations

Recherche et Filtrage

Ajout de fonctionnalités de recherche et de filtrage des enseignements.

Système de Notifications

Notifications pour les dates limites et autres événements importants.

Optimisation de la Performance

Amélioration des performances de l'application pour une meilleure réactivité et une gestion efficace des données.

Conclusion

Ce projet vise à mettre en œuvre une application robuste, maintenable et évolutive, utilisant une large gamme de technologies et de pratiques de développement modernes. En respectant les paradigmes de qualité, l'application permettra de gérer efficacement les enseignements des enseignants et vacataires, tout en offrant une expérience utilisateur optimale et une administration simplifiée.