Projet de Find'Études
Développement d'une Application de Gestion Scolaire avec Approche
DevOps
Présenté par :
2.
Introduction
Contexte Général
Projet réalisédans le cadre du Projet de Fin d'Études à l'ISET Tozeur
Stage effectué au sein de Curiosity Agency
Objectifs du PFE
Développer une application de gestion scolaire complète
Mettre en place une architecture DevOpspour le déploiement continu
Appliquer laméthodologie SCRUMpour la gestion du projet
"Ce projet vise à créer une solution moderne pour la gestion des établissements scolaires tout en appliquant les meilleures
pratiques de développement agile et DevOps."
3.
Contexte du Projet
Contextedu Stage
Stage effectué chez Curiosity Agency
sous la supervision de Mme Fahem Hajer
Encadrement académique par Mr HAMDI Wahid de
l'ISET Tozeur
Présentation du Projet
Développement d'une
application de gestion scolaire
avec architecture microservices
Mise en place d'un pipeline DevOps
pour l'intégration et le déploiement continus
Problématique
Gestion manuelle et inefficace des processus
administratifs scolaires
Difficulté de déploiement et de maintenance des
applications traditionnelles
Solution Proposée
Application web moderne et responsive
pour la gestion des élèves, enseignants, classes
et activités
Architecture microservices
avec pipeline CI/CD pour un déploiement
automatisé
Utilisation deconteneurs Docker et Kubernetes
pour l'orchestration
4.
Méthodologie SCRUM
Présentation dela méthode agile SCRUM
Approcheitérative et incrémentale
pour le développement logiciel
Équipe auto-organisée avec 3 rôles clés
: Product Owner, Scrum Master et équipe de
développement
Product Backlog
Liste priorisée des fonctionnalités à développer
Divisé en user storiesavec critères d'acceptation
Sprint Planning
Sprint 1
: Gestion des utilisateurs (parents, élèves,
enseignants)
Sprint 2
Durée des sprints : 2 semaines
Daily Scrums et revues de sprint régulières
5.
Architecture et DevOps
Architecturedu Projet
Architecture microservices
pour une meilleure modularité
Frontend: Angular pour l'interface utilisateur
Backend: Spring Boot pour les microservices
Base de données
: MySQL pour la persistance des données
Définition de DevOps
Combinaison des pratiques de
développement (Dev)
etd'opérations (Ops)
Objectif : automatiser et accélérer
le cycle de développement logiciel
Principes clés :intégration continue ,
livraison continue
etdéploiement continu
Pipeline CI/CD
6.
Analyse et Conception
Identificationdes Acteurs
Administrateur Enseignant
Élève Parent
Conception des Sprints
Sprint 1
Gestion des utilisateurs
Sprint 2
Classes et activités
Diagrammes UML
Diagramme de classespour la structure
Cas d'utilisation par sprint
Diagrammes de séquencepour interactions
Extrait du diagramme de classes
+------------------+ +------------------+
| Utilisateur | | Classe |
+------------------+ +------------------+
| - id: Long | | - id: Long |
| - nom: String | | - nom: String |
| - email: String | | - niveau: String |
| - role: Role | +------------------+
+------------------+ |
^ |
| |
+-------+-------+ +------+------+
| | | |
+------------------+ +------------------+
| Enseignant | | Activité |
+------------------+ +------------------+
| - spécialité | | - id: Long |
| - classes: List | | - titre: String |
+------------------+ +------------------+
7.
Réalisation
Outils Utilisés
Angular SpringBoot MySQL
Jenkins Docker Kubernetes
Mise en situation DevOps
Intégration continue avec Jenkins
Tests automatisés avec JUnit et Swagger
Conteneurisation avec Docker
Déploiement sur Kubernetes
Interfaces Développées
Interface d'authentification
Login sécurisé avec JWT
Gestion des utilisateurs
CRUD complet
Gestion des classes
Organisation par niveau
Gestion des activités
Planification et suivi
Résultats clés
Application responsive et intuitive
Pipeline CI/CD automatisé et fiable
8.
Conclusion
Résultats Obtenus
Application degestion scolaire fonctionnelle et déployée
Architecture microservices évolutive et maintenable
Pipeline DevOpsautomatiséde bout en bout
Compétences Acquises
Maîtrise desméthodologies agileset SCRUM
Expertise endéveloppement full-stack (Angular, Spring Boot)
Compétences avancées en DevOps et conteneurisation
Perspectives
Ajout de fonctionnalités de communicationentre utilisateurs Intégration d'untableau de bord analytiquepour les administrateurs
Développement d'uneapplication mobilecomplémentaire Mise en place d'un système de monitoringavancé
Merci pour votre attention !