Compare commits

...

3 Commits

Author SHA1 Message Date
024f95d9f6 début de mise à jour de la liste des champs 2024-07-17 12:14:42 +03:00
7975ecf2d2 présentation 2024-07-17 12:14:10 +03:00
328e3766b7 Mise à jour carte API et qq liens 2024-07-17 12:13:05 +03:00
5 changed files with 248 additions and 223 deletions

View File

@ -1,22 +1,26 @@
# Générer des bulletins en Python # Génération des bulletins en Python
Il est possible de coder de nouveaux styles de bulletins de notes (web et/ou Informations internes à destination des développeurs.
PDF), pour répondre précisément aux besoins de votre établissement.
Ce n'est pas très difficile, mais il faudra coder en langage Python avec pour le ## Types de bulletins
PDF la bibliothèque ReportLab (qui est bien documentée, [voir le
guide](http://www.reportlab.com/software/opensource/rl-toolkit/guide/)).
ScoDoc demande la création d'un bulletin pour un étudiant donné dans semestre - Formations classiques
donné (`formsemestre_id`). Le bulletin doit être rendu sous forme d'une liste - HTML, court, intermédiaire, long
d'objets PLATYPUS (voir le chapitre 5 du "User Guide" de ReportLab cité plus - XML (deprecated)
haut). - JSON
- PDF
- Formations BUT
- JSON (utilisé par la version HTML)
- XML (partiel, deprecated)
- PDF
- "but court" HTML
- "but court" PDF
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" ## Balises décisions de jury pour chaque type
alt="/!\" /> Attention (août 2011): nouvelle version, changement d'API: les
informations ci-dessous s'appliquent à partir de la subversion 1047.
## Organisation
## Organisation
A minima, il vous faut créer un module python (fichier .py) qui se définira une A minima, il vous faut créer un module python (fichier .py) qui se définira une
classe chargée de générer vos bulletins. classe chargée de générer vos bulletins.
@ -138,33 +142,33 @@ nom de l'université.
### Informations sur l'étudiant ### Informations sur l'étudiant
#### Identité #### Identité
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| string * | etudid | id ScoDoc de l'étudiant | 'EID15219' | | string * | etudid | id ScoDoc de l'étudiant | 'EID15219' |
string | code_ine | | * string | code_ine | | *
string | code_nip | | * string | code_nip | | *
string | codepostaldomicile | | '75018' string | codepostaldomicile | | '75018'
| date_naissance | | * | date_naissance | | *
| annee_naissance | | '1947' | annee_naissance | | '1947'
| domicile | | * | domicile | | *
| email | | * | email | | *
| lieu_naissance | | * | lieu_naissance | | *
| nationalite | | * | nationalite | | *
| ne | "e" si étudiante, vide sinon | * | ne | "e" si étudiante, vide sinon | *
| nom | | 'FOURIER' | nom | | 'FOURIER'
| prenom | | 'JOSEPH' | prenom | | 'JOSEPH'
| sexe | | 'M.' | sexe | | 'M.'
| nomprenom | | 'M. Joseph Fourier' | nomprenom | | 'M. Joseph Fourier'
| paysdomicile | | * | paysdomicile | | *
| telephone | | * | telephone | | *
| telephonemobile | | * | telephonemobile | | *
| telephonemobilestr | | * | telephonemobilestr | | *
| telephonestr | | * | telephonestr | | *
| typeadresse | | 'domicile' | typeadresse | | 'domicile'
| villedomicile | | * | villedomicile | | *
| villelycee | | | villelycee | |
#### Admission #### Admission
@ -172,37 +176,36 @@ Informations importées dans ScoDoc lors de la création de l'étudiant
(import des données d'admission): établissement d'origine, notes de (import des données d'admission): établissement d'origine, notes de
lycée, etc.) lycée, etc.)
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| bac | Série de bac | 'S' | bac | Série de bac | 'S'
| specialite | Spécialité de bac | 'SVT' | specialite | Spécialité de bac | 'SVT'
| math | note math antérieure (en terminale ou au bac ou ...) | * | math | note math antérieure (en terminale ou au bac ou ...) | *
| physique | note physique antérieure | * | physique | note physique antérieure | *
| francais | note francais (au bac en général) | * | francais | note francais (au bac en général) | *
| anglais | note anglais antérieure | * | anglais | note anglais antérieure | *
| annee_bac | année d'obtention du bac | '2010' | annee_bac | année d'obtention du bac | '2010'
| nomlycee | | * | nomlycee | | *
| codelycee | | * | codelycee | | *
| codepostallycee | | * | codepostallycee | | *
| qualite | note de qualité du dossier attribuée par le jury d'admission | * | qualite | note de qualité du dossier attribuée par le jury d'admission | *
| rang | rang de cet établissement dans les voeux du candidat (si applicable) | * | rang | rang de cet établissement dans les voeux du candidat (si applicable) | *
| rap | | "Pas d'informations sur les conditions d'admission." | rap | | "Pas d'informations sur les conditions d'admission."
| rapporteur | pseudo du collègue chargé de l'examen de ce dossier | * | rapporteur | pseudo du collègue chargé de l'examen de ce dossier | *
| score | Score calculé pour ce dossier à l'admission | * | score | Score calculé pour ce dossier à l'admission | *
| commentaire | Commentaire du jury d'admission| * | commentaire | Commentaire du jury d'admission| *
| decision | Décision du jury d'admission | 'ADMIS' | decision | Décision du jury d'admission | 'ADMIS'
| description | Comment l'étudiant a été inscrit | '(creation individuelle)' | description | Comment l'étudiant a été inscrit | '(creation individuelle)'
#### Inscription #### Inscription
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
int | annee | | 2011 int | annee | | 2011
string | etatincursem | état (I=inscrit, D=démissionnaire) | 'I' string | etatincursem | état (I=inscrit, D=démissionnaire) | 'I'
string | inscription | | 'DUT GEII, semestre 1 FI (Mars 2011 - Jul 2011)' string | inscription | | 'DUT GEII, semestre 1 FI (Mars 2011 - Jul 2011)'
string | situation | | 'inscrit en DUT GEII, semestre 1 FI (Mars 2011 - Jul 2011) le 11/09/2011' string | situation | | 'inscrit en DUT GEII, semestre 1 FI (Mars 2011 - Jul 2011) le 11/09/2011'
string | statut | ? | * string | statut | ? | *
| descr_inscription | | 'Inscrit le 27/06/2011.' | descr_inscription | | 'Inscrit le 27/06/2011.'
En outre, les attributs `sems`, `cursem` et `ins` apportent des informations En outre, les attributs `sems`, `cursem` et `ins` apportent des informations
@ -220,142 +223,143 @@ Type | Nom | Description | Exemple de valeur
string | refcomp_specialite | code spécialité | "RT" string | refcomp_specialite | code spécialité | "RT"
string | refcomp_specialite_long| spécialité | "Réseaux et Télécommunications" string | refcomp_specialite_long| spécialité | "Réseaux et Télécommunications"
### Résultats (notes) de l'étudiant dans le semestre ### Résultats (notes) de l'étudiant dans le semestre
Quelques infos sur les résultats. Le détail des notes est dans la Quelques infos sur les résultats. Le détail des notes est dans la
liste `infos['ues']` et ses sous-listes imbriquées (modules, evaluation). liste `infos['ues']` et ses sous-listes imbriquées (modules, evaluation).
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
string | moy_gen | moyenne générale de l'étudiant dans le semestre | '12.00' string | moy_gen | moyenne générale de l'étudiant dans le semestre | '12.00'
string | bonus_sport_culture | bonus appliqué | 0 string | bonus_sport_culture | bonus appliqué | 0
string | moy_max | moyenne max promo | '12.00' string | moy_max | moyenne max promo | '12.00'
string | moy_min | moyenne min promo | '10.00' string | moy_min | moyenne min promo | '10.00'
string | moy_moy | moyenne des moyennes promo | '11.00' string | moy_moy | moyenne des moyennes promo | '11.00'
int | nb_inscrits | nombre étudiants du semestre (incluant démissionnaires et défaillants) | 78 int | nb_inscrits | nombre étudiants du semestre (incluant démissionnaires et défaillants) | 78
int | nb_demissions | nombre de démissions dans le semestre | 3 int | nb_demissions | nombre de démissions dans le semestre | 3
int | nb_defaillants | nombre de défaillants dans le semestre | 2 int | nb_defaillants | nombre de défaillants dans le semestre | 2
int | nbabs | nombre de 1/2 journées d'absences | 0L int | nbabs | nombre de 1/2 journées d'absences | 0L
int | nbabsjust | idem, justifiées | 0L int | nbabsjust | idem, justifiées | 0L
string | rang | classement | '(attente)' string | rang | classement | '(attente)'
string | rang_txt | classement (avec titre) | 'Rang (attente) / 2' string | rang_txt | classement (avec titre) | 'Rang (attente) / 2'
list | ues | résultats dans les UE, voir ci-dessous | [ liste de dict ] list | ues | résultats dans les UE, voir ci-dessous | [ liste de dict ]
Chaque élément de la liste `ues` représente les résultats de Chaque élément de la liste `ues` représente les résultats de
l'étudiant dans une UE. l'étudiant dans une UE.
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
string | acronyme | | 'UE 1' string | acronyme | | 'UE 1'
string | coef_ue_txt | Coefficient (chaîne) | '2' string | coef_ue_txt | Coefficient (chaîne) | '2'
string| cur_moy_ue_txt | Moyenne prise en compte pour cette UE | '12.00' string| cur_moy_ue_txt | Moyenne prise en compte pour cette UE | '12.00'
float | max | moyenne max promo | 12.0 float | max | moyenne max promo | 12.0
float | min | moyenne min promo | 10.0 float | min | moyenne min promo | 10.0
list | modules | détails notes dans les modules de l'UE | [ liste de dict] list | modules | détails notes dans les modules de l'UE | [ liste de dict]
list | modules_capitalized | | [] list | modules_capitalized | | []
float | moy | | 11.0 float | moy | | 11.0
string | moy_ue_txt | moyenne étudiant dans UE | '12.00' string | moy_ue_txt | moyenne étudiant dans UE | '12.00'
int | nb_moy | nombre de moyenens calculées dans cette UE (inscrits, sans démissionnaires ni défaillants) | 76 int | nb_moy | nombre de moyenens calculées dans cette UE (inscrits, sans démissionnaires ni défaillants) | 76
int | numero | rang tri UE | 1 int | numero | rang tri UE | 1
string | titre | | 'Formation Générale' string | titre | | 'Formation Générale'
int | type | code type UE | 0 int | type | code type UE | 0
string | ue_code | code dans programme formation | 'UCOD5' string | ue_code | code dans programme formation | 'UCOD5'
string | ue_descr_html | rang ou autre info à afficher | '(attente)/2' string | ue_descr_html | rang ou autre info à afficher | '(attente)/2'
string | ue_descr_txt | rang ou autre info à afficher | '(attente)/2' string | ue_descr_txt | rang ou autre info à afficher | '(attente)/2'
string | ue_id | id interne ScoDoc | 'UE14572' string | ue_id | id interne ScoDoc | 'UE14572'
dict | ue_status | statut de l'UE (voir ci-dessous)| { dict } dict | ue_status | statut de l'UE (voir ci-dessous)| { dict }
**Statut d'une UE (champ `ue_status`):** **Statut d'une UE (champ `ue_status`):**
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
float | coef_ue | | 2.0 float | coef_ue | | 2.0
| coefs_bonus_gen | | [] | coefs_bonus_gen | | []
| cur_coef_ue | | 2.0 | cur_coef_ue | | 2.0
| cur_moy_ue | | 12.0 | cur_moy_ue | | 12.0
string | expr_diag | infos erreur calcul formule utilisateur | {} string | expr_diag | infos erreur calcul formule utilisateur | {}
bool | is_capitalized | est-elle capitalisée? | False bool | is_capitalized | est-elle capitalisée? | False
| moy | | 12.0 | moy | | 12.0
| nb_missing | | 1 | nb_missing | | 1
| nb_notes | | 1 | nb_notes | | 1
| notes_bonus_gen | | [] | notes_bonus_gen | | []
| sum_coefs | | 2.0 | sum_coefs | | 2.0
| was_capitalized | | False | was_capitalized | | False
**Résultats dans un module:** **Résultats dans un module:**
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| code | | * | code | | *
| code_html | | * | code_html | | *
| code_txt | | * | code_txt | | *
| computation_expr | | * | computation_expr | | *
| ens | | [] | ens | | []
| evaluations | | [] | evaluations | | []
| formsemestre_id | | 'SEM15176' | formsemestre_id | | 'SEM15176'
| mat | | {'titre': 'Mathématiques' } | mat | | {'titre': 'Mathématiques' }
| mod_coef_txt | | '2' | mod_coef_txt | | '2'
| mod_descr_txt | | "Module Fondamentaux d'algèbre et de trigonométrie, coef. 2 (Béatrice DUPONT)" | mod_descr_txt | | "Module Fondamentaux d'algèbre et de trigonométrie, coef. 2 (Béatrice DUPONT)"
| mod_eff | | 2 | mod_eff | | 2
| mod_moy_txt | | '12.00' | mod_moy_txt | | '12.00'
| mod_rang | | '(attente)' | mod_rang | | '(attente)'
| mod_rang_txt | | '(attente)/2' | mod_rang_txt | | '(attente)/2'
| module | | {voir plus loin} | module | | {voir plus loin}
| module_id | | 'MOD14576' | module_id | | 'MOD14576'
| moduleimpl_id | | 'MIP15178' | moduleimpl_id | | 'MIP15178'
| name | | 'Algèbre' | name | | 'Algèbre'
| responsable_id | id du responsable | 'dupont' | responsable_id | id du responsable | 'dupont'
| stats | statistiques sur les notes du module | `{'moy': 9.576, 'nb_missing': 2, 'max': 16.5, 'min': 0.0, 'nb_notes': 39, 'nb_valid_evals': 1}` | stats | statistiques sur les notes du module | `{'moy': 9.576, 'nb_missing': 2, 'max': 16.5, 'min': 0.0, 'nb_notes': 39, 'nb_valid_evals': 1}`
Le module (tel que décrit dans le programme de la formation) est représenté par: Le module (tel que décrit dans le programme de la formation) est représenté par:
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
string | titre | | "Fondamentaux d'algèbre et de trigonométrie" string | titre | | "Fondamentaux d'algèbre et de trigonométrie"
string | abbrev | | 'Algèbre' string | abbrev | | 'Algèbre'
string | code | | 'M1' string | code | | 'M1'
float | coefficient | | 2.0 float | coefficient | | 2.0
| ects | | None | ects | | None
| formation_id | | 'FORM14570' | formation_id | | 'FORM14570'
| heures_cours | | 0.0 | heures_cours | | 0.0
| heures_td | | 30.0 | heures_td | | 30.0
| heures_tp | | 0.0 | heures_tp | | 0.0
| matiere_id | | 'MAT14574' | matiere_id | | 'MAT14574'
| module_id | | 'MOD14576' | module_id | | 'MOD14576'
| numero | | 10 | numero | | 10
| semestre_id | | 1 | semestre_id | | 1
| ue_id | | 'UE14572' | ue_id | | 'UE14572'
**Résultat dans une évaluation:** **Résultat dans une évaluation:**
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| coef_txt | | '1' | coef_txt | | '1'
| coefficient | | 1.0 | coefficient | | 1.0
| descrheure | | ' ? 08h00' | descrheure | | ' ? 08h00'
| description | | * | description | | *
| duree | | '2h' | duree | | '2h'
| etat | | { voir plus loin } | etat | | { voir plus loin }
| evaluation_id | | 'EVAL15226' | evaluation_id | | 'EVAL15226'
| evaluation_type | | 0 | evaluation_type | | 0
| heure_debut | | '08h00' | heure_debut | | '08h00'
| heure_fin | | '08h00' | heure_fin | | '08h00'
| jour | | '01/07/2011' | jour | | '01/07/2011'
| moduleimpl_id | | 'MIP15178' | moduleimpl_id | | 'MIP15178'
| name | | 'le 01/07/2011' | name | | 'le 01/07/2011'
| nb_abs | | 0 | nb_abs | | 0
| nb_att | | 0 | nb_att | | 0
| nb_inscrits | | 2 | nb_inscrits | | 2
| nb_neutre | | 0 | nb_neutre | | 0
| nb_notes | | 2 | nb_notes | | 2
| note_html | | '12.00' | note_html | | '12.00'
| note_max | | 20.0 | note_max | | 20.0
| note_txt | | '12.00' | note_txt | | '12.00'
| notes | | { voir plus loin } | notes | | { voir plus loin }
| publish_incomplete | | '0' | publish_incomplete | | '0'
| visibulletin | | '1' | visibulletin | | '1'
**Etat d'une évaluation:** **Etat d'une évaluation:**
@ -366,59 +370,59 @@ Le champ `etat` d'une évaluation est un dict donnant des informations sur les r
bool | evalattente | | False bool | evalattente | | False
bool | evalcomplete | | True bool | evalcomplete | | True
| evaluation_id | id interne | 15226 | evaluation_id | id interne | 15226
list | gr_incomplets | | [] list | gr_incomplets | | []
list | gr_moyennes | | [] list | gr_moyennes | | []
list | groups | liste des groupes | {} list | groups | liste des groupes | {}
datetime | last_modif | | datetime datetime | last_modif | | datetime
string | median | note médianne promo | '11.00' string | median | note médianne promo | '11.00'
string | moy | note moyenne promo | '11.00' string | moy | note moyenne promo | '11.00'
| nb_abs | nb étudiants absents | 0 | nb_abs | nb étudiants absents | 0
| nb_att | nb notes en attente | 0 | nb_att | nb notes en attente | 0
| nb_inscrits | nb inscrits à ce module | 2 | nb_inscrits | nb inscrits à ce module | 2
| nb_neutre | nb notes neutralisées | 0 | nb_neutre | nb notes neutralisées | 0
| nb_notes | nb notes saisies | 2 | nb_notes | nb notes saisies | 2
`gr_moyennes` est un dict: `gr_moyennes` est un dict:
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| gr_median | | '11.00' | gr_median | | '11.00'
| gr_moy | | '11.00' | gr_moy | | '11.00'
| gr_nb_att | | 0 | gr_nb_att | | 0
| gr_nb_notes | | 2 | gr_nb_notes | | 2
| group_id | | 'G24919' | group_id | | 'G24919'
| group_name | | None | group_name | | None
**Notes dans une évaluation:** **Notes dans une évaluation:**
Le champ `notes` dans une évaluation est un dictionnaire dont les clés sont les `etudids`, et les valeurs des dictionnaires donnant les informations sur la note de l'étudiant dans cette évaluation: Le champ `notes` dans une évaluation est un dictionnaire dont les clés sont les `etudids`, et les valeurs des dictionnaires donnant les informations sur la note de l'étudiant dans cette évaluation:
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
string | comment | commentaire saisie note | * string | comment | commentaire saisie note | *
datetime | date | date de saisie | <mx.DateTime.DateTime object> datetime | date | date de saisie | <mx.DateTime.DateTime object>
string | etudid | | 'EID15214' string | etudid | | 'EID15214'
string | evaluation_id | | 'EVAL15226' string | evaluation_id | | 'EVAL15226'
string | uid | utilisateur ayant saisi la note | 'admin' string | uid | utilisateur ayant saisi la note | 'admin'
float | value | valeur de la note (sur 20) | 10.0 float | value | valeur de la note (sur 20) | 10.0
### Décisions de jury et autres informations ### Décisions de jury et autres informations
Type | Nom | Description | Exemple de valeur Type | Nom | Description | Exemple de valeur
----| --- | ---- | --- ----| --- | ---- | ---
| decision_sem | | None ou dict | decision_sem | | None ou dict
string | decision_jury | décision du jury en clair (présent seulement si décision saisie) | 'Validé' string | decision_jury | décision du jury en clair (présent seulement si décision saisie) | 'Validé'
list | appreciations | | [] list | appreciations | | []
list | appreciations_list | | [] list | appreciations_list | | []
list | appreciations_txt | | [] list | appreciations_txt | | []
string | mention | texte de la mention calculée | 'Très bien' string | mention | texte de la mention calculée | 'Très bien'
| filigranne | texte en surimpression | 'Provisoire' | filigranne | texte en surimpression | 'Provisoire'
## Note: la fonction log ## Note: la fonction log
Pour la mise au point, il peut être utile de recourir à la bonne vieille Pour la mise au point, il peut être utile de recourir à la bonne vieille
fonction log, qui envoie du texte dans le fichier de log courant, normalement fonction log, qui envoie du texte dans le fichier de log courant, normalement

View File

@ -46,8 +46,8 @@ inférieure à zéro), elle est ramenée à 20 (ou à zéro).
- La valeur saisie peut être négative (et donnera alors un bonus); - La valeur saisie peut être négative (et donnera alors un bonus);
l'affichage est mis à jour en conséquence. C'est donc la possibilité l'affichage est mis à jour en conséquence. C'est donc la possibilité
d'inclure un bonus donc la valeur n'est pas calculée par la formule d'inclure un bonus dont la valeur n'est pas calculée par la formule
configurée (cf. [Intégration de la formule](#intégration-de-la-formule)). configurée (cf. [Intégration de la règle de calcul](#integration-de-la-regle-de-calcul)).
## Comparatif bonus/malus ## Comparatif bonus/malus
@ -59,7 +59,7 @@ les modules de malus.
| **Structure** | UE Spécifique et modules (type standard) attachés | Module spécifique (type malus) | | **Structure** | UE Spécifique et modules (type standard) attachés | Module spécifique (type malus) |
| **Valeur du bonus/malus** | Calculé à partir d'une note | Saisie directe | | **Valeur du bonus/malus** | Calculé à partir d'une note | Saisie directe |
| **Application sur toutes les UE** | Automatique | Autant de modules que d'UE modifiées | | **Application sur toutes les UE** | Automatique | Autant de modules que d'UE modifiées |
| **Application sur une seule UE** | Impossible | Un module par UE modifiée | | | **Application sur une seule UE** | Impossible | Un module par UE modifiée |
| **Modification** | Bonus seulement | Malus ou Bonus | | **Modification** | Bonus seulement | Malus ou Bonus |
| **Affichage** | Affichage du bonus et du détail | Affichage du bonus/malus seulement | | **Affichage** | Affichage du bonus et du détail | Affichage du bonus/malus seulement |
| **Cumul de plusieurs modificateurs** | voir [les remarques](#remarques) | Déclarer une évaluation par type de modif. | | **Cumul de plusieurs modificateurs** | voir [les remarques](#remarques) | Déclarer une évaluation par type de modif. |
@ -88,7 +88,7 @@ Si l'établissement n'apparaît pas:
modificateur (après un calcul préalable hors scodoc) modificateur (après un calcul préalable hors scodoc)
2. Vous pouvez demander la création de la formule spécifique à votre 2. Vous pouvez demander la création de la formule spécifique à votre
établissement sur le serveur discord en précisant: établissement sur le serveur Discord (voir [contacts](Contact.md)) en précisant:
- Le nom de votre établissement, - Le nom de votre établissement,
- l'extrait du règlement intérieur qui décrit cette bonification, (celui ci - l'extrait du règlement intérieur qui décrit cette bonification, (celui ci
apparaîtra dans l'encadré explicatif) apparaîtra dans l'encadré explicatif)
@ -172,7 +172,7 @@ Dans tous les cas de figure, l'objectif est d'inscrire aux modules de
bonus/malus au moins les étudiants qui en bénéficient. On a deux stratégies bonus/malus au moins les étudiants qui en bénéficient. On a deux stratégies
possibles: possibles:
1. Inscription de tous les étudiants du semestre (inscription générale) 1. Inscription de tous les étudiants du semestre (inscription générale)
et attribuer la note `EXC`aux étudiants non concernés. Stratégie à et attribuer la note `EXC`aux étudiants non concernés. Stratégie à
éviter pour le bonus sport/culture afin d'éviter l'affichage d'une éviter pour le bonus sport/culture afin d'éviter l'affichage d'une
section bonus vide dans les bulletins des étudiants non concernés. section bonus vide dans les bulletins des étudiants non concernés.

View File

@ -119,6 +119,16 @@ Les ECTS sont attribués (ou pas) au moment de la saisie de la décision de jury
sur les UEs. Avant le jury, l'étudiant n'a jamais d'ECTS, quelles que soient ses sur les UEs. Avant le jury, l'étudiant n'a jamais d'ECTS, quelles que soient ses
notes. notes.
### Comment identifier les ECTS ?
Les ECTS sont toujours liés aux Unités d'Enseignement (UE). Toute validation
d'UE apporte à l'étudiant son quota d'ECTS. Cette quantité est définie dans le
programme de la formation.
Les UEs peuvent être validées par le jury d'un semestre: le compte est affiché
sur une colonne à droite du tableau **Jury / Voir les décisions de jury**.
### L'étudiant n'est pas diplômé ### L'étudiant n'est pas diplômé
@ -126,6 +136,17 @@ Vérifiez qu'il a bien obtenu tous ces ECTS.
Si ce n'est pas le cas, vérifiez qu'il a bien validé toutes les UEs de son Si ce n'est pas le cas, vérifiez qu'il a bien validé toutes les UEs de son
parcours de formation (BUT), ou un nombre suffisant de celles ci. parcours de formation (BUT), ou un nombre suffisant de celles ci.
### Comment voir toutes les validations de jury d'un étudiant ?
Dans certains cas, on souhaite vérifier tout le détail des validations de jury
enregistrées pour un étudiant. Pour cela, aller sur sa fiche et suivre le lien
*Éditer toutes décisions de jury*. Vous aurez le détail de tous les éléments
validés (UE, RCUEs du BUT, semestres des formations LMD, années du BUT, ...) et
pourrez même les supprimer une à une (si vous disposez des droits d'accès nécessaires.)
Voir aussi [guide du responsable de formation](GuideAdminFormation.md#jurys)
et [les jurys de BUT](BUTJurys.md).
## Administration système ## Administration système
### Mes données sont erronées, que faire ? ### Mes données sont erronées, que faire ?

View File

@ -1341,7 +1341,7 @@ utilisateur pourra être associé à un ou plusieurs rôles dans chaque départe
(ainsi, il ou elle peut enseigner dans un département et être administrateur (ainsi, il ou elle peut enseigner dans un département et être administrateur
d'un autre). d'un autre).
#### **roles** #### **list-roles**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `UsersView`** * **Permission: `UsersView`**
@ -1350,7 +1350,7 @@ d'un autre).
* **Résultat:** Liste de tous les rôles. * **Résultat:** Liste de tous les rôles.
* **Exemple de résultat:** [roles.json](samples/sample_roles.json.md) * **Exemple de résultat:** [roles.json](samples/sample_roles.json.md)
#### **role** #### **list-role**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `UsersView`** * **Permission: `UsersView`**
@ -1359,7 +1359,7 @@ d'un autre).
* **Résultat:** Liste le rôle indiqué. 404 si inexistant. * **Résultat:** Liste le rôle indiqué. 404 si inexistant.
* **Exemple de résultat:** [role.json](samples/sample_role.json.md) * **Exemple de résultat:** [role.json](samples/sample_role.json.md)
#### **role-add_permission** #### **role-permission-add**
* **Méthode: POST** * **Méthode: POST**
* **Permission: `ScoSuperAdmin`** * **Permission: `ScoSuperAdmin`**
@ -1369,7 +1369,7 @@ d'un autre).
Note: la liste des permissions est donnée sur [ConfigPermissions](ConfigPermissions.md). Note: la liste des permissions est donnée sur [ConfigPermissions](ConfigPermissions.md).
* **Exemple de résultat:** [role-add_permission.json](samples/sample_role-add_permission.json.md) * **Exemple de résultat:** [role-add_permission.json](samples/sample_role-add_permission.json.md)
#### **role-remove_permission** #### **role-permission-remove**
* **Méthode: POST** * **Méthode: POST**
* **Permission: `ScoSuperAdmin`** * **Permission: `ScoSuperAdmin`**
@ -1416,7 +1416,7 @@ d'un autre).
### **API User, Permissions** ### **API User, Permissions**
#### **user** #### **user-info**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `UsersView`** * **Permission: `UsersView`**
@ -1448,7 +1448,7 @@ d'un autre).
si est "super-administrateur". si est "super-administrateur".
* **Exemple de résultat:** [user-create.json](samples/sample_user-create.json.md) * **Exemple de résultat:** [user-create.json](samples/sample_user-create.json.md)
#### **`users-query`** #### **`users-info-query`**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `UsersView`** * **Permission: `UsersView`**
@ -1521,7 +1521,7 @@ d'un autre).
* **Résultat:** Retire le rôle à l'utilisateur. * **Résultat:** Retire le rôle à l'utilisateur.
* **Exemple de résultat:** [user-role-remove.json](samples/sample_user-role-remove.json.md) * **Exemple de résultat:** [user-role-remove.json](samples/sample_user-role-remove.json.md)
#### **`permissions`** #### **`list-permissions`**
* **Méthode:** GET * **Méthode:** GET
* **Permission: `UsersView`** * **Permission: `UsersView`**

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 438 KiB

After

Width:  |  Height:  |  Size: 440 KiB