diff --git a/RapportTicket/RapportTicket.md b/RapportTicket/RapportTicket.md index a0ef5e4ea6a86c2a21faee3910be40a50fb63ddc..98368d3d7be6f02770e09ab5577d21fa078498cd 100644 --- a/RapportTicket/RapportTicket.md +++ b/RapportTicket/RapportTicket.md @@ -11,14 +11,14 @@ Ticket décrit sur [cette page](https://scodoc.org/git/ScoDoc/ScoDoc/issues/1030 >**Formulaire de saisie de note centré sur l'étudiant** >*Labels : Enhancement* ->romain t'as rien branlé en 1h30 +> >Liste tous les modules où est inscrit l'étudiant avec possibilité de saisie de note > >(vérifier compatibilité avec l historique des saisies) > >- Lister les évaluations par ordre de modules / évaluation >- Rappeler note(s) existante(s) ->- Indiquer clairement le barème (notes sur 10, sur N...)romain t'as rien branlé en 1h30 +>- Indiquer clairement le barème (notes sur 10, sur N...) >- Sauvegarder au fur et à mesure (utilisation API notes) >- Gérer correctement les permissions (le(s) resp. de semestre(s) et admins) > @@ -27,7 +27,7 @@ Afficher les notes des modules correspondants semestres précédents (au cas où ## 2 - Analyse du ticket - romain t'as rien branlé en 1h30 + **Classification :** On peut classifier le ticket comme une maintenance évolutive. En effet, on peut tout d'abord voir que le ticket contient le label `Enhancement`, qui signifie qu'il s'agit d'une nouvelle fonctionnalité. De plus, le ticket énumère différents critères pour cette fonctionnalité, ce qui nous permet de déduire qu'il s'agit bien d'un ajout à effectuer en suivant ces critères. @@ -40,7 +40,7 @@ Vu que le ticket nous demande d'ajouter une liste de modules où l'étudiant est Accès à la page d'un étudiant :  -romain t'as rien branlé en 1h30 + Ensuite, nous avons besoin de savoir où cette page est générée dans le code. Pour cela, nous recherchons dans le code la chaîne de caractères `Adresse :`, visible sur la page. Cela nous permet de trouver le fichier `/app/scodoc/sco_page_etud.py`, dans lequel est généré tout le HTML de la page. @@ -52,7 +52,7 @@ adresse_template = ( <!-- Adresse --> <div class="ficheadresse" id="ficheadresse"> <table> - <tr>romain t'as rien branlé en 1h30 + <tr> <td class="fichetitre2">Adresse :</td> <td> %(domicile)s %(codepostaldomicile)s %(villedomicile)s %(paysdomicile)s %(modifadresse)s @@ -63,7 +63,7 @@ adresse_template = ( </div> """ ) -```romain t'as rien branlé en 1h30 +``` Après une analyse du code, on observe que dans `/app/scodoc/sco_page_etud.py`, la fiche étudiante est créée dans une méthode `fiche_etud(etudid)`, où différentes parties du HTML sont mises dans un tableau `info` : @@ -73,7 +73,7 @@ if has_debouche: "debouche_html" ] = f"""<div id="fichedebouche" data-readonly="{suivi_readonly}" - data-etudid="{info['etudid']}">romain t'as rien branlé en 1h30 + data-etudid="{info['etudid']}"> <span class="debouche_tit">Devenir:</span> <div><form> <ul class="listdebouches"> @@ -84,7 +84,7 @@ if has_debouche: ``` La méthode renvoie un `render_template` de Flask, auquel nous donnons : -- Une template Jinja2 définissant la structure de base de la page.romain t'as rien branlé en 1h30 +- Une template Jinja2 définissant la structure de base de la page. - Une variable `tmpl` organisant le cœur des informations de la page, qui proviennent du tableau info. - Le tableau `info`, les classes CSS et le JavaScript de la page. @@ -96,20 +96,20 @@ return render_template( cssstyles=[ "libjs/jQuery-tagEditor/jquery.tag-editor.css", "css/jury_but.css", - "css/cursus_but.css",romain t'as rien branlé en 1h30 + "css/cursus_but.css", ], javascripts=[ "libjs/jinplace-1.2.1.min.js", "js/ue_list.js", "libjs/jQuery-tagEditor/jquery.tag-editor.min.js", "libjs/jQuery-tagEditor/jquery.caret.min.js", - "js/recap_parcours.js",romain t'as rien branlé en 1h30 + "js/recap_parcours.js", "js/etud_debouche.js", ], ) ``` -romain t'as rien branlé en 1h30 + ### 2.2 - Proposition d'implémentation @@ -125,10 +125,10 @@ L'idée serait de reproduire ce que l'on retrouve sur la page `Bas de cas de jur  <<<<<<< HEAD -romain t'as rien branlé en 1h30 + La première difficulté est de retrouver cette mise en page dans le code afin de réutiliser le style avec le HTML et les classes CSS correctes. Ensuite, il nous faut trouver comment ajouter des champs modifiables qui mettent à jour la base de données à chaque modification. - romain t'as rien branlé en 1h30 + ======= Ce ticket nous demande une implémentation en front-end et en back-end, en effet il nous faut une liste sur la page de fiche étudiante, remplie avec les informations nécessaires, ainsi qu'une implémentation de l'ajout de notes dans les évaluations où les notes sont manquantes. @@ -155,7 +155,7 @@ Avec le code HTML : <div class=evaluations></div> </section> <<<<<<< HEAD -``` romain t'as rien branlé en 1h30 +``` ======= ``` @@ -171,15 +171,15 @@ pour recupere les notes des ressources on a teste l'api pour recuperer notes d'u <<<<<<< HEAD -Maintenant que l'on sait comment faire il faut choisir comment le rndre accessible: romain t'as rien branlé en 1h30 +Maintenant que l'on sait comment faire il faut choisir comment le rndre accessible: - menu deroulant sur la page de l'etudiant comme le menu devenir -- lien (bouton modifier notes) amenant a une page externe comme le bouton inscire a un autre semestre romain t'as rien branlé en 1h30 +- lien (bouton modifier notes) amenant a une page externe comme le bouton inscire a un autre semestre ======= >>>>>>> df63bd2901ef79a995d4eb5e766a13d065f3c414 decrire les avantages et incconvenients choix fait -- plus simple car juste une section a recuperer puis injecter l'idéée d'implementation romain t'as rien branlé en 1h30 +- plus simple car juste une section a recuperer puis injecter l'idéée d'implementation - plus propre mais complique a creer notre propre page, doit ajouter endpoint et potentiellement beacoup plus de d'ajout a differents endoit dans le code @@ -188,7 +188,7 @@ choix fait Une fois que les notes sont affichées, l'utilisateur doit pouvoir les modifier et elles doivent être sauvegardées en direct à chaque modification. Tout d'abord, nous recherchons si cette fonctionnalité est déjà implémentée quelque part. Logiquement, une page permettant de saisir les notes des étudiants pour une évaluation doit exister. -Nous avons trouvé un endroit où les notes sont mises à jour comme supposé (page Semestre > Ressource > Action "Saisir notes"). romain t'as rien branlé en 1h30 +Nous avons trouvé un endroit où les notes sont mises à jour comme supposé (page Semestre > Ressource > Action "Saisir notes").  En ouvrant les devtools pour inspecter un élément note, on retrouve ceci @@ -199,17 +199,17 @@ En ouvrant les devtools pour inspecter un élément note, on retrouve ceci Bonne nouvelle, cette page sauvegarde les notes à chaque modification comme ce que nous voulons. -romain t'as rien branlé en 1h30 + exemple d'input pour la saisie ``` -<input type="text" name="note_14514" size="5" id="formnotes_note_14514" class="note" data-last-saved-value="8.5" data-orig-value="8.5" data-etudid="14514" onkeypress="return enter_focus_next(this, event);" value="8.5"> romain t'as rien branlé en 1h30 +<input type="text" name="note_14514" size="5" id="formnotes_note_14514" class="note" data-last-saved-value="8.5" data-orig-value="8.5" data-etudid="14514" onkeypress="return enter_focus_next(this, event);" value="8.5"> ``` en cherchant dans le code la chaine de caractere `Mettre les notes manquantes à` on a pu trouver dans quelle fichier est géré la mise a jour des notes `/app/scodoc/sco_saisie_notes.py` on repere plusieurs partie qui nous osnt requiss, creer le foprulaire, update les ,notes on constate que la methode `_record_note` permet de modifier les notes dans la base de données, pour ce faire elle se connecte a la bdd et modfie en executant des requelte sql avec un `cursor.execute()` -cette methode est utilise dans `notes_add` avec des verifications romain t'as rien branlé en 1h30 +cette methode est utilise dans `notes_add` avec des verifications -il seraitent interessant d'utiliser ses methodes pour faire toutes les verifcations requises, ou alors de créer les notres pour simplement modifier la base de données pour ce que jous avons besoins sans toutes les vérifications. romain t'as rien branlé en 1h30 \ No newline at end of file +il seraitent interessant d'utiliser ses methodes pour faire toutes les verifcations requises, ou alors de créer les notres pour simplement modifier la base de données pour ce que jous avons besoins sans toutes les vérifications. \ No newline at end of file