0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Projet Spring

Le document décrit un projet de développement d'une application de gestion de cours pour un établissement universitaire, avec des instructions pour la soumission des travaux et les exigences techniques. Les étudiants doivent former des équipes, soumettre le code source, un compte rendu détaillé et une démo de l'application. Les tâches incluent la création d'entités, l'implémentation de services REST, et diverses opérations sur les utilisateurs, classes et cours, avec des exigences spécifiques pour chaque partie.

Transféré par

tesnimkhabacha7
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Projet Spring

Le document décrit un projet de développement d'une application de gestion de cours pour un établissement universitaire, avec des instructions pour la soumission des travaux et les exigences techniques. Les étudiants doivent former des équipes, soumettre le code source, un compte rendu détaillé et une démo de l'application. Les tâches incluent la création d'entités, l'implémentation de services REST, et diverses opérations sur les utilisateurs, classes et cours, avec des exigences spécifiques pour chaque partie.

Transféré par

tesnimkhabacha7
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP noté-Enseignante: Fourati Hend

La validation se fera en ligne le lundi 04 mai inshaAllah


Chaque équipe peut être formée d’au plus 3 membres

A déposer au niveau du classroom:


1)​ Le code source de l’application répondant à l’énoncé,
2)​ Un compte rendu détaillé, indiquant les architectures (logique et physique de
l’application), ainsi que la démarche suivie pour répondre à chaque question de
l’énoncé avec des captures écrans (de votre propre machine) pour chaque question
traitée
3)​ Une démo de 5 à 10 min illustrant (présentant) avec votre propre voix
l’implémentation de votre solution

à déposer au niveau du classroom au plus tard le 03/05/2026 à minuit

ENONCÉ:
On vous propose d’implémenter une application simplifiée de gestion de cours
créés dans des Classrooms pour les différents niveaux et pour les différentes
spécialités. L’application est destinée à un établissement universitaire (exemple :
FST). Voici son diagramme de classes :
1
Partie I :

Implémenter les entités qui permettent de générer le schéma de la base de données comme illustré
dans le diagramme de classes sachant que :
•​ Les identifiants de toutes les entités sont auto-générés avec la stratégie «IDENTITY»
•​ La relation bidirectionnelle CoursClassroom - Classe indique qu’une Classe peut avoir
plusieurs CoursClassroom, et un CoursClassroom ne peut être affecté qu’à une et une seule
classe.
•​ Les énumérations doivent être stockées en tant que chaînes de caractères dans la base de
données.

Partie II :
Développer le code nécessaire dans une classe annotée @RestController qui fait appel aux
différents services (Exposition de services avec Spring MVC REST).
Toutes les méthodes seront testées à travers Swagger ou Postman.

a)​ Ajouter 2 utilisateurs ayant les détails ci-dessous en respectant la signature suivante :

public Utilisateur ajouterUtilisateur (Utilisateur utilisateur)


prenom nom password
Amna Ammar etudiant
Ahmed Slama admin

b)​ Ajouter 2 Classes ayant les détails ci-dessous en respectant la signature suivante :

public Classe ajouterClasse (Classe c)


titre niveau
4AG1 QUATRIEME
5EM1 CINQUIEME

c)​ Ajouter 2 CoursClassrooms ayant les détails ci-dessous (en affectant chacun à la
classe indiquée dans le tableau), en respectant la signature suivante :

public CoursClassroom ajouterCoursClassroom (CoursClassroom cc, Integer codeClasse)


specialite nom nbHeures archive classe
INFORMATIQUE Programmation C 42 false 4AG1
AGRICULTURE Plantes 25 false 4AG1
AGRICULTURE Sciences Naturelles 40 false 4AG1

2
d)​ Affecter les éléments déjà ajoutés (au niveau des questions a et b) de la sorte :
Affecter l’utilisatrice «Amna Ammar» à la classe «4AG1» et l’utilisateur «Ahmed
Slama» à la classe «5EM1» en respectant la signature suivante :

public void affecterUtilisateurClasse (Integer idUtilisateur, Integer codeClasse)

e)​ Indiquer le nombre d’utilisateurs pour le niveau «QUATRIEME», en respectant la signature


suivante :

public Integer nbUtilisateursParNiveau(Niveau nv)

f)​ Désaffecter le coursClassroom «Plantes» de la classe «4AG1» en respectant la signature


suivante :

public void desaffecterCoursClassroomClasse(Integer idCours)

g)​ (question bonus) En utilisant SpringScheduler, proposer une méthode qui se déclenche
toutes les 60 secondes et qui archive (archive=true) tous les coursClassroom existants, en
respectant la signature suivante :

public void archiverCoursClassrooms()

h)​ Créer une méthode qui détermine le nombre d’heures enseignées à une spécialité et un
niveau donnés, en respectant la signature ci-dessous. Tester la méthode sur le niveau
«QUATRIEME» et la spécialité «AGRICULTURE» (2pts) :

public Integer nbHeuresParSpecEtNiv(Specialite sp, Niveau nv)

Excellent Travail !

Vous aimerez peut-être aussi