From c908e81edb4662651e4fcc4130b8915adc24b405 Mon Sep 17 00:00:00 2001 From: viennet Date: Tue, 28 Jun 2022 19:02:55 +0200 Subject: [PATCH] =?UTF-8?q?Diverses=20pr=C3=A9cisions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/AdminUsers.md | 2 +- docs/CalculNotes.md | 23 +++------ docs/FormulesCalculUtilisateur.md | 7 +++ docs/Internals.md | 3 ++ docs/ModelisationParcoursBUT.md | 81 +++++++++++++++++++++++++------ docs/PublicationEtudiants.md | 16 ++++-- 6 files changed, 94 insertions(+), 38 deletions(-) diff --git a/docs/AdminUsers.md b/docs/AdminUsers.md index a639c9f..0c235cc 100644 --- a/docs/AdminUsers.md +++ b/docs/AdminUsers.md @@ -30,7 +30,7 @@ relations entreprises) : - Enseignant - Observateur -par ailleurs, le contexte d'utilisation donne certains privilèges (par exemple +Par ailleurs, le contexte d'utilisation donne certains privilèges (par exemple la faculté de saisir des notes, de justifier des absences, de modifier la définition des programmes, ...). diff --git a/docs/CalculNotes.md b/docs/CalculNotes.md index 3967b21..b151779 100644 --- a/docs/CalculNotes.md +++ b/docs/CalculNotes.md @@ -114,7 +114,8 @@ moyenne du module, seulement si elle est supérieure à celle-ci. ### Bonus sport/culture -Ce bonus s'applique directement sur la **moyenne générale**. +Ce bonus s'applique directement sur la **moyenne générale** et/ou sur les +moyennes d'UE (notamment en BUT). Les notes des UEs de type spécial "Sport & Culture" sont utilisées pour calculer ce bonus. @@ -122,15 +123,7 @@ Pour qu'un étudiant bénéficie de ce bonus, il doit être inscrit à un module d'une UE de type "Sport&Culture". Cette UE et modules associés doivent donc être prévu dans le programme pédagogique. -La règle par défaut, en vigueur à l'IUT de Villetaneuse, est la suivante: -> Les étudiants de l'IUT peuvent suivre des enseignements optionnels -> de l'Université Paris 13 (sports, musique, deuxième langue, -> culture, etc) non rattachés à une unité d'enseignement. Les points -> au-dessus de 10 sur 20 obtenus dans chacune des matières -> optionnelles sont cumulés et 5% de ces points cumulés s'ajoutent à -> la moyenne générale du semestre déjà obtenue par l'étudiant. - -Mais la règle à appliquer dépend de l'établissement. Par exemple, l'Université de +La règle appliquée dépend de l'établissement. Par exemple, l'Université de Haute Alsace appliquait le règlement suivant: *Les étudiants de l'IUT peuvent suivre des enseignements optionnels de l'U.H.A. (sports, musique, deuxième langue, culture, etc) non rattachés à une unité d'enseignement. Les points @@ -139,10 +132,8 @@ cumulés dans la limite de 10 points. 5% de ces points cumulés s'ajoutent à la moyenne générale du semestre déjà obtenue par l'étudiant.* L'administrateur peut changer la fonction de calcul du bonus sport via le -formulaire de configuration accessible (aux admin) depuis la page d'accueil. -Si vous souhaitez implémenter une nouvelle règle, il faut la coder en Python -et la placer dans `/opt:scodoc/app/scodoc/bonus_sport.py`. Après l'avoir testée -et validée, l'envoyer sur la liste scodoc-devel, *sans quoi elle sera effacée -dès la prochaine mise à jour* (qui peut arriver à tout moment sur votre serveur -en production !). +formulaire de configuration accessible (aux admin) depuis la page d'accueil. Si +vous souhaitez disposer d'une nouvelle règle, il faut contacter l'équipe de +développement en indiquant (en français) le règlement en vigueur dans votre +établissement. Le code correspondant sera ajouté via une mise à jour. diff --git a/docs/FormulesCalculUtilisateur.md b/docs/FormulesCalculUtilisateur.md index 4181bc5..9a674f2 100644 --- a/docs/FormulesCalculUtilisateur.md +++ b/docs/FormulesCalculUtilisateur.md @@ -1,3 +1,10 @@ +# Obsolète, non disponible en ScoDoc 9. + + **Les formules utilisateurs, disponibles à titre expérimental en +ScoDoc version 7, +posaient maints problèmes de performance et de maintenance, et ne sont plus +utilisées en ScoDoc 9.** /!\ ## Formules utilisateurs pour le calcul des moyennes Dans certains cas (assez rares), on veut calculer la note d'un module autrement qu'avec une simple moyenne des notes pondérée par les diff --git a/docs/Internals.md b/docs/Internals.md index 15516c7..4b29cc8 100644 --- a/docs/Internals.md +++ b/docs/Internals.md @@ -88,3 +88,6 @@ Par exemple: git pull flask clear-cache ``` + +La commande `redis-cli FLUSHALL` permet aussi de vider le cache sans avoir à +lancer flask (plus rapide). diff --git a/docs/ModelisationParcoursBUT.md b/docs/ModelisationParcoursBUT.md index b4702db..25c11a2 100644 --- a/docs/ModelisationParcoursBUT.md +++ b/docs/ModelisationParcoursBUT.md @@ -1,6 +1,7 @@ # Implémentation des parcours du BUT dans ScoDoc -Cette documentation est *destinée aux développeurs* et à tous ceux qui souhaitent -comprendre le fonctionnement du logiciel. +Cette page est *destinée aux développeurs* et à tous ceux qui souhaitent +comprendre le fonctionnement du logiciel: ce sont des notes un peu désordonnées +prises au moment de la conception. ScoDoc est livré avec les référentiels de compétences de tous les parcours de toutes les spécialités de BUT. En effet, ces référentiels sont nationaux, publiés par @@ -103,7 +104,18 @@ Les étudiants sont inscrits: - dans un `FormSemestre` (`FormSemestreInscription`, avec état (`I`, `D`, `DEF`) et étape Apogée) - dans un ModuleImpl (`ModuleImplInscription`) - - et, pour le BUT, dans un `ApcParcours` (**TODO**) + - et, pour le BUT, dans un `ApcParcours`: l'inscription au formsemestre + `FormSemestreInscription` comporte: + + - l'état (`I`, `D`, `DEF`); + - l'étape Apogée; + - un `ApcParcours`. + +Un formsemestre est associé à un ensemble de parcours. L'étudiant peut être +inscrit à l'un d'entre eux. Certaines formations commencent par une année de +tronc commun, durant laquelle l'étudiant n'a pas encore choisi son parcours. On +considérera que si l'étudiant n'est pas inscrit à un parcours, il est +implicitement inscrit à tous les parcours du semestre. ### Associations (nouvelles pour le BUT): @@ -111,11 +123,11 @@ Pour la gestion des parcours BUT, il faut introduire les associations suivantes, qui n'existent pas dans ScoDoc 9.2: - UE <-> `ApcNiveau` : choix sur la page `ue_edit` - - `Module` <-> ensemble de `ApcParcours` + - `Module` ||--o{ ensemble de `ApcParcours` - `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit` - `FormSemestre` ||--o{ `ApcParcours` : choix sur la page `formsemestre_editwithmodules` - - `Identite` }o--o{ `ApcParcours` : inscription au parcours, page à créer. + - `FormSemestreInscription` ||--|| `ApcParcours` : inscription au parcours, page à créer. ### Cas d'usage @@ -174,8 +186,17 @@ Le parcours du ref. de compétence indique un ensemble d'AC pour chaque niveau couvrir le parcours. Mais si les `Module`s ne sont pas associés à un parcours, on ne peut pas aller plus loin. +#### Lister les UEs d'un parcours d'une formation +``` +# Soit un parcours: +parcour = formation.referentiel_competence.parcours.filter_by(code="ROM").first() +# Listes UEs de ce parcours: +formation.query_ues_parcour(parcour) +# Liste des UEs du semestre 3: +formation.query_ues_parcour(parcour).filter_by(semestre_idx=2) +``` -#### Lister les regroupements d'UE d'un étudiant +#### Lister les regroupements d'UE d'un étudiant (RCUE) Pour une année donnée: l'étudiant est inscrit dans ScoDoc soit dans le semestre impair, soit pair, soit les deux (il est rare mais pas impossible d'avoir une @@ -254,11 +275,28 @@ Pour le BUT, il faut enregistrer la validation des *niveaux de compétences*, constitués de *regroupements cohérents d'UE* ("RCUE"), qui sont les UEs de la même année de parcours associées à la même compétence. -On va stocker: +On va stocker les validation des RCUE dans `ApcValidationRCUE`: - - ... + - `etudid` + - `formsemestre_id` (dernier déclenchant cette validation). + - `ue_1`, `ue_2` : les deux UE associées à ce niveau. + - `ApcParcours` : optionnel, le parcours dans lequel se trouve la compétence. + - `datetime` de la validation. + - `code` de validation: `ADM`, `CMP`, `AJ`. + +Rappel: chaque UE est associé à un niveau de compétence +(`ue.niveau_competence`), qui doit ici être le même. + +### Validation des années du BUT +Pour le BUT, ScoDoc enregistre les validations d'années `ApcValidationAnnee` + + - `etudid` + - `ordre`: 1, 2, 3 pour BUT1, BUT2, BUT3. + - `formsemestre_id` (dernier déclenchant cette validation, None si extérieure) + - `annee_scolaire` (int, année de début, eg 2021 pour "2021-2022") + - `datetime` de la validation. + - `code` de validation: `PASD`, `PAS1NCI`, `RED`, `REO`, `DEM`, `EXC`, `ABAN`, `ABL`. -### Validation du BUT ### Codes préconisés par l'AMUE pour le BUT On associe lors du jury un code de décision: @@ -278,23 +316,34 @@ On associe lors du jury un code de décision: - Au diplôme: `ADM` -#### Correspondance avec les codes classiques de ScoDoc +#### Correspondance avec les codes de ScoDoc ScoDoc utilise des codes [documentés ici](GestionJury.md). - - Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. - En BUT, pas besoin de codes semestriels. On ajoutera un code `APC` pour - simplement indiquer que le jury s'est tenu. Ce code ne sera pas exporté vers Apogée. + - Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. En + BUT, pas besoin de codes semestriels. On ajoutera un code `JSD` (*Jury Sans + Décision*) pour simplement indiquer que le jury s'est tenu. Ce code ne sera pas + exporté vers Apogée. - - Pour les UEs: **Codes d'état d'UE:** + - Pour les UEs: **codes d'état d'UE** -ScoDoc classic | BUT AMUE |   +ScoDoc | BUT AMUE |   ----------|-----|----- ADM | VAL | UE validée automatiquement | CMP | COMP| UE validée par compensation| AJ | AJ | UE ajournée (échec) | - | UESBL | blanchissement (non dispo en ScoDoc 9) | + - Pour les RCUE: + + ScoDoc | BUT AMUE |   +----------|-----|----- +ADM | VAL | validée automatiquement | +CMP | CODJ| Niveau validée par "compensation" ???| +AJ | AJ | RCUE ajournée (échec) | + +Rappel: les codes exportés vers Apogée sont configurables (table de transcodage dans la +config générale). ## Diagramme de classes @@ -329,7 +378,7 @@ erDiagram Etudiant }|..|{ ModuleImpl : ModuleImplInscription Etudiant }|..|{ FormSemestre : FormSemestreInscription - Etudiant }|..|{ ApcParcours : "optionnel" + FormSemestreInscription ||..o{ ApcParcours : "optionnel" Formation ||--o{ FormSemestre : "" diff --git a/docs/PublicationEtudiants.md b/docs/PublicationEtudiants.md index 80f41dc..3387600 100644 --- a/docs/PublicationEtudiants.md +++ b/docs/PublicationEtudiants.md @@ -1,15 +1,21 @@ # Publication des notes aux étudiants -ScoDoc n'est pas et ne doit pas être accessible aux étudiants, principalement pour des raisons de sécurité. Seuls les personnels devraient avoir des comptes sur ScoDoc. +ScoDoc n'est pas et ne doit pas être accessible aux étudiants, principalement +pour des raisons de sécurité. Seuls les personnels devraient avoir des comptes +sur ScoDoc. -Pour communiquer aux étudiants leurs réultats, plusieurs solutions: +Pour communiquer aux étudiants leurs résultats, plusieurs solutions: - Envoi des bulletins (pdf) par mail (c'est facile depuis le menu "Notes"). - - Publication sur un autre site Web: typiquement l'ENT de l'établissement, ou un mini-site dédié. + - Publication sur un autre site Web: typiquement l'ENT de l'établissement, ou + un mini-site dédié. - Pour interfacer un ENT, [voir l'API](ScoDoc9API.md). - - Plusieurs collègues ont développé des mini-sites pour publier les notes (accès protégé par CAS ou autre). Ces codes ne font pas stricto censu partie de ScoDoc. Quelques exemples en PHP sont distribués dans le répertoire `misc/PublicationBulletins` ([voir ici](https://scodoc.org/git/viennet/ScoDoc/src/branch/master/misc/PublicationBulletins)). - - Plus récemment (2020), des collègues de l'IUT de Mulhouse ont développé un mini-portail complet: [Scodoc_Notes](https://github.com/SebL68/Scodoc_Notes) (github), [historique](https://notes.iutmulhouse.uha.fr/maj.php). + + - Depuis 2020, Sébastien Lehmann l'IUT de Mulhouse a développé et maintient + un mini-portail complet: + [Scodoc_Notes](https://github.com/SebL68/Scodoc_Notes) (github), + [historique](https://notes.iutmulhouse.uha.fr/maj.php).