Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
5f44559b76 | |||
85552f28d7 | |||
43d13366eb | |||
024f95d9f6 | |||
7975ecf2d2 | |||
328e3766b7 | |||
3160671095 | |||
bd17e29efe | |||
cb564c975f | |||
92cb7b951f | |||
|
34497e429f | ||
|
7a6381082e | ||
3541513a3d | |||
9fb95aa3ac | |||
6b4eca11e5 | |||
6b8a988b28 | |||
195530fd26 | |||
54863f24ad | |||
8180bae87f | |||
843a566ed9 | |||
f97d117211 | |||
|
aba125c524 | ||
d651b3e2d7 | |||
c687db297c | |||
f9caeb90f3 | |||
833a35a037 |
@ -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
|
||||
PDF), pour répondre précisément aux besoins de votre établissement.
|
||||
Informations internes à destination des développeurs.
|
||||
|
||||
Ce n'est pas très difficile, mais il faudra coder en langage Python avec pour le
|
||||
PDF la bibliothèque ReportLab (qui est bien documentée, [voir le
|
||||
guide](http://www.reportlab.com/software/opensource/rl-toolkit/guide/)).
|
||||
## Types de bulletins
|
||||
|
||||
ScoDoc demande la création d'un bulletin pour un étudiant donné dans semestre
|
||||
donné (`formsemestre_id`). Le bulletin doit être rendu sous forme d'une liste
|
||||
d'objets PLATYPUS (voir le chapitre 5 du "User Guide" de ReportLab cité plus
|
||||
haut).
|
||||
- Formations classiques
|
||||
- HTML, court, intermédiaire, long
|
||||
- XML (deprecated)
|
||||
- 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;"
|
||||
alt="/!\" /> Attention (août 2011): nouvelle version, changement d'API: les
|
||||
informations ci-dessous s'appliquent à partir de la subversion 1047.
|
||||
## Balises décisions de jury pour chaque type
|
||||
|
||||
## Organisation
|
||||
|
||||
|
||||
## Organisation
|
||||
|
||||
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.
|
||||
@ -138,33 +142,33 @@ nom de l'université.
|
||||
|
||||
### 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 | code_ine | | *
|
||||
string | code_nip | | *
|
||||
string | codepostaldomicile | | '75018'
|
||||
| date_naissance | | *
|
||||
| annee_naissance | | '1947'
|
||||
| domicile | | *
|
||||
| email | | *
|
||||
| lieu_naissance | | *
|
||||
| nationalite | | *
|
||||
| ne | "e" si étudiante, vide sinon | *
|
||||
| nom | | 'FOURIER'
|
||||
| prenom | | 'JOSEPH'
|
||||
| sexe | | 'M.'
|
||||
| nomprenom | | 'M. Joseph Fourier'
|
||||
| paysdomicile | | *
|
||||
| telephone | | *
|
||||
| telephonemobile | | *
|
||||
| telephonemobilestr | | *
|
||||
| telephonestr | | *
|
||||
| typeadresse | | 'domicile'
|
||||
| villedomicile | | *
|
||||
| villelycee | |
|
||||
| string * | etudid | id ScoDoc de l'étudiant | 'EID15219' |
|
||||
string | code_ine | | *
|
||||
string | code_nip | | *
|
||||
string | codepostaldomicile | | '75018'
|
||||
| date_naissance | | *
|
||||
| annee_naissance | | '1947'
|
||||
| domicile | | *
|
||||
| email | | *
|
||||
| lieu_naissance | | *
|
||||
| nationalite | | *
|
||||
| ne | "e" si étudiante, vide sinon | *
|
||||
| nom | | 'FOURIER'
|
||||
| prenom | | 'JOSEPH'
|
||||
| sexe | | 'M.'
|
||||
| nomprenom | | 'M. Joseph Fourier'
|
||||
| paysdomicile | | *
|
||||
| telephone | | *
|
||||
| telephonemobile | | *
|
||||
| telephonemobilestr | | *
|
||||
| telephonestr | | *
|
||||
| typeadresse | | 'domicile'
|
||||
| villedomicile | | *
|
||||
| villelycee | |
|
||||
|
||||
|
||||
#### 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
|
||||
lycée, etc.)
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
| bac | Série de bac | 'S'
|
||||
| specialite | Spécialité de bac | 'SVT'
|
||||
| math | note math antérieure (en terminale ou au bac ou ...) | *
|
||||
| physique | note physique antérieure | *
|
||||
| francais | note francais (au bac en général) | *
|
||||
| anglais | note anglais antérieure | *
|
||||
| annee_bac | année d'obtention du bac | '2010'
|
||||
| nomlycee | | *
|
||||
| codelycee | | *
|
||||
| codepostallycee | | *
|
||||
| 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) | *
|
||||
| rap | | "Pas d'informations sur les conditions d'admission."
|
||||
| rapporteur | pseudo du collègue chargé de l'examen de ce dossier | *
|
||||
| score | Score calculé pour ce dossier à l'admission | *
|
||||
| commentaire | Commentaire du jury d'admission| *
|
||||
| decision | Décision du jury d'admission | 'ADMIS'
|
||||
| description | Comment l'étudiant a été inscrit | '(creation individuelle)'
|
||||
|
||||
| bac | Série de bac | 'S'
|
||||
| specialite | Spécialité de bac | 'SVT'
|
||||
| math | note math antérieure (en terminale ou au bac ou ...) | *
|
||||
| physique | note physique antérieure | *
|
||||
| francais | note francais (au bac en général) | *
|
||||
| anglais | note anglais antérieure | *
|
||||
| annee_bac | année d'obtention du bac | '2010'
|
||||
| nomlycee | | *
|
||||
| codelycee | | *
|
||||
| codepostallycee | | *
|
||||
| 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) | *
|
||||
| rap | | "Pas d'informations sur les conditions d'admission."
|
||||
| rapporteur | pseudo du collègue chargé de l'examen de ce dossier | *
|
||||
| score | Score calculé pour ce dossier à l'admission | *
|
||||
| commentaire | Commentaire du jury d'admission| *
|
||||
| decision | Décision du jury d'admission | 'ADMIS'
|
||||
| description | Comment l'étudiant a été inscrit | '(creation individuelle)'
|
||||
|
||||
#### Inscription
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
int | annee | | 2011
|
||||
string | etatincursem | état (I=inscrit, D=démissionnaire) | 'I'
|
||||
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 | statut | ? | *
|
||||
string | etatincursem | état (I=inscrit, D=démissionnaire) | 'I'
|
||||
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 | statut | ? | *
|
||||
| descr_inscription | | 'Inscrit le 27/06/2011.'
|
||||
|
||||
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_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
|
||||
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 | bonus_sport_culture | bonus appliqué | 0
|
||||
string | moy_max | moyenne max promo | '12.00'
|
||||
string | moy_min | moyenne min promo | '10.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_demissions | nombre de démissions dans le semestre | 3
|
||||
int | nb_defaillants | nombre de défaillants dans le semestre | 2
|
||||
int | nbabs | nombre de 1/2 journées d'absences | 0L
|
||||
int | nbabsjust | idem, justifiées | 0L
|
||||
string | rang | classement | '(attente)'
|
||||
string | rang_txt | classement (avec titre) | 'Rang (attente) / 2'
|
||||
list | ues | résultats dans les UE, voir ci-dessous | [ liste de dict ]
|
||||
string | moy_gen | moyenne générale de l'étudiant dans le semestre | '12.00'
|
||||
string | bonus_sport_culture | bonus appliqué | 0
|
||||
string | moy_max | moyenne max promo | '12.00'
|
||||
string | moy_min | moyenne min promo | '10.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_demissions | nombre de démissions dans le semestre | 3
|
||||
int | nb_defaillants | nombre de défaillants dans le semestre | 2
|
||||
int | nbabs | nombre de 1/2 journées d'absences | 0L
|
||||
int | nbabsjust | idem, justifiées | 0L
|
||||
string | rang | classement | '(attente)'
|
||||
string | rang_txt | classement (avec titre) | 'Rang (attente) / 2'
|
||||
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
|
||||
l'étudiant dans une UE.
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
string | acronyme | | 'UE 1'
|
||||
string | coef_ue_txt | Coefficient (chaîne) | '2'
|
||||
string| cur_moy_ue_txt | Moyenne prise en compte pour cette UE | '12.00'
|
||||
float | max | moyenne max promo | 12.0
|
||||
float | min | moyenne min promo | 10.0
|
||||
list | modules | détails notes dans les modules de l'UE | [ liste de dict]
|
||||
list | modules_capitalized | | []
|
||||
float | moy | | 11.0
|
||||
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 | numero | rang tri UE | 1
|
||||
string | titre | | 'Formation Générale'
|
||||
int | type | code type UE | 0
|
||||
string | ue_code | code dans programme formation | 'UCOD5'
|
||||
string | ue_descr_html | 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'
|
||||
dict | ue_status | statut de l'UE (voir ci-dessous)| { dict }
|
||||
string | acronyme | | 'UE 1'
|
||||
string | coef_ue_txt | Coefficient (chaîne) | '2'
|
||||
string| cur_moy_ue_txt | Moyenne prise en compte pour cette UE | '12.00'
|
||||
float | max | moyenne max promo | 12.0
|
||||
float | min | moyenne min promo | 10.0
|
||||
list | modules | détails notes dans les modules de l'UE | [ liste de dict]
|
||||
list | modules_capitalized | | []
|
||||
float | moy | | 11.0
|
||||
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 | numero | rang tri UE | 1
|
||||
string | titre | | 'Formation Générale'
|
||||
int | type | code type UE | 0
|
||||
string | ue_code | code dans programme formation | 'UCOD5'
|
||||
string | ue_descr_html | 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'
|
||||
dict | ue_status | statut de l'UE (voir ci-dessous)| { dict }
|
||||
|
||||
**Statut d'une UE (champ `ue_status`):**
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
float | coef_ue | | 2.0
|
||||
| coefs_bonus_gen | | []
|
||||
| cur_coef_ue | | 2.0
|
||||
| cur_moy_ue | | 12.0
|
||||
string | expr_diag | infos erreur calcul formule utilisateur | {}
|
||||
bool | is_capitalized | est-elle capitalisée? | False
|
||||
| moy | | 12.0
|
||||
| nb_missing | | 1
|
||||
| nb_notes | | 1
|
||||
| notes_bonus_gen | | []
|
||||
| sum_coefs | | 2.0
|
||||
| was_capitalized | | False
|
||||
float | coef_ue | | 2.0
|
||||
| coefs_bonus_gen | | []
|
||||
| cur_coef_ue | | 2.0
|
||||
| cur_moy_ue | | 12.0
|
||||
string | expr_diag | infos erreur calcul formule utilisateur | {}
|
||||
bool | is_capitalized | est-elle capitalisée? | False
|
||||
| moy | | 12.0
|
||||
| nb_missing | | 1
|
||||
| nb_notes | | 1
|
||||
| notes_bonus_gen | | []
|
||||
| sum_coefs | | 2.0
|
||||
| was_capitalized | | False
|
||||
|
||||
|
||||
**Résultats dans un module:**
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
| code | | *
|
||||
| code_html | | *
|
||||
| code_txt | | *
|
||||
| computation_expr | | *
|
||||
| ens | | []
|
||||
| evaluations | | []
|
||||
| formsemestre_id | | 'SEM15176'
|
||||
| mat | | {'titre': 'Mathématiques' }
|
||||
| mod_coef_txt | | '2'
|
||||
| mod_descr_txt | | "Module Fondamentaux d'algèbre et de trigonométrie, coef. 2 (Béatrice DUPONT)"
|
||||
| mod_eff | | 2
|
||||
| mod_moy_txt | | '12.00'
|
||||
| mod_rang | | '(attente)'
|
||||
| mod_rang_txt | | '(attente)/2'
|
||||
| module | | {voir plus loin}
|
||||
| module_id | | 'MOD14576'
|
||||
| moduleimpl_id | | 'MIP15178'
|
||||
| name | | 'Algèbre'
|
||||
| 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}`
|
||||
| code | | *
|
||||
| code_html | | *
|
||||
| code_txt | | *
|
||||
| computation_expr | | *
|
||||
| ens | | []
|
||||
| evaluations | | []
|
||||
| formsemestre_id | | 'SEM15176'
|
||||
| mat | | {'titre': 'Mathématiques' }
|
||||
| mod_coef_txt | | '2'
|
||||
| mod_descr_txt | | "Module Fondamentaux d'algèbre et de trigonométrie, coef. 2 (Béatrice DUPONT)"
|
||||
| mod_eff | | 2
|
||||
| mod_moy_txt | | '12.00'
|
||||
| mod_rang | | '(attente)'
|
||||
| mod_rang_txt | | '(attente)/2'
|
||||
| module | | {voir plus loin}
|
||||
| module_id | | 'MOD14576'
|
||||
| moduleimpl_id | | 'MIP15178'
|
||||
| name | | 'Algèbre'
|
||||
| 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}`
|
||||
|
||||
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 | abbrev | | 'Algèbre'
|
||||
string | code | | 'M1'
|
||||
float | coefficient | | 2.0
|
||||
| ects | | None
|
||||
| formation_id | | 'FORM14570'
|
||||
| heures_cours | | 0.0
|
||||
| heures_td | | 30.0
|
||||
| heures_tp | | 0.0
|
||||
| matiere_id | | 'MAT14574'
|
||||
| module_id | | 'MOD14576'
|
||||
| numero | | 10
|
||||
| semestre_id | | 1
|
||||
| ue_id | | 'UE14572'
|
||||
string | titre | | "Fondamentaux d'algèbre et de trigonométrie"
|
||||
string | abbrev | | 'Algèbre'
|
||||
string | code | | 'M1'
|
||||
float | coefficient | | 2.0
|
||||
| ects | | None
|
||||
| formation_id | | 'FORM14570'
|
||||
| heures_cours | | 0.0
|
||||
| heures_td | | 30.0
|
||||
| heures_tp | | 0.0
|
||||
| matiere_id | | 'MAT14574'
|
||||
| module_id | | 'MOD14576'
|
||||
| numero | | 10
|
||||
| semestre_id | | 1
|
||||
| ue_id | | 'UE14572'
|
||||
|
||||
|
||||
|
||||
**Résultat dans une évaluation:**
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
| coef_txt | | '1'
|
||||
| coefficient | | 1.0
|
||||
| descrheure | | ' ? 08h00'
|
||||
| description | | *
|
||||
| duree | | '2h'
|
||||
| etat | | { voir plus loin }
|
||||
| evaluation_id | | 'EVAL15226'
|
||||
| evaluation_type | | 0
|
||||
| heure_debut | | '08h00'
|
||||
| heure_fin | | '08h00'
|
||||
| jour | | '01/07/2011'
|
||||
| moduleimpl_id | | 'MIP15178'
|
||||
| name | | 'le 01/07/2011'
|
||||
| nb_abs | | 0
|
||||
| nb_att | | 0
|
||||
| nb_inscrits | | 2
|
||||
| nb_neutre | | 0
|
||||
| nb_notes | | 2
|
||||
| note_html | | '12.00'
|
||||
| note_max | | 20.0
|
||||
| note_txt | | '12.00'
|
||||
| notes | | { voir plus loin }
|
||||
| publish_incomplete | | '0'
|
||||
| visibulletin | | '1'
|
||||
| coef_txt | | '1'
|
||||
| coefficient | | 1.0
|
||||
| descrheure | | ' ? 08h00'
|
||||
| description | | *
|
||||
| duree | | '2h'
|
||||
| etat | | { voir plus loin }
|
||||
| evaluation_id | | 'EVAL15226'
|
||||
| evaluation_type | | 0
|
||||
| heure_debut | | '08h00'
|
||||
| heure_fin | | '08h00'
|
||||
| jour | | '01/07/2011'
|
||||
| moduleimpl_id | | 'MIP15178'
|
||||
| name | | 'le 01/07/2011'
|
||||
| nb_abs | | 0
|
||||
| nb_att | | 0
|
||||
| nb_inscrits | | 2
|
||||
| nb_neutre | | 0
|
||||
| nb_notes | | 2
|
||||
| note_html | | '12.00'
|
||||
| note_max | | 20.0
|
||||
| note_txt | | '12.00'
|
||||
| notes | | { voir plus loin }
|
||||
| publish_incomplete | | '0'
|
||||
| visibulletin | | '1'
|
||||
|
||||
**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 | evalcomplete | | True
|
||||
| evaluation_id | id interne | 15226
|
||||
list | gr_incomplets | | []
|
||||
list | gr_moyennes | | []
|
||||
list | groups | liste des groupes | {}
|
||||
datetime | last_modif | | datetime
|
||||
string | median | note médianne promo | '11.00'
|
||||
string | moy | note moyenne promo | '11.00'
|
||||
| nb_abs | nb étudiants absents | 0
|
||||
| nb_att | nb notes en attente | 0
|
||||
| nb_inscrits | nb inscrits à ce module | 2
|
||||
| nb_neutre | nb notes neutralisées | 0
|
||||
| nb_notes | nb notes saisies | 2
|
||||
list | gr_incomplets | | []
|
||||
list | gr_moyennes | | []
|
||||
list | groups | liste des groupes | {}
|
||||
datetime | last_modif | | datetime
|
||||
string | median | note médianne promo | '11.00'
|
||||
string | moy | note moyenne promo | '11.00'
|
||||
| nb_abs | nb étudiants absents | 0
|
||||
| nb_att | nb notes en attente | 0
|
||||
| nb_inscrits | nb inscrits à ce module | 2
|
||||
| nb_neutre | nb notes neutralisées | 0
|
||||
| nb_notes | nb notes saisies | 2
|
||||
|
||||
|
||||
`gr_moyennes` est un dict:
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
| gr_median | | '11.00'
|
||||
| gr_moy | | '11.00'
|
||||
| gr_nb_att | | 0
|
||||
| gr_nb_notes | | 2
|
||||
| group_id | | 'G24919'
|
||||
| group_name | | None
|
||||
| gr_median | | '11.00'
|
||||
| gr_moy | | '11.00'
|
||||
| gr_nb_att | | 0
|
||||
| gr_nb_notes | | 2
|
||||
| group_id | | 'G24919'
|
||||
| group_name | | None
|
||||
|
||||
**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:
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
string | comment | commentaire saisie note | *
|
||||
datetime | date | date de saisie | <mx.DateTime.DateTime object>
|
||||
string | etudid | | 'EID15214'
|
||||
string | evaluation_id | | 'EVAL15226'
|
||||
string | uid | utilisateur ayant saisi la note | 'admin'
|
||||
float | value | valeur de la note (sur 20) | 10.0
|
||||
string | comment | commentaire saisie note | *
|
||||
datetime | date | date de saisie | <mx.DateTime.DateTime object>
|
||||
string | etudid | | 'EID15214'
|
||||
string | evaluation_id | | 'EVAL15226'
|
||||
string | uid | utilisateur ayant saisi la note | 'admin'
|
||||
float | value | valeur de la note (sur 20) | 10.0
|
||||
|
||||
|
||||
|
||||
### Décisions de jury et autres informations
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
### Décisions de jury et autres informations
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
| decision_sem | | None ou dict
|
||||
string | decision_jury | décision du jury en clair (présent seulement si décision saisie) | 'Validé'
|
||||
list | appreciations | | []
|
||||
list | appreciations_list | | []
|
||||
list | appreciations_txt | | []
|
||||
string | mention | texte de la mention calculée | 'Très bien'
|
||||
| filigranne | texte en surimpression | 'Provisoire'
|
||||
| decision_sem | | None ou dict
|
||||
string | decision_jury | décision du jury en clair (présent seulement si décision saisie) | 'Validé'
|
||||
list | appreciations | | []
|
||||
list | appreciations_list | | []
|
||||
list | appreciations_txt | | []
|
||||
string | mention | texte de la mention calculée | 'Très bien'
|
||||
| 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
|
||||
fonction log, qui envoie du texte dans le fichier de log courant, normalement
|
||||
|
@ -1,16 +1,17 @@
|
||||
<!-- markdownlint-disable MD007 -->
|
||||
# Suivi de l'assiduité
|
||||
|
||||
Ce module de ScoDoc remplace l'ancien module de suivi des absences de Scodoc.
|
||||
Il propose des fonctions plus étendues: absences, retards, justificatifs (et
|
||||
gestion des documents associés) avec une granularité fine, des outils de
|
||||
*reporting* et une API complète permettant d'interfacer des modules tiers.
|
||||
_reporting_ et une API complète permettant d'interfacer des modules tiers.
|
||||
|
||||
Ce projet a été développé de 2022 à 2024, par Matthias Hartmann, apprenti de l'IUT de
|
||||
Lannion financé par l'Association ScoDoc.
|
||||
|
||||
**Ce module est disponible à partir de ScoDoc version 9.6**.
|
||||
|
||||
[Vidéo de présentation du module d'assiduités ](https://youtu.be/p7xips26W54)
|
||||
[Vidéo de présentation du module d'assiduités](https://youtu.be/p7xips26W54)
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
@ -21,20 +22,9 @@ Le module fournit:
|
||||
heure de fin au lieu de demi-journées)
|
||||
- Gestion et sauvegarde de justificatifs (documents)
|
||||
- Une [API complète](ScoDoc9API.md#api-assiduites)
|
||||
- [**EXPERIMENTAL**] Raccordement à un emploi du temps ([documentation](EmploisDuTemps.md))
|
||||
|
||||
## Guide d'utilisation
|
||||
|
||||
- [Suivi de l'assiduité](#suivi-de-lassiduité)
|
||||
- [Fonctionnalités](#fonctionnalités)
|
||||
- [Guide d'utilisation](#guide-dutilisation)
|
||||
- [Migration de l'ancien module](#migration-de-lancien-module)
|
||||
- [Personnalisation du module](#personnalisation-du-module)
|
||||
- [Saisie des Assiduités](#saisie-des-assiduités)
|
||||
- [Saisie d'un groupe](#saisie-dun-groupe)
|
||||
- [Saisie Journalière](#saisie-journalière)
|
||||
- [Saisie différée](#saisie-différée)
|
||||
|
||||
### Migration de l'ancien module
|
||||
## Migration de l'ancien module
|
||||
|
||||
Afin de favoriser la transition de l'ancien module au nouveau, un script de
|
||||
migration a été développé: à l'installation de ScoDoc 9.6, les anciennes
|
||||
@ -43,216 +33,247 @@ données d'absences et justificatifs sont traduites pour ce module.
|
||||
Voir détails dans [la documentation d'installation](UpgradeToDeb12Sco96.md) et
|
||||
sur la [documentation des commandes de migration des absences](AssiduitesMigration.md).
|
||||
|
||||
### Personnalisation du module
|
||||
## Personnalisation du module
|
||||
|
||||
Le module possède deux types de configuration, une générale et une par département/semestre.
|
||||
|
||||
**La configuration générale permet de configurer la ligne temporelle visible sur certaines pages de saisie d'assiduités.**
|
||||
### La configuration générale
|
||||
|
||||
Elle permet de configurer les horaires de saisie d'assiduités
|
||||
|
||||
!!! warning "Attention"
|
||||
La configuration bloque les saisies en dehors des horaires définis.
|
||||
|
||||
![Configuration de l'assiduité : Général](screens/config_assiduites_gen.png)
|
||||
|
||||
Route : `/ScoDoc/config_assiduites`
|
||||
|
||||
- `Début de la journée` : l'heure de début de la ligne temporelle (par défaut :
|
||||
- `Début de la journée` : l'heure de début des cours (par défaut :
|
||||
8h00)
|
||||
- `L'heure de midi` : l'heure pivot qui sépare la matinée de l'après-midi (par
|
||||
défaut : 13h00)
|
||||
- `Fin de la journée` : l'heure de fin de la ligne temporelle (par défaut :
|
||||
- `Fin de la journée` : l'heure de fin des cours (par défaut :
|
||||
18h00)
|
||||
- `Granularité` : La granularité de la ligne temporelle. (par défaut : 15 min)
|
||||
- `Granularité` : La granularité de la saisie (par défaut : 15 min)
|
||||
|
||||
**La configuration par département/semestre permet de configurer certaines actions liés à l'assiduité**
|
||||
### La configuration par département/semestre
|
||||
|
||||
Elle permet de configurer certaines actions liés à l'assiduité
|
||||
|
||||
![Configuration de l'assiduité : département](screens/config_assiduites_dept.png)
|
||||
|
||||
Route : `/ScoDoc/<Dept>/Scolarite/edit_preferences`
|
||||
|
||||
- `Forcer la déclaration du module` : Forcer les utilisateurs de ScoDoc à
|
||||
- `Imposer la déclaration du module` : Forcer les utilisateurs de ScoDoc à
|
||||
renseigner le module à chaque saisie d'assiduités.
|
||||
- `Forcer l'appel des présents` : Force les utilisateurs à noter les
|
||||
présences/absences/retard lors d'une saisie.
|
||||
- `Durée par défaut d'un créneau` : Détermine la durée classique d'un cours. (Ce
|
||||
sera la période préenregistrée sur la ligne temporelle)
|
||||
- `Définir l'état par défaut` : Défini l'état par défaut qui sera appliqué aux
|
||||
étudiants avant validation d'une saisie d'assiduité.
|
||||
- `Désactiver la saisie des présences` : Retire les boutons et les affichages liés aux présences.
|
||||
- `Jours non travaillés` : Défini les jours sur lesquels la saisie d'assiduités
|
||||
ne sera pas possible.
|
||||
- `Métrique de l'assiduité` : Défini l'unité de l'assiduité qui sera utilisé par
|
||||
les autres modules de ScoDoc.
|
||||
- `1/2 J.` : Demi-Journée
|
||||
- `J.` : Journées
|
||||
- `H.` : Heures
|
||||
- `1/2 J.` : Demi-Journée
|
||||
- `J.` : Journées
|
||||
- `H.` : Heures
|
||||
- `Seuil d'alerte des absences` : Nombre d'absences limite avant alerte (utilisation de la métrique d'assiduité)
|
||||
|
||||
### Saisie des Assiduités
|
||||
## Gestion de l'assiduité
|
||||
|
||||
La saisie se fait soit sur un groupe soit sur un étudiant. Dans tous les cas il
|
||||
y a deux façons de saisir l'assiduité. Une saisie `Journalière` et une saisie
|
||||
`Différée`.
|
||||
### Saisir l'assiduité d'un groupe
|
||||
|
||||
#### Saisie d'un groupe
|
||||
#### Saisir par Jour
|
||||
|
||||
Comme dans l'ancien système, pour saisir l'assiduité d'un groupe il faut se
|
||||
rendre sur la page un semestre du département concerné.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/signal_assiduites_group?formsemestre_id=<formsemestre_id>&group_ids=<group_id,...>&day=<yyyy-mm-dd>`
|
||||
|
||||
![Page du semestre concerné](#)
|
||||
_Page accessible depuis le tableau de bord d'un semestre (`Saisir l'assiduité`)._
|
||||
|
||||
Au bas de cette page vous retrouverez la liste des groupes du semestre. Si vous
|
||||
avez la permission de modifier l'assiduité, vous observerez 3 boutons
|
||||
supplémentaires sur chaque groupe vous permettant de voir ou saisir l'assiduité
|
||||
du groupe.
|
||||
_Page accessible depuis le tableau de bord d'un module (`Saisie Absences`)._
|
||||
|
||||
#### Saisie Journalière
|
||||
![Saisir l'assiduité](screens/signal_assiduites_group.png)
|
||||
|
||||
La première chose à faire lorsque vous êtes arrivés sur la page "Saisie
|
||||
Journalière" c'est de compléter les informations de la séance :
|
||||
##### Composition de la page
|
||||
|
||||
![Capture des sélecteurs](#)
|
||||
- Choix du/des groupe(s) et de la date
|
||||
![Choix groupe et date](screens/signal_assiduites_group-groupe.png)
|
||||
- Vous pouvez cliquer sur le calendrier pour changer plus facilement la date. Si la date n'est pas un jour travaillé la page sélectionnera automatiquement le prochain jour travaillé.
|
||||
- Vous pouvez afficher plusieurs groupes en cliquant sur le nom du group affiché ( ici TP1(10) )
|
||||
- Timeline / choix de la plage concernée (exemple : durée d'un cours)
|
||||
![Timeline](screens/signal_assiduites_group-timeline.png)
|
||||
- La zone bleu est un élément intéractif. Elle correspond à la plage concernée. Vous pouvez la déplacer en cliquant dessus puis en déplaçant la souris en gardant maintenu le clic. Vous pouvez également l'agrandir ou rétrécir en effectuant la même action mais depuis un des bords de la zone bleu. Le curseur changera pour vous indiquer que vous aller modifier la taille.
|
||||
- Sinon vous pouvez directement changer les horaires à l'aide des sélecteurs à gauche de la timeline
|
||||
- Vous pouvez aussi utiliser les boutons `Matin` et `Après-midi` pour placer rapidement la zone bleue.
|
||||
- Choix du module (et affichage ou non des photos des étudiants)
|
||||
![Module](screens/signal_assiduites_group-module.png)
|
||||
- Vous pouvez changer de module en cliquant sur le sélecteur. Un message d'avertissement s'affichera si vous ne sélectionnez pas de module alors que la préférence `Imposer la déclaration du module` est active.
|
||||
- Vous pouvez afficher ou non les photos des étudiants en cochant la case `Afficher les photos`
|
||||
- Lignes étudiants et saisie
|
||||
![Lignes étudiantes](screens/signal_assiduites_group-lignes_etud.png)
|
||||
|
||||
- Le ou les groupes sélectionnés (dans la plupart des cas, le groupe est déjà
|
||||
présélectionné)
|
||||
- Le module concerné (par défaut il n'est pas obligatoire de sélectionner un
|
||||
module, cependant une configuration permet de forcer la sélection)
|
||||
- La date de la saisie. Attention, seule les dates comprises dans le semestre
|
||||
sont valides. (Un message d'erreur vous le signalera si la date n'est pas
|
||||
valide)
|
||||
##### Composition d'une ligne étudiante
|
||||
|
||||
Lorsque vous êtes sûr de vous, appuyer sur le bouton `Valider`.
|
||||
![Ligne étudiante classique](screens/signal_assiduites-group-ligne-etud.png)
|
||||
|
||||
**Attention : La validation est définitive, si vous avez fait une erreur il faudra recharger la page**
|
||||
- En premier il y a les informations de l'étudiant (nom, prenom, photo)
|
||||
- ensuite il y a symbolisation des assiduités sur la journée.
|
||||
- le petit carré affiche la dernière assiduité du jour précédent
|
||||
- la ligne affiche l'assiduité de la journée. La taille des blocs est proportionnelle à la taille de l'assiduité saisie.
|
||||
- La zone bleue correspond à la plage de saisie (Timeline)
|
||||
- Enfin il y a les boutons de saisie. Dans l'ordre
|
||||
- Présence
|
||||
- Retard
|
||||
- Absence
|
||||
|
||||
Après la validation, les champs précédents seront grisés.
|
||||
!!! warning "Attention"
|
||||
il est possible que la plage de saisie rentre en conflit avec la plage d'une assiduité.
|
||||
_(Il est impossible d'avoir deux assiduités aux même moment. Cela produit donc un conflit.)_
|
||||
Ce conflit est symbolisé par la mise en évidence de la ligne étudiante
|
||||
|
||||
Explication de l'interface
|
||||
![Conflit](screens/signal_assiduites_group-conflit.png)
|
||||
|
||||
![Capture de l'interface](#)
|
||||
Pour résoudre ce conflit il faudra effectuer au moins une de ces actions:
|
||||
|
||||
1. La ligne temporelle (Timeline) sert à désigner la période de l'assiduité qui sera saisie.
|
||||
- Changer la plage de saisie
|
||||
- Modifier l'assiduité qui rentre en conflit
|
||||
- Supprimer l'assiduité qui rentre en conflit
|
||||
- Ne pas saisir pour l'étudiant concerné
|
||||
- Utiliser le résolveur de conflit (l’icône à droite de la ligne étudiante)
|
||||
|
||||
Il est possible de la déplacer en maintenant le clic gauche dessus puis en
|
||||
bougeant la souris.
|
||||
!!! info "Astuces"
|
||||
- Vous pouvez passer la souris sur les blocs d'assiduités / le petit carré pour avoir plus d'informations.
|
||||
- Vous pouvez cliquer sur un bloc pour changer la plage de saisie à la plage de l'assiduité.
|
||||
- Vous pouvez cliquer sur les ℹ️ pour ouvrir la page de modification d'une assiduité
|
||||
|
||||
Si la période n'est pas de la bonne taille, il est possible de l'agrandir ou
|
||||
de la réduire en plaçant sa souris à l'extrémité droite.
|
||||
#### Saisir par Semaine
|
||||
|
||||
Votre curseur devrait changer, à partir de ce moment là vous pouvez cliquer
|
||||
puis bouger l'extrémité pour modifier la taille de la période.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/signal_assiduites_hebdo?formsemestre_id=<formsemestre_id>&group_ids=<group_id,...>&week=<yyyy-Www : 2024-W25 >`
|
||||
|
||||
Si la période bouge toujours alors que vous avez lâché le clic gauche,
|
||||
cliquer à nouveau.
|
||||
_Page accessible depuis le tableau de bord d'un semestre (`Saisie hebdomadaire`)._
|
||||
|
||||
2. Les boutons d'actions de masse `Mettre tout le monde : `. Ces boutons
|
||||
définirons le même état pour chaque étudiant sur la période sélectionnée.
|
||||
_Page accessible depuis le tableau de bord d'un module (`Saisie Absences(Hebdo)`)._
|
||||
|
||||
En cliquant sur un bouton d'état, l'état sera mis pour chaque étudiant, pour
|
||||
modifier cet état il faut appuyer sur un autre bouton d'état.
|
||||
!!! warning "Attention"
|
||||
Les semaines sont restreintes au semestre en cours. Vous ne pourrez pas saisir en dehors du semestre.
|
||||
|
||||
Si vous souhaitez retirer les assiduités, il faut cliquer sur le bouton
|
||||
d'état ayant le même état que les étudiants.
|
||||
Cliquer sur `autre semaine` affichera un calendrier du semestre en cours. Vous pourrez ensuite choisir la semaine en cliquant sur le calendrier.
|
||||
|
||||
3. Les lignes étudiants sont des lignes montrant les informations d'assiduité de
|
||||
chaque étudiant. Chaque ligne est composée de 3 parties :
|
||||
!!! info "Astuce"
|
||||
Vous pouvez changer les horaires en cliquant dessus. Par défaut ils correspondent à la configuration générale.
|
||||
|
||||
1. Le nom, le prénom et une photo de l'étudiant afin de le reconnaître
|
||||
facilement
|
||||
![Saisie Hebdomadaire](screens/saisie_hebdo.png)
|
||||
|
||||
2. Une petite ligne temporelle montrant l'assiduité de l'étudiant sur la
|
||||
journée.
|
||||
### Saisir l'assiduité d'un étudiant
|
||||
|
||||
Le carré au début de la ligne montre la dernière assiduité du jour
|
||||
précédent.
|
||||
#### Ajouter une assiduité
|
||||
|
||||
En passant votre souris au dessus des couleurs, vous aurez accès à plus
|
||||
d'informations sur l'assiduité de l'étudiant.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/ajout_assiduite_etud?etudid=<etudid>`
|
||||
|
||||
Cliquer sur une assiduité positionnera la ligne temporelle globale sur
|
||||
la période de l'assiduité.
|
||||
_Page accessible en cliquant sur `Ajouter` dans la barre latérale._
|
||||
|
||||
La période globale est représentée par un encadré bleu sur la ligne
|
||||
temporelle.
|
||||
!!! warning "Attention"
|
||||
Les modules proposés sont lié au semestre courant. Si vous souhaitez saisir une assiduité pour un semestre passé, vous devez aller sur la page [Bilan](#bilan) du semestre concerné puis cliquer sur `signaler l'assiduité` dans la ligne de l'étudiant concerné.
|
||||
|
||||
Les assiduités justifiées et validés sont représentés par leur couleur
|
||||
respective + un hachage bleu
|
||||
![Ajouter une assiduité](screens/ajout_assiduite_etud.png)
|
||||
|
||||
Les assiduités justifiées mais non validées sont représentés par leur
|
||||
couleur respective + un hachage rouge.
|
||||
#### Modifier / Voir une assiduité
|
||||
|
||||
3. Les boutons d'assiduités individuels. Ces boutons permettent de déterminer l'état de l'étudiant.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/edit_assiduite_etud/<assiduite_id>`
|
||||
|
||||
Ils fonctionnent de la même façon que les boutons `mettre tout le monde :`.
|
||||
_Page accessible en cliquant sur ℹ️ dans les tableaux d'assiduités._
|
||||
|
||||
Si la ligne de l'étudiant est rouge, cela signifie que la période
|
||||
sélectionnée rentre en conflit avec les assiduités de l'étudiant.
|
||||
Cliquer sur un bouton d'assiduité ne modifiera pas l'état de l'étudiant
|
||||
mais ouvrira un menu de résolution de conflit.
|
||||
![Modification d'une assiduité](screens/edit_assiduite_etud.png)
|
||||
|
||||
![Résolution de conflit](#)
|
||||
#### Ajouter un justificatif
|
||||
|
||||
Les assiduités de la page sont enregistrées en temps réel. Lorsque la saisie est
|
||||
terminée vous pouvez fermer la page.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/ajout_justificatif_etud?etudid=<etudid>`
|
||||
|
||||
#### Saisie différée
|
||||
_Page accessible en cliquant sur `Justifier` dans la barre latérale._
|
||||
|
||||
La page saisie différée a pour but de faciliter la saisie d'assiduités avec
|
||||
plusieurs périodes.
|
||||
Un justificatif peut prendre un des états suivants :
|
||||
|
||||
![Page différée](#)
|
||||
- En attente de validation
|
||||
- Non valide
|
||||
- Modifié
|
||||
- Valide
|
||||
|
||||
La page est composée d'un tableau et d'un bouton valider.
|
||||
**Cette page ne sauvegarde pas automatiquement les modifications**
|
||||
!!! warning "Attention"
|
||||
Pour saisir les états `Valide` , `Modifié`, `Non valide` il faut obligatoirement la permission `JustifValidate`
|
||||
|
||||
Explication du tableau :
|
||||
!!! warning "Attention"
|
||||
Seul l'état `Valide` permet de justifier une assiduité. Les autres états sont là pour faciliter le suivi du justificatif.
|
||||
|
||||
- La colonne `Noms` : Vous y retrouverez tous les étudiants du groupe
|
||||
sélectionné. En cliquant sur le titre de la colonne vous pourrez changer
|
||||
l'ordre des étudiants (croissant ou décroissant)
|
||||
- Les colonnes `Assiduités` : Lorsque vous arrivez sur la page, une seule
|
||||
colonne d'assiduité est présente.
|
||||
Il est possible d'importer des fichiers (exemple: une convocation au permis de conduire ) et de donner une description au justificatif.
|
||||
|
||||
Si vous avez besoins d'autres colonnes, appuyer sur le bouton `+`.
|
||||
!!! warning "Attention"
|
||||
Les justificatifs pouvant contenir des informations sensibles, seuls ceux ayant la permission `AbsJustifView` et celui qui a saisie l'information peuvent voir la description et les fichiers.
|
||||
|
||||
Si vous souhaitez supprimer une colonne appuyer sur la `croix X` de la
|
||||
colonne.
|
||||
![Ajouter un justificatif à un étudiant](screens/ajout_justificatif_etud.png)
|
||||
|
||||
Il vous faudra remplir la colonne afin de pouvoir saisir l'assiduité des
|
||||
étudiants :
|
||||
#### Modifier / Voir un justificatif
|
||||
|
||||
1. La date de début : Sur la première colonne, la date par défaut sera la
|
||||
date du jour, sur les nouvelles colonnes, la date par défaut sera la date
|
||||
de fin de la colonne précédente.
|
||||
2. La date de fin : La date de fin n'est pas renseignée par défaut,
|
||||
cependant la première fois que vous changer la date de début de la
|
||||
colonne, la date de fin sera automatiquement mise à jour de façon à
|
||||
prendre la taille d'un créneau classique (configuration du
|
||||
semestre/département).
|
||||
3. Le module concerné par l'assiduité. Ce sélecteur n'est pas obligatoire
|
||||
par défaut (configuration du semestre/département).
|
||||
4. `Sélectionner une assiduité` permet de mettre tous les étudiants à un
|
||||
certain état. Ce sélecteur n'est pas obligatoire.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/edit_justificatif_etud/<justif_id>`
|
||||
|
||||
- Chaque ligne du tableau correspond à un étudiant. Vous pouvez alors
|
||||
sélectionner l'état de l'assiduité de chaque étudiant pour chaque colonne.
|
||||
_Page accessible en cliquant sur ℹ️ dans les tableaux de justificatifs._
|
||||
|
||||
Après avoir rempli le tableau il faudra valider en cliquant sur `valider les assiduités`.
|
||||
!!! info "Astuce"
|
||||
Cliquer sur le nom d'un fichier permet de le télécharger
|
||||
|
||||
Après validation, toutes les colonnes seront désactivées, si besoins vous pouvez
|
||||
les réactiver en cliquant sur `Activer` pour chaque colonne.
|
||||
!!! warning "Attention"
|
||||
Pour saisir les états `Valide` , `Modifié`, `Non valide` il faut obligatoirement la permission `JustifValidate`
|
||||
|
||||
Il est possible que des erreurs apparaissent. Les erreurs sont gérées par
|
||||
colonnes puis par étudiant. Cela signifie qu'une erreur de colonne (ex: une
|
||||
mauvaise date) désactivera complètement la colonne alors qu'une erreur
|
||||
d'étudiant (ex: l'étudiant possède déjà une assiduité sur cette période)
|
||||
désactivera uniquement l'envoie de l'assiduité le concernant.
|
||||
![Modification d'un justificatif](screens/edit_justificatif_etud.png)
|
||||
|
||||
Vous pouvez obtenir plus d'informations sur l'erreur en plaçant votre souris au dessus du `ℹ️`.
|
||||
### Voir l'assiduité d'un groupe
|
||||
|
||||
Il est possible de forcer la mise à jour des assiduités : **Attention, cela ne
|
||||
fonctionnera que pour les assiduités ayant exactement la même période** (ceci
|
||||
permet de corriger facilement les saisies où l'on aurait oublié d'indiquer le
|
||||
module).
|
||||
#### Bilan
|
||||
|
||||
Chaque colonne possède un numéro distinctif qui est visible en laissant la
|
||||
souris au dessus de l'entête de la colonne. Ce numéro est utilisé dans les
|
||||
messages d'erreurs.
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/visu_assi_group?date_debut=<yyyy-mm-dd>&date_fin=<yyyy-mm-dd>&group_ids=<group_id>`
|
||||
|
||||
_Page accessible depuis le tableau de bord d'un semestre._
|
||||
|
||||
La page est configurée par défaut pour afficher les comptes sur la durée du semestre. Mais il est possible de changer les dates puis de cliquer sur `Changer`.
|
||||
|
||||
L'option `Restreindre aux modules de ce semestre` permet de ne comptabiliser que les assiduités ayant un module spécifié.
|
||||
(Le module `Autre` ne sera pas comptabilisé)
|
||||
|
||||
![Visualisation de l'assiduité d'un groupe](screens/bilan_assiduites_group.png)
|
||||
|
||||
### Voir l'assiduité d'un étudiant
|
||||
|
||||
#### Liste/Bilan
|
||||
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/bilan_etud?etudid=<etudid>`
|
||||
|
||||
_Page accessible en cliquant sur `Liste/Bilan` dans la barre latérale._
|
||||
|
||||
Cette page permet :
|
||||
|
||||
- d'afficher les statistiques de l'assiduité d'un étudiant sur une période. (par défaut : l'année scolaire en cours)
|
||||
- d'afficher la liste des assiduités et justificatifs enregistrés pour l'étudiant
|
||||
- d'afficher si l'étudiant a trop d'absences (par rapport à la préférence `Seuil d'alerte des absences`)
|
||||
|
||||
![Liste/Bilan de l'assiduité d'un étudiant](screens/bilan_assiduites_etud.png)
|
||||
|
||||
#### Calendrier
|
||||
|
||||
Route : `/ScoDoc/<DEPT>/Scolarite/Assiduites/calendrier_assi_etud?etudid=<etudid>`
|
||||
|
||||
_Page accessible en cliquant sur `Calendrier` dans la barre latérale._
|
||||
|
||||
La page calendrier permet d'afficher un calendrier de l'année scolaire en cours et d'afficher l'assiduité de l'étudiant concerné.
|
||||
Il est possible de changer l'année en cours à l'aide du sélecteur en bas de page.
|
||||
|
||||
En haut de la page se trouve des éléments de configuration de l'affichage :
|
||||
|
||||
- `Afficher les présences` : permet d'afficher les présences (par défaut : Non)
|
||||
- `Afficher les retards` : permet d'afficher les retards (par défaut : Non)
|
||||
- `Mode demi-journée` : permet d'afficher l'assiduité par demi-journée (par défaut : Oui). Si non coché, l'assiduité sera montrée par journée
|
||||
|
||||
La zone avec les bordures oranges correspond à la semaine en cours.
|
||||
|
||||
![Calendrier de l'Assiduité d'un étudiant](screens/calendrier_assiduite_etud.png)
|
||||
|
||||
!!! info "Astuces"
|
||||
Passer sa souris sur un jour affichera une bulle. Cette bulle montre les assiduités de la journée.
|
||||
Il est aussi possible de cliquer sur les assiduités de la bulle pour se rendre sur leur page d'édition.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
|
@ -23,8 +23,8 @@ l'association et leur permettra d'accéder aux nouvelles fonctionnalités, mise
|
||||
jour et support technique.
|
||||
|
||||
Plusieurs types d'adhésion sont possibles, voir le [bulletin d'adhésion
|
||||
PDF](papers/Adhesion-2023-2024-Association-ScoDoc.pdf) ([version
|
||||
Word](papers/Adhesion-2023-2024-Association-ScoDoc.docx)), à renvoyer à
|
||||
PDF](papers/Adhesion-2024-2025-Association-ScoDoc.pdf) ([version
|
||||
Word](papers/Adhesion-2024-2025-Association-ScoDoc.docx)), à renvoyer à
|
||||
<emmanuel.viennet@gmail.com>. (note: toutes les informations nécessaires à la
|
||||
"création fournisseur" sont sur le bulletin d'adhésion).
|
||||
|
||||
|
@ -1,3 +1,22 @@
|
||||
# Les jurys de BUT
|
||||
|
||||
Page à rédiger.
|
||||
!!! warning Travaux en cours
|
||||
Cette page est en cours de rédaction.
|
||||
|
||||
Le Bachelor Universitaire de Technologie (BUT) institue des règles de
|
||||
progression et de validation spécifiques dont ScoDoc tient compte.
|
||||
|
||||
## Décisions de jury en BUT
|
||||
|
||||
*décrire sur quoi portent les décisions (UE, )
|
||||
|
||||
Voir détail des codes [Codes de jurys BUT](BUTCodesJury.md).
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Récapitulatif des opérations en fin de semestre](TransitionSemestre.md)
|
||||
- [Codes de jurys BUT](BUTCodesJury.md)
|
||||
- [Calculs spécifiques en BUT](BUT.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
@ -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);
|
||||
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
|
||||
configurée (cf. [Intégration de la formule](#intégration-de-la-formule)).
|
||||
d'inclure un bonus dont la valeur n'est pas calculée par la formule
|
||||
configurée (cf. [Intégration de la règle de calcul](#integration-de-la-regle-de-calcul)).
|
||||
|
||||
## 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) |
|
||||
| **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 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 |
|
||||
| **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. |
|
||||
@ -88,7 +88,7 @@ Si l'établissement n'apparaît pas:
|
||||
modificateur (après un calcul préalable hors scodoc)
|
||||
|
||||
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,
|
||||
- l'extrait du règlement intérieur qui décrit cette bonification, (celui ci
|
||||
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
|
||||
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 à
|
||||
éviter pour le bonus sport/culture afin d'éviter l'affichage d'une
|
||||
section bonus vide dans les bulletins des étudiants non concernés.
|
||||
|
@ -35,8 +35,8 @@ réglées via via la page **Paramétrage** de chaque département:
|
||||
![Réglage des notifications](fig/config-dept-abs.png)
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
|
||||
- Configuration système: [Envoi des courriers électroniques](ProblemesMail.md)
|
||||
- Installation, flux réseaux et configuration: [Guide d'installation](GuideInstallDebian11.md)
|
||||
- Installation, flux réseaux et configuration: [Guide d'installation](GuideInstallDebian12.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
||||
|
@ -24,6 +24,7 @@ utilisateurs de l'API.
|
||||
* **EtudChangeAdr** : Changer les adresses d'étudiants
|
||||
* **EtudChangeGroups** : Modifier les groupes
|
||||
* **EtudInscrit** : Inscrire des étudiants
|
||||
* **JustifValidate** : Définir la validité d'un justificatif (valide, invalide, modifié)
|
||||
* **Observateur** : Observer (accès lecture restreint aux bulletins)
|
||||
* **RelationsEntrepEdit** : Modifier les entreprises
|
||||
* **RelationsEntrepExport** : Exporter les données de l'application relations entreprises
|
||||
|
@ -13,8 +13,8 @@ aussi bien l'affaire).
|
||||
### Conseils pour la machine virtuelle
|
||||
|
||||
[VirtualBox](https://www.virtualbox.org/) est facile à installer sur Linux ou
|
||||
Windows. Créer une VM avec Debian 10, et suivre la
|
||||
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian11.md).
|
||||
Windows. Créer une VM avec Debian 12, et suivre la
|
||||
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian12.md).
|
||||
|
||||
Sur les Macs anciens (processeurs Intel), VirtualBox fonctionne bien. Sur les
|
||||
modèles "M1" (Apple Silicon), je conseille d'utiliser
|
||||
@ -70,7 +70,7 @@ la VM:
|
||||
|
||||
ici `enp0s8` correspond à l'`Adapter 2`. Si vous travaillez sur une machine fixe
|
||||
avec connexion permanente, vous pouvez dans Debian activer cette interface
|
||||
constamment (modifier `/etc/network/interfaces`).
|
||||
constamment (modifier `/etc/network/interfaces`).
|
||||
|
||||
### Noms des machines
|
||||
|
||||
@ -91,9 +91,9 @@ type `sshfs`peut aussi faire l'affaire).
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
-
|
||||
-
|
@ -33,7 +33,7 @@ permet d'indiquer le semestre et l'étudiant à regarder.
|
||||
|
||||
Vous trouverez les sources du projet, les tickets (*issues*) et autres outils sur
|
||||
|
||||
* [gitea](https://scodoc.org/git/)
|
||||
* [gitea](https://git.scodoc.org)
|
||||
|
||||
Vous pouvez demander un compte sur cette plate-forme pour ajouter des tickets,
|
||||
proposer votre code (*pull requests*).
|
||||
|
@ -7,7 +7,7 @@ collègues, ou en développant ou testant le logiciel.
|
||||
|
||||
Les canaux de communication entre développeurs sont
|
||||
[indiqués sur cette page](Contact.md). Vous pouvez demander un compte sur le [git du
|
||||
projet](https://scodoc.org/git), consulter/ajouter des tickets, proposer votre
|
||||
projet](https://git.scodoc.org), consulter/ajouter des tickets, proposer votre
|
||||
code (*pull requests*).
|
||||
|
||||
## Contribuer à la documentation
|
||||
@ -21,11 +21,11 @@ La documentation est constituée de deux parties:
|
||||
- Les pages Web comme celle que vous lisez actuellement. La documentation est
|
||||
générée via `MkDocs`, un système très simple basé sur le format
|
||||
[Markdown](https://www.markdownguide.org/basic-syntax/). Toutes les sources
|
||||
sont sur le [dépôt git DocScoDoc](https://scodoc.org/git/viennet/DocScoDoc).
|
||||
sont sur le [dépôt git DocScoDoc](https://git.scodoc.org/viennet/DocScoDoc).
|
||||
|
||||
## Contribuer au logiciel
|
||||
|
||||
Le [dépôt principal](https://scodoc.org/git/viennet/ScoDoc) comporte plusieurs
|
||||
Le [dépôt principal](https://git.scodoc.org/viennet/ScoDoc) comporte plusieurs
|
||||
branches. Voir le [guide pour les développeurs](GuideDeveloppeurs.md).
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Utilisation de git pour ScoDoc
|
||||
|
||||
Le dépôt est <https://scodoc.org/git/viennet/ScoDoc>
|
||||
Le dépôt est <https://git.scodoc.org/viennet/ScoDoc>
|
||||
|
||||
La branche `master` est celle de ScoDoc 9, d'où sont issues les paquets
|
||||
distribués (*releases*). Les développements ont lieu sur d'autres branches
|
||||
@ -48,7 +48,7 @@ mises à jour de `master` (remote), faire:
|
||||
Vous travaillez sur un clone du dépôt principal ("origin"), obtenu par exemple via
|
||||
|
||||
```bash
|
||||
git clone https://scodoc.org/git/ScoDoc/ScoDoc.git
|
||||
git clone https://git.scodoc.org/ScoDoc/ScoDoc.git
|
||||
```
|
||||
|
||||
remplacer par l'URL de votre dépôt sur gitea au besoin. Si vous avez votre
|
||||
@ -57,12 +57,12 @@ nommé `mon_origin`), l'autre pour le dépôt principal ScoDoc (ici nommé
|
||||
`origin`).
|
||||
|
||||
```bash
|
||||
git remote add origin https://scodoc.org/git/viennet/ScoDoc.git
|
||||
git remote add origin https://git.scodoc.org/viennet/ScoDoc.git
|
||||
git remote -v
|
||||
mon_origin https://xxx.xxx (fetch)
|
||||
mon_origin https://xxx.xxx (push)
|
||||
origin https://scodoc.org/git/viennet/ScoDoc.git (fetch)
|
||||
origin https://scodoc.org/git/viennet/ScoDoc.git (push)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (fetch)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (push)
|
||||
```
|
||||
|
||||
Ensuite, tout est prêt, vous créez votre branche:
|
||||
@ -103,7 +103,7 @@ Lint tous les fichiers modifiés:
|
||||
Affiche les variables non définies dans un fichier:
|
||||
|
||||
```bash
|
||||
pylint --disable=all -e E sco_parcours_dut.py | grep undefined-variable | awk '{print $4;}' | sort | uniq | tr -d \'
|
||||
pylint --disable=all -e E sco_parcours_dut.py | grep undefined-variable | awk '{print $4;}' | sort | uniq | tr -d \'
|
||||
```
|
||||
|
||||
Prépare un sed pour renommer les variables non définies:
|
||||
@ -154,14 +154,14 @@ la mise en place, le suivi et la livraison.
|
||||
#### L'installation
|
||||
|
||||
Il est pratique d'avoir en ligne les deux dépôts git distants que vous pouvez
|
||||
utiliser : votre dépôt personnel (`https://scodoc.org/git/<user>/<dépôt>.git`) et
|
||||
le dépôt officiel (`https://scodoc.org/git/ScoDoc/ScoDoc.git`).
|
||||
utiliser : votre dépôt personnel (`https://git.scodoc.org/<user>/<dépôt>.git`) et
|
||||
le dépôt officiel (`https://git.scodoc.org/ScoDoc/ScoDoc.git`).
|
||||
|
||||
pour ajouter une référence (et lui donner un nom) vers un dépôt distant, entrez
|
||||
la commande:
|
||||
|
||||
```bash
|
||||
git remote add nom_remote https://scodoc.org/git/ScoDoc/<dépôt>.git
|
||||
git remote add nom_remote https://git.scodoc.org/ScoDoc/<dépôt>.git
|
||||
```
|
||||
|
||||
Par la suite vous aurez donc une référence vers votre dépôt personnel (`perso`)
|
||||
@ -186,7 +186,7 @@ suivantes par `git stash` (avant) et `git stash apply` (après) :
|
||||
|
||||
```bash
|
||||
git reset --hard officiel/master
|
||||
git checkout -b ma_modif
|
||||
git checkout -b ma_modif
|
||||
```
|
||||
|
||||
À partir de là, vous pouvez modifier, tester, développer et commit votre travail.
|
||||
@ -249,7 +249,7 @@ l'équivalent sous *pyCharm*).
|
||||
for fn in $(git diff --name-only officiel/master)
|
||||
do
|
||||
python3 -m black $fn
|
||||
done
|
||||
done
|
||||
```
|
||||
|
||||
Faire une première lecture rapide pour vérifier qu'il ne reste pas de fichiers
|
||||
@ -384,7 +384,7 @@ soit refusé (car le rebase a modifié des commits qui avaient déjà été pous
|
||||
Dans ce cas l'option `--force` du push vous permette de passer outre, mais
|
||||
assurez-vous avant d'être le seul à travailler sur cette branche.
|
||||
|
||||
#### Etape 5 : La dernière étape se passe sur le site [scodoc.org/git](https://scodoc.org/git/)
|
||||
#### Etape 5 : La dernière étape se passe sur le site [git.scodoc.org](https://git.scodoc.org/)
|
||||
|
||||
- Identifiez-vous
|
||||
|
||||
|
@ -132,7 +132,7 @@ http GET http://localhost:5000/ScoDoc/api/formsemestres/query "Authorization:Bea
|
||||
### Côté programmation serveur
|
||||
|
||||
Reprenons le même exemple (voir `app/api/formsemestres.py`` ligne 91,
|
||||
<https://scodoc.org/git/ScoDoc/ScoDoc/src/branch/master/app/api/formsemestres.py#L91>):
|
||||
<https://git.scodoc.org/ScoDoc/ScoDoc/src/branch/master/app/api/formsemestres.py#L91>):
|
||||
|
||||
```py
|
||||
@bp.route("/formsemestres/query")
|
||||
|
@ -19,9 +19,27 @@ qui peuvent être négatives).
|
||||
compte dans les moyennes même si l'évaluation n'est pas affichée.
|
||||
- **Prise en compte immédiate**: si coché, les notes saisies dans l'évaluation
|
||||
seront prises en compte dans le calcul des moyennes avant même que les notes
|
||||
de tous les étudiants ne soit saisies. Ce réglage peut-être dangereux car les
|
||||
notes sont montrées aux étudiants avant qu'elles soient définitives et devrait
|
||||
rester réservé à des cas particuliers.
|
||||
de tous les étudiants ne soit saisies. Ne pas utiliser pour les évaluations de
|
||||
rattrapage ou de deuxième session (qui sont prises en compte quand elles
|
||||
existent).
|
||||
|
||||
### Pourquoi éviter d'utiliser "prise en compte immédiate" ?
|
||||
|
||||
Il est tentant de positionner toutes les évaluations en "*prise en compte
|
||||
immédiate*", parce que cela permet de communiquer leurs résultats aux étudiants
|
||||
sans attendre. Ce n'est pourtant pas une bonne idée, car:
|
||||
|
||||
- cela complique l'harmonisation: si on a plusieurs correcteurs, et que le second
|
||||
se rend compte d'une erreur de barème, il sera trop tard pour corriger sans
|
||||
informer les étudiants;
|
||||
- cela augmente le risque d'oubli ou de négligence (tout devrait être fait pour
|
||||
que les collègues corrigent et saisissent leurs notes rapidement);
|
||||
- en note manquante dans une évaluation "immédiate" est considérée comme "en
|
||||
attente": cela bloque la tenue du jury pour ces étudiants.
|
||||
|
||||
Ce réglage peut-être être contre-productif, voire nuisible si les notes sont
|
||||
montrées aux étudiants avant qu'elles soient définitives: il devrait rester
|
||||
réservé à des cas particuliers.
|
||||
|
||||
## Coefficient et poids
|
||||
|
||||
@ -45,12 +63,13 @@ l'évaluation est dite *en attente*. Elle est prise en compte.
|
||||
## Modalité d'une évaluation
|
||||
|
||||
- **Normale**: produit une note utilisée dans le calcul des moyennes du module.
|
||||
- **Rattrapage**: la note d'une évaluation de "rattrapage" remplacera la moyenne
|
||||
du module de l'étudiant *si et seulement si elle est meilleures que celles
|
||||
calculées*.
|
||||
- **Deuxième session**: la note remplace, lorsqu'elle est saisie, la moyenne de
|
||||
l'étudiant à ce module, même si sa note de deuxième session est plus faible
|
||||
que sa moyenne normale.
|
||||
- **Rattrapage**: la note d'une évaluation de "rattrapage" remplacera la moyenne
|
||||
du module de l'étudiant *si et seulement si elle est meilleure que celles
|
||||
calculées*. S'il y a des évaluations de deuxième session, celles de
|
||||
rattrapage sont ignorées.
|
||||
- **Bonus**: la valeur est ajoutée à la moyenne du module, voir détail ci-dessous.
|
||||
|
||||
### Évaluations de "bonus"
|
||||
@ -59,15 +78,23 @@ Les évaluations bonus sont particulières:
|
||||
|
||||
- la valeur est ajoutée à la moyenne du module;
|
||||
- le bonus peut être négatif (malus);
|
||||
- le bonus ne s'applique pas aux notes de rattrapage et deuxième session;
|
||||
- le bonus s'applique après utilisation des notes de rattrapage ou de deuxième session;
|
||||
- le coefficient est ignoré, mais en BUT le bonus vers une UE est multiplié par le poids correspondant (par défaut égal à 1);
|
||||
- les notes de bonus sont prises en compte même si incomplètes.
|
||||
|
||||
Note 1: la conformité des évaluations au programme (coefficients vers les UEs) ne
|
||||
prend pas en compte les évaluations bonus.
|
||||
|
||||
## Bloquage et date de prise en compte
|
||||
|
||||
Ceci permet d'empêcher la prise en compte (et éventuellement la publication) de
|
||||
l'évaluation, même si ses notes sont complètes, ou bien de la différer jusqu'à
|
||||
la date indiquée.
|
||||
la date indiquée. Cette fonctionnalité peut être utilisée
|
||||
|
||||
- temporairement pour ne pas communiquer trop tôt un résultat aux étudiants (on
|
||||
peut alors programmer la date de déblocage);
|
||||
- définitivement parce qu'on décide de ne pas tenir compte d'une évaluation,
|
||||
mais de garder ses résultats saisis.
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
122
docs/FAQ.md
@ -6,7 +6,7 @@
|
||||
|
||||
ScoDoc a été conçu et développé par Emmanuel Viennet, puis complété par
|
||||
plusieurs contributeurs, enseignants ou BIATSS dans les IUT et universités. Son
|
||||
développement est toujours actif, voir le dépôt git <https://scodoc.org/git>.
|
||||
développement est toujours actif, voir la plateforme gitea <https://git.scodoc.org>.
|
||||
|
||||
En 2020, une association a été créée pour soutenir et pérenniser le projet: par
|
||||
exemple pour acquérir services et équipements pour le développement
|
||||
@ -17,11 +17,6 @@ L'avenir du logiciel dépend donc de vous: adhérez, ou incitez votre institutio
|
||||
|
||||
## Utilisation de ScoDoc
|
||||
|
||||
### Comment prendre en compte les notes de sport ou autres bonus/malus ?
|
||||
|
||||
Voir [la page dédiée](BonusMalus.md), ou bien pour les bonus sport
|
||||
[le tutoriel vidéo par Cédric C.](https://www.youtube.com/watch?v=SVbjuDpq-lI&list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1&index=13).
|
||||
|
||||
### Qui peut voir les notes, et quand ?
|
||||
|
||||
Tous les collègues (enseignants et administratifs) pouvant accéder au
|
||||
@ -38,26 +33,21 @@ affichage sur leur ENT en général, cet affichage pouvant être désactivé dep
|
||||
ScoDoc pour un semestre particulier). A défaut, il faut leur envoyer leurs
|
||||
bulletins par mail.
|
||||
|
||||
### Comment supprimer une évaluation ?
|
||||
### Comment les étudiants peuvent-ils accéder aux résultats ?
|
||||
|
||||
1. Supprimer toutes les notes saisies dans cette évaluation, s'il y en a: passer
|
||||
par la page "Saisie des notes" et suivre le lien "Effacer toutes les notes de
|
||||
cette évaluation".
|
||||
Les **étudiants n'ont pas accès à ScoDoc**, mais un composant "satellite",
|
||||
installé séparément peut fournir à chacun ses résultats (bulletins de notes,
|
||||
absences): il s'agit de [la passerelle développée par Sébastien Lehman](https://github.com/SebL68/Scodoc_Notes).
|
||||
|
||||
2. Lorsqu'il n'y a plus de notes, une croix rouge apparait sur le tableau de
|
||||
bord du module: cliquer dessus pour supprimer l'évaluation.
|
||||
### Comment signaler un problème ?
|
||||
|
||||
Nous vous remercions de nous signaler tous les problèmes que vous rencontrez:
|
||||
erreurs, comportement bizarre ou malcommode. Nous ne promettons pas de les
|
||||
régler rapidement, ni même plus tard: le logiciel est fourni sans aucune
|
||||
garantie. Mais nous faisons de notre mieux: joindre le canal Discord
|
||||
Assistance (voir [Contact](Contact.md))
|
||||
|
||||
### En IUT, comment gérer les licences professionnelles ?
|
||||
|
||||
* On peut créer un département regroupant les licences, ou bien rattacher
|
||||
chaque licence à un département existant. Cette dernière solution est
|
||||
préférable si des étudiants de DUT poursuivent en licence (ainsi, on a
|
||||
automatiquement accès à leur parcours complet).
|
||||
|
||||
* La plupart des licences pro durent un an, mais sont gérées comme un seul
|
||||
semestre (pas de jury à mi-parcours). Indiquer "*pas de semestre*" dans
|
||||
l'option "*Semestre dans la formation*" (page "*modification du semestre*").
|
||||
## La gestion des étudiants
|
||||
|
||||
### Comment gérer les étudiants les démissionnaires ?
|
||||
|
||||
@ -81,12 +71,84 @@ Ou bien au niveau de son inscription dans un semestre, via le menu *Scolarité*:
|
||||
abandonne en tout début d'année (il ne sera alors pas compté dans les
|
||||
inscrits).
|
||||
|
||||
## Les notes
|
||||
|
||||
### Comment prendre en compte les notes de sport ou autres bonus/malus ?
|
||||
|
||||
Voir [la page dédiée](BonusMalus.md), ou bien pour les bonus sport
|
||||
[le tutoriel vidéo par Cédric C.](https://www.youtube.com/watch?v=SVbjuDpq-lI&list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1&index=13).
|
||||
|
||||
|
||||
### Comment supprimer une évaluation ?
|
||||
|
||||
1. Supprimer toutes les notes saisies dans cette évaluation, s'il y en a: passer
|
||||
par la page "Saisie des notes" et suivre le lien "Effacer toutes les notes de
|
||||
cette évaluation".
|
||||
|
||||
2. Lorsqu'il n'y a plus de notes, une croix rouge apparait sur le tableau de
|
||||
bord du module: cliquer dessus pour supprimer l'évaluation.
|
||||
|
||||
## Les formations
|
||||
|
||||
### Quelles formations peuvent être gérées par ScoDoc
|
||||
|
||||
Toutes les formations notées peuvent bénéficier de ScoDoc.
|
||||
|
||||
De nombreuses fonctions spécialisées sont consacrées au Bachelor Universitaire
|
||||
de technologie et son approche par compétences (APC) particulière.
|
||||
|
||||
ScoDoc est utilisé pour de nombreuses licences professionnelles, masters,
|
||||
formations d'ingénieurs.
|
||||
|
||||
### En IUT, comment gérer les licences professionnelles ?
|
||||
|
||||
* On peut créer un département regroupant les licences, ou bien rattacher
|
||||
chaque licence à un département existant. Cette dernière solution est
|
||||
préférable si des étudiants de DUT poursuivent en licence (ainsi, on a
|
||||
automatiquement accès à leur parcours complet).
|
||||
|
||||
* La plupart des licences pro durent un an, mais sont gérées comme un seul
|
||||
semestre (pas de jury à mi-parcours). Indiquer "*pas de semestre*" dans
|
||||
l'option "*Semestre dans la formation*" (page "*modification du semestre*").
|
||||
|
||||
## Les jurys
|
||||
|
||||
### Les ECTS ne s'affichent pas
|
||||
|
||||
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
|
||||
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é
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
### Mes données sont erronées, que faire ?
|
||||
|
||||
En cas de problème (bug, erreur de manipulation, suspicion de piratage),
|
||||
@ -105,20 +167,6 @@ Les utilisateurs autorisés peuvent facilement voir:
|
||||
Les administrateurs (informaticiens) peuvent aussi consulter les journaux (logs)
|
||||
du serveur, voir ["où sont les journaux"](#ou-sont-les-journaux-logs).
|
||||
|
||||
### Comment signaler un problème ?
|
||||
|
||||
Nous vous remercions de nous signaler tous les problèmes que vous rencontrez:
|
||||
erreurs, comportement bizarre ou malcommode. Nous ne promettons pas de les
|
||||
régler rapidement, ni même plus tard: le logiciel est fourni sans aucune
|
||||
garantie. Mais nous faisons de notre mieux:
|
||||
|
||||
* si vous êtes utilisateurs, écrire à
|
||||
[notes@listes.univ-paris13.fr](mailto:notes@listes.univ-paris13.fr).
|
||||
ou joindre le canal Discord Assistance.
|
||||
|
||||
* si vous êtes informaticien et voulez évoquer un problème technique
|
||||
(développement, installation), écrire à
|
||||
[scodoc-devel@listes.univ-paris13.fr](mailto:scodoc-devel@listes.univ-paris13.fr).
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -135,7 +183,7 @@ Voir [la page sur la gestion des logos et images](GestionLogos.md).
|
||||
ScoDoc est accessible depuis n'importe quel navigateur Web (Firefox, Chrome, ...).
|
||||
|
||||
Le serveur ScoDoc fonctionne sous Linux. Il n'est testé qu'avec Debian (stable).
|
||||
Le script d'installation ([GuideInstallDebian11](GuideInstallDebian11.md))
|
||||
Le script d'installation ([GuideInstallDebian12](GuideInstallDebian12.md))
|
||||
assure l'installation de tout les éléments nécessaires au bon fonctionnement de
|
||||
ScoDoc.
|
||||
|
||||
|
@ -54,11 +54,24 @@ Pour éviter d'inonder les utilisateurs de messages, plusieurs paramètres sont
|
||||
de notification (comptées en demi-journées);
|
||||
* seuil notifications suivantes: une notifications toutes les *N* absences,
|
||||
après le premier seuil;
|
||||
* message notification e-mail (template modifiable).
|
||||
* message notification e-mail (template modifiable, voir ci-dessous).
|
||||
|
||||
Ces paramètres peuvent être spécifiés globalement ou par semestre (comme pour la
|
||||
plupart des paramètres ScoDoc, voir [PreferencesScoDoc](PreferencesScoDoc.md)).
|
||||
|
||||
### Contenu du mail de notification
|
||||
|
||||
Le contenu du mail de notification envoyé est défini par la préférence *Message
|
||||
notification e-mail*, qui peut contenir des balises remplacées, suivant
|
||||
l'ancienne syntaxe python `%(nom-balise)s`.
|
||||
|
||||
- `nbabs`: nombre d'absences
|
||||
- `nbabsjust`: nombre d'absences justifiées
|
||||
- `nbabsnonjust`: nombre d'absences non justifiées
|
||||
- `url_ficheetud`: URL de la fiche de l'étudiant (accessible seulement avec authentification)
|
||||
- `titre_mois`: titre et dates du semestre concerné (ex: "BUT R&T semestre 1 FI (Sept 2022 - Jan 2023)")
|
||||
|
||||
|
||||
*Absences aux évaluations*: lorsqu'une absence concerne potentiellement une
|
||||
évaluation, le responsable du module concerné peut être prévenu. Limitations: la
|
||||
résolution temporelle de l'absence est la demi-journée, une évaluation peut être
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Guide pour les administrateurs système de ScoDoc
|
||||
|
||||
ScoDoc 9 est prévu pour fonctionner sur un serveur **Linux Debian 11 (Bullseye)**.
|
||||
L'installation sur tout autre système n'est **pas supportée**.
|
||||
ScoDoc 9 est prévu pour fonctionner sur un serveur **Linux Debian 12 (Bookworm)**.
|
||||
L'installation sur tout autre système n'est **pas supportée**.
|
||||
Utilisez un **serveur virtuel** ou un container Docker si vous n'avez pas de machine Debian dédiée.
|
||||
|
||||
## Installation
|
||||
|
||||
* Installation de ScoDoc: [GuideInstallDebian11](GuideInstallDebian11.md)
|
||||
* Installation de ScoDoc: [GuideInstallDebian12](GuideInstallDebian12.md)
|
||||
|
||||
* Migration d'un serveur ScoDoc 7 vers la nouvelle version Scodoc 9: [MigrationScoDoc7a9](MigrationScoDoc7a9.md)
|
||||
|
||||
@ -36,7 +36,7 @@ Utilisez un **serveur virtuel** ou un container Docker si vous n'avez pas de mac
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
|
||||
- [Guide pour les développeurs](GuideDeveloppeurs.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Prise en main et paramétrage de ScoDoc 9
|
||||
|
||||
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans
|
||||
[GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans
|
||||
[GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
## Administration en ligne de commande
|
||||
|
||||
@ -10,15 +10,15 @@ création d'utilisateurs "super admin", c'est à dire admin pour tous les
|
||||
départements. Le reste des paramétrages (création de comptes, de formations,
|
||||
import d'étudiants, etc) se fait à partir du logiciel (web).
|
||||
|
||||
L'administration se fait dans un terminal connecté au serveur (en général via
|
||||
L'administration se fait dans un terminal connecté au serveur (en général via
|
||||
ssh), en tant qu'utilisateur `scodoc` (*et non* `root`).
|
||||
|
||||
Se connecter et initialiser la session ainsi:
|
||||
|
||||
ssh votre.serveur # si nécessaire
|
||||
su scodoc # idem,
|
||||
su scodoc # idem,
|
||||
# ou tout autre moyen d'ouvrir un shell comme scodoc
|
||||
|
||||
|
||||
cd /opt/scodoc
|
||||
source venv/bin/activate
|
||||
|
||||
@ -64,12 +64,12 @@ où `admin2` est ici le pseudo du nouvel admin.
|
||||
### Changement du mot de passe d'un utilisateur
|
||||
|
||||
Cette opération peut s'effectuer via la page de gestion web des
|
||||
utilisateurs, mais il est parfois commode de le faire depuis la
|
||||
utilisateurs, mais il est parfois commode de le faire depuis la
|
||||
console:
|
||||
|
||||
flask user-password LOGIN
|
||||
|
||||
où `LOGIN` est le pseudo de l'utilisateur. Le mot de passe est demandé
|
||||
où `LOGIN` est le pseudo de l'utilisateur. Le mot de passe est demandé
|
||||
sur la ligne de commande.
|
||||
|
||||
### Création d'un nouveau rôle
|
||||
@ -96,7 +96,7 @@ Ajoute ou retire une permission.
|
||||
|
||||
Exemples:
|
||||
|
||||
flask user-role dupont
|
||||
flask user-role dupont
|
||||
|
||||
affiche les rôles de l'utilisateur `dupont`.
|
||||
|
||||
@ -122,7 +122,7 @@ Ces commandes sont utilisées par le script de migration de ScoDoc 7 à ScoDoc 9
|
||||
|
||||
#### Comptes utilisateurs
|
||||
|
||||
Toujours migrer les comptes utilisateurs avant d'importer les
|
||||
Toujours migrer les comptes utilisateurs avant d'importer les
|
||||
départements.
|
||||
|
||||
flask import-scodoc7-users
|
||||
@ -139,38 +139,44 @@ Exemple:
|
||||
|
||||
### Liste des commandes Flask/ScoDoc
|
||||
|
||||
Dans l'encart ci-dessous, `app` désigne `flask`, comme dans les exemple donnés plus haut.
|
||||
Dans l'encart ci-dessous, `app` désigne `flask`, comme dans les exemples donnés plus haut.
|
||||
|
||||
```
|
||||
Usage: app [OPTIONS] COMMAND [ARGS]...
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Commands:
|
||||
anonymize-db Anonymise la base de nom indiqué (et non...
|
||||
clear-cache Clear ScoDoc cache This cache (currently...
|
||||
create-dept Create new departement
|
||||
create-role Create a new role
|
||||
delete-dept Delete existing departement
|
||||
delete-role Delete a role
|
||||
dumphelp
|
||||
list-roles List roles
|
||||
downgrade-assiduites-module Supprime les assiduites et/ou les...
|
||||
dumphelp Génère la page d'aide complète pour la doc.
|
||||
edit-role Add [-a] and/or remove [-r] a permission...
|
||||
entreprises-reset-db Remet a zéro les tables du module...
|
||||
gen-api-map Génère la carte des routes de l'API.
|
||||
generate-ens-calendars Génère les calendrier enseignants à...
|
||||
import-scodoc7-dept Import département ScoDoc 7: dept:...
|
||||
import-scodoc7-users Import users defined in ScoDoc7...
|
||||
init-test-database Initialise les objets en base pour les...
|
||||
list-depts If dept exists, print it, else nothing.
|
||||
list-roles List all defined roles
|
||||
localize-logo Make local to a dept a global logo (both...
|
||||
migrate-abs-to-assiduites Permet de migrer les absences vers le...
|
||||
migrate-scodoc7-dept-archives Post-migration: renomme les archives en...
|
||||
migrate-scodoc7-dept-logos Post-migration: renomme les logos en...
|
||||
photos-import-files
|
||||
profile Start the application under the profiler...
|
||||
photos-import-files Import des photos d'étudiants à partir...
|
||||
profile Start the application under the code...
|
||||
sco-db-init Initialize the database.
|
||||
scodoc-database print the database connexion string
|
||||
user-change-login Change user's login (user_name)
|
||||
user-create Create a new user
|
||||
user-db-clear Erase all users and roles from the...
|
||||
user-delete Try to delete this user.
|
||||
user-password Set (or change) user’s password
|
||||
user-role Display roles, or add or remove a role to the given user...
|
||||
user-password Set (or change) user's password
|
||||
user-role Add or remove a role to the given user...
|
||||
|
||||
|
||||
Usage: app sco-db-init [OPTIONS]
|
||||
|
||||
@ -179,12 +185,21 @@ Usage: app sco-db-init [OPTIONS]
|
||||
|
||||
Options:
|
||||
--erase / --no-erase
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app anonymize-db [OPTIONS] DATABASE
|
||||
|
||||
Anonymise la base de nom indiqué (et non pas la base courante!)
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app user-db-clear [OPTIONS]
|
||||
|
||||
Erase all users and roles from the database !
|
||||
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app user-create [OPTIONS] USERNAME ROLE DEPT
|
||||
|
||||
@ -193,23 +208,36 @@ Usage: app user-create [OPTIONS] USERNAME ROLE DEPT
|
||||
Options:
|
||||
-n, --nom TEXT
|
||||
-p, --prenom TEXT
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app user-delete [OPTIONS] USERNAME
|
||||
|
||||
Try to delete this user. Fails if it’s associated to some scodoc objects.
|
||||
Try to delete this user. Fails if it's associated to some scodoc objects.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app user-password [OPTIONS] USERNAME
|
||||
|
||||
Set (or change) user’s password
|
||||
Set (or change) user's password
|
||||
|
||||
Options:
|
||||
--password TEXT
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app create-role [OPTIONS] ROLENAME [PERMISSIONS]...
|
||||
|
||||
Create a new role
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app list-roles [OPTIONS]
|
||||
|
||||
List all defined roles
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app edit-role [OPTIONS] ROLENAME
|
||||
|
||||
@ -217,11 +245,12 @@ Usage: app edit-role [OPTIONS] ROLENAME
|
||||
permissions are not associated to users but to roles. Each user has a set of
|
||||
roles in each departement.
|
||||
|
||||
Example: `flask edit-role -a ScoEditApo Ens`
|
||||
Example: `flask edit-role -a EditApogee Ens`
|
||||
|
||||
Options:
|
||||
-a, --add TEXT
|
||||
-r, --remove TEXT
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app delete-role [OPTIONS] ROLENAME
|
||||
|
||||
@ -240,25 +269,36 @@ Options:
|
||||
-r, --remove TEXT
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app user-change-login [OPTIONS] USER_NAME NEW_USER_NAME
|
||||
|
||||
Change user's login (user_name)
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app delete-dept [OPTIONS] DEPT
|
||||
|
||||
Delete existing departement
|
||||
|
||||
Options:
|
||||
--yes
|
||||
--help Show this message and exit.
|
||||
-y, --yes
|
||||
-f, --force ignore non-existing departement
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app create-dept [OPTIONS] DEPT
|
||||
|
||||
Create new departement
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app list-depts [OPTIONS] [DEPTS]...
|
||||
|
||||
If dept exists, print it, else nothing. Called without arguments, list all
|
||||
depts along with their ids.
|
||||
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app scodoc-database [OPTIONS]
|
||||
|
||||
@ -267,7 +307,7 @@ Usage: app scodoc-database [OPTIONS]
|
||||
Options:
|
||||
-n, --name show database name instead of connexion string (required for
|
||||
dropdb/createdb commands)
|
||||
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app import-scodoc7-users [OPTIONS]
|
||||
|
||||
@ -276,30 +316,44 @@ Usage: app import-scodoc7-users [OPTIONS]
|
||||
script is typically run as unix user "scodoc". The original SCOUSERS
|
||||
database is left unmodified.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app import-scodoc7-dept [OPTIONS] DEPT DEPT_DB_NAME
|
||||
|
||||
Import département ScoDoc 7: dept: InfoComm, dept_db_name: SCOINFOCOMM
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app migrate-scodoc7-dept-archives [OPTIONS] [DEPT]
|
||||
|
||||
Post-migration: renomme les archives en fonction des id de ScoDoc 9
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app migrate-scodoc7-dept-logos [OPTIONS] [DEPT]
|
||||
|
||||
Post-migration: renomme les logos en fonction des id / dept de ScoDoc 9
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app localize-logo [OPTIONS] LOGO DEPT
|
||||
|
||||
Make local to a dept a global logo (both logo and dept names are mandatory)
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app photos-import-files [OPTIONS] FORMSEMESTRE_ID XLSFILE ZIPFILE
|
||||
|
||||
Import des photos d’étudiants à partir d’une liste excel et d’un zip avec les images.
|
||||
Import des photos d'étudiants à partir d'une liste excel et d'un zip avec
|
||||
les images.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app clear-cache [OPTIONS]
|
||||
|
||||
@ -309,10 +363,29 @@ Usage: app clear-cache [OPTIONS]
|
||||
|
||||
Options:
|
||||
--sanitize / --no-sanitize
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app init-test-database [OPTIONS]
|
||||
|
||||
Initialise les objets en base pour les tests API (à appliquer sur
|
||||
SCODOC_TEST ou SCODOC_DEV)
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app entreprises-reset-db [OPTIONS]
|
||||
|
||||
Remet a zéro les tables du module relations entreprises
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app dumphelp [OPTIONS]
|
||||
|
||||
Génère la page d’aide complète pour la doc.
|
||||
Génère la page d'aide complète pour la doc.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app profile [OPTIONS]
|
||||
|
||||
@ -324,6 +397,45 @@ Options:
|
||||
--length INTEGER Number of functions to include in the profiler report.
|
||||
--profile-dir TEXT Directory where profiler data files are saved.
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app migrate-abs-to-assiduites [OPTIONS]
|
||||
|
||||
Permet de migrer les absences vers le nouveau module d'assiduités
|
||||
|
||||
Options:
|
||||
-d, --dept TEXT Restreint la migration au dept sélectionné (ACRONYME)
|
||||
-m, --morning TEXT Spécifie l'heure de début des cours format `hh:mm`
|
||||
-n, --noon TEXT Spécifie l'heure de fin du matin format `hh:mm`
|
||||
-a, --afternoon TEXT Spécifie l'heure de début de l'après-midi format
|
||||
`hh:mm` valeur identique à --noon si non spécifié
|
||||
-e, --evening TEXT Spécifie l'heure de fin des cours format `hh:mm`
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app downgrade-assiduites-module [OPTIONS]
|
||||
|
||||
Supprime les assiduites et/ou les justificatifs de tous les départements ou
|
||||
du département sélectionné
|
||||
|
||||
Options:
|
||||
-d, --dept TEXT Restreint la suppression au dept sélectionné (ACRONYME)
|
||||
-a, --assiduites Supprime les assiduités de scodoc
|
||||
-j, --justificatifs Supprime les justificatifs de scodoc
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app generate-ens-calendars [OPTIONS]
|
||||
|
||||
Génère les calendrier enseignants à partir des ics semestres
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Usage: app gen-api-map [OPTIONS]
|
||||
|
||||
Génère la carte des routes de l'API.
|
||||
|
||||
Options:
|
||||
-e, --endpoint TEXT Endpoint à partir duquel générer la carte des routes
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
(*la liste ci-dessus est générée à l'aide de la commande* `flask dumphelp`).
|
||||
@ -353,7 +465,7 @@ département, qui à son tour peut déléguer des droits.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Rôles et permissions](ConfigPermissionsDept.md)
|
||||
- [Configuration des envois d'emails](ConfigEmail.md)
|
||||
|
@ -4,7 +4,7 @@ Informations pour les développeurs souhaitant étendre ou modifier ScoDoc.
|
||||
|
||||
Pour le développement de logiciels externes, [utiliser l'API](ScoDoc9API.md).
|
||||
|
||||
Accès à la [plate-forme Gitea](https://scodoc.org/git).
|
||||
Accès à la [plate-forme Gitea](https://git.scodoc.org).
|
||||
|
||||
## Informations générales
|
||||
|
||||
@ -146,14 +146,14 @@ Note: la mise à jour par `apt` recrée le virtualenv à chaque fois.
|
||||
|
||||
## Roadmap
|
||||
|
||||
* [voir les tickets](https://scodoc.org/git/viennet/ScoDoc/issues)
|
||||
* [voir les tickets](https://git.scodoc.org/viennet/ScoDoc/issues)
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
|
@ -1,6 +1,11 @@
|
||||
|
||||
# Installation de ScoDoc 9 sur Debian 11 (Bullseye)
|
||||
|
||||
|
||||
!!! warning "Nouvelle version"
|
||||
La version actuelle de Linux est Debian 12:
|
||||
[voir le guide d'installation à jour](GuideInstallDebian12.md)
|
||||
|
||||
Ce document décrit la procédure d'installation et de configuration de ScoDoc 9.
|
||||
Cette procédure doit être effectué sur la machine serveur avec un accès
|
||||
administrateur (root).
|
||||
@ -102,7 +107,7 @@ Checklist minimale de votre système Linux Debian:
|
||||
changer leurs mots de passe (bien d'autres fonctions dépendent des mails).
|
||||
Au besoin, revoir la configuration avec `dpkg-reconfigure postfix` (voir
|
||||
aussi [envoi des courriers électroniques](ProblemesMail.md)).
|
||||
|
||||
|
||||
1. Vérifiez que votre serveur est accessible depuis une autre machine de votre
|
||||
réseau (voire d'Internet): par exemple `ping serveur.exemple.fr`.
|
||||
1. Date et heure: vérifier que les dates et heure sont correctes, même après
|
||||
@ -117,8 +122,8 @@ Checklist minimale de votre système Linux Debian:
|
||||
#### Configuration si utilisation d'un proxy
|
||||
|
||||
Si votre accès à Internet passe par un proxy, l'indiquer au moment de
|
||||
l'installation Debian.
|
||||
|
||||
l'installation Debian.
|
||||
|
||||
Ensuite, dans ScoDoc, indiquer votre proxy: pour cela, éditer le fichier
|
||||
```/opt/scodoc/.env```
|
||||
et ajouter les variables d'environnement nécessaires. Typiquement, il s'agit de :
|
||||
@ -152,7 +157,7 @@ redémarrer le service:
|
||||
éléments, voir par exemple
|
||||
[ce post sur Stack Overflow](
|
||||
https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy).
|
||||
|
||||
|
||||
#### Note sur l'install dans un container LXC
|
||||
|
||||
Il y a deux possibilités :
|
||||
@ -250,7 +255,7 @@ ou le créer contenant juste cette ligne:
|
||||
apt-get install nginx
|
||||
```
|
||||
S'assurer que le logiciel `nginx` s'est bien installé. En cas de problème se
|
||||
référer à sa doc (par exemple, si
|
||||
référer à sa doc (par exemple, si
|
||||
[votre serveur ne supporte pas
|
||||
IPv6](https://techglimpse.com/nginx-error-address-family-solution/)).
|
||||
|
||||
@ -269,7 +274,7 @@ ou le créer contenant juste cette ligne:
|
||||
```
|
||||
|
||||
### 2.2) Configuration des logiciels et des données
|
||||
|
||||
|
||||
Lancer le script suivant en tant que `root` sur votre serveur nouvellement installé:
|
||||
|
||||
```bash
|
||||
@ -308,7 +313,7 @@ Ne pas hésiter à nous contacter (voir [contacts](Contact.md)).
|
||||
|
||||
Nota: sur certains réseaux, l'autoconfiguration IPv6 pose problème (par exemple:
|
||||
bloquage des envois de mails). Au besoin, il est possible de désactiver IPv6
|
||||
(voir par exemple [ici](https://wiki.debian-fr.xyz/D%C3%A9sactiver_l%27IPv6)).
|
||||
(voir par exemple [ici](https://wiki.debian-fr.xyz/D%C3%A9sactiver_l%27IPv6)).
|
||||
|
||||
## Ensuite...
|
||||
|
||||
|
@ -17,7 +17,7 @@ donc installer et configurer ScoDoc avec des connaissances réduites sur le
|
||||
système Linux.
|
||||
|
||||
Cette documentation est prévue pour installer ScoDoc version 9 sur un système
|
||||
[Debian](http://www.debian.org) 12 (Bullseye, stable) s'exécutant sur une
|
||||
[Debian](http://www.debian.org) 12 (Bookworm, stable) s'exécutant sur une
|
||||
machine intel-like **64bits** (architecture **AMD64** sur Intel/AMD, ou
|
||||
**aarch64** sur Apple ARM). Debian s'installe facilement en cinq minutes, sur
|
||||
une machine normale ou un serveur virtualisé. Il est **vivement déconseillé** de
|
||||
@ -38,7 +38,7 @@ VirtualBox ou VMWare, ou UTM sur Mac). L'installation de ScoDoc va en effet
|
||||
modifier de nombreux paramètres de votre système Linux (serveur web, firewall,
|
||||
serveur SQL, messagerie, ...).
|
||||
|
||||
## 1) Préalable: configurer un serveur linux
|
||||
## 1) Préalable: configurer un serveur Linux
|
||||
|
||||
Le serveur devrait être accessible depuis Internet.
|
||||
|
||||
@ -108,7 +108,7 @@ Checklist minimale de votre système Linux Debian:
|
||||
changer leurs mots de passe (bien d'autres fonctions dépendent des mails).
|
||||
Au besoin, revoir la configuration avec `dpkg-reconfigure postfix` (voir
|
||||
aussi [envoi des courriers électroniques](ProblemesMail.md)).
|
||||
|
||||
|
||||
1. Vérifiez que votre serveur est accessible depuis une autre machine de votre
|
||||
réseau (voire d'Internet): par exemple `ping serveur.exemple.fr`.
|
||||
1. Date et heure: vérifier que les dates et heure sont correctes, même après
|
||||
@ -162,7 +162,7 @@ redémarrer le service:
|
||||
Dans les cas compliqués, il est possible qu'il vous faille configurer d'autres
|
||||
éléments, voir par exemple
|
||||
[ce post sur Stack Overflow](https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy).
|
||||
|
||||
|
||||
#### Note sur l'install dans un container LXC
|
||||
|
||||
Il y a deux possibilités :
|
||||
@ -262,7 +262,7 @@ ou bien le créer afin qu'il contienne juste cette ligne:
|
||||
apt-get install nginx
|
||||
```
|
||||
S'assurer que le logiciel `nginx` s'est bien installé. En cas de problème se
|
||||
référer à sa doc (par exemple, si
|
||||
référer à sa doc (par exemple, si
|
||||
[votre serveur ne supporte pas
|
||||
IPv6](https://techglimpse.com/nginx-error-address-family-solution/)).
|
||||
|
||||
@ -282,7 +282,7 @@ utilisateur `scodoc` qui sera utilisé par le serveur.
|
||||
```
|
||||
|
||||
### 2.2) Configuration des logiciels et des données
|
||||
|
||||
|
||||
Lancer le script suivant en tant que `root` sur votre serveur nouvellement installé:
|
||||
|
||||
```bash
|
||||
|
@ -1,5 +1,8 @@
|
||||
# Utilisation de ScoDoc
|
||||
|
||||
Les [principaux objets de ScoDoc](IntroObjetsScoDoc.md) sont présentés sur
|
||||
[cette page](IntroObjetsScoDoc.md).
|
||||
|
||||
ScoDoc contrôle les opérations via un mécanisme de permissions facile à mettre
|
||||
en œuvre et permettant de bien répartir les rôles entre les utilisateurs:
|
||||
responsables, enseignants, secrétariats.
|
||||
@ -13,9 +16,9 @@ département.
|
||||
* [Guide pour le responsable de formation](GuideAdminFormation.md)
|
||||
* [Modification d'un programme pédagogique et versions](Formations.md)
|
||||
* [Exemples et partages de programmes pédagogiques entre établissements](ExemplesProgrammesPedagogiques.md)
|
||||
|
||||
|
||||
* [Importation des étudiants](ImportationEtuds.md)
|
||||
|
||||
|
||||
* [Synchronisation des inscrits avec Apogée](SynchroApogee.md)
|
||||
* [Procédure d'inscription des étudiants via Apogée](InscriptionsEtudApogee.md)
|
||||
* [Données sur l'origine des étudiants](DonneesAdmissions.md)
|
||||
@ -30,7 +33,7 @@ département.
|
||||
|
||||
* [Édition des bulletins de notes](BulletinsNotes.md)
|
||||
* [paramétrage des bulletins pdf](ParametrageBulletins.md)
|
||||
|
||||
|
||||
* [Édition des PV de jury](ParametragePV.md)
|
||||
* Comment sont calculées les moyennes : [Calcul des notes](CalculNotes.md)
|
||||
|
||||
|
@ -25,7 +25,7 @@ une action de formation continue d'une semaine que d'une formation sur un an.
|
||||
Saisie des dates de début et fin d'un semestre:
|
||||
![sco-dates-semestre.png](screens/sco-dates-semestre.png)
|
||||
|
||||
Les semestre a un ou plusieurs (co)responsables, utilisateurs ayant des droits
|
||||
Chaque semestre a un ou plusieurs (co)responsables, utilisateurs ayant des droits
|
||||
particuliers, dont ceux de modifier la liste des modules d'enseignement à
|
||||
suivre, de nommer les enseignants, etc. Les responsables de semestres sont
|
||||
souvent appelés *directeurs ou directrices des études*.
|
||||
@ -103,7 +103,7 @@ Exemple: extrait de la fiche d'un étudiant
|
||||
|
||||
Les étudiants d'un semestre peuvent être répartis dans des groupes.
|
||||
|
||||
Chaque *partition* d'un semestre défini un ensemble de groupes: par exemple, les
|
||||
Chaque *partition* d'un semestre défini un ensemble de groupes: par exemple,
|
||||
la partition des groupes de TD, ou la partition des projets tuteurés.
|
||||
|
||||
On peut à tout moment créer une partition, y créer des groupes, y placer ou
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
# Migration d'une installation existante de ScoDoc
|
||||
# Migration d'une installation existante de ScoDoc
|
||||
Marche à suivre pour transférer les données d'un serveur ScoDoc déjà existant vers un autre. Cas d'usage typiques:
|
||||
|
||||
* changement de machine physique
|
||||
@ -10,8 +10,8 @@ Marche à suivre pour transférer les données d'un serveur ScoDoc déjà exista
|
||||
Toutes les données seront copiées: bases SQL, configurations, photos, archives, logs.
|
||||
|
||||
|
||||
## Principe
|
||||
Au lieu de mettre à jour le système Debian, il est préférable de **réinstaller complètement un nouveau serveur**. En effet, ScoDoc utilise certains composants qui ne sont pas fournis dans les versions adéquates par Debian.
|
||||
## Principe
|
||||
Au lieu de mettre à jour le système Debian, il est préférable de **réinstaller complètement un nouveau serveur**. En effet, ScoDoc utilise certains composants qui ne sont pas fournis dans les versions adéquates par Debian.
|
||||
|
||||
L'expérience montre qu'il est plus rapide de **tout réinstaller** sans se poser de questions. D'ailleurs, la plupart des installations étant sur des serveurs virtualisés, cette méthode est souvent plus simple et évite de toucher au serveur en production. J'insiste : **ne tentez pas de mettre à jour le système Debian de votre ancien serveur**, c'est une perte de temps.
|
||||
|
||||
@ -22,14 +22,14 @@ Le principe est donc:
|
||||
3. Copier les données d'un serveur à l'autre (scripts fournis);
|
||||
4. Tester, puis le cas échéant couper l'ancien serveur et le remplacer par le nouveau.
|
||||
|
||||
## Marche à suivre détaillée
|
||||
|
||||
## Marche à suivre détaillée
|
||||
### Installation de Debian et ScoDoc
|
||||
Voir les instructions ici: [GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
### Installation de Debian et ScoDoc
|
||||
|
||||
Voir les instructions ici: [GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
### Copie des données d'un serveur à l'autre
|
||||
|
||||
### Copie des données d'un serveur à l'autre
|
||||
Il est important de suivre rigoureusement et pas à pas cette procédure:
|
||||
|
||||
1. S'assurer que le serveur de départ est à jour (pour avoir le bon script de sauvegarde!): voir [MisesAJour](MisesAJour.md)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Migration des données ScoDoc 7 vers ScoDoc 9
|
||||
|
||||
On peut installer à partir de zéro (cas 1), ou sur une machine ayant déjà un ScoDoc 7
|
||||
et migrer les données (cas 2).
|
||||
On peut installer à partir de zéro (cas 1), ou sur une machine ayant déjà un ScoDoc 7
|
||||
et migrer les données (cas 2).
|
||||
|
||||
## Cas 1: Migration d'une installation ScoDoc 7 sur un nouveau serveur
|
||||
|
||||
@ -11,8 +11,8 @@ basculer d'une version à l'autre.
|
||||
|
||||
Dans ce cas, la migration va se faire en suivant les étapes, détaillées plus loin:
|
||||
|
||||
1. installer le nouveau serveur Linux Debian 11 et ScoDoc 9;
|
||||
|
||||
1. installer le nouveau serveur Linux Debian et ScoDoc 9;
|
||||
|
||||
2. sauvegarder les données de ScoDoc7 depuis le serveur de production **et l'arrêter**;
|
||||
|
||||
3. charger les données ScoDoc 7 sur le nouveau serveur;
|
||||
@ -23,9 +23,9 @@ Si vous venez d'installer ScoDoc 9, passez directement à l'**étape 3**.
|
||||
|
||||
### Étape 1: Installer le nouveau serveur
|
||||
|
||||
Installer le nouveau serveur avec Debian 11 et ScoDoc 9.
|
||||
Installer le nouveau serveur avec Debian 12 et ScoDoc 9.
|
||||
|
||||
Voir [GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
Voir [GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
Vérifier que tout fonctionne avant d'aller plus loin.
|
||||
|
||||
@ -41,7 +41,7 @@ Ouvrir un terminal en tant que `root`sur l'ancien serveur ScoDoc 7.
|
||||
# Export des données
|
||||
./save_scodoc7_data.sh /tmp/sauvegarde-scodoc7
|
||||
|
||||
Attention à l'espace disque: au besoin, faire le ménage ou montez un disque supplémentaire.
|
||||
Attention à l'espace disque: au besoin, faire le ménage ou montez un disque supplémentaire.
|
||||
|
||||
Notez que cette migration ne fonctionne qu'à partir de la dernière version de
|
||||
ScoDoc 7. Si vous avez une version plus ancienne, mettez-la d'abord à jour.
|
||||
@ -140,24 +140,25 @@ officielle](https://www.debian.org/releases/bullseye/mips64el/release-notes/ch-u
|
||||
est longue, mais en réalité c'est très simple et prends moins de 10 minutes,
|
||||
sauf si vous avez configuré votre système de façon exotique.
|
||||
Nombreux tutos disponibles, voir [par exemple
|
||||
celui-ci](https://www.cyberciti.biz/faq/update-upgrade-debian-10-to-debian-11-bullseye/).
|
||||
celui-ci](https://www.cyberciti.biz/faq/update-upgrade-debian-10-to-debian-11-bullseye/).
|
||||
|
||||
Attention, il faut désinstaller Apache (avant ou après upgrade Linux), car
|
||||
ScoDoc 9 utilise un autre serveur web (nginx) qui serait en conflit:
|
||||
|
||||
# peut être utile pour récuperer vos certificats SSL ?
|
||||
mv /etc/apache2 /etc/apache2.old
|
||||
mv /etc/apache2 /etc/apache2.old
|
||||
apt-get remove --purge apache2
|
||||
|
||||
|
||||
|
||||
### 3. Installer ScoDoc 9
|
||||
Voir [la section 2 du guide d'installation](GuideInstallDebian11.md#2-installation-de-scodoc-sur-debian).
|
||||
|
||||
Voir [la section 2 du guide d'installation](GuideInstallDebian12.md#2-installation-de-scodoc-sur-debian).
|
||||
|
||||
Vérifier que tout fonctionne avant d'aller plus loin.
|
||||
|
||||
### 4. Migrer vos données ScoDoc 7
|
||||
|
||||
Les données sont restées dans /opt/scodoc7.
|
||||
Les données sont restées dans `/opt/scodoc7`.
|
||||
|
||||
Lancer le script suivant en tant que `root`:
|
||||
|
||||
@ -186,5 +187,3 @@ Au besoin, réglez la fonction de calcul du **bonus sport&culture** via la page
|
||||
"configuration" accessible depuis la page d'accueil en tant qu'admin uniquement.
|
||||
|
||||
Célébrez !
|
||||
|
||||
|
||||
|
@ -1,15 +1,18 @@
|
||||
# Préférences de ScoDoc
|
||||
|
||||
## Préférences de ScoDoc
|
||||
Ces variables sont modifiables globalement ou seulement pour un semestre spécifique (sauf pour certaines d'entre elles, qui n'ont de sens que globalement). Si un semestre défini une variable (via la page "Préférences du semestre" accessible dans le menu "Semestre"), sa valeur remplace, pour lui seulement, celle définie globalement (via la page "Paramétrage").
|
||||
Ces variables sont modifiables globalement ou seulement pour un semestre
|
||||
spécifique (sauf pour certaines d'entre elles, qui n'ont de sens que
|
||||
globalement). Si un semestre défini une variable (via la page "Préférences du
|
||||
semestre" accessible dans le menu "Semestre"), sa valeur remplace, pour lui
|
||||
seulement, celle définie globalement (via la page "Paramétrage").
|
||||
|
||||
*Page générée à l'aide de la méthode* `doc_preferences`
|
||||
|
||||
|
||||
## Générales
|
||||
|
||||
Nom | |
|
||||
---- | ---- | ----
|
||||
`DeptName` | Nom abrégé du département |
|
||||
`DeptName` | Nom abrégé du département |
|
||||
`DeptFullName` | Nom complet du département | inutilisé par défaut
|
||||
`UnivName` | Nom de l'Université | apparait sur les bulletins et PV de jury
|
||||
`InstituteName` | Nom de l'Institut | exemple "IUT de Villetaneuse". Peut être utilisé sur les bulletins.
|
||||
@ -29,7 +32,7 @@ Nom | |
|
||||
Nom | |
|
||||
---- | ---- | ----
|
||||
`email_chefdpt` | e-mail chef du département | utilisé pour envoi mail notification absences
|
||||
`work_saturday` | Considérer le samedi comme travaillé |
|
||||
`work_saturday` | Considérer le samedi comme travaillé |
|
||||
`handle_billets_abs` | Gestion de "billets" d'absence | fonctions pour traiter les "billets" déclarés par les étudiants sur un portail externe
|
||||
`abs_notify_chief` | Notifier les absences au chef | Envoyer un mail au chef si un étudiant a beaucoup d'absences
|
||||
`abs_notify_respsem` | Notifier les absences au dir. des études | Envoyer un mail au responsable du semestre si un étudiant a beaucoup d'absences
|
||||
@ -45,9 +48,9 @@ Nom | |
|
||||
|
||||
Nom | |
|
||||
---- | ---- | ----
|
||||
`portal_url` | URL du portail |
|
||||
`portal_url` | URL du portail |
|
||||
`portal_timeout` | timeout | secondes
|
||||
`portal_dept_name` | Code du département sur le portail |
|
||||
`portal_dept_name` | Code du département sur le portail |
|
||||
`etapes_url` | URL listant les étapes Apogée | par defaut, selon l'api, getEtapes ou scodocEtapes sur l'URL du portail
|
||||
`maquette_url` | URL maquettes Apogee | par defaut, scodocMaquette sur l'URL du portail
|
||||
`portal_api` | Version de l'API | 1 ou 2
|
||||
@ -71,8 +74,8 @@ Nom | |
|
||||
`SCOLAR_FONT` | Police de caractère principale | pour les pdf
|
||||
`SCOLAR_FONT_SIZE` | Taille des caractères | pour les pdf
|
||||
`SCOLAR_FONT_SIZE_FOOT` | Taille des caractères pied de page | pour les pdf
|
||||
`pdf_footer_x` | Position horizontale du pied de page pdf (en mm) |
|
||||
`pdf_footer_y` | Position verticale du pied de page pdf (en mm) |
|
||||
`pdf_footer_x` | Position horizontale du pied de page pdf (en mm) |
|
||||
`pdf_footer_y` | Position verticale du pied de page pdf (en mm) |
|
||||
|
||||
## Procès verbaux de jury (documents PDF)
|
||||
|
||||
@ -84,21 +87,21 @@ Nom | |
|
||||
`INSTITUTION_NAME` | Nom institution sur pied de pages PV | (pdf, balises <b> interprétées)
|
||||
`INSTITUTION_ADDRESS` | Adresse institution sur pied de pages PV | (pdf, balises <b> interprétées)
|
||||
`INSTITUTION_CITY` | Ville de l'institution | pour les lettres individuelles
|
||||
`PV_INTRO` | Paragraphe d'introduction sur le PV | Balises remplacées: %(Univname)s = nom de l'université, %(DecNum)s = numéro de l'arrêté, %(Date)s = date de la commission, %(Type)s = type de commission (passage ou délivrance)
|
||||
`PV_WITH_BACKGROUND` | Mettre l'image de fond sur les PV de jury (paysage) |
|
||||
`PV_WITH_HEADER` | Ajouter l'en-tête sur les PV (paysage) |
|
||||
`PV_WITH_FOOTER` | Ajouter le pied de page sur les PV (paysage) |
|
||||
`pv_left_margin` | Marge gauche PV en mm |
|
||||
`pv_top_margin` | Marge haute PV |
|
||||
`pv_right_margin` | Marge droite PV |
|
||||
`pv_bottom_margin` | Marge basse PV |
|
||||
`PV_INTRO` | Paragraphe d'introduction sur le PV | Balises remplacées: %(Univname)s = nom de l'université, %(DecNum)s = numéro de l'arrêté, %(Date)s = date de la commission, %(Type)s = type de commission (passage ou délivrance)
|
||||
`PV_WITH_BACKGROUND` | Mettre l'image de fond sur les PV de jury (paysage) |
|
||||
`PV_WITH_HEADER` | Ajouter l'en-tête sur les PV (paysage) |
|
||||
`PV_WITH_FOOTER` | Ajouter le pied de page sur les PV (paysage) |
|
||||
`pv_left_margin` | Marge gauche PV en mm |
|
||||
`pv_top_margin` | Marge haute PV |
|
||||
`pv_right_margin` | Marge droite PV |
|
||||
`pv_bottom_margin` | Marge basse PV |
|
||||
`PV_LETTER_DIPLOMA_SIGNATURE` | Signature des lettres individuelles de diplôme | %(DirectorName)s et %(DirectorTitle)s remplacés
|
||||
`PV_LETTER_PASSAGE_SIGNATURE` | Signature des lettres individuelles de passage d'un semestre à l'autre | %(DirectorName)s et %(DirectorTitle)s remplacés
|
||||
`pv_sig_image_height` | Hauteur de l'image de la signature | Lorsqu'on donne une image de signature, elle est redimensionnée à cette taille (en millimètres)
|
||||
`PV_LETTER_TEMPLATE` | Lettre individuelle | Balises remplacées et balisage XML, voir la documentation
|
||||
`PV_LETTER_WITH_BACKGROUND` | Mettre l'image de fond sur les lettres individuelles de décision |
|
||||
`PV_LETTER_WITH_HEADER` | Ajouter l'en-tête sur les lettres individuelles de décision |
|
||||
`PV_LETTER_WITH_FOOTER` | Ajouter le pied de page sur les lettres individuelles de décision |
|
||||
`PV_LETTER_WITH_BACKGROUND` | Mettre l'image de fond sur les lettres individuelles de décision |
|
||||
`PV_LETTER_WITH_HEADER` | Ajouter l'en-tête sur les lettres individuelles de décision |
|
||||
`PV_LETTER_WITH_FOOTER` | Ajouter le pied de page sur les lettres individuelles de décision |
|
||||
`pv_htab1` | marge colonne droite lettre | pour les courriers pdf
|
||||
`pv_htab2` | marge colonne gauche lettre | pour les courriers pdf
|
||||
`PV_FONTNAME` | Police de caractère pour les PV | pour les pdf
|
||||
@ -109,32 +112,31 @@ Nom | |
|
||||
---- | ---- | ----
|
||||
`bul_title` | Titre des bulletins | <tt>%(DeptName)s</tt> est remplacé par le nom du département
|
||||
`bul_class_name` | Format des bulletins | format de présentation des bulletins de note (web et pdf)
|
||||
`bul_show_abs` | Indiquer les absences sous les bulletins |
|
||||
`bul_show_abs_modules` | Indiquer les absences dans chaque module |
|
||||
`bul_show_decision` | Faire figurer les décisions sur les bulletins |
|
||||
`bul_show_abs` | Indiquer les absences sous les bulletins |
|
||||
`bul_show_abs_modules` | Indiquer les absences dans chaque module |
|
||||
`bul_show_decision` | Faire figurer les décisions sur les bulletins |
|
||||
`bul_show_ects` | Faire figurer les ECTS sur les bulletins | crédits associés aux UE ou aux modules, selon réglage
|
||||
`bul_show_codemodules` | Afficher codes des modules sur les bulletins |
|
||||
`bul_show_matieres` | Afficher les matières sur les bulletins |
|
||||
`bul_show_codemodules` | Afficher codes des modules sur les bulletins |
|
||||
`bul_show_matieres` | Afficher les matières sur les bulletins |
|
||||
`bul_show_all_evals` | Afficher toutes les évaluations sur les bulletins | y compris incomplètes ou futures
|
||||
`bul_show_rangs` | Afficher le classement sur les bulletins |
|
||||
`bul_show_ue_rangs` | Afficher le classement dans chaque UE sur les bulletins |
|
||||
`bul_show_mod_rangs` | Afficher le classement dans chaque module sur les bulletins |
|
||||
`bul_show_moypromo` | Afficher moyennes de la promotion sur les bulletins |
|
||||
`bul_show_minmax` | Afficher min/max moyennes sur les bulletins |
|
||||
`bul_show_minmax_mod` | Afficher min/max moyennes des modules sur les bulletins |
|
||||
`bul_show_minmax_eval` | Afficher min/max moyennes des évaluations sur les bulletins |
|
||||
`bul_show_coef` | Afficher coefficient des ue/modules sur les bulletins |
|
||||
`bul_show_ue_cap_details` | Afficher détail des notes des UE capitalisées sur les bulletins |
|
||||
`bul_show_ue_cap_current` | Afficher les UE en cours mais capitalisées sur les bulletins |
|
||||
`bul_show_temporary_forced` | Bannière "provisoire" sur les bulletins |
|
||||
`bul_show_temporary` | Bannière "provisoire" si pas de décision de jury |
|
||||
`bul_temporary_txt` | Texte de la bannière "provisoire |
|
||||
`bul_show_uevalid` | Faire figurer les UE validées sur les bulletins |
|
||||
`bul_show_mention` | Faire figurer les mentions sur les bulletins et les PV |
|
||||
`bul_show_date_inscr` | Faire figurer la date d'inscription sur les bulletins |
|
||||
`bul_show_sig_left` | Faire figurer le pied de page de gauche (ex.: nom du directeur) sur les bulletins |
|
||||
`bul_show_sig_right` | Faire figurer le pied de page de droite (ex.: nom du chef de département) sur les bulletins |
|
||||
`bul_display_publication` | Indique si les bulletins sont publiés | décocher si vous n'avez pas de portal étudiant publiant les bulletins
|
||||
`bul_show_rangs` | Afficher le classement sur les bulletins |
|
||||
`bul_show_ue_rangs` | Afficher le classement dans chaque UE sur les bulletins |
|
||||
`bul_show_mod_rangs` | Afficher le classement dans chaque module sur les bulletins |
|
||||
`bul_show_moypromo` | Afficher moyennes de la promotion sur les bulletins |
|
||||
`bul_show_minmax` | Afficher min/max moyennes sur les bulletins |
|
||||
`bul_show_minmax_mod` | Afficher min/max moyennes des modules sur les bulletins |
|
||||
`bul_show_minmax_eval` | Afficher min/max moyennes des évaluations sur les bulletins |
|
||||
`bul_show_coef` | Afficher coefficient des ue/modules sur les bulletins |
|
||||
`bul_show_ue_cap_details` | Afficher détail des notes des UE capitalisées sur les bulletins |
|
||||
`bul_show_ue_cap_current` | Afficher les UE en cours mais capitalisées sur les bulletins |
|
||||
`bul_show_temporary_forced` | Bannière "provisoire" sur les bulletins |
|
||||
`bul_show_temporary` | Bannière "provisoire" si pas de décision de jury |
|
||||
`bul_temporary_txt` | Texte de la bannière "provisoire |
|
||||
`bul_show_uevalid` | Faire figurer les UE validées sur les bulletins |
|
||||
`bul_show_mention` | Faire figurer les mentions sur les bulletins et les PV |
|
||||
`bul_show_date_inscr` | Faire figurer la date d'inscription sur les bulletins |
|
||||
`bul_show_sig_left` | Faire figurer le pied de page de gauche (ex.: nom du directeur) sur les bulletins |
|
||||
`bul_show_sig_right` | Faire figurer le pied de page de droite (ex.: nom du chef de département) sur les bulletins |
|
||||
`bul_pdf_title` | Bulletins PDF: paragraphe de titre | (balises interprétées, voir documentation)
|
||||
`bul_pdf_caption` | Bulletins PDF: paragraphe sous table note | (visible seulement si "Faire figurer les décision" est coché)
|
||||
`bul_pdf_sig_left` | Bulletins PDF: signature gauche | (balises interprétées, voir documentation)
|
||||
@ -146,10 +148,10 @@ Nom | |
|
||||
|
||||
Nom | |
|
||||
---- | ---- | ----
|
||||
`left_margin` | Marge gauche |
|
||||
`top_margin` | Marge haute |
|
||||
`right_margin` | Marge droite |
|
||||
`bottom_margin` | Marge basse |
|
||||
`left_margin` | Marge gauche |
|
||||
`top_margin` | Marge haute |
|
||||
`right_margin` | Marge droite |
|
||||
`bottom_margin` | Marge basse |
|
||||
|
||||
## Envoi des bulletins par e-mail
|
||||
|
||||
@ -160,7 +162,7 @@ Nom | |
|
||||
`bul_intro_mail` | Message d'accompagnement | <tt>%(DeptName)s</tt> est remplacé par le nom du département, <tt>%(nomprenom)s</tt> par les noms et prénoms de l'étudiant, <tt>%(dept)s</tt> par le nom du département, et <tt>%(webmaster)s</tt> par l'adresse mail du Webmaster.
|
||||
`bul_mail_list_abs` | Indiquer la liste des dates d'absences par mail | dans le mail envoyant le bulletin de notes
|
||||
`bul_mail_contact_addr` | Adresse mail contact "webmaster" | apparait dans le mail accompagnant le bulletin, voir balise "webmaster" ci-dessus.
|
||||
`bul_mail_allowed_for_all` | Autoriser tous les utilisateurs à expédier des bulletins par mail |
|
||||
`bul_mail_allowed_for_all` | Autoriser tous les utilisateurs à expédier des bulletins par mail |
|
||||
|
||||
## Mise en forme des feuilles (Absences, Trombinoscopes, ...)
|
||||
|
||||
@ -168,13 +170,13 @@ Nom | |
|
||||
---- | ---- | ----
|
||||
`feuille_releve_abs_taille` | Taille feuille relevé absences | Dimensions du papier pour les feuilles de relevés d'absences hebdomadaire
|
||||
`feuille_releve_abs_format` | Format feuille relevé absences | Format du papier pour les feuilles de relevés d'absences hebdomadaire
|
||||
`feuille_releve_abs_samedi` | Samedi travaillé |
|
||||
`feuille_releve_abs_samedi` | Samedi travaillé |
|
||||
`feuille_releve_abs_AM` | Créneaux cours matin | Nombre de créneaux de cours le matin
|
||||
`feuille_releve_abs_PM` | Créneaux cours après-midi | Nombre de créneaux de cours l'après-midi
|
||||
`feuille_placement_emargement` | Feuille d'émargement des contrôles - Signature étudiant | Hauteur de l'espace pour signer
|
||||
`feuille_placement_positions` | Feuille des places lors des contrôles | Nombre maximum de lignes par colonne
|
||||
`prepa_jury_nip` | Code NIP sur la feuille préparation jury |
|
||||
`prepa_jury_ine` | Code INE sur la feuille préparation jury |
|
||||
`prepa_jury_nip` | Code NIP sur la feuille préparation jury |
|
||||
`prepa_jury_ine` | Code INE sur la feuille préparation jury |
|
||||
`anonymous_lst_code` | Code pour listes anonymes | à défaut, un code interne sera utilisé
|
||||
|
||||
## Avis de poursuites d'études
|
||||
@ -183,7 +185,7 @@ Nom | |
|
||||
---- | ---- | ----
|
||||
`NomResponsablePE` | Nom du responsable des poursuites d'études | pour les avis pdf de poursuite
|
||||
`pe_avis_latex_tmpl` | Template LaTeX des avis | préparez-le dans un éditeur de texte puis copier le contenu ici (en utf8). Sinon, le fichier un_avis.tex du serveur sera utilisé.
|
||||
`pe_avis_latex_footer` | Code LaTeX en fin d'avis |
|
||||
`pe_avis_latex_footer` | Code LaTeX en fin d'avis |
|
||||
`pe_tag_annotation_avis_latex` | Tag désignant l'avis PE | ajoutez une annotation aux étudiants précédée du tag désigné ici pour qu'elle soit interprétée comme un avis de poursuites d'études et ajoutée aux avis LaTeX.
|
||||
|
||||
## Connexion avec le logiciel d'emplois du temps
|
||||
|
@ -86,7 +86,8 @@ comptes utilisateurs.
|
||||
# en tant que root...
|
||||
systemctl stop scodoc9 # arret du serveur
|
||||
su - scodoc
|
||||
dropdb SCODOC # <<< votre base production
|
||||
cd /opt/scodoc
|
||||
dropdb SCODOC # <<< votre base production
|
||||
createdb -E UTF-8 SCODOC
|
||||
pg_restore -d SCODOC /tmp/SCODOC_pgdump # (nom du fichier dump)
|
||||
source venv/bin/activate
|
||||
@ -111,7 +112,7 @@ script
|
||||
Ce script va générer une archive (`tar`, format `.tgz`) contenant non seulement
|
||||
la base de données SQL mais aussi tous les fichiers générés par votre ScoDoc:
|
||||
photos, configurations locales, archives, PV de jurys, logos, etc (tout ceci
|
||||
étant stocké sous `/opt/scodoc-data`).
|
||||
étant stocké sous `/opt/scodoc-data`).
|
||||
|
||||
Attention à l'espace disque: le répertoire destination (`/tmp`dans l'exemple
|
||||
ci-dessus) doit avoir de l'espace (sinon utilisez un autre répertoire dans
|
||||
|
@ -234,112 +234,156 @@ permet de rechercher une entrée à partir du résultat attendu.
|
||||
|
||||
### Carte syntaxique
|
||||
|
||||
![carte_syntaxique](img/API_Chart.svg)
|
||||
<div style="overflow: scroll;">
|
||||
<div style="width: 1200px;">
|
||||
![carte_syntaxique](img/API_Chart.svg)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
(carte générée avec `flask gen-api-map -e "api."`)
|
||||
|
||||
### Tableau récapitulatif des entrées de l'API
|
||||
|
||||
Ce tableau est trié selon le type des informations renvoyées:
|
||||
| Route | Méthode | Permission |
|
||||
|---|---|---|
|
||||
| [assiduite](#assiduite) | GET | ScoView |
|
||||
| [assiduite_create](#assiduite-create) | POST | AbsChange |
|
||||
| [assiduite_delete](#assiduite-delete) | POST | AbsChange |
|
||||
| [assiduite_edit](#assiduite-edit) | POST | AbsChange |
|
||||
| [assiduite_justificatifs](#assiduite-justificatifs) | GET | ScoView |
|
||||
| [assiduites](#assiduites-query) | GET | ScoView |
|
||||
| [assiduites_count](#assiduites-count-query) | GET | ScoView |
|
||||
| [assiduites_create](#assiduites-create) | POST | AbsChange |
|
||||
| [assiduites_edit](#assiduites-edit) | POST | AbsChange |
|
||||
| [assiduites_evaluations](#assiduites-evaluations) | GET | ScoView |
|
||||
| [assiduites_formsemestre](#assiduites-formsemestre-query) | GET | ScoView |
|
||||
| [assiduites_formsemestre_count](#assiduites-formsemestre-count-query) | GET | ScoView |
|
||||
| [assiduites_group](#assiduites-group-query) | GET | ScoView |
|
||||
| [autorisation_inscription_delete](#autorisation-inscription-delete) | POST | EtudInscrit |
|
||||
| [billets_absence_create](#billets-absence-create) | POST | Aucune permission requise |
|
||||
| [billets_absence_delete](#billets-absence-delete) | POST | Aucune permission requise |
|
||||
| [billets_absence_etudiant](#billets-absence-etudiant) | GET | Aucune permission requise |
|
||||
| [bulletin](#bulletin) | GET | ScoView |
|
||||
| [bulletins](#bulletins) | GET | ScoView |
|
||||
| [decisions_jury](#decisions-jury) | GET | ScoView |
|
||||
| [departement_by_acronym](#departement-by-acronym) | GET | ScoView |
|
||||
| [departement_by_id](#departement-by-id) | GET | ScoView |
|
||||
| [departement_create](#departement-create) | POST | ScoSuperAdmin |
|
||||
| [departement_delete](#departement-delete) | POST | ScoSuperAdmin |
|
||||
| [departement_edit](#departement-edit) | POST | ScoSuperAdmin |
|
||||
| [departement_etudiants](#departement-etudiants) | GET | ScoView |
|
||||
| [departement_etudiants_by_id](#departement-etudiants-by-id) | GET | ScoView |
|
||||
| [departement_formsemestres_courants](#departement-formsemestres-courants-query) | GET | ScoView |
|
||||
| [departement_formsemestres_ids](#departement-formsemestres-ids) | GET | ScoView |
|
||||
| [departement_formsemestres_ids_by_id](#departement-formsemestres-ids-by-id) | GET | ScoView |
|
||||
| [departements_ids](#departements-ids) | GET | ScoView |
|
||||
| [departements_list](#departements-list) | GET | ScoView |
|
||||
| [etudiant](#etudiant) | GET | ScoView |
|
||||
| [etudiant_annotation](#etudiant-annotation) | POST | EtudInscrit |
|
||||
| [etudiant_annotation_delete](#etudiant-annotation-delete) | POST | EtudInscrit |
|
||||
| [etudiant_create](#etudiant-create) | POST | EtudInscrit |
|
||||
| [etudiant_edit](#etudiant-edit) | POST | EtudInscrit |
|
||||
| [etudiant_formsemestres](#etudiant-formsemestres) | GET | ScoView |
|
||||
| [etudiant_get_photo_image](#etudiant-get-photo-image-query) | GET | ScoView |
|
||||
| [etudiant_groups](#etudiant-groups) | GET | ScoView |
|
||||
| [etudiants](#etudiants) | GET | ScoView |
|
||||
| [etudiants_by_name](#etudiants-by-name) | GET | ScoView |
|
||||
| [etudiants_courants](#etudiants-courants-query) | GET | ScoView |
|
||||
| [evaluation_assiduites](#evaluation-assiduites) | GET | ScoView |
|
||||
| [evaluation_create](#evaluation-create) | POST | EnsView |
|
||||
| [evaluation_delete](#evaluation-delete) | POST | EnsView |
|
||||
| [evaluation_notes](#evaluation-notes) | GET | ScoView |
|
||||
| [evaluation_set_notes](#evaluation-set-notes) | POST | EnsView |
|
||||
| [formation_by_id](#formation-by-id) | GET | ScoView |
|
||||
| [formation_export_by_formation_id](#formation-export-by-formation-id) | GET | ScoView |
|
||||
| [formation_module_edit](#formation-module-edit) | POST | EditFormation |
|
||||
| [formation_module_get](#formation-module-get) | GET | ScoView |
|
||||
| [formation_module_set_code_apogee](#formation-module-set-code-apogee) | POST | EditFormation |
|
||||
| [formations](#formations) | GET | ScoView |
|
||||
| [formations_ids](#formations-ids) | GET | ScoView |
|
||||
| [formsemestre_edit](#formsemestre-edit) | POST | EditFormSemestre |
|
||||
| [formsemestre_edt](#formsemestre-edt-query) | GET | ScoView |
|
||||
| [formsemestre_etat_evaluations](#formsemestre-etat-evaluations) | GET | ScoView |
|
||||
| [formsemestre_etudiants](#formsemestre-etudiants-query) | GET | ScoView |
|
||||
| [formsemestre_infos](#formsemestre-infos) | GET | ScoView |
|
||||
| [formsemestre_partitions](#formsemestre-partitions) | GET | ScoView |
|
||||
| [formsemestre_programme](#formsemestre-programme) | GET | ScoView |
|
||||
| [formsemestre_resultat](#formsemestre-resultat-query) | GET | ScoView |
|
||||
| [formsemestre_set_apo_etapes](#formsemestre-set-apo-etapes) | POST | EditApogee |
|
||||
| [formsemestre_set_elt_annee_apo](#formsemestre-set-elt-annee-apo) | POST | EditApogee |
|
||||
| [formsemestre_set_elt_passage_apo](#formsemestre-set-elt-passage-apo) | POST | EditApogee |
|
||||
| [formsemestre_set_elt_sem_apo](#formsemestre-set-elt-sem-apo) | POST | EditApogee |
|
||||
| [formsemestre_set_partitions_order](#formsemestre-set-partitions-order) | POST | ScoView |
|
||||
| [formsemestres_query](#formsemestres-query) | GET | ScoView |
|
||||
| [group_create](#group-create) | POST | ScoView |
|
||||
| [group_delete](#group-delete) | POST | ScoView |
|
||||
| [group_edit](#group-edit) | POST | ScoView |
|
||||
| [group_etudiants](#group-etudiants) | GET | ScoView |
|
||||
| [group_etudiants_query](#group-etudiants-query) | GET | ScoView |
|
||||
| [group_remove_etud](#group-remove-etud) | POST | ScoView |
|
||||
| [group_set_edt_id](#group-set-edt-id) | POST | ScoView |
|
||||
| [group_set_etudiant](#group-set-etudiant) | POST | ScoView |
|
||||
| [groups_get_auto_assignment](#groups-get-auto-assignment) | GET | ScoView |
|
||||
| [groups_save_auto_assignment](#groups-save-auto-assignment) | POST | ScoView |
|
||||
| [justif_create](#justif-create) | POST | AbsChange |
|
||||
| [justif_delete](#justif-delete) | POST | AbsChange |
|
||||
| [justif_edit](#justif-edit) | POST | AbsChange |
|
||||
| [justif_export](#justif-export) | POST | ScoView |
|
||||
| [justif_import](#justif-import) | POST | AbsChange |
|
||||
| [justif_justifies](#justif-justifies) | GET | AbsChange |
|
||||
| [justif_list](#justif-list) | GET | ScoView |
|
||||
| [justif_remove](#justif-remove) | POST | AbsChange |
|
||||
| [justificatif](#justificatif) | GET | ScoView |
|
||||
| [justificatifs](#justificatifs-query) | GET | ScoView |
|
||||
| [justificatifs_dept](#justificatifs-dept-query) | GET | ScoView |
|
||||
| [justificatifs_formsemestre](#justificatifs-formsemestre-query) | GET | ScoView |
|
||||
| [logo_get_global](#logo-get-global) | GET | ScoSuperAdmin |
|
||||
| [logo_get_local_by_acronym](#logo-get-local-by-acronym) | GET | ScoSuperAdmin |
|
||||
| [logo_get_local_by_id](#logo-get-local-by-id) | GET | ScoSuperAdmin |
|
||||
| [logo_get_local_dept_by_acronym](#logo-get-local-dept-by-acronym) | GET | ScoSuperAdmin |
|
||||
| [logo_get_local_dept_by_id](#logo-get-local-dept-by-id) | GET | ScoSuperAdmin |
|
||||
| [logo_list_globals](#logo-list-globals) | GET | ScoSuperAdmin |
|
||||
| [moduleimpl_evaluations](#moduleimpl-evaluations) | GET | ScoView |
|
||||
| [moduleimpl_inscriptions](#moduleimpl-inscriptions) | GET | ScoView |
|
||||
| [moduleimpl_notes](#moduleimpl-notes) | GET | ScoView |
|
||||
| [partition_create](#partition-create) | POST | ScoView |
|
||||
| [partition_delete](#partition-delete) | POST | ScoView |
|
||||
| [partition_edit](#partition-edit) | POST | ScoView |
|
||||
| [partition_info](#partition-info) | GET | ScoView |
|
||||
| [partition_order_groups](#partition-order-groups) | POST | ScoView |
|
||||
| [partition_remove_etud](#partition-remove-etud) | POST | ScoView |
|
||||
| [permissions_list](#permissions-list) | GET | UsersView |
|
||||
| [referentiel_competences](#referentiel-competences) | GET | ScoView |
|
||||
| [role_create](#role-create) | POST | ScoSuperAdmin |
|
||||
| [role_delete](#role-delete) | POST | ScoSuperAdmin |
|
||||
| [role_edit](#role-edit) | POST | ScoSuperAdmin |
|
||||
| [role_get](#role-get) | GET | UsersView |
|
||||
| [role_permission_add](#role-permission-add) | POST | ScoSuperAdmin |
|
||||
| [role_permission_remove](#role-permission-remove) | POST | ScoSuperAdmin |
|
||||
| [roles_list](#roles-list) | GET | UsersView |
|
||||
| [token_get](#token-get) | POST | Aucune permission requise |
|
||||
| [ue_assoc_niveau](#ue-assoc-niveau) | POST | EditFormation |
|
||||
| [ue_desassoc_niveau](#ue-desassoc-niveau) | POST | EditFormation |
|
||||
| [ue_edit](#ue-edit) | POST | EditFormation |
|
||||
| [ue_set_code_apogee](#ue-set-code-apogee) | POST | EditFormation |
|
||||
| [ue_set_code_apogee_rcue](#ue-set-code-apogee-rcue) | POST | EditFormation |
|
||||
| [ue_set_parcours](#ue-set-parcours) | POST | EditFormation |
|
||||
| [user_create](#user-create) | POST | UsersAdmin |
|
||||
| [user_edit](#user-edit) | POST | UsersAdmin |
|
||||
| [user_info](#user-info) | GET | UsersView |
|
||||
| [user_password](#user-password) | POST | UsersAdmin |
|
||||
| [user_role_add](#user-role-add) | POST | ScoSuperAdmin |
|
||||
| [user_role_remove](#user-role-remove) | POST | ScoSuperAdmin |
|
||||
| [users_info_query](#users-info-query) | GET | ScoView |
|
||||
| [validation_annee_but_delete](#validation-annee-but-delete) | POST | EtudInscrit |
|
||||
| [validation_dut120_delete](#validation-dut120-delete) | POST | EtudInscrit |
|
||||
| [validation_formsemestre_delete](#validation-formsemestre-delete) | POST | ScoView |
|
||||
| [validation_rcue_delete](#validation-rcue-delete) | POST | EtudInscrit |
|
||||
| [validation_rcue_record](#validation-rcue-record) | POST | EtudInscrit |
|
||||
| [validation_ue_delete](#validation-ue-delete) | POST | ScoView |
|
||||
|
||||
* un nom simple représente un seul objet de ce type;
|
||||
* suivi de `+`désigne une forme 'longue' d'objet de ce type;
|
||||
* suivi de `*` désigne une liste de 0, 1 ou plusieurs objets du type;
|
||||
* suivi de `#` désigne une liste d'entiers (les ids des objets du type);
|
||||
* suivi de `:` puis d'un nom en majuscule indique une requête (POST) qui modifie
|
||||
les données de ScoDoc.
|
||||
(table générée avec `flask gen-api-map -e "api."`)
|
||||
|
||||
| Retour | Remarque | Méthode | Navigation | Permission |
|
||||
|:------------------------|:----------------------------------------|---------|---------------------------------------------------------------------------|---------------------|
|
||||
| assiduite | une assiduité | GET | [assiduité](#assiduite) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un étudiant | GET | [assiduités](#assiduites) | ScoView |
|
||||
| assiduite**`*`** | liste d'assiduités d'un formsemestre | GET | [assiduités-formsemestre](#assiduites-formsemestre) | ScoView |
|
||||
| assiduite**`#`** | liste d'id d'assiduités justifiées | GET | [justificatif-justifies](#justificatif-justifies) | ScoView |
|
||||
| assiduite:CREATE | création d'assiduité | POST | [assiduite-create](#assiduite-create) | AbsChange |
|
||||
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | AbsChange |
|
||||
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | AbsChange |
|
||||
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
|
||||
| justificatif**`*`** | liste de justificatif d'un étudiant | GET | [justificatifs](#justificatifs) | ScoView |
|
||||
| justificatif:CREATE | création de justificatif | POST | [justificatif-create](#justificatif-create) | AbsChange |
|
||||
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | AbsChange |
|
||||
| justificatif:DELETE | suppression de justificatif | POST | [justificatif-delete](#justificatif-delete) | AbsChange |
|
||||
| justificatif:IMPORT | importation de fichier justificatif | POST | [justificatif-import](#justificatif-import) | AbsChange |
|
||||
| justificatif:EXPORT | exportation de fichier justificatif | POST | [justificatif-export](#justificatif-export) | AbsChange |
|
||||
| justificatif:REMOVE | suppression de fichier justificatif | POST | [justificatif-remove](#justificatif-remove) | AbsChange |
|
||||
| departement**`*`** | tous les depts | GET | [departements](#departements) | |
|
||||
| departement**`#`** | tous les ids des depts | GET | [departements-ids](#departements-ids) | ScoView |
|
||||
| departement | recherche par id | GET | [departement](#departement) | ScoView |
|
||||
| departement | recherche par acronyme | GET | [departement](#departement) | ScoView |
|
||||
| departement:CREATE | création d'un département | POST | [departement-create](#departement-create) | ScoSuperAdmin |
|
||||
| departement:EDIT | modification d'un département | POST | [departement-edit](#departement-edit) | ScoSuperAdmin |
|
||||
| departement:DELETE | suppression d'un département | POST | [departement-delete](#departement-delete) | ScoSuperAdmin |
|
||||
| evaluation | une évaluation | GET | [evaluation](#evaluation) | ScoView |
|
||||
| evaluation:CREATE | création d'une évaluation | POST | [evaluation-create](#evaluation-create) | - |
|
||||
| evaluation:DELETE | suppression d'une évaluation | POST | [evaluation-delete](#evaluation-delete) | - |
|
||||
| formation**`*`** | toutes les formations accessibles | GET | [formations](#formations) | ScoView |
|
||||
| formation**`#`** | ids des formations accessibles | GET | [formations-ids](#formations-ids) | ScoView |
|
||||
| formation | une formation | GET | [formation](#formation) | ScoView |
|
||||
| export | | GET | [formation-export](#formation-export) | ScoView |
|
||||
| export**`+`** | | GET | [formation-export_with_ids](#formation-export_with_ids) | ScoView |
|
||||
| referentiel_competences | | GET | [formation-referenciel_competences](#formation-referenciel_competences) | ScoView |
|
||||
| formsemestre**`#`** | | GET | [departement-formsemestres_ids](#departement-formsemestres_ids) | ScoView |
|
||||
| formsemestre**`*`** | | GET | [departement-formsemestres_courants](#departement-formsemestres_courants) | ScoView |
|
||||
| formsemestre**`*`** | | GET | [formsemestre-query](#formsemestre-query) | ScoView |
|
||||
| formsemestre:EDIT | | POST | [formsemestre-edit](#formsemestre-edit) | EditFormSemestre |
|
||||
| formsemestre**`*`** | | GET | [etudiant-formsemestres](#etudiant-formsemestres) | ScoView |
|
||||
| formsemestre | | GET | [formsemestre](#formsemestre) | ScoView |
|
||||
| moduleimpl | | GET | [moduleimpl](#moduleimpl) | ScoView |
|
||||
| moduleimpl-inscriptions | | GET | [moduleimpl](#moduleimpl-inscriptions) | ScoView |
|
||||
| partition**`*`** | | GET | [formsemestre-partitions](#formsemestre-partitions) | ScoView |
|
||||
| partition | | GET | [partition](#partition) | ScoView |
|
||||
| partition:CREATE | | POST | [formsemestre-partition-create](#formsemestre-partition-create) | EtudChangeGroups |
|
||||
| partition:EDIT | | POST | [partition-edit](#partition-edit) | EtudChangeGroups |
|
||||
| partition:ACTION | | POST | [formsemestre-partitions-order](#formsemestre-partitions-order) | EtudChangeGroups |
|
||||
| partition:DELETE | | POST | [partition-delete](#partition-delete) | EtudChangeGroups |
|
||||
| partition:ACTION | | POST | [partition-remove_etudiant](#partition-remove_etudiant) | EtudChangeGroups |
|
||||
| group:CREATE | | POST | [partition-group-create](#partition-group-create) | EtudChangeGroups |
|
||||
| group:EDIT | | POST | [group-edit](#group-edit) | EtudChangeGroups |
|
||||
| group:ACTION | | POST | [partition-groups-order](#partition-groups-order) | EtudChangeGroups |
|
||||
| group:DELETE | | POST | [group-delete](#group-delete) | EtudChangeGroups |
|
||||
| group* | | GET | [etudiant-formsemestre-groups](#etudiant-formsemestre-groups) | ScoView |
|
||||
| group:ACTION | | POST | [group-set_etudiant](#group-set_etudiant) | EtudChangeGroups |
|
||||
| group:ACTION | | POST | [group-remove_etudiant](#group-remove_etudiant) | EtudChangeGroups |
|
||||
| etudiant**`*`** | recherche par etudid, nip ou ine | GET | [etudiants-clef](#etudiants-clef) | ScoView |
|
||||
| etudiant**`*`** | les étudiants actuels | GET | [etudiants-courant](#etudiants-courant) | ScoView |
|
||||
| etudiant**`*`** | étudiants dont le nom commence par | GET | [etudiants-name](#etudiants-name) | ScoView |
|
||||
| etudiant**`*`** | | GET | [departement-etudiants](#departement-etudiants) | ScoView |
|
||||
| etudiant**`*`** | | GET | [formsemestre-etudiants](#formsemestre-etudiants) | ScoView |
|
||||
| etudiant**`*`** | | GET | [formsemestre-etudiants-query](#formsemestre-etudiants-query) | ScoView |
|
||||
| etudiant**`*`** | | GET | [group-etudiants-query](#group-etudiants) | ScoView |
|
||||
| etudiant**`*`** | | GET | [group-etudiants-query](#group-etudiants-query) |
|
||||
| etudiant | | GET | [etudiant](#etudiant) | ScoView |
|
||||
| etudiant:CREATE | | GET | [etudiant-create](#etudiant-create) | EtudInscrit |
|
||||
| etudiant:EDIT | | GET | [etudiant-edit](#etudiant-edit) | EtudInscrit |
|
||||
| bulletin**`*`** | | GET | [formsemestre-bulletin](#formsemestre-bulletin) | ScoView |
|
||||
| bulletin | | GET | [etudiant-formsemestre-bulletin](#etudiant-formsemestre-bulletin) | ScoView |
|
||||
| programme | | GET | [formsemestre-programme](#formsemestre-programme) | ScoView |
|
||||
| | | GET | [formsemestre-etat_evals](#formsemestre-etat_evals) | ScoView |
|
||||
| | | GET | [formsemestre-resultats](#formsemestre-resultats) | ScoView |
|
||||
| jury | | GET | [formsemestre-decisions_jury](#formsemestre-decisions_jury) | ScoView |
|
||||
| note* | | GET | [evaluation-notes](#evaluation-notes) | ScoView |
|
||||
| | | GET | [evaluation-notes-set](#evaluation-notes-set) | (contextuelle) |
|
||||
| logo**`*`** | | GET | [logos](#logos) | ScoSuperAdmin |
|
||||
| logo**`*`** | | GET | [departement-logos](#departement-logos) | ScoSuperAdmin |
|
||||
| logo | | GET | [logo](#logo) | ScoSuperAdmin |
|
||||
| logo | | GET | [departement-logo](#departement-logo) | ScoSuperAdmin |
|
||||
| user | | GET | [user](#user) | UsersView |
|
||||
| user**`*`** | | GET | [users-query](#users-query) | UsersView |
|
||||
| user:CREATE | | POST | [user-create](#user-create) | UsersAdmin |
|
||||
| user:EDIT | | POST | [user-edit](#user-edit) | UsersAdmin |
|
||||
| user:PASSWORD | change le mot de passe d'un utilisateur | POST | [user-password](#user-password) | UsersAdmin |
|
||||
| user:ACTION | | POST | [user-role-add](#user-role-add) | UsersAdmin |
|
||||
| user:ACTION | | POST | [user-role-remove](#user-role-remove) | UsersAdmin |
|
||||
| permission**`*`** | | GET | [permissions](#permissions) | UsersView |
|
||||
| role**`*`** | | GET | [roles](#roles) | UsersView |
|
||||
| role**`*`** | | GET | [role](#role) | UsersView |
|
||||
| role:ACTION | | POST | [role-add_permission](#role-add_permission) | UsersAdmin |
|
||||
| role:ACTION | | POST | [role-remove_permission](#role-remove_permission) | UsersAdmin |
|
||||
| role:CREATE | | POST | [role-create](#role-create) | UsersAdmin |
|
||||
| role:EDIT | | POST | [role-edit](#role-edit) | UsersAdmin |
|
||||
| role:DELETE | | POST | [role-delete](#role-delete) | UsersAdmin |
|
||||
|
||||
#### Note sur les exemples d'utilisation
|
||||
|
||||
@ -746,6 +790,15 @@ Note: les poids ne sont utilisés que dans les formations APC (BUT).
|
||||
* **Résultat:** Liste une évaluation
|
||||
* **Exemple de résultat:** [evaluation.json](samples/sample_evaluation.json.md)
|
||||
|
||||
#### **`evaluation-assiduites`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Routes:** `/evaluation/<int:evaluation_id>/assiduites`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/evaluation/123/assiduites`
|
||||
* **Résultat:** La liste des assiduités de chaque étudiant inscrits à l'évaluation sur la plage de l'évaluation (Groupé par etudid)
|
||||
* **Exemple de résultat:** [evaluation-assiduites.json](samples/sample_evaluation_assiduites.json.md)
|
||||
|
||||
#### **`evaluation-create`**
|
||||
|
||||
* **Méthode: POST**
|
||||
@ -825,6 +878,63 @@ Note: les poids ne sont utilisés que dans les formations APC (BUT).
|
||||
* **Résultat:** Description de la formation.
|
||||
* **Exemple de résultat:** [formation.json](samples/sample_formation.json.md)
|
||||
|
||||
#### **`module-edit`**
|
||||
|
||||
* **Méthode:** POST
|
||||
* **Permission: `EditFormation`**
|
||||
* **Paramètres:** `module_id`
|
||||
* **Data:**
|
||||
```json
|
||||
{
|
||||
"titre" : str,
|
||||
"abbrev" : str,
|
||||
"code"
|
||||
"heures_cours" : float,
|
||||
"heures_td" : float,
|
||||
"heures_tp" : float,
|
||||
"coefficient" : float,
|
||||
"ects" : float,
|
||||
"matiere_id" : int, // must be in same UE
|
||||
"semestre_id" : int, // le rang du semestre (S1, ...)
|
||||
"numero" : int, // ordre d'affichage
|
||||
"code_apogee" : str,
|
||||
"edt_id" : str,
|
||||
"module_type" : int, // 0 std, 1 malus, 2 ressource, 3 SAÉ
|
||||
"parcours" : [ id de parcours ],
|
||||
}
|
||||
```
|
||||
* **Routes:** `/formation/module/<int:module_id>/edit`
|
||||
* **Résultat:** le module modifié.
|
||||
|
||||
#### **`ue-edit`**
|
||||
|
||||
* **Méthode:** POST
|
||||
* **Permission: `EditFormation`**
|
||||
* **Paramètres:** `ue_id`
|
||||
* **Data:**
|
||||
```json
|
||||
{
|
||||
"acronyme" : str,
|
||||
"numero" : int, // ordre d'affichage
|
||||
"titre" : str,
|
||||
"semestre_idx" : int, // le rang du semestre (S1, ...)
|
||||
"type": int, // 0 std, 1 bonus sport, 2 projet&stage (old LP)
|
||||
"ue_code" : str,
|
||||
"ects" : float,
|
||||
"is_external" : bool, // true pour externes
|
||||
"code_apogee" : str,
|
||||
"code_apogee_rcue" : str,
|
||||
"coef_rcue" : float,
|
||||
"coefficient" : float, // si option use_ue_coefs
|
||||
"ects" : float,
|
||||
"matiere_id" : int, // must be in same UE
|
||||
}
|
||||
```
|
||||
* **Routes:** `/formation/ue/<int:ue_id>/edit`
|
||||
* **Résultat:** l'UE modifiée.
|
||||
|
||||
|
||||
|
||||
### **API Formsemestre**
|
||||
|
||||
Les sessions de formation (qu'elles durent une année ou un mois) sont représentées par les `formsemestre`.
|
||||
@ -1269,7 +1379,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
|
||||
d'un autre).
|
||||
|
||||
#### **roles**
|
||||
#### **list-roles**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `UsersView`**
|
||||
@ -1278,7 +1388,7 @@ d'un autre).
|
||||
* **Résultat:** Liste de tous les rôles.
|
||||
* **Exemple de résultat:** [roles.json](samples/sample_roles.json.md)
|
||||
|
||||
#### **role**
|
||||
#### **list-role**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `UsersView`**
|
||||
@ -1287,7 +1397,7 @@ d'un autre).
|
||||
* **Résultat:** Liste le rôle indiqué. 404 si inexistant.
|
||||
* **Exemple de résultat:** [role.json](samples/sample_role.json.md)
|
||||
|
||||
#### **role-add_permission**
|
||||
#### **role-permission-add**
|
||||
|
||||
* **Méthode: POST**
|
||||
* **Permission: `ScoSuperAdmin`**
|
||||
@ -1297,7 +1407,7 @@ d'un autre).
|
||||
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)
|
||||
|
||||
#### **role-remove_permission**
|
||||
#### **role-permission-remove**
|
||||
|
||||
* **Méthode: POST**
|
||||
* **Permission: `ScoSuperAdmin`**
|
||||
@ -1344,7 +1454,7 @@ d'un autre).
|
||||
|
||||
### **API User, Permissions**
|
||||
|
||||
#### **user**
|
||||
#### **user-info**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `UsersView`**
|
||||
@ -1376,7 +1486,7 @@ d'un autre).
|
||||
si est "super-administrateur".
|
||||
* **Exemple de résultat:** [user-create.json](samples/sample_user-create.json.md)
|
||||
|
||||
#### **`users-query`**
|
||||
#### **`users-info-query`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `UsersView`**
|
||||
@ -1449,7 +1559,7 @@ d'un autre).
|
||||
* **Résultat:** Retire le rôle à l'utilisateur.
|
||||
* **Exemple de résultat:** [user-role-remove.json](samples/sample_user-role-remove.json.md)
|
||||
|
||||
#### **`permissions`**
|
||||
#### **`list-permissions`**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `UsersView`**
|
||||
@ -1546,16 +1656,14 @@ mais pas JSON compliant à cause des `NaN`.
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Query string**: `format`
|
||||
* **Route:** `/formsemestres/resultats`
|
||||
* **Route:** `/formsemestre/<int:formsemestre_id>/resultats`
|
||||
* **Exemple d'utilisation:** `/api/formsemestre/1/resultats`
|
||||
* **Résultat:** [formsemestre-resultats.json](samples/sample_formsemestre-resultats.json.md)
|
||||
|
||||
Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules)
|
||||
* **Résultat:** Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules)
|
||||
pour un formsemestre spécifié par son id.
|
||||
Par défaut les valeurs numériques sont formatées en chaînes. Si format=raw,
|
||||
valeurs numériques mais pas JSON compliant à cause des `NaN`.
|
||||
|
||||
* **Exemple de résultat:**
|
||||
* **Exemple de résultat:** [formsemestre-resultats.json](samples/sample_formsemestre-resultats.json.md)
|
||||
|
||||
#### **`moduleimpl-evaluations`**
|
||||
|
||||
@ -1733,16 +1841,16 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* **Exemple d'utilisation:** `/api/assiduite/1`
|
||||
* **Résultat:** Retourne un objet assiduité ou une erreur si l'id n'est pas connu
|
||||
* **Exemple de résultat:** [assiduite.json](samples/sample_assiduite.json.md)
|
||||
*
|
||||
|
||||
#### **assiduite-justificatifs[-long]**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:** `assiduite_id`
|
||||
* **Routes:**
|
||||
* **Routes:**
|
||||
* `/assiduite/<int:assiduite_id>/justificatifs`
|
||||
* `/assiduite/<int:assiduite_id>/justificatifs/long`
|
||||
* **Exemple d'utilisation:**
|
||||
* **Exemple d'utilisation:**
|
||||
* `/api/assiduite/123/justificatifs`
|
||||
* `/api/assiduite/123/justificatifs/long`
|
||||
* **Résultat:** Retourne une liste de justificatifs. des objets en utilisant la route `long` sinon les justif_id
|
||||
@ -1783,6 +1891,25 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* **Résultat:** Liste de toutes les objets assiduité qui correspondent aux critères sélectionnés
|
||||
* **Exemple de résultat:** [assiduites.json](samples/sample_assiduites.json.md)
|
||||
|
||||
#### **assiduites-evaluations**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:**
|
||||
* `etudid`
|
||||
* `nip`
|
||||
* `ine`
|
||||
* **Routes:**
|
||||
* `/assiduites/<int:etudid>/evaluations`
|
||||
* `/assiduites/etudid/<int:etudid>/evaluations`
|
||||
* `/assiduites/nip/<nip>/evaluations`
|
||||
* `/assiduites/ine/<ine>/evaluations`
|
||||
* **Exemple d'utilisation:**
|
||||
* `/api/assiduites/1/evaluations`
|
||||
* **Résultat:** Retourne toutes les assiduités liés à des évaluations. (organisé par évaluations)
|
||||
* **Exemple de résultat:** [assiduites-evaluations.json](samples/sample_assiduites_evaluations.json.md)
|
||||
|
||||
|
||||
#### **assiduites-count[-query]**
|
||||
|
||||
* **Méthode:** GET
|
||||
|
@ -130,3 +130,11 @@ Apogée.
|
||||
|
||||
- jury de fin de S1: si le S2 est validé;
|
||||
- jury de fin de S3: si le S4 est validé.
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Inscription des étudiants via Apogée](InscriptionsEtudApogee.md)
|
||||
- [Exports des résultats BUT vers Apogée](BUTApogee.md)
|
||||
- [Guide du responsable de formation](GuideAdminFormation.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
@ -1,55 +1,60 @@
|
||||
# Récapitulatif des opérations en fin de semestre (et début du suivant)
|
||||
|
||||
Cette page récapitule les opérations typiquement effectuées par un chef de
|
||||
département en IUT à la fin d'un semestre. Selon les cas, certaines opérations
|
||||
peuvent être effectuées par les directeurs des études. La plupart des étapes
|
||||
mentionnées ici sont aussi applicables pour d'autres types de formation.
|
||||
Cette page récapitule les opérations typiquement effectuées par le ou la
|
||||
responsable de formation (par ex. une cheffe de département en IUT) à la fin
|
||||
d'un semestre. Selon les cas, certaines opérations peuvent être effectuées par
|
||||
les directeurs des études.
|
||||
|
||||
Voir aussi le [Guide pour la cheffe ou le chef de
|
||||
département](GuideAdminFormation.md).
|
||||
Voir aussi le [Guide pour la cheffe ou le chef de département](GuideAdminFormation.md).
|
||||
|
||||
## À la fin d'un semestre
|
||||
|
||||
1. Vérifier que les réglages de votre semestre correspondent bien à ce que vous
|
||||
voulez. En particulier, les options comme *proposer compensation* et *jurys
|
||||
avec semestres décalés* (accessibles via *Modifier le semestre*, voir
|
||||
figure).
|
||||
![reglages-semestres-check.png](screens/reglages-semestres-check.png)
|
||||
1. Vérifier que les réglages de votre semestre correspondent bien à ce que vous
|
||||
voulez. En particulier, surtout pour les DUT, les options comme *proposer
|
||||
compensation* et *jurys avec semestres décalés* (accessibles via *Modifier
|
||||
le semestre*, voir figure).
|
||||
![reglages-semestres-check.png](screens/reglages-semestres-check.png)
|
||||
|
||||
2. Vérifier que le cursus choisi est correct (menu *Semestre* / *Voir la
|
||||
formation*): ainsi, le parcours affiché doit être "DUT selon l'arrêté d'août
|
||||
2005" pour le DUT.
|
||||
2. Vérifier que la formation (menu **Semestre / Voir la formation**) est
|
||||
correcte et, s'il y a des messages d'avertissement dans la formation ou sur
|
||||
le tableau de bord du semestre, que vous les avez pris en compte ou
|
||||
comprenez la situation.
|
||||
|
||||
3. Vérifier que toutes les notes ont été saisies: regarder le tableau de bord,
|
||||
qui affiche dans chaque module les évaluations et indique si des notes
|
||||
manquent ou sont en attente.
|
||||
3. Vérifier que toutes les notes ont été saisies: regarder le tableau de bord,
|
||||
qui affiche dans chaque module les évaluations et indique si des notes
|
||||
manquent ou sont en attente. Le tenue d'un jury exige que toutes les notes
|
||||
sont à jour.
|
||||
|
||||
4. (optionnel) Vérifier les absences si cela n'a pas déjà été fait. Dans le
|
||||
menu *Semestre* du tableau de bord, suivre *Vérifier les absences aux
|
||||
évaluations*.
|
||||
Attention, actuellement ScoDoc enregistre les absences par demi-journées, ce
|
||||
qui fait qu'un étudiant peut être noté absent alors qu'il a assisté à un
|
||||
examen sur une partie de la demi-journée et sèché le cours suivant.
|
||||
4. (optionnel) En BUT, sur un semestre impair (S1, S3, S5), si les étudiants ont
|
||||
déjà commencé le semestre suivant (par exemple si le S2 a commencé avant que
|
||||
le jury de S1 ait été enregistré), prendre soin de bloquer la prise en compte
|
||||
des moyennes du semestre pair: sur celui là, via **Semestre / Modifier le
|
||||
semestre**, cocher *empêcher le calcul des moyennes d'UE*. Sinon, les
|
||||
décisions annuelles BUT seraient calculées !
|
||||
|
||||
5. Réunir la commission (ou le jury):
|
||||
5. (optionnel) Vérifier les absences si cela n'a pas déjà été fait. Dans le
|
||||
menu *Semestre* du tableau de bord, suivre *Vérifier les absences aux
|
||||
évaluations*.
|
||||
|
||||
a. Il peut être utile de préparer des documents pour les membres de la
|
||||
commission: suivre *Générer feuille préparation Jury* dans le menu *Jury*.
|
||||
6. Réunir la commission (ou le jury):
|
||||
|
||||
b. Durant la commission, nous recommandons de saisir en temps réel les
|
||||
décisions (menu *Jury / Saisie des décisions*). **Pour éviter que les
|
||||
étudiants n'aient accès aux décisions pendant le jury, décocher l'option
|
||||
*publier le bulletin sur le portail* ** (menu *Semestre / Options du
|
||||
semestre*).
|
||||
a. Il peut être utile de préparer des documents pour les membres de la
|
||||
commission: suivre *Générer feuille préparation Jury* dans le menu *Jury*.
|
||||
|
||||
6. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
b. Durant la commission, nous recommandons de saisir en temps réel les
|
||||
décisions (menu *Jury / Saisie des décisions*). **Pour éviter que les
|
||||
étudiants n'aient accès aux décisions pendant le jury, décocher l'option
|
||||
*publier le bulletin sur la passerelle* ** (menu *Semestre / Options du
|
||||
semestre*).
|
||||
|
||||
1. En bas de la page, un lien *Courriers individuels (classeur pdf)* permet
|
||||
de générer les courriers à adresser aux étudiants (penser à vérifier
|
||||
leurs adresses postales au préalable sur leurs fiches).
|
||||
7. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
|
||||
2. Le lien *PV officiel (pdf)* permet de générer le procès verbal avec la
|
||||
liste des décisions pour chaque étudiant.
|
||||
a. En bas de la page, un lien *Courriers individuels (classeur pdf)* permet
|
||||
de générer les courriers à adresser aux étudiants (penser à vérifier
|
||||
leurs adresses postales au préalable sur leurs fiches).
|
||||
|
||||
b. Le lien *PV officiel (pdf)* permet de générer le procès verbal avec la
|
||||
liste des décisions pour chaque étudiant.
|
||||
|
||||
A ce stade, le semestre est terminé. Il est recommandé de le **verrouiller**
|
||||
après les prises de décisions définitives.
|
||||
@ -59,11 +64,11 @@ après les prises de décisions définitives.
|
||||
1. **Créer une instance du semestre suivant** (par exemple un S2 après un S1).
|
||||
Pour cela, aller sur la page *Programmes*, choisir la formation (rappelons
|
||||
que ScoDoc appelle "formation" la définition d'un programme pédagogique) et
|
||||
suivre le lien *UE, modules, semestres*.
|
||||
suivre le lien *UE, modules, semestres*.
|
||||
|
||||
2. En bas de la page qui détaille le programme, suivre le lien *Mettre en place
|
||||
un nouveau semestre de formation* et remplissez le formulaire.
|
||||
|
||||
|
||||
Une autre approche, souvent plus rapide, consiste à créer un semestre en
|
||||
utilisant un semestre existant comme modèle: on reprend la même liste de
|
||||
modules; pour cela, se placer sur le semestre modèle, et utiliser le menu **
|
||||
@ -74,14 +79,14 @@ après les prises de décisions définitives.
|
||||
doit commencer quelques jours (ou semaines) après le précédent !)
|
||||
|
||||
2. Désignez le responsable (directeur des études en DUT).
|
||||
|
||||
|
||||
3. Si vous êtes interfacé à Apogée (via un portail), indiquez le code étape
|
||||
Apogée correspondant à votre nouveau semestre.
|
||||
|
||||
|
||||
4. Cocher les modules de votre semestre, et associez leur un enseignant
|
||||
responsable (ce dernier pourra créer des évaluations dans ce module et
|
||||
déclarer des collègues pouvant saisir les notes).
|
||||
|
||||
|
||||
5. Après relecture, cliquez sur le bouton *Créer ce semestre de formation*.
|
||||
|
||||
NB: toutes ces informations pourront être ultérieurement modifiées via le lien *Semestre / Modifer le semestre* du tableau de bord.
|
||||
@ -114,10 +119,10 @@ C'est prêt. Les enseignants autorisés peuvent créer des évaluations et saisi
|
||||
|
||||
## Problèmes couramment rencontrés
|
||||
|
||||
- **Etudiants en doubles**: ceci arrive lorsqu'on crée manuellement les
|
||||
- **Etudiants en double**: ceci arrive lorsqu'on crée manuellement les
|
||||
étudiants. Il faut absolument éviter de créer un étudiant qui existe déjà,
|
||||
sinon on perd la possibilité de suivre le parcours de chacun. Le respect de la
|
||||
procédure ci-dessus garanti normalement que les étudiants restent uniques.
|
||||
procédure ci-dessus garanti que les étudiants restent uniques.
|
||||
N'utiliser *créer un nouvel étudiant* qu'après vous être assuré qu'il n'était
|
||||
pas déjà inscrit dans un autre semestre, et que l'on sait que l'on ne va pas
|
||||
l'importer depuis Apogée.
|
||||
@ -138,5 +143,6 @@ Pour toute question, n'hésitez pas à nous contacter ([contacts](Contact.md)).
|
||||
|
||||
- [Vérifier les codes NIP](VerifCodeNIP.md)
|
||||
- [Guide pour le ou la responsable de formation](GuideAdminFormation.md)
|
||||
- [Les jurys de BUT](BUTJurys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
Before Width: | Height: | Size: 417 KiB After Width: | Height: | Size: 440 KiB |
BIN
docs/papers/Adhesion-2024-2025-Association-ScoDoc.docx
Normal file
BIN
docs/papers/Adhesion-2024-2025-Association-ScoDoc.pdf
Normal file
29
docs/samples/sample_assiduites_evaluations.json.md
Normal file
@ -0,0 +1,29 @@
|
||||
### assiduites-evaluations
|
||||
|
||||
#### GET /assiduites/1/evaluations
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"evaluation_id": 1234,
|
||||
"assiduites": [
|
||||
{
|
||||
"assiduite_id": 1,
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"desc": null,
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 12,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
26
docs/samples/sample_evaluation_assiduites.json.md
Normal file
@ -0,0 +1,26 @@
|
||||
### evaluation-assiduites
|
||||
|
||||
#### GET /evaluation/1/assiduites
|
||||
|
||||
```json
|
||||
{
|
||||
"1" : [
|
||||
{
|
||||
"assiduite_id": 1,
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"desc": null,
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 12,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
@ -51,12 +51,12 @@
|
||||
"nbabs": 5,
|
||||
"nbabsjust": 1,
|
||||
"nom_disp": "FLEURY",
|
||||
"nom_short": "FLEURY Ma.",
|
||||
"partitions": {
|
||||
"1": 1
|
||||
},
|
||||
"prenom": "MADELEINE",
|
||||
"rang": "1",
|
||||
"sort_key":"fleury;madeleine",
|
||||
"specialite": "",
|
||||
"type_admission": "",
|
||||
"ues_validables": "3/3"
|
||||
@ -109,12 +109,12 @@
|
||||
"nbabs": 3,
|
||||
"nbabsjust": 1,
|
||||
"nom_disp": "SAUNIER",
|
||||
"nom_short": "SAUNIER Ja.",
|
||||
"partitions": {
|
||||
"1": 1
|
||||
},
|
||||
"prenom": "JACQUES",
|
||||
"rang": "2",
|
||||
"sort_key":"fleury;madeleine",
|
||||
"specialite": "",
|
||||
"type_admission": "",
|
||||
"ues_validables": "3/3"
|
||||
|
BIN
docs/screens/ajout_assiduite_etud.png
Normal file
After Width: | Height: | Size: 772 KiB |
BIN
docs/screens/ajout_justificatif_etud.png
Normal file
After Width: | Height: | Size: 584 KiB |
BIN
docs/screens/bilan_assiduites_etud.png
Normal file
After Width: | Height: | Size: 991 KiB |
BIN
docs/screens/bilan_assiduites_group.png
Normal file
After Width: | Height: | Size: 585 KiB |
BIN
docs/screens/calendrier_assiduite_etud.png
Normal file
After Width: | Height: | Size: 736 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 503 KiB |
BIN
docs/screens/edit_assiduite_etud.png
Normal file
After Width: | Height: | Size: 457 KiB |
BIN
docs/screens/edit_justificatif_etud.png
Normal file
After Width: | Height: | Size: 509 KiB |
BIN
docs/screens/saisie_hebdo.png
Normal file
After Width: | Height: | Size: 562 KiB |
BIN
docs/screens/signal_assiduites-group-ligne-etud.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/screens/signal_assiduites_group-conflit.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/screens/signal_assiduites_group-groupe.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/screens/signal_assiduites_group-lignes_etud.png
Normal file
After Width: | Height: | Size: 280 KiB |
BIN
docs/screens/signal_assiduites_group-module.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/screens/signal_assiduites_group-timeline.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/screens/signal_assiduites_group.png
Normal file
After Width: | Height: | Size: 709 KiB |
@ -52,7 +52,7 @@ nav:
|
||||
- "FAQ": FAQ.md
|
||||
- Installation:
|
||||
- "Guide administration": GuideAdminSys.md
|
||||
- "Installation": GuideInstallDebian11.md
|
||||
- "Installation": GuideInstallDebian12.md
|
||||
- "Mises à jour": MisesAJour.md
|
||||
- "Interfaces SI": InterrogationPortail.md
|
||||
- "Publication des notes": PublicationEtudiants.md
|
||||
@ -62,7 +62,7 @@ nav:
|
||||
- "Utilisateurs": UtilisateursScoDoc.md
|
||||
- Développement:
|
||||
- "Guide Développeurs": GuideDeveloppeurs.md
|
||||
- "Gitea": https://scodoc.org/git
|
||||
- "Gitea": https://git.scodoc.org
|
||||
- "API": ScoDoc9API.md
|
||||
- "Introduction": DevInternals.md
|
||||
- "Utiliser Git": DevGit.md
|
||||
|