Diverses précisions

This commit is contained in:
Emmanuel Viennet 2022-06-28 19:02:55 +02:00
parent 283e09790b
commit c908e81edb
6 changed files with 94 additions and 38 deletions

View File

@ -30,7 +30,7 @@ relations entreprises) :
- Enseignant - Enseignant
- Observateur - 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 la faculté de saisir des notes, de justifier des absences, de modifier la
définition des programmes, ...). définition des programmes, ...).

View File

@ -114,7 +114,8 @@ moyenne du module, seulement si elle est supérieure à celle-ci.
### Bonus sport/culture ### 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. 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 d'une UE de type "Sport&Culture". Cette UE et modules associés doivent donc être
prévu dans le programme pédagogique. prévu dans le programme pédagogique.
La règle par défaut, en vigueur à l'IUT de Villetaneuse, est la suivante: La règle appliquée dépend de l'établissement. Par exemple, l'Université de
> 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
Haute Alsace appliquait le règlement suivant: *Les étudiants de l'IUT peuvent 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 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 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.* 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 L'administrateur peut changer la fonction de calcul du bonus sport via le
formulaire de configuration accessible (aux admin) depuis la page d'accueil. formulaire de configuration accessible (aux admin) depuis la page d'accueil. Si
Si vous souhaitez implémenter une nouvelle règle, il faut la coder en Python vous souhaitez disposer d'une nouvelle règle, il faut contacter l'équipe de
et la placer dans `/opt:scodoc/app/scodoc/bonus_sport.py`. Après l'avoir testée développement en indiquant (en français) le règlement en vigueur dans votre
et validée, l'envoyer sur la liste scodoc-devel, *sans quoi elle sera effacée établissement. Le code correspondant sera ajouté via une mise à jour.
dès la prochaine mise à jour* (qui peut arriver à tout moment sur votre serveur
en production !).

View File

@ -1,3 +1,10 @@
# Obsolète, non disponible en ScoDoc 9.
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> **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.** <img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" />
## Formules utilisateurs pour le calcul des moyennes ## 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 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

View File

@ -88,3 +88,6 @@ Par exemple:
git pull git pull
flask clear-cache flask clear-cache
``` ```
La commande `redis-cli FLUSHALL` permet aussi de vider le cache sans avoir à
lancer flask (plus rapide).

View File

@ -1,6 +1,7 @@
# Implémentation des parcours du BUT dans ScoDoc # Implémentation des parcours du BUT dans ScoDoc
Cette documentation est *destinée aux développeurs* et à tous ceux qui souhaitent Cette page est *destinée aux développeurs* et à tous ceux qui souhaitent
comprendre le fonctionnement du logiciel. 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 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 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`, - dans un `FormSemestre` (`FormSemestreInscription`, avec état (`I`, `D`,
`DEF`) et étape Apogée) `DEF`) et étape Apogée)
- dans un ModuleImpl (`ModuleImplInscription`) - 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): ### 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: qui n'existent pas dans ScoDoc 9.2:
- UE <-> `ApcNiveau` : choix sur la page `ue_edit` - 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` - `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit`
- `FormSemestre` ||--o{ `ApcParcours` : choix sur la page - `FormSemestre` ||--o{ `ApcParcours` : choix sur la page
`formsemestre_editwithmodules` `formsemestre_editwithmodules`
- `Identite` }o--o{ `ApcParcours` : inscription au parcours, page à créer. - `FormSemestreInscription` ||--|| `ApcParcours` : inscription au parcours, page à créer.
### Cas d'usage ### 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, couvrir le parcours. Mais si les `Module`s ne sont pas associés à un parcours,
on ne peut pas aller plus loin. 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 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 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 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. 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 ### Codes préconisés par l'AMUE pour le BUT
On associe lors du jury un code de décision: 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` - 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). ScoDoc utilise des codes [documentés ici](GestionJury.md).
- Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. - Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. En
En BUT, pas besoin de codes semestriels. On ajoutera un code `APC` pour BUT, pas besoin de codes semestriels. On ajoutera un code `JSD` (*Jury Sans
simplement indiquer que le jury s'est tenu. Ce code ne sera pas exporté vers Apogée. 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 | &nbsp; ScoDoc | BUT AMUE | &nbsp;
----------|-----|----- ----------|-----|-----
ADM | VAL | UE validée automatiquement | ADM | VAL | UE validée automatiquement |
CMP | COMP| UE validée par compensation| CMP | COMP| UE validée par compensation|
AJ | AJ | UE ajournée (échec) | AJ | AJ | UE ajournée (échec) |
- | UESBL | blanchissement (non dispo en ScoDoc 9) | - | UESBL | blanchissement (non dispo en ScoDoc 9) |
- Pour les RCUE:
ScoDoc | BUT AMUE | &nbsp;
----------|-----|-----
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 ## Diagramme de classes
@ -329,7 +378,7 @@ erDiagram
Etudiant }|..|{ ModuleImpl : ModuleImplInscription Etudiant }|..|{ ModuleImpl : ModuleImplInscription
Etudiant }|..|{ FormSemestre : FormSemestreInscription Etudiant }|..|{ FormSemestre : FormSemestreInscription
Etudiant }|..|{ ApcParcours : "optionnel" FormSemestreInscription ||..o{ ApcParcours : "optionnel"
Formation ||--o{ FormSemestre : "" Formation ||--o{ FormSemestre : ""

View File

@ -1,15 +1,21 @@
# Publication des notes aux étudiants # 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"). - 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). - 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).