Vous êtes sur la page 1sur 4

EXAMEN

Semestre : 1 2

Session : Principale Rattrapage

Module : Technologies web


Enseignants : Equipe WEB
Classes: 3A1->3A3, 3A10->3A13
Documents autorisés : OUI NON Nombre de pages : 04
Date : 22/05/2019 Heure : 08h30 Durée : 1h.30

Problème :
On se propose de développer une application web via Symfony 3.4 qui vise à gérer la
moyenne des étudiants dans chaque module

Travail demandé :
1- Soit le diagramme des classes suivant :
Etudiant
cin 1 * Note
nom Id
prenom Coef
niveau module
valeur

Figure 1 : Diagramme des classes

a- Créer le bundle « EtudiantBundle » (1 pt)


b- Créer la base de données « gestion_moyenne » (0.5 pt)
c- Créer les entités « Etudiant » et « Note » qui correspond aux classes de la
Figure1 puis générer le schéma de la base. (2 pts)
2- Ajouter un « Etudiant » comme illustré dans la figure ci-dessous. (3 pts)

1
Figure 2 : Formulaire d’ajout d’un étudiant
NB :
 Niveau est une liste statique

3- Afficher la liste des étudiants comme le montre la figure 3. (2 pts)

Figure 3 : Affichage de la liste des étudiants


4- En cliquant sur le bouton « Noter » et en utilisant jQuery 3champs seront affichés
voir Figure4. (4.5pts) (voir Annexe)
a- Trois « input » s’affichent dans lequels on va insérer les trois notes (web,
Java, Mobile) de l’étudiant choisi. (2pts)
b- Un bouton s’affiche qui va permettre d’ajouter la note. (1pt)
c- Lors de la saisie des notes si la note ne vérifie pas cette condition
« 0<note<20 » un message d’erreur sera affiché. (1.5pts)

Figure4 : Liste des étudiants avec la cellule affichée avec jQuery


5- En cliquant sur le bouton « Ajouter Note » la note de l’étudiant « Ben Mabrouk
Ahmed » (exemple) sera insérée dans la BD. (voir Figure 5) (2pts)

2
NB : les coef à considérer sont les suivants :
Web : coef 3
Mobile : coef 2
Java : coef 3

Figure 5 : Contenu de la table Note

6- Après l’ajout de la note une redirection sera faite vers la liste des étudiants, tels
que le bouton « Noter » sera désactivé (pour les étudiants qui ont une note).
(1.5pts)
7- Dans la liste des étudiants de la figure 3 ajouter un lien « Vérifier Panier » qui
permet une redirection vers une nouvelle page à fin d’afficher si l’étudiant X a
validé le panier ou non. (0.5pt)
NB :
On va supposer que le panier est composé des modules Web, Java et Mobile.
Moyenne=((NoteWeb*Coef)+ (NoteJava*Coef) + (NoteMobile*Coef))/(totalcoef)
Avec « totalcoef » est le total des coefficients

Figure 6: Liste des étudiants


a. Si la moyenne de l’étudiant > 8 alors l’étudiant X a validé le panier (1.5pts)

Figure 7:Affichage du contenu de la page « a »

b. Sinon l’étudiant X n’a pas validé le panier (1.5pts)

Figure 8:Affichage du contenu de la page « b »

3
Annexe :

Vous pouvez définir l’id d’un bouton comme suit :

<input type= "button " id="{{entity.cin}} ">.

Pour appliquer une boucle for sur le code jQuery :

{% for entity in entitie %}

<script> Ecrire ici le code jQuery </script>

{% endfor%}