Projet de Fin d'Études
Développement d'une Application de Gestion Scolaire avec Approche
DevOps
Présenté par :
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."
Contexte du Projet
Contexte du 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
Méthodologie SCRUM
Présentation de la 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
Architecture et DevOps
Architecture du 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
Analyse et Conception
Identification des 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 |
+------------------+ +------------------+
Réalisation
Outils Utilisés
Angular Spring Boot 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
Conclusion
Résultats Obtenus
Application de gestion 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 !

devops-devops-devops-cloud-cloudet cloud.pptx

  • 1.
    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 !