Compare commits
No commits in common. "master" and "PR96_typos_bonus_malus" have entirely different histories.
master
...
PR96_typos
19
README.md
|
@ -21,9 +21,8 @@ Il est recommandé de créer un virtualenv:
|
|||
python3.11 -m venv venv
|
||||
source venv/bin/activate
|
||||
```
|
||||
(n'importe quelle version de python récente fera l'affaire).
|
||||
|
||||
Puis installer les composants suivants dans ce virtualenv:
|
||||
puis d'y installer les composants suivants:
|
||||
|
||||
```bash
|
||||
pip install mkdocs
|
||||
|
@ -32,24 +31,8 @@ pip install mkdocs-material
|
|||
pip install mkdocs-plugin-inline-svg
|
||||
```
|
||||
|
||||
## Génération de la doc
|
||||
|
||||
Pour générer le site:
|
||||
|
||||
```bash
|
||||
mkdocs build
|
||||
```
|
||||
|
||||
Pour lancer un serveur local permettant d'afficher la doc, avec rafraichissement
|
||||
automatique dès qu'un fichier source est modifié:
|
||||
|
||||
```bash
|
||||
mkdocs serve
|
||||
```
|
||||
|
||||
Pour le reste voir la documentation de [MkDocs](https://www.mkdocs.org/).
|
||||
|
||||
## WIP
|
||||
|
||||
- reprendre la page BUT.md
|
||||
-
|
|
@ -1,35 +1,28 @@
|
|||
# Générer 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.
|
||||
# Générer 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.
|
||||
|
||||
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/)).
|
||||
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/)).
|
||||
|
||||
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).
|
||||
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).
|
||||
|
||||
<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.
|
||||
<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.
|
||||
|
||||
## 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.
|
||||
## 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.
|
||||
|
||||
Ce fichier doit être placé dans le répertoire `/opt/scodoc/instance/Products/ScoDoc`
|
||||
|
||||
Il faut aussi l'importer dans `sco_bulletins_generator.py` (voir tout à la fin
|
||||
de ce fichier).
|
||||
Il faut aussi l'importer dans `sco_bulletins_generator.py` (voir tout à la fin de ce fichier).
|
||||
|
||||
Voici un module minimal commenté (le fichier `sco_bulletins_example.py` est
|
||||
fournit avec ScoDoc):
|
||||
Voici un module minimal commenté (le fichier `sco_bulletins_example.py` est fournit avec ScoDoc):
|
||||
```
|
||||
#!python
|
||||
# -*- mode: python -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
```py
|
||||
"""Génération d'un bulletin de note style "Exemple"
|
||||
(commentaire libre ici)
|
||||
"""
|
||||
|
@ -54,7 +47,7 @@ class [BulletinGeneratorExample](BulletinGeneratorExample.md)(sco_bulletins_stan
|
|||
# .bul_part_below(self, format=*) : infos sous la table
|
||||
# .bul_signatures_pdf(self) : signatures
|
||||
|
||||
def bul_table(self, fmt=*):
|
||||
def bul_table(self, format=*):
|
||||
"""Défini la partie centrale de notre bulletin PDF.
|
||||
Doit renvoyer une liste d'objets PLATYPUS
|
||||
"""
|
||||
|
@ -65,27 +58,23 @@ class [BulletinGeneratorExample](BulletinGeneratorExample.md)(sco_bulletins_stan
|
|||
)
|
||||
]
|
||||
|
||||
# Déclarer votre classe à ScoDoc
|
||||
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorExample)
|
||||
# Déclarer votre classe à [ScoDoc](ScoDoc.md):
|
||||
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorExample)
|
||||
```
|
||||
|
||||
Si l'on voulait générer aussi du HTML (pour la version web), il suffirait de le
|
||||
déclarer dans la liste `supported_formats` et que la méthode `bul_table()`
|
||||
renvoie une chaîne HTML si le paramètre `fmt` vaut `'html'`.
|
||||
Si l'on voulait générer aussi du HTML (pour la version web), il suffirait de le déclarer dans la liste `supported_formats` et que la méthode `bul_table()` renvoie une chaîne HTML si le paramètre format vaut `'html'`.
|
||||
|
||||
|
||||
Pour modifier l'en-tête du bulletin PDF (partie au dessus de la table), il faut
|
||||
surcharger la méthode `bul_title_pdf` qui elle aussi renvoie une liste d'objets
|
||||
PLATYPUS:
|
||||
|
||||
```py
|
||||
Pour modifier l'en-tête du bulletin PDF (partie au dessus de la table), il faut surcharger la méthode `bul_title_pdf` qui elle aussi renvoie une liste d'objets PLATYPUS:
|
||||
```
|
||||
#!python
|
||||
def bul_title_pdf(self):
|
||||
...
|
||||
```
|
||||
|
||||
De même, les informations placées sous la table principale sont renvoyées par la méthode `gen_part_below`:
|
||||
|
||||
```py
|
||||
```
|
||||
#!python
|
||||
def gen_part_below(self, format=*):
|
||||
"""Génère les informations placées sous la table de notes
|
||||
(absences, appréciations, décisions de jury...)
|
||||
|
@ -96,47 +85,76 @@ De même, les informations placées sous la table principale sont renvoyées par
|
|||
...
|
||||
```
|
||||
|
||||
et les signatures (seulement sur le PDF) par `bul_signatures_pdf`. Toutes ces
|
||||
méthodes renvoient des listes d'objets PLATYPUS quelconques.
|
||||
et les signatures (seulement sur le PDF) par `bul_signatures_pdf`. Toutes ces méthodes renvoient des listes d'objets PLATYPUS quelconques.
|
||||
|
||||
Vous pouvez partir d'un format de bulletin existant et proche de ce que voulez
|
||||
obtenir et définir une sous-classe modifiant (surchargeant) seulement les
|
||||
méthodes qui génèrent les éléments que vous voulez modifier.
|
||||
Vous pouvez partir d'un format de bulletin existant et proche de ce que voulez obtenir et définir une sous-classe modifiant (surchargeant) seulement les méthodes qui génèrent les éléments que vous voulez modifier.
|
||||
|
||||
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
|
||||
alt="/!\" /> Attention: ne pas modifier après coup le nom des classes de
|
||||
générateurs (ici `BulletinGeneratorExample`), car il va être stocké en base de
|
||||
données par ScoDoc.
|
||||
|
||||
## Accès aux informations
|
||||
|
||||
La plupart des informations nécessaires sont accessibles via des attributs de
|
||||
votre instance de générateur que ScoDoc aura positionné avant d'appeler vos
|
||||
méthodes. Notamment:
|
||||
|
||||
* `self.formsemestre`: l'objet `FormSemestre`
|
||||
* `self.infos`: un (grand) dictionnaire python avec la plupart des informations
|
||||
préparée pour le bulletin à générer (voir plus loin);
|
||||
* `self.version`: indique la version de bulletin demandée par l'utilisateur
|
||||
("long" ou "short", vous pouvez en faire ce que bon vous semble);
|
||||
|
||||
## Le dictionnaire d'informations
|
||||
|
||||
L'attribut `infos` est un dictionnaire qui contient de très nombreuses
|
||||
informations. il doit être utilisé en **lecture seule** (il est possible que des
|
||||
informations soient partagées entre threads différents, aussi les modifier peut
|
||||
avoir des effets indésirables). .
|
||||
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> Attention: ne pas modifier après coup le nom des classes de générateurs (ici `BulletinGeneratorExample`), car il va être stocké en base de données par ScoDoc.
|
||||
|
||||
|
||||
### Paramètres (préférences)
|
||||
## Accès aux informations
|
||||
La plupart des informations nécessaires sont accessibles via des attributs de votre instance de générateur que ScoDoc aura positionné avant d'appeler vos méthodes. Notamment:
|
||||
* `self.infos`: un (grand) dictionnaire python avec la plupart des informations préparée pour le bulletin à générer (voir plus loin);
|
||||
* `self.version`: indique la version de bulletin demandée par l'utilisateur ("long" ou "short", vous pouvez en faire ce que bon vous semble);
|
||||
* `self.context`: contexte ScoDoc, permettant l'accès à l'API complète.
|
||||
|
||||
Tous les paramètres du semestre sont accessibles via leur nom. Voir la liste sur
|
||||
la page [NomsPreferences](NomsPreferences.md).
|
||||
|
||||
Exemple: `infos['SCOLAR_FONT_SIZE']` est un entier, `infos['UnivName']` est le
|
||||
nom de l'université.
|
||||
## Le dictionnaire d'informations
|
||||
L'attribut `infos` est un dictionnaire qui contient de très nombreuses informations. il doit être utilisé en **lecture seule** (il est possible que des informations soient partagées entre threads différents, aussi les modifier peut avoir des effets indésirables). .
|
||||
|
||||
### Informations sur l'étudiant
|
||||
|
||||
### Paramètres (préférences)
|
||||
Tous les paramètres du semestre sont accessibles via leur nom. Voir la liste sur la page [NomsPreferences](NomsPreferences.md).
|
||||
|
||||
Exemple: `infos['SCOLAR_FONT_SIZE']` est un entier, `infos['UnivName']` est le nom de l'université.
|
||||
|
||||
|
||||
### Informations sur le semestre
|
||||
Un semestre est représenté par un dictionnaire avec les attributs
|
||||
suivants:
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
int |semestre_id| Indice dans le parcours | 1
|
||||
string |titre| | 'DUT GEII'
|
||||
string |titre_num| | 'DUT GEII, semestre 1'
|
||||
string |titreannee| | 'DUT GEII, semestre 1 FI 2011'
|
||||
string |titremois| | 'DUT GEII, semestre 1 FI (Mars 2011 - Jul 2011)'
|
||||
string |annee_debut| | '2011'
|
||||
string |annee_fin| | '2011'
|
||||
| anneescolaire| | '2010 - 2011'
|
||||
string |date_debut| | '09/03/2011'
|
||||
| date_debut_iso| | '2011-03-09'
|
||||
| date_fin| | '31/07/2011'
|
||||
| date_fin_iso| | '2011-07-31'
|
||||
| dateord| | '2011-03-09'
|
||||
| mois_debut| | 'Mars 2011'
|
||||
int |mois_debut_ord| | 3
|
||||
| mois_fin| | 'Jul 2011'
|
||||
int |mois_fin_ord| | 7
|
||||
string |modalite| | 'FI'
|
||||
string |etape_apo| Code étape Apogée | 'V1TR2'
|
||||
string |etape_apo2| Code étape Apogée (si 2 codes) | *
|
||||
string |etat| verrouillé ('0') ou non ('1') | '1'
|
||||
| formation_id| id interne de la formation | 'FORM14570'
|
||||
| formsemestre_id| id interne du semestre | 'SEM15176'
|
||||
string |gestion_compensation| | '0'
|
||||
string |gestion_semestrielle| | '0'
|
||||
string |responsable_id| | 'viennet'
|
||||
int {0,1} |ens_can_edit_eval| | 0
|
||||
int {0,1}|resp_can_change_ens| | 0
|
||||
int {0,1} |resp_can_edit| | 0
|
||||
string |bul_bgcolor| | *
|
||||
string |bul_hide_xml| | '0'
|
||||
|
||||
|
||||
Pour le semestre à traiter, ces attributs sont directement dans `infos`.
|
||||
|
||||
On trouve aussi dans `infos['etud']` tous les semestres par lesquels
|
||||
est passé l'étudiant.
|
||||
|
||||
|
||||
### Informations sur l'étudiant
|
||||
|
||||
#### Identité
|
||||
|
||||
|
@ -359,17 +377,17 @@ Le module (tel que décrit dans le programme de la formation) est représenté p
|
|||
|
||||
**Etat d'une évaluation:**
|
||||
|
||||
Le champ `etat` d'une évaluation est un dict donnant des informations sur les résultats de la promo (et des groupes) dans cette évaluation:
|
||||
Le champ `etat` d'une évaluation ets un dict donnant des informations sur les résultats de la promo (et des groupes) dans cette évaluation:
|
||||
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
Type | Nom | Description | Exemple de valeur
|
||||
----| --- | ---- | ---
|
||||
bool | evalattente | | False
|
||||
bool | evalcomplete | | True
|
||||
| evaluation_id | id interne | 15226
|
||||
bool | evalattente | | False
|
||||
bool | evalcomplete | | True
|
||||
| evaluation_id | id interne | 'EVAL15226'
|
||||
list | gr_incomplets | | []
|
||||
list | gr_moyennes | | []
|
||||
list | groups | liste des groupes | {}
|
||||
datetime | last_modif | | datetime
|
||||
datetime | last_modif | | <mx.DateTime.DateTime object>
|
||||
string | median | note médianne promo | '11.00'
|
||||
string | moy | note moyenne promo | '11.00'
|
||||
| nb_abs | nb étudiants absents | 0
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
# Suivi de l'assiduité
|
||||
# Module "Assiduités"
|
||||
|
||||
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.
|
||||
En plus de moderniser l'ancien module, le module assiduités met à disposition une API complète.
|
||||
|
||||
Ce projet a été développé de 2022 à 2024, par Matthias Hartmann, apprenti de l'IUT de
|
||||
Ce projet a été développé en 2022-2023, 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 ](#) TODO EV à publier sur la chaîne YT
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
|
@ -24,7 +22,7 @@ Le module fournit:
|
|||
|
||||
## Guide d'utilisation
|
||||
|
||||
- [Suivi de l'assiduité](#suivi-de-lassiduité)
|
||||
- [Module "Assiduités"](#module-assiduités)
|
||||
- [Fonctionnalités](#fonctionnalités)
|
||||
- [Guide d'utilisation](#guide-dutilisation)
|
||||
- [Migration de l'ancien module](#migration-de-lancien-module)
|
||||
|
@ -184,7 +182,7 @@ Explication de l'interface
|
|||
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.
|
||||
|
||||
|
||||
![Résolution de conflit](#)
|
||||
|
||||
Les assiduités de la page sont enregistrées en temps réel. Lorsque la saisie est
|
||||
|
|
|
@ -1,398 +1,248 @@
|
|||
# Jury de Poursuites d'Etudes BUT
|
||||
## Jury et avis de Poursuites d'Etudes
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||||
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred"></i>
|
||||
**Attention** : cette **fonctionnalité** est en cours de révision pour le BUT
|
||||
depuis janvier 2024 ; les documents (avis) en LaTeX ne sont plus générés dans
|
||||
cette nouvelle version : seul des classeurs excel sont générés. Merci de vos
|
||||
retours.
|
||||
Partant d'un semestre sélectionné, l'onglet **Statistiques > Documents Avis de Poursuite d'Etudes** (ci-dessous appelé **outil PE**) propose une aide à la tenue du jury et à l'édition des avis de poursuites d'études pour les étudiants de DUT.
|
||||
|
||||
## Cadre d'usage et nomenclature
|
||||
### Les tags
|
||||
|
||||
Un jury de Poursuites d'Etudes émet des avis sur la capacité des étudiants à
|
||||
intégrer une formation post-BUT (master, écoles d'ingénieur, écoles de commerce,
|
||||
...) en s'appuyant sur l'ensemble des résultats qu'ont obtenus les étudiants au
|
||||
cours de leur scolarité de BUT.
|
||||
Les avis (demandés par les différents établissements post-DUT) attendent fréquemment des moyennes transverses aux modules voire aux
|
||||
semestres du PPN : par exemple, moyenne sur les matières théoriques, les matières techniques,
|
||||
moyenne en français, etc...
|
||||
|
||||
Les étudiants considérés sont ceux d'une **promotion** :
|
||||
|
||||
> Une **promotion** est l'ensemble des étudiants qui recevront leur **diplôme**
|
||||
> la même année, quelque soit leurs _semestres_, leurs _parcours_, leurs
|
||||
> _modalités_ d'apprentissage (formation initiale ou apprentissage) ou leurs
|
||||
> redoublements éventuels.
|
||||
|
||||
|
||||
Les avis émis s'appuient sur différents critères (**notes moyennes/classements**) obtenus :
|
||||
|
||||
* sur des **moyennes prévues dans le règlement des études** : moyenne par
|
||||
**UE**, par **niveau de compétence** (regroupement cohérent d'UE)
|
||||
* sur des **moyennes _personnalisées_** (cf. tag), souvent demandées par les
|
||||
formations post-BUT dans les dossiers de candidature des étudiants : moyenne
|
||||
en anglais, en mathématiques, en français, ...
|
||||
* à **différents instants de la scolarité** (cf. regroupement cohérent de
|
||||
semestres) des étudiants : moyenne en 1ère année, en 2ème année, sur 3 ans,
|
||||
...
|
||||
* sur des **interclassements**, classant les étudiants indépendamment du
|
||||
_chemin_ (parcours, modalité, redoublement, ...) qu'ils ont parcouru au cours
|
||||
de leur scolarité de BUT.
|
||||
L'outil PE permet le calcul de ces moyennes en utilisant des **tags** affectés aux modules dans le **Programme** de formation.
|
||||
Tous les modules portant le même tag (attention à la casse et à l'accentuation) seront intégrés ensemble dans le calcul de la moyenne.
|
||||
|
||||
Ces critères variant d'un établissement à un autre et d'un dossier de
|
||||
candidature à un autre, la fonctionnalité **Jury de Poursuites d'Etudes** de
|
||||
Scodoc (appelée ci-dessous **outil PE**) fournit un **ensemble de notes
|
||||
moyennes/classements le plus large possible** centralisé dans des tableurs xlsx,
|
||||
pour en avoir différentes vues.
|
||||
Voici l'exemple du programme du DUT RT taggué (figure ci-dessous), où par exemple, le tag *mathématiques* est affecté à tous les
|
||||
modules du programme en lien avec des maths.
|
||||
|
||||
> A vous de _piocher_ dans les données fournies en fonction de vos besoins pour
|
||||
> construire votre tableur émettre vos avis et renseigner les dossiers de
|
||||
> candidature de vos étudiants.
|
||||
Les tags peuvent également faire mention d'un coefficient servant à la pondération des modules dans le calcul de la moyenne (cf. section coefficient).
|
||||
Le tag sera alors de la forme : `nom_du_tag:coeff_entier`.
|
||||
|
||||
***
|
||||
Un tag *dut* reprenant la moyenne de l'étudiant à chaque semestre est automatiquement ajouté.
|
||||
|
||||
## Premiers pas
|
||||
![programmeRTtaggue.png](screens/programmeRTtaggue.png)
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Dans la suite, sera pris
|
||||
l'exemple du jury des poursuites d'études **2024**, qui traitera TOUS les
|
||||
étudiants qui termineront leur scolarité (généralement en juin) 2024 : vos
|
||||
diplômés de la **promotion 2024**.
|
||||
|
||||
### Générer l'archive zip des documents standards
|
||||
### Les moyennes
|
||||
|
||||
1. Editer n'importe lequel des semestres Scodoc dans lequel à étudier un
|
||||
étudiant de la promotion (quelque soit sa _modalité d'apprentissage_ ou son
|
||||
_parcours_). <i class="fas fa-eye" style="color: teal"></i> Par exemple, un
|
||||
semestre 5 2023-2024.
|
||||
2. Partant du semestre sélectionné, l'onglet `Statistiques` > `Documents Avis de Poursuite d'Etudes`.
|
||||
3. `Générer les documents` pour télécharger l'archive zip du jury. <i class="fas
|
||||
fa-eye" style="color: teal"></i> Dans notre exemple, <i class="fa-solid
|
||||
fa-file" style="color: orange"></i> `Jury_PE_2024.zip`
|
||||
#### Les moyennes intra et inter semestres
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred; font-size:
|
||||
200%"></i> L'outil PE n'analyse pas seulement les futurs diplômés ; il analyse
|
||||
également TOUS les étudiants que vos diplômés ont cotoyés dans leur scolarité,
|
||||
mais qui ont démissionné, abandonné, redoublé (cf. <i class="fa-solid fa-file"
|
||||
style="color: orange"></i>`Jury_PE_2024.zip` > `details/etudiants.xlsx`) car ils
|
||||
impactent les classements. De fait, <i class="fas fa-eye" style="color:
|
||||
teal"></i> pour un jury de semestre 5 :
|
||||
* si vous avez commencé à peupler des semestres 6, assurez-vous que tous vos
|
||||
diplômés y soient inscrits, au risque que l'outil les croit démissionnaires.
|
||||
* si vous avez créé les semestres 6 mais sans étudiant inscrits, pas de souci !
|
||||
Au delà du "thème" des moyennes, les avis attendent parfois que ces moyennes soient calculées sur plusieurs semestres : moyenne en 1ère année, en 2ème année
|
||||
voire (pour le jury) sur l'ensemble du parcours de l'étudiant. 8 plages de calculs temporelles sont donc prévus pour ces moyennes : pour chaque tag,
|
||||
|
||||
### Contenu de l'archive zip
|
||||
* le label **S1** (respectivement S2, S3, S4) désigne une moyenne sur ce tag calculée sur le **S1** (respectivement S2, S3, S4) - ou plus précisement sur les modules du **S1** (respectivement S2, S3, S4) ayant été associé au tag considéré
|
||||
* le label **1A** (respectivement 2A) désigne une moyenne sur ce tag calculée sur la **première année** (respectivement la deuxième année) - ou plus précisement sur tous les modules **du S1 et du S2** (respectivement du S3 et du S4) ayant été associé au tag considéré
|
||||
* le label **3S** (souvent utilisé dans un jury de poursuites d'études se tenant juste après le S3) désigne une moyenne sur ce tag calculée sur l'**ensemble du parcours allant du S1 au S3** (inclus) - ou plus précisement sur tous les modules **du S1, S2, S3** ayant été associé à ce tag.
|
||||
* le label **4S** désigne une moyenne sur ce tag calculée sur l'**ensemble du parcours allant du S1 au S4** (inclus) - donc plus précisement sur tous les modules du programme ayant été associé à ce tag.
|
||||
|
||||
L'archive obtenue contient plusieurs tableurs :
|
||||
#### Les coefficients de pondération
|
||||
|
||||
1. <i class="fa-solid fa-file" style="color: orange"></i>
|
||||
`synthese_jury_par_tag.xlsx` : résume les données du jury de votre promotion
|
||||
dans différents onglets :
|
||||
Par défaut, les moyennes calculées sur les modules associés à un tag donné utilisent
|
||||
les coefficients de pondération des modules dans le programme DUT, ramenés au total des
|
||||
coefficients dans les semestres qui les concernent : partant d'un semestre \(i\), en notant :
|
||||
|
||||
* l'onglet `but` s'appuie sur des moyennes de semestre (cf. plus bas)
|
||||
* plusieurs onglets nommés `comp. <titre_competence>` (dépendant des
|
||||
_parcours_ de votre formation) retracent les moyennes/classements obtenues
|
||||
dans les différentes UE rattachées à la `competence`
|
||||
* \(m_{i,j}\) la note d'un étudiant à un module associé au tag dans le semestre \(i\) (\(j\) donnant donc le numéro du module au sein du semestre parmi les modules associés au tag),
|
||||
* \(c_{i,j}\) le coefficient du module \(m_{i,j}\) dans le programme de formation
|
||||
|
||||
Il peut être utilisé pour :
|
||||
alors la moyenne \(M_i\) associée au tag pour le semestre \(i\) est calculée avec :
|
||||
$$
|
||||
M_i = \frac{ \sum_{j} c_{i,j} m_{i,j} }{ \sum_{j} c_{i,j} }
|
||||
$$
|
||||
|
||||
* préparer (en piochant) les moyennes/classements qui vous intéressent
|
||||
* intégrer une solution de publipostage (non proposée par l'outil PE) pour
|
||||
générer les **fiches d'avis PE** à transmettre aux étudiants pour leur
|
||||
dossier de candidature
|
||||
En notant ensuite \(c_i\) la somme des coefficients des modules du semestre \(i\) associé au tag considéré (ici \(c_i = \sum_{j} c_{i,j}\))
|
||||
et \(C_i\) la somme des coefficients de tous les modules (y compris ceux n'étant pas associés au tag considéré) du semestre \(i\) (donc \(C_i \geq c_i\)), la
|
||||
moyenne \(M\) associée au tag sur les 4 semestres de formation (donc de label **4S**) est calculée avec :
|
||||
$$
|
||||
M = \frac{ \sum_{i} \frac{c_i}{C_i} M_i }{ \sum_{i} \frac{c_i}{C_i} }
|
||||
$$
|
||||
Plus simplement, le poids des modules associés au tag au sein d'un semestre est conservé dans le calcul de la moyenne.
|
||||
|
||||
2. <i class="fa-solid fa-file" style="color: orange"></i>
|
||||
`synthese_jury_par_etudiants.xslx` : résume les données de chaque étudiant
|
||||
dans un onglet qui lui est propre. Il peut être utilisé pour
|
||||
communiquer/transmettre à l'étudiant ses moyennes/classements pour préparer
|
||||
ses dossiers
|
||||
L'outil PE offre la possibilité de recoefficienter les modules associés au tag dans le calcul de la moyenne en
|
||||
leur joignant un (éventuel) coefficient de pondération supplémentaire entier \(p_{i,j}\) (voir section Les tags).
|
||||
|
||||
3. des tableurs dans `details` qui traduisent les différentes étapes de calcul
|
||||
faites par l'outil et sont plutôt destinés aux <i class="fa-solid
|
||||
fa-bullseye" style="color: violet"></i> développeurs
|
||||
Dans ce cas, la moyenne \(M_i\) associée au tag sur le semestre \(i\) est impactée avec :
|
||||
$$
|
||||
M_i = \frac{ \sum_{j} p_{i,j} c_{i,j} m_{i,j} }{ \sum_{j} p_{i, j} c_{i,j} }
|
||||
$$
|
||||
La somme des coefficients des modules dans le semestre \(c_i\) devient \(c_i = \sum_{j} p_{i,j} c_{i,j}\) mais la somme
|
||||
des coefficients de tous les modules \(C_i\) reste inchangée.
|
||||
|
||||
## Moyennes personnalisées : les tags¶
|
||||
Plus simplement, l'idée de cette pondération est de conserver le poids des modules au sein du semestre
|
||||
tout en accord plus d'importance (lorsque \(p_{i,j} > 1\)) à la note obtenue par l'étudiant.
|
||||
|
||||
Pour obtenir des **moyennes personnalisées** (par exemple moyenne en
|
||||
mathématiques, en anglais, en expression-communication, ...), l'outil s'appuie
|
||||
sur un système de **tags**.
|
||||
Le calcul des moyennes intra-semestres (1A, 2A ou 3S) est basée sur le même principe en n'utilisant que les semestres concernés.
|
||||
|
||||
> Les tags sont des _mots-clés_ (courts et sans caractères spéciaux) affectés à
|
||||
> des modules (ressources ou SAEs) dans le `Programme de formation`. <i
|
||||
> class="fa-solid fa-triangle-exclamation" style="color: darkred"></i> Ils ne
|
||||
> peuvent pas être `but` ni `comp. <titre_competence>` (réservés par l'outil).
|
||||
#### Cas des étudiants redoublants
|
||||
|
||||
Tous les modules portant le même tag (<i class="fa-solid
|
||||
fa-triangle-exclamation" style="color: darkred"></i> à la casse et à
|
||||
l'accentuation) seront _intégrés_ ensemble dans le calcul de
|
||||
moyennes/classements pour ce tag. Elles apparaitront sous la forme d'un nouvel
|
||||
onglet dans <i class="fa-solid fa-file" style="color: orange"></i>
|
||||
`synthese_jury_par_etudiants.xslx`.
|
||||
Dans le cas des étudiants redoublants (par exemple ayant fait 2 semestres S1), ne sont conservés que les notes obtenues dans les UE validées
|
||||
par les décisions de jury : dans l'exemple, il s'agira (le plus souvent) des notes du S1 le plus récent, sauf pour un étudiant qui aurait capitalisé
|
||||
une UE et dont une partie des notes proviendrait de son UE capitalisée.
|
||||
|
||||
### Renseigner les tags
|
||||
### Les classements et les statistiques
|
||||
|
||||
Après avoir sélectionné un _programme de formation_ depuis le menu `Programmes` :
|
||||
Les avis demandent souvent le classement associé à la moyenne obtenue sur un tag et pour un temps donné (label 1A, 2A, ...) avec l'ambiguité
|
||||
de la cohorte considérée. Ce classement peut aller de pair avec des données statistiques (nombre d'étudiants, note minimum, maximum, moyenne sur la cohorte).
|
||||
L'outil PE propose deux cohortes et donc deux séries de classement/statistique par tag et label temporel.
|
||||
|
||||
![Ajouter des tags](img/ajouter_tags.png)
|
||||
#### La "cohorte" filière
|
||||
|
||||
1. Cochez `Montrer les tags...`
|
||||
2. Renseigner pour chaque module le ou les tags souhaités (<i class="fa-solid
|
||||
fa-bullseye" style="color: violet"></i> ici 3 tags : réseaux, ressources,
|
||||
techniques )
|
||||
Est appelé filière l'ensemble des étudiants inscrits dans le même semestre temporel que le dernier impliqué dans la moyenne calculée. Prenons l'exemple
|
||||
d'une moyenne sur le tag mathématiques portant sur le label 3S (c'est à dire sur les semestres S1, S2, et S3). La filière sera l'ensemble des étudiants inscrits
|
||||
dans le S3. Dans ce S3, pourront se trouver des étudiants de différents parcours comme :
|
||||
|
||||
<i class="fa-solid fa-lightbulb" style="color: gold"></i> Le menu `Tagguer tous
|
||||
les modules par leur type (tag res, sae)` (après la description des ressources
|
||||
et des SAEs) permettant de tagguer automatiquement les ressources avec le tag
|
||||
`res` et les SAEs avec le tag `sae`.
|
||||
* des étudiants "standards" avec S1 validé, S2 validé, S3 validé (du premier coup)
|
||||
* des étudiants redoublants avec (par exemple) un parcours de la forme S1 validé, S2 non validé, S3 non validé, S2 validé, S3 validé (dont étant entrés à l'IUT un an avant les étudiants "standards").
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred; font-size:
|
||||
200%"></i> Si vos étudiants ont suivi plusieurs programmes de formation
|
||||
différents, tous leurs programmes doivent être taggués.
|
||||
De fait, les notes prises en compte pour les étudiants standards et les étudiants redoublant pourront provenir de modules ne s'étant pas tenus
|
||||
aux même universitaires. Les seuls modules communs garantis seront ceux du S3 (aka le dernier semestre de l'ensemble S1+S2+S3).
|
||||
|
||||
### Paramètrer les coefficients des tags
|
||||
#### La "cohorte" promo
|
||||
|
||||
Les tags peuvent faire mention d'un **coefficient** servant à la pondération des
|
||||
modules dans le calcul de la moyenne (cf. section coefficient). Le tag sera
|
||||
alors de la forme : `nom_du_tag:coeff_entier`.
|
||||
Est appelé promo 20XX l'ensemble des étudiants susceptibles de valider leur diplôme DUT en date de juillet 20XX quelque soit le programme de formation DUT
|
||||
suivi.
|
||||
|
||||
## Regroupements cohérents de semestre
|
||||
Par exemple, la promo 2017 inclut les étudiants qui valideront leur S4 en juillet 2017 ; ceux ayant validé leur S4 en juillet 2016 appartiennent à la promo 2016.
|
||||
Parmi les étudiants de la promo 2017, on retrouve les étudiants "standards" étant entrés à l'IUT en septembre 2015 avec un parcours S1 validé, S2 validé, S3 validé et S4 validé.
|
||||
On retrouve également les étudiants entrés à l'IUT en septembre 2014 et ayant redoublé 1 à 2 semestres donc validant leur S4 entre janvier et juillet 2017. Les étudiants
|
||||
ayant démissionnés ou s'étant réorientés (aka. ne s'étant pas réinscrit dans un semestre DUT là où il aurait "du" le faire) sont exclus de la promo.
|
||||
|
||||
Remarque: les calculs des étudiants de la promo fonctionnent à condition que les dates des semestres de début d'année universitaire s'étalent sur 2 années civiles (par exemple
|
||||
S1 de septembre 2016 à janvier 2017) et que les dates des semestres de fin d'année universitaire sont limitées à une année civile (par exemple S2 de janvier à juillet 2017).
|
||||
|
||||
Les moyennes (quelque soit le tag) peuvent être calculées sur plusieurs
|
||||
semestres appelés **regroupements cohérents de semestres** : moyenne en 1ère
|
||||
année, en 2ème année voire (pour le jury) sur l'ensemble des semestres (même
|
||||
redoublés) qu'a suivi un étudiant.
|
||||
#### Les classements
|
||||
|
||||
> Un **regroupement cohérent de semestres** (RCS) est un ensemble de semestres
|
||||
> suivis par les étudiants formant un tout cohérent pour calculer une moyenne
|
||||
> sur plusieurs semestres.
|
||||
Un élève au regard de sa moyenne à un tag, sur un laps de temps donné (label S1, 1A, 3S, ...) est donc classé soit sur sa filière soit sur la promo. Les statistiques
|
||||
du groupe (que ce soit la filière ou la promo), plus précisément la note minimum, maximum et la moyenne du groupe sont également fournies.
|
||||
|
||||
Globalement, 3 types de regroupements cohérents de semestres sont fournis :
|
||||
## L'export du tableur récapitulatif
|
||||
|
||||
* Les RCS `Semestre <n>` (avec `<n>` le numéro du semestre parmi 1, 2, 3, 4, 5,
|
||||
6) désignent la moyenne (pour chaque tag) calculée en utilisant les notes du
|
||||
(ou des) semestre `<n>`.
|
||||
L'onglet PE renvoie une archive zip pour une promotion d'élèves diplômés en 20XX,
|
||||
contenant notamment un fichier Jury_PE_20XXjurySyntheseDict_20XX_v2.xls. Ce fichier récapitule l'ensemble des moyennes, des classements et des statistiques
|
||||
des élèves dont le S4 sera (prévisiblement) validé en 20XX. Le fichier contient un tab par tag saisi dans le programme. Par défaut, un tag est présent :
|
||||
le tag dut. En plus des données numériques, on retrouve pour chaque élève la liste des semestres parcourues (colonne P1 à P6).
|
||||
|
||||
* Les RCS `BUT<a>` (avec `<a>` le numéro de l'année parmi 1, 2, 3) désignent la
|
||||
moyenne calculée sur les deux semestres d'une même année `<a>`.
|
||||
|
||||
* Les RCS `Moyenne du semestre <ini> à <final>` désignent les moyennes calculées
|
||||
en utilisant toutes les notes du semestre `<ini>` au semestre `<final>`. Plus
|
||||
particulièrement:
|
||||
|
||||
* Le RCS `Moyenne du semestre 1 à 5` (intégrant les semestres
|
||||
S1+S2+S3+S4+S5) peut être utile pour une vue d'ensemble des résultats -
|
||||
sur 5 semestres - lors d'un jury se tenant au S5 pour des avis de
|
||||
poursuites d'études
|
||||
## Les avis PE au format LaTeX
|
||||
|
||||
* Le RCS `Moyenne du semestre 1 à 3` (intégrant les semestres S1+S2+S3) peut
|
||||
être utile pour une vue d'ensemble des résultats - sur 3 semestres - lors
|
||||
d'un jury se tenant au S3 pour des avis de _réorientation_ (pour rester
|
||||
_politiquement correct_).
|
||||
L'archive zip contient également un export des données de poursuites d'études de la promotion d'élèves au format LaTeX (fichier .tex) pour permettre (après compilation latex à faire sur votre machine) de génerer des avis de poursuites d'études des étudiants "quasi prêts à l'emploi" (pour impression ou envoi par mail).
|
||||
|
||||
### Arborescence LaTeX
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred; font-size:
|
||||
200%"></i> Dans le cas des étudiants redoublants, seront **systématiquement**
|
||||
pris en compte les notes des semestres redoublés :
|
||||
Les sources latex (fournies ici dans le fichier zip exporté par ScoDoc) s'articulent autour de l'arborescence suivante :
|
||||
```
|
||||
avis.tex # Fichier principal point d'entrée du compilateur latex
|
||||
avis_poursuite.tex # Fichier permettant d'inclure les avis des étudiants et fourni par ScoDoc
|
||||
avis_poursuite_nom_prenom_identifiant.tex # Avis de poursuite d'études d'un étudiant généré suivant le template
|
||||
avisPE.cls # Classe LaTex pour paramètrant la mise en page du document
|
||||
README.txt # Informations de configuration pour les administrateurs de ScoDoc
|
||||
logos # Répertoire contenant les figures (375 x 256 où toutes autres proportions équivalentes)
|
||||
+ logo_header.png # Le logo de l'établissement à adapter à vos besoins
|
||||
+ logo_footer.png # Un second logo pour le pied de page
|
||||
modeles # Répertoire contenant des macros pour la mise en forme latex
|
||||
+ un_avis.tex # Modèle pour la génération de avis_poursuite_nom_prenom_EID0000.tex
|
||||
+ parcourstimeline.tex # Ligne temporelle retraçant le parcours d'un étudiant
|
||||
+ un_footer.tex # Modèle pour le pied de page des avis PE
|
||||
```
|
||||
|
||||
La compilation pourra se lancer avec : `pdflatex avis.tex`
|
||||
|
||||
Le mode de calcul des moyennes de chaque regroupement cohérent de semestres
|
||||
dépend du regroupement et du tag (cf. décription à suivre).
|
||||
|
||||
### Template LaTeX
|
||||
|
||||
Les données de ces regroupements cohérents de semestres sont fournis, en
|
||||
colonne, dans <i class="fa-solid fa-file" style="color: orange"></i>
|
||||
`synthese_jury_par_tag.xslx`.
|
||||
Les avis LaTeX sont générés à partir de deux *templates latex*, dont le contenu est fourni dans modeles/un_avis.tex et modeles/un_footer.tex de l'archive avis.zip.
|
||||
|
||||
![Regroupements cohérents de semestre](img/regroupement_coherent_semestre.png)
|
||||
Ces templates sont livrés avec l'installation standard de ScoDoc.
|
||||
|
||||
## Mode de calcul des moyennes
|
||||
Vous pouvez également copier leur contenu dans les paramètres de ScoDoc, onglet **Paramétrage > Template LaTeX des avis** pour le modèle un_avis.tex et onglet **Paramétrage > Code LaTeX en fin d'avis** pour le modèle un_footer.tex. Vous pourrez ainsi par la suite les modifier à votre guise en respectant le format décrit ci-dessous.
|
||||
|
||||
Les moyennes de poursuites d'études (contrairement aux moyennes d'UE ou de
|
||||
regroupement cohérent d'UE) ne sont pas règlementées par l'arrêté du BUT. Leur
|
||||
mode de calcul (décrit ci-dessous) a été choisi pour **comparer les étudiants**,
|
||||
sachant la diversité des parcours, la complexité et les contraintes des
|
||||
coefficients du programme, en étant le plus cohérent possible.
|
||||
### Signataire des avis de PE
|
||||
|
||||
> <i class="fa-solid fa-triangle-exclamation" style="color: darkred; font-size:
|
||||
> 200%"></i> Dans le cas des étudiants redoublants, seront **systématiquement**
|
||||
> pris en compte les notes de tous ses semestres y compris redoublés. L'outil ne
|
||||
> se focalise pas sur les _meilleures notes_ mais sur la _moyenne_.
|
||||
>
|
||||
> <i class="fa-solid fa-comment" style="color: darkgreen"></i> Ce choix trouve
|
||||
> un équilibre entre _pénaliser_ un étudiant en situation de redoublement par
|
||||
> rapport à un autre ayant réussi _du premier coup_ et permettre à l'étudiant
|
||||
> redoublant d'améliorer sa moyenne.
|
||||
Le nom du signataire qui sera apposé sur les avis de poursuites d'études est à saisir dans les paramètres de ScoDoc, onglet **Paramétrage > Nom du responsable des poursuites d'études**.
|
||||
|
||||
### Moyennes des RCS `Semestre <n>`
|
||||
|
||||
Rappelons que les RCS `Semestre <n>` (avec `<n>` le numéro du semestre parmi 1,
|
||||
2, 3, 4, 5, 6) désignent la moyenne (pour chaque tag) calculée en utilisant les
|
||||
notes du (ou des) semestre `<n>`. <i class="fas fa-eye" style="color: teal"></i>
|
||||
Par exemple, `Semestre 1` désigne la moyenne obtenue en partant de toutes les
|
||||
notes du S1.
|
||||
### Les sources LaTeX fournis par l'outil PE
|
||||
|
||||
#### Moyenne `comp. <titre_competence>` au RCS `Semestre <n>`
|
||||
L'outil PE renvoie dans l'archive `Jury_PE_20XX.zip` de la promotion d'élèves diplômés en 20XX, où vous trouverez :
|
||||
|
||||
La moyenne des tags (automatiques) `comp. <titre_competence>` (déduit de votre
|
||||
référentiel de compétence) pour un `Semestre <n>` est une recopie de la moyenne
|
||||
de l'UE associée à la compétence (utilisant les modules et leurs coefficients du
|
||||
programme pédagogique).
|
||||
1. un fichier par étudiant de la promotion. Ce fichier est nommé sous la forme `avis_poursuite_nom_prenom_identifiant.tex` ; il synthétise les résultats et les moyennes de l'étudiant au cours de sa scolarité DUT en suivant les *templates latex* un_avis.tex et un_footer.tex.
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred"></i> Dans le
|
||||
cas des étudiants redoublants est fourni la moyenne des UEs des deux semestres
|
||||
qu'il a suivis (souvent l'une validée l'autre non) : par exemple, pour le
|
||||
`Semestre 1` :
|
||||
2. un fichier `avis_poursuite.tex` qui liste tous les avis des étudiants à compiler (inclusion des fichiers latex de chaque étudiant).
|
||||
|
||||
$$moy\_ue\_au\_semestre1 = (moy\_ue\_semestre1\_non\_valide + moy\_ue\_semestre1\_valide)/2$$
|
||||
|
||||
#### Moyenne `but` au RCS `Semestre <n>`
|
||||
#### Pour obtenir le document PDF
|
||||
|
||||
La moyenne du tag (automatique) `but` pour un `Semestre <n>` est similaire à la
|
||||
moyenne de semestre donnée à titre indicatif par Scodoc dans les notes/jury du
|
||||
semestre. Elle utilise tous les modules, leurs coefficients par UE définis dans
|
||||
le programme pédagogique pour calculer les moyennes par UE. Puis elle fournit
|
||||
une moyenne pondérée des UEs en utilisant les crédits ECTS associés à chaque UE.
|
||||
Pour faire court :
|
||||
1. Ouvrez l'archive zip renvoyée par ScoDoc dans votre *répertoire de travail*.
|
||||
|
||||
$$moy\_but\_au\_semestre = (UE1 \times ects1 + UE2 \times ects2 + ...)/(ects1 + ects2 + ...)$$
|
||||
2. Dans une invite de commande (cmd en Windows, terminal en linux) dont le répertoire courant est celui créé à l'ouverture de l'archive (commande `cd Jury_PE_...`), lancez la compilation des avis en exécutant la commande :
|
||||
```
|
||||
pdflatex avis.tex
|
||||
```
|
||||
Le résultat est le classeur **avis.pdf**.
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred"></i> Dans le
|
||||
cas des étudiants redoublants est fourni la moyenne aux deux semestres qu'il a
|
||||
suivi (souvent l'un validé l'autre non) : par exemple, pour le `Semestre 1` :
|
||||
Cette compilation déclenche celle de `avis_poursuite.tex` qui elle-même lancera celle des avis par étudiants `avis_poursuite_nom_prenom_identifiant.tex` faisant partie de la promotion ciblée (on pourra commenter les avis des étudiants que l'on ne souhaite pas compiler en faisant débuter la ligne d'inclusion de leur avis dans `avis_poursuite.tex` d'un %).
|
||||
|
||||
$$moy\_but\_au\_semestre1 = (moy\_but\_au\_semestre1\_non\_valide + moy\_but\_au\_semestre1\_valide)/2$$
|
||||
### Le rendu PDF du template proposé
|
||||
|
||||
#### Moyenne des tags personnalisés au RCS `Semestre <n>`
|
||||
Le template proposé permet un résultat similaire à celui de la capture d'écran :
|
||||
|
||||
Pour les moyennes aux tags que vous avez ajoutés dans le programme de formation,
|
||||
le calcul est similaire à celle de la moyenne `but` en n'utilisant cette fois
|
||||
que les modules qui portent le tag visé.
|
||||
* page1 : ![avis1.png](screens/avis1.png)
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, si le semestre 1 a
|
||||
deux modules d'anglais taggué `anglais`, est calculé : la moyenne dans chaque UE
|
||||
avec les notes des modules d'anglais pondérés par leur coefficients
|
||||
(coefficients du programme + coefficients d'évaluation dirigeant les notes vers
|
||||
une UE ou une autre). Les moyennes dans chaque UE sont ensuite intégrée dans une
|
||||
moyenne globale en utilisant les crédits ECTS :
|
||||
* page2 : ![avis2.png](screens/avis2.png)
|
||||
|
||||
$$moy\_anglais\_au\_semestre = (UE1\_anglais \times ects1 + UE2\_anglais \times ects2 + ...)/(ects1 + ects2 + ...)$$
|
||||
En l'état, il fournit pour chaque étudiant :
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred"></i> Il vous
|
||||
est possible (via la déclaration du tag de la forme
|
||||
`nom_tag:coefficient_entier`) d'ajouter une **pondération supplémentaire** qui
|
||||
s'ajoute (par multiplication) aux coefficients du programme des modules taggués.
|
||||
* son nom, son prénom, son âge;
|
||||
* une frise temporelle décrivant tous les semestres DUT dans lesquels il a été inscrit (avec la nomenclature que vous avez choisi dans ScoDoc);
|
||||
* un bilan synthétique de ses moyennes aux différents semestres (avec ses classements dans son groupe et dans sa promo - voir section "les classements et les statistiques" pour l'interprétation des cohortes);
|
||||
* une zone d'annotation permettant un commentaire individualisé, l'annotation étant recherchée parmi les annotations du profil ScoDoc de l'étudiant (cf. section "L'annotation PE").
|
||||
|
||||
### Moyennes des RCS `BUT<a>`
|
||||
### L'annotation PE
|
||||
|
||||
Les RCS `BUT<a>` (avec `<a>` le numéro de l'année parmi 1, 2, 3) regroupent deux
|
||||
semestres d'une même année `<a>` : par exemple, `BUT1` regroupent le `Semestre
|
||||
1` et le `Semestre 2`.
|
||||
Lorsqu'on édite la fiche d'un étudiant, il est possible de saisir des annotations à son sujet. Ces annotations sont aussi utilisées ici pour saisir un commentaire individualisé à apposer sur l'avis de poursuites d'études au format LaTeX de l'étudiant. Pour distinguer ce commentaire des annotations plus standards, l'annotation doit débutée par un mot-clé (ici PE:) comme le montre la capture d'écran ci-dessous :
|
||||
|
||||
Quelque soit le tag (`comp. <titre_compétence>`, `but` ou personnalisés), les
|
||||
moyennes _annuelles_ calculées ici s'appuient sur les moyennes des deux
|
||||
semestres regroupés (dont le mode de calcul est décrit au dessus) et fournissent
|
||||
la moyenne des deux semestres avec équipondération.
|
||||
![annotation_PE.png](screens/annotation_PE.png)
|
||||
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, pour l'anglais et le
|
||||
RCS `BUT1` $moy\_anglais\_BUT1 = (moy\_anglais\_S1 + moy\_anglais\_S2)/2$
|
||||
Cette annotation sera alors automatiquement ajoutée à l'avis LaTeX de l'étudiant (cf. `avis_poursuite_nom_prenom_identifiant.tex`).
|
||||
|
||||
(où `moy_anglais_S1` désigne la moyenne d'anglais du RCS `Semestre 1` et
|
||||
`moy_anglais_S2` du RCS `Semestre 2`).
|
||||
L'annotation peut bien entendue être remodifiée (ou ajoutée si manquante) à la main dans le fichier `avis_poursuite_nom_prenom_identifiant.tex` avant compilation en pdf.
|
||||
|
||||
### Moyennes des RCS `Moyenne du semestre <ini> à <fin>`
|
||||
Plusieurs annotations ayant trait à un commentaire PE peuvent également être mémorisées dans ScoDoc (à condition de les faire toutes précéder du tag "PE:"). Dans ce cas, seule la plus récente sera ajoutée à l'avis LaTeX de l'étudiant.
|
||||
|
||||
Le principe est le même que les moyennes des RCS `BUT<a>` mais en considérant
|
||||
tous les semestres allant du semestre `<ini>` au semestre `<fin>` et en
|
||||
moyennant les résultats semestre par semestre avec équipondération.
|
||||
Enfin, il est possible de modifier le tag (ici "PE:") identifiant les commentaires PE dans les annotations en allant dans l'onglet **Paramètrage > Tag désignant l'avis PE** et en y saisissant votre tag (éviter les caractères spéciaux propres au HTML, comme le ">").
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, pour l'anglais et le
|
||||
RCS `Moyenne du semestre <ini> à <fin>` :
|
||||
### Personnaliser son template
|
||||
|
||||
$$moy\_anglais = (moy\_anglais_S1 + moy\_anglais\_S2 + moy\_anglais\_S3 + moy\_anglais_S4 + moy\_anglais\_S5)/5$$
|
||||
#### Les patterns de base
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred"></i> Si un
|
||||
semestre n'a pas de modules associé au tag visé, il n'est pas pris en compte.
|
||||
Les templates d'avis (un_avis et un_footer) sont des codes LaTeX classiques que vous pouvez adaptez à loisir à vos besoins.
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, pour l'anglais et le
|
||||
RCS `Moyenne du semestre <ini> à <fin>` mais pour lequel il n'y a pas de notes
|
||||
au S4 :
|
||||
Ils interprètent également une série de **patterns**, reconnaissables au fait qu'elles sont toutes encapsulées par deux séries de doubles * ; ces patterns sont traitées par ScoDoc pour accéder aux données de l'étudiant. Ainsi:
|
||||
|
||||
$$moy\_anglais = (moy\_anglais_S1 + moy\_anglais_S2 + moy\_anglais\_S3 + moy\_anglais\_S5)/4$$
|
||||
* `**nom**` sera remplacé par le nom de l'étudiant
|
||||
* `**prenom**` par le prénom
|
||||
* `**age**` par son age (à la date de création des fichiers tex)
|
||||
* `**sexe**` par son genre
|
||||
|
||||
## Classements et statistiques
|
||||
Plusieurs **patterns/macros** sont proposées :
|
||||
|
||||
Les moyennes (pour chaque tag et chaque RCs) sont généralement associée à des
|
||||
**classements** et à des statistiques (note **minimum**, note **moyenne**, note
|
||||
**maximum**) qui dépendent de la **cohorte** considérée.
|
||||
* `**parcourstimeline**` ajoute le code LaTeX pour retracer le parcours de l'étudiant (les différents semestres dans lesquels il a été inscrit) sous la forme d'une frise temporelle (cf. capture d'écran précédente)
|
||||
* `**bilanParTag**` ajoute le code LaTeX d'un tableau, qui synthétise - pour tous les tags (sauf le tag *dut*) que vous avez affecté aux semestres de l'étudiant (cf. section Les tags) ses résultats aux différents aggrégats proposés (S1, S2, S3, S4, 1ère année, 2ème année, S1+S2+S3 et totalité du DUT)
|
||||
|
||||
### Cohortes de classement
|
||||
#### Les patterns personnalisées
|
||||
|
||||
L'outil PE propose plusieurs cohortes pour ces classements et ces statistiques.
|
||||
Tous les éléments calculés pour le jury de poursuite d'études sont également accessibles sous la forme *aggregat:cohorte:tag:critere** où :
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred;
|
||||
font-size:200%"></i> L'outil PE ne fonctionne que si :
|
||||
* aggregat est l'un des aggrégats parmi S1, S2, S3, S4, 1A, 2A, 3S ou 4S;
|
||||
* cohorte est soit groupe soit promo (suivant la "cohorte" que l'on souhaite prendre en compte);
|
||||
* tag est l'un des tags que vous avez déclarés dans ScoDoc (dut étant proposé par défaut);
|
||||
* critere est l'un des calculs faits pour établir le jury parmi note (la note de l'étudiant), rang (le rang dans la cohorte), min, max, moy (le minimum, le maximum ou la moyenne de la cohorte).
|
||||
|
||||
* les dates des semestres de début d'année universitaires (généralement des
|
||||
semestres impairs) s'étalent sur 2 années civiles (par exemple S1 de septembre
|
||||
2021 à janvier 2022)
|
||||
* les dates des semestres de fin d'année universitaire (généralement des
|
||||
semestres pairs) sont limitées à une année civile (par exemple S2 de janvier à
|
||||
juillet 2022).
|
||||
Par exemple,
|
||||
|
||||
#### La cohorte `groupe¶`
|
||||
* **S2:groupe:mathématiques:note** sera remplacé par la note-moyenne de l'étudiant en mathématiques pour le S2;
|
||||
* **4S:promo:dut:rang** sera remplacé par le rang de l'étudiant, calculé au sein de la promo, sur sa note moyenne de DUT (moyenne calculée sur les 4 semestres S1+S2+S3+S4);
|
||||
* **1A:promo:physique:min** sera remplacé par la plus petite note de la promo obtenue en physique (moyenne de tous les modules tagués physique) sur toute la 1ère année (S1+S2).
|
||||
|
||||
> La cohorte `groupe` est l'ensemble des étudiants inscrits dans le même
|
||||
> semestre que le dernier impliqué dans la moyenne calculée.
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, pour le tag `maths`
|
||||
portant sur le RCS `Moyenne du semestre 1 à 3` c'est-à-dire sur les semestres
|
||||
S1, S2, et pour finir S3, le groupe est constitué des élèves ayant tous été
|
||||
inscrits au S3 final. Dans ce groupe, il peut y avoir des redoublants qui débuté
|
||||
un an plus tôt et ont fait un S1+S2+S1+S2 avant d'atteindre ce S3.
|
||||
|
||||
De fait, les notes prises en compte pour les moyennes pourront provenir de
|
||||
modules ne s'étant pas tenus aux même universitaires.
|
||||
|
||||
#### La cohorte `promo`
|
||||
|
||||
> La cohorte `promo 20XX` est l'ensemble des étudiants susceptibles de valider
|
||||
> leur diplôme BUT à l'année `20XX` indépendamment de leur parcours (en
|
||||
> supposant qu'ils ne redoublent plus).
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Par exemple, si votre département
|
||||
propose un _parcours A_ et un _parcours B_, la promo 2024 inclut les étudiants
|
||||
qui valideront leur S6 en juillet 2024 (voire en décembre 2024 en cas de
|
||||
semestres décalés).
|
||||
|
||||
<i class="fas fa-eye" style="color: teal"></i> Autre exemple, la promo 2025 :
|
||||
parmi les étudiants de la promo 2025, on retrouve les étudiants "standards"
|
||||
étant entrés à l'IUT en septembre 2022 avec un parcours sans redoublement. On
|
||||
retrouve également les étudiants entrés à l'IUT en septembre 2021 et ayant
|
||||
redoublé 2 semestres (de BUT1 ou de BUT2). Les étudiants ayant démissionnés ou
|
||||
s'étant réorientés (aka ne s'étant pas réinscrit dans un semestre BUT là où il
|
||||
aurait "du" le faire) sont exclus de la promo. (cf. tableur <i class="fa-solid
|
||||
fa-file" style="color: orange"></i> `Jury_PE_2024.zip >
|
||||
details/etudiants_20XX.xlsx`)
|
||||
|
||||
#### La cohorte `parcours` (à venir)
|
||||
|
||||
> La cohorte `parcours 20XX` est l'ensemble des étudiants susceptibles de
|
||||
> valider leur diplôme BUT à l'année `20XX` et ayant suivi le même parcours (du
|
||||
> référentiel de compétences).
|
||||
|
||||
### Classements par cohorte
|
||||
|
||||
<i class="fa-solid fa-triangle-exclamation" style="color: darkred;
|
||||
font-size:200%"></i> Dans une même cohorte et pour certains tags (notamment ceux
|
||||
des `comp. <titre_compétence>`), les étudiants peuvent avoir suivi des modules
|
||||
différents (par exemple parce qu'ils sont prévu dans le parcours A mais pas dans
|
||||
le parcours B). Les classements dans la cohorte sont donc systématiquement
|
||||
ramenés au nombre d'étudiants inscrits dans les modules raccrochés au tag visé.
|
||||
|
||||
### Statistiques par cohorte
|
||||
|
||||
Pour chaque cohorte et chaque tag (considérant les inscrits aux modules
|
||||
rattachés aux tags) des statistiques sont fournies :
|
||||
|
||||
* `min` la plus petite note (moyenne du tag) obtenu par les étudiants de la cohorte
|
||||
* `max` la plus grande note (moyenne du tag) obtenu par les étudiants de la cohorte
|
||||
* `moy` la moyenne des notes (au tag) de la cohorte
|
||||
|
|
194
docs/BUT.md
|
@ -1,14 +1,13 @@
|
|||
# Le Bachelor Universitaire de Technologie (BUT)
|
||||
|
||||
Le BUT est une formation en trois ans dispensées par les IUT français,
|
||||
introduite en 2021, et basée sur une forme d'approche par compétences
|
||||
nécessitant un système d'évaluation spécifique.
|
||||
Formation en trois ans dispensées par les IUT français, introduite en 2021, et
|
||||
basée sur une forme d'approche par compétences nécessitant un système
|
||||
d'évaluation spécifique.
|
||||
|
||||
Cette page décrit les principaux éléments du BUT utiles à comprendre pour le
|
||||
gérer avec ScoDoc. Vous trouverez ensuite un exemple de mise en place des
|
||||
semestres d'un BUT ici:
|
||||
[Modélisation BUT: exemple de la spécialité Informatique](BUTExempleInfo.md).
|
||||
Pour les curieux et les développeurs, la page
|
||||
semestres d'un BUT ici: [Modélisation BUT: exemple de la spécialité
|
||||
Informatique](BUTExempleInfo.md). Pour les curieux et les développeurs, la page
|
||||
[modélisation des parcours BUT](ModelisationParcoursBUT.md) donne quelques
|
||||
détails sur la façon dont ScoDoc organise les objets du BUT.
|
||||
|
||||
|
@ -24,35 +23,33 @@ style="margin-top:0px; margin-bottom:0px; border-width:0px;"/></a>
|
|||
en jury. Une UE est rattachée à une *formation*.
|
||||
|
||||
- Module: dans ScoDoc, un module désigne une dispositif pédagogique, évalué.
|
||||
Dans les formations BUT, le module prend la forme d'une **ressource** ou d'une
|
||||
**SAE** (*situation d'apprentissage et d'évaluation*). Un module est rattaché à
|
||||
Dans les formations BUT, le module prend la forme d'une *ressource* ou d'une
|
||||
SAE (*situation d'apprentissage et d'évaluation*). Un module est rattaché à
|
||||
une (seule) UE.
|
||||
|
||||
Dans le BUT, un module est aussi associé à une ou ou plusieurs UE, cette
|
||||
association étant affectée de *coefficients* (une valeur par UE associée).
|
||||
association étant affecté de *coefficients* (une valeur par UE associée).
|
||||
|
||||
- Évaluation: dispositif produisant une note pour les étudiants inscrits à un
|
||||
module. L'évaluation est associée à des coefficients.
|
||||
|
||||
## Structure des formations par compétences de type BUT
|
||||
|
||||
L'architecture d'une formation BUT est définie par un *référentiel de
|
||||
compétence* définissant notamment les éléments suivants:
|
||||
L'architecture d'une formation BUT est définie par les éléments suivants:
|
||||
|
||||
- **Compétence**
|
||||
- Niveau
|
||||
- Composantes essentielles ("En respectant les règles métiers...")
|
||||
- Situations professionnelles ("Surveillance de la qualité de la
|
||||
production...")
|
||||
- Compétence
|
||||
- Niveau
|
||||
- Composantes essentielles ("En respectant les règles métiers...")
|
||||
- Situations professionnelles ("Surveillance de la qualité de la
|
||||
production...")
|
||||
|
||||
- **Niveaux de compétence**: la compétence est divisée en niveaux, associés à
|
||||
une année de la formation. Le premier niveau 1 commence souvent en première
|
||||
année (BUT1), mais parfois en deuxième année (BUT2). Le niveau est défini par
|
||||
- Numéro (1, 2, 3)
|
||||
- Titre
|
||||
- Apprentissages critiques (AC): "Identifier les dysfonctionnements du réseau local..."
|
||||
- Niveaux de compétence: associés à une année. Attention, le niveau 1 commence
|
||||
parfois en deuxième année.
|
||||
- Numéro (1, 2, 3)
|
||||
- Titre
|
||||
- Apprentissages critiques (AC): "Identifier les dysfonctionnements du réseau local..."
|
||||
|
||||
Chaque niveau de compétence sera associé à deux UE (aka "regroupement cohérent d'UEs"), en
|
||||
Chaque niveau se décompose en deux UE (aka "regroupement cohérent d'UE"), en
|
||||
semestres impair et pair d'une année scolaire.
|
||||
|
||||
La figure ci-dessous indique la correspondance entre compétences (découpées en
|
||||
|
@ -70,14 +67,12 @@ nuls (pas de coefficients négatifs).
|
|||
|
||||
### Coefficients des SAÉ et ressources
|
||||
|
||||
Les coefficients des modules (ressources et SAÉ) sont fixés par le programme de
|
||||
formation (basé sur des préconisations nationales *adaptées localement*). Le
|
||||
programme spécifie la liste et les coefficients des modules, il est voté en
|
||||
CFVU et ne doit donc pas être modifié en cours d'année.
|
||||
Les coefficients des modules (ressources et SAÉ) sont fixés par le PN (*adapté
|
||||
localement*).
|
||||
|
||||
Traditionnellement, chaque module $m$ est noté par une note (moyenne de ses
|
||||
évaluations) représentée par le nombre $\mu_m$. Si $c_{u,m}$ désigne le
|
||||
coefficient du module $m$ dans l'UE $u$, la moyenne d'UE de l'étudiant est
|
||||
évaluations) représentée par le nombre $\mu_m$. Si $c_{u,m}$ désigne le coefficient du
|
||||
module $m$ dans l'UE $u$, la moyenne d'UE de l'étudiant est
|
||||
|
||||
$$\mu_u = \frac{1}{\sum_m c_{u,m}} \, \sum_{m \in u} c_{u,m} \, \mu_m$$
|
||||
|
||||
|
@ -98,7 +93,7 @@ Un autre exemple, cette fois avec des coefficients différents et un nombre plus
|
|||
réduit d'apprentissages critiques:
|
||||
![but-ref-comp-ex-commente](fig/but-ref-comp-ex-commente.png)
|
||||
|
||||
### Poids des évaluations
|
||||
### Note d'un module
|
||||
|
||||
La note (moyenne) d'un module (SAÉ ou ressource) se calcule à partir de ses
|
||||
évaluations. Chaque évaluation est pondérée, par un poids $p$ est fixé par
|
||||
|
@ -106,11 +101,6 @@ l'enseignant. Ce poids joue le même rôle que le coefficient d'une évaluation
|
|||
classique, mais peut se décliner en plusieurs valeurs, une par UE associée au
|
||||
module.
|
||||
|
||||
!!! warning "Attention"
|
||||
En BUT, la moyenne d'un module n'est pas un nombre unique: il y a une
|
||||
moyenne différente par UE liée à ce module.
|
||||
|
||||
|
||||
Soit $n_e$ la note à l'évaluation $e$ du module $m$, et $p_{e, u}$ son poids
|
||||
vers l'UE $u$. La somme des notes d'un module pour l'UE $u$ est:
|
||||
|
||||
|
@ -128,8 +118,8 @@ La moyenne d'un étudiant dans un module est un vecteur, car on a une note moyen
|
|||
$$\mu_{m, u} = \frac{\sum_e p_{e,u} \, n_e}{\sum_{e} \, p_{u,e}}$$
|
||||
|
||||
Toutefois, une moyenne *scalaire* (un nombre entre 0 et 20) est calculée à
|
||||
titre indicatif (mais n'est pas présentée aux étudiants dans les bulletins pour
|
||||
ne pas les induire en erreur):
|
||||
titre indicatif (et sera éventuellement utilisée dans certaines fonctions de
|
||||
ScoDoc conçues avant le BUT):
|
||||
|
||||
$$\mu_m = \frac{\sum_e (\sum_u p_{e,u}) \, n_e}{\sum_{u,e} \, p_{u,e}}$$
|
||||
|
||||
|
@ -143,10 +133,8 @@ L'exemple suivant illustre ce mode de calcul:
|
|||
|
||||
<img src="/fig/but-exemple-calcul-notes.png" width="70%">
|
||||
|
||||
Dans ScoDoc, on va éditer les coefficients des modules sur cette page
|
||||
<img src="/screens/but-info-edit-coefs-S4.png" width="40%">
|
||||
|
||||
(voir [l'exemple complet du paramétrage d'un BUT](BUTExempleInfo.md)).
|
||||
Par ailleurs, il est (parfois, peut-être) utile de calculer des moyennes par
|
||||
pôles au sein de l'UE: pôle SAÉ, pôle ressource.
|
||||
|
||||
### Validation d'une UE
|
||||
|
||||
|
@ -161,38 +149,29 @@ peuvent entrainer la validation d'UE a posteriori.
|
|||
|
||||
### Capitalisation
|
||||
|
||||
Dans le BUT comme dans toutes les formations LMD, les UEs sont capitalisables,
|
||||
c'est à dire qu'un étudiant conserve les UEs obtenues (avec moyenne > 10/20)
|
||||
s'il arrête temporairement ses études ou redouble un semestre.
|
||||
Les UE sont capitalisables, c'est à dire qu'un étudiant conserve les UEs
|
||||
obtenues (avec moyenne > 10/20) s'il arrête temporairement ses études ou redouble un semestre.
|
||||
|
||||
En cas de redoublement, l'étudiant qui choisi de répéter une UE capitalisée
|
||||
conserve le résultat antérieur sauf s'il obtient une meilleure moyenne.
|
||||
En cas de redoublement, l'étudiant qui choisi de répéter une UE capitalisée conserve le
|
||||
résultat antérieur sauf s'il obtient une meilleure moyenne.
|
||||
|
||||
### Moyenne générale indicative
|
||||
### Moyenne générale
|
||||
|
||||
La validation du BUT ne considère pas de "moyenne générale": chaque regroupement
|
||||
d'UE est considéré indépendamment (aucune compensations entre UEs relevant de
|
||||
compétences différentes).
|
||||
La validation du BUT ne considère pas de "moyenne générale": chaque
|
||||
regroupement d'UE est considéré indépendamment (aucunes compensations entre UE
|
||||
relevant de compétences différentes).
|
||||
|
||||
Cependant, ScoDoc peut calculer une moyenne générale indicative, utile pour
|
||||
Cependant, ScoDoc calculera une moyenne générale indicative, utile pour
|
||||
certaines opérations (tri de tableaux, création de groupe de niveaux semblables,
|
||||
avis de poursuite d'études, etc.).
|
||||
|
||||
Cette moyenne indicative est calculée en utilisant les ECTS de chaque UE du semestre
|
||||
Cette moyenne sera calculée en utilisant les ECTS de chaque UE du semestre
|
||||
considéré:
|
||||
|
||||
$$ g = \frac{1}{\sum_{u \in \cal S} \mbox{ects}_u} \sum_{u \in \cal S} \mbox{ects}_u \, \mu_u $$
|
||||
|
||||
Attention, les UEs sans notes sont ici considérées comme ayant une moyenne
|
||||
nulle. En début d'année, la moyenne générale indicative sera donc souvent très
|
||||
basse.
|
||||
|
||||
!!! note "Note"
|
||||
Il est possible, dans chaque semestre, de désactiver le calcul de la moyenne
|
||||
générale indicative si on ne souhaite pas en tenir compte.
|
||||
<img src="/screens/but-option-moy-indicative.png" width="50%">
|
||||
|
||||
|
||||
nulle. En début d'année, la moyenne générale indicative sera donc souvent très basse.
|
||||
|
||||
### Passage d'une année à l'autre
|
||||
|
||||
|
@ -204,11 +183,9 @@ Les conditions de passages vers l'année suivante sont:
|
|||
2. Aucun regroupement cohérent d’UE < 8.
|
||||
3. Cas particulier du passage en BUT 3: nécessité d’avoir validé toutes les UE
|
||||
du BUT 1.
|
||||
|
||||
|
||||
Note: La validation des deux UE du niveau d’une compétence emporte la validation de
|
||||
l’ensemble des UEs du niveau inférieur de cette même compétence.
|
||||
|
||||
Voir la [page dédiée aux jurys BUT](BUTJurys.md).
|
||||
l’ensemble des UE du niveau inférieur de cette même compétence.
|
||||
|
||||
### Redoublements
|
||||
|
||||
|
@ -244,36 +221,32 @@ bonus pourra donc être appliqué au niveau des moyennes UE: soit sur toutes
|
|||
(bonus fixe ajouté à chaque UE), soit sur un sous-ensemble des UE du semestre.
|
||||
|
||||
Les règles précises du calcul de ce bonus sont malheureusement variables d'un
|
||||
établissement à l'autre: ScoDoc 9 propose actuellement (mars 2024)
|
||||
quarante-trois (43, vous avez bien lu) modes de calculs différents. La mise en
|
||||
place d'une fonction spécifique dans ScoDoc demande un paramétrage particulier:
|
||||
voir [la page sur les bonus et malus](BonusMalus.md).
|
||||
établissement à l'autre: ScoDoc 7 proposait plus d'une douzaine de variantes. La
|
||||
situation sera identique avec le BUT et ScoDoc 9, et la mise en place d'une
|
||||
fonction spécifique dans ScoDoc demandera un paramétrage particulier: voir [la
|
||||
page sur les bonus et malus](BonusMalus.md).
|
||||
|
||||
## Éditer ou importer une formation et référentiels
|
||||
## Éditer ou importer une formation
|
||||
|
||||
ScoDoc permet de créer et éditer un programme de formation, et d'exporter ou
|
||||
importer des formations dans un format d'échange XML.
|
||||
ScoDoc permet d'importer des programmes de formations créés par d'autres
|
||||
applications, comme Orébut, puis de les modifier pour introduire une *adaptation
|
||||
locale*.
|
||||
|
||||
Les référentiels de compétences des BUTs ont été copiés depuis Orébut (application
|
||||
officielle de l'ADIUT).
|
||||
TODO: voir si on offre la possibilité de voir/gérer le delta entre le PN et le local.
|
||||
|
||||
## Modules et évaluations
|
||||
|
||||
Pour des informations générales, voir la page sur [les évaluations](Evaluation.md).
|
||||
|
||||
### Créer une évaluation
|
||||
|
||||
Pour fixer les poids des évaluations du module, on va fixer un coefficient et
|
||||
éventuellement moduler les poids vers les UEs:
|
||||
Pour fixer les poids des évaluations du module, on peut employer plusieurs méthodes:
|
||||
|
||||
- un nombre (poids de l'évaluation dans le module, sans préciser si cette
|
||||
évaluation affecte plus un UE qu'une autre);
|
||||
|
||||
- indiquer un poids par UE.
|
||||
- cocher des apprentissages critiques (on rappelle que les AC sont associés à des niveaux de
|
||||
compétences, donc à 2 UE consécutives);
|
||||
|
||||
Par ailleurs, on peut cocher des apprentissages critiques (AC), associés à des
|
||||
niveaux de compétences, afin de vérifier que l'ensemble des évaluations couvre
|
||||
bien les critères préconisés dans le référentiel de compétences.
|
||||
- indiquer un poids par UE.
|
||||
|
||||
#### Coefficient et poids d'une évaluation
|
||||
|
||||
|
@ -294,18 +267,13 @@ $$p_{e, u} = w_e \, \frac{b_{e,u}}{\sum_u b_{e,u}}$$
|
|||
- Si on décoche un AC, les poids sont mis à jour, au prorata du nombre d'AC
|
||||
dans chaque UE (compétence).
|
||||
|
||||
Voir aussi la page sur [les évaluations](Evaluation.md).
|
||||
|
||||
## Tableau de bord module
|
||||
|
||||
Fonctions spécifiques au BUT:
|
||||
|
||||
- Poids de chaque évaluation dans chaque UE et conformité au programme de la formation
|
||||
|
||||
### Travaux en cours
|
||||
Fonctions de base, en plus de celles déjà présentes en ScoDoc 7:
|
||||
|
||||
- Vérification de la conformité (tous les AC cochés dans le PN sont évalués)
|
||||
(pas encore disponible en 9.6.x).
|
||||
|
||||
- Poids de chaque évaluation dans chaque UE et conformité au programme de la formation
|
||||
|
||||
En bas du tableau de bord du module on aura un tableau récapitulatif:
|
||||
|
||||
|
@ -316,30 +284,43 @@ des poids ou oubli d'une évaluation):
|
|||
|
||||
<img src="/fig/but-tableau-evals-module-ko.png" width="50%">
|
||||
|
||||
|
||||
## Bulletins de notes
|
||||
|
||||
La quantité d'information à présenter rend la conception des bulletins (relevés) de notes délicate.
|
||||
La quantité d'information à présenter rend la conception des bulletins de notes difficile.
|
||||
|
||||
Pour le BUT, on propose:
|
||||
- un bulletin semestriel avec notes des ressources, des SAÉs et résultats aux
|
||||
UEs. Ce bulletin peut être plus ou moins détaillé, versions "long",
|
||||
"intermédiaire" ou "court".
|
||||
- un bulletin résumé, en une page, donnant les principaux résultats du semestre
|
||||
et l'avancement dans l'acquisition des compétences.
|
||||
### Modèle "Lillois"
|
||||
|
||||
Ces documents sont disponibles aux formats web (html), PDF et json (API).
|
||||
Proposition de l'IUT de Lille:
|
||||
|
||||
Voir quelques propositions, sources d'inspiration pour les formats proposés par
|
||||
ScoDoc 9 [sur cette page](BUTBulletins.md)
|
||||
- en ligne, les ressources, puis les SAÉ;
|
||||
- en colonnes, les UE;
|
||||
- dans chaque case, le coefficient et la note obtenue;
|
||||
- on peut ajouter les évaluations (lignes);
|
||||
- on pourrait ajouter les infos habituelles en colonnes: min/max/moy/rangs/...
|
||||
|
||||
Avantage: toutes les informations importantes sont présentées.
|
||||
|
||||
Inconvénients (?): beaucoup de cases vides, peu synthétique, pas évident à
|
||||
exploiter pour un non spécialiste du BUT (poursuites d'études, employeurs).
|
||||
|
||||
<img src="/fig/but-bul-lille.png" width="50%">
|
||||
|
||||
### Modèle "Bordelais"
|
||||
|
||||
Cette proposition a été reçue sous différentes formes de plusieurs collègues.
|
||||
L'idée est de présenter le bulletin en deux parties: d'abord les résultats de
|
||||
chaque ressource et SAE, puis les résultats de chaque UE.
|
||||
|
||||
Un exemple préliminaire:
|
||||
|
||||
<img src="/fig/but-bul-bdx.png" width="50%">
|
||||
|
||||
## Tenue des Jury BUT
|
||||
|
||||
La tenue des jury BUT dans ScoDoc est en fait plus simple que celle des anciens
|
||||
DUTs, avec moins de décisions ad-hoc (compensations plus simples, moins de cas
|
||||
de mise en attente). Comme pour les formations LMD, il s'agit avant tout de
|
||||
constater ou valider manuellement les Unités d'Enseignements (UEs) associées à
|
||||
des ECTS.
|
||||
La tenue des jury BUT dans ScoDoc est en fait plus simple que celle des anciens DUTs, avec moins
|
||||
de décisions ad-hoc (compensations plus simples, moins de cas de mise en
|
||||
attente). Comme pour les formations LMD, il s'agit avant tout de constater ou
|
||||
valider manuellement les Unités d'Enseignements (UEs) associées à des ECTS.
|
||||
|
||||
Avant de tenir un jury de BUT il est absolument indispensable que la formation
|
||||
et les semestre soient bien paramétrés. Voir [l'exemple complet du paramétrage
|
||||
|
@ -384,7 +365,6 @@ A la fin, les validations enregistrées pour cet étudiant sont:
|
|||
!!! note "Voir aussi"
|
||||
|
||||
- [Modélisation BUT: exemple de la spécialité Informatique](BUTExempleInfo.md)
|
||||
- [Les codes de jury en BUT](BUTCodesJury.md)
|
||||
- [Guide utilisateur](GuideUtilisateur.md)
|
||||
- [Guide du responsable de formation](GuideAdminFormation.md)
|
||||
- [Tutoriels vidéo](https://www.youtube.com/channel/UCb0JYCBRi0CsE4XFp4ByhXg)
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
# Bulletins de notes pour le BUT
|
||||
|
||||
|
||||
|
||||
## Anciennes propositions
|
||||
|
||||
Exemples de propositions de formats de bulletins discutées au moment de la
|
||||
création de ScoDoc 9.
|
||||
|
||||
### Modèle "Lillois"
|
||||
|
||||
Proposition de l'IUT de Lille:
|
||||
|
||||
- en ligne, les ressources, puis les SAÉ;
|
||||
- en colonnes, les UE;
|
||||
- dans chaque case, le coefficient et la note obtenue;
|
||||
- on peut ajouter les évaluations (lignes);
|
||||
- on pourrait ajouter les infos habituelles en colonnes: min/max/moy/rangs/...
|
||||
|
||||
Avantage: toutes les informations importantes sont présentées.
|
||||
|
||||
Inconvénients (?): beaucoup de cases vides, peu synthétique, pas évident à
|
||||
exploiter pour un non spécialiste du BUT (poursuites d'études, employeurs).
|
||||
|
||||
<img src="/fig/but-bul-lille.png" width="50%">
|
||||
|
||||
### Modèle "Bordelais"
|
||||
|
||||
Cette proposition a été reçue sous différentes formes de plusieurs collègues.
|
||||
L'idée est de présenter le bulletin en deux parties: d'abord les résultats de
|
||||
chaque ressource et SAE, puis les résultats de chaque UE.
|
||||
|
||||
Un exemple préliminaire:
|
||||
|
||||
<img src="/fig/but-bul-bdx.png" width="50%">
|
|
@ -29,43 +29,19 @@ ScoDoc prend en compte cela par différents mécanismes:
|
|||
Chaque UE possède un code interne ScoDoc que l'on peut modifier via la page
|
||||
d'édition des programmes:
|
||||
|
||||
<img src="/screens/ue-edit-code.png" width="70%"
|
||||
<img src="/screens/ue-edit-code.png" width="70%"
|
||||
alt="Modification du code interne d'une UE">
|
||||
|
||||
On peut utiliser un code quelconque, y compris celui donné dans un autre
|
||||
logiciel comme Apogée. En bas de cette même page, ScoDoc affiche la liste des
|
||||
UEs ayant le même code, afin de vérifier facilement la compatibilité:
|
||||
|
||||
<img src="/screens/ue-edit-code-equiv.png" width="70%"
|
||||
<img src="/screens/ue-edit-code-equiv.png" width="70%"
|
||||
alt="UEs partageant le même code">
|
||||
|
||||
Ne pas confondre ce code d'UE interne avec le code Apogée, qui n'est utilisé que pour
|
||||
les exports de résultats.
|
||||
|
||||
## La moyenne d'UE capitalisée
|
||||
|
||||
La note (moyenne) de l'UE est enregistrée ("photo instantanée") au moment de la
|
||||
saisie de la décision de jury la concernant (si cette décision est
|
||||
"capitalisante"), afin d'être utilisée dans la suite de la scolarité de
|
||||
l'étudiant (redoublement, ou construction de RCUE inter-annuels).
|
||||
|
||||
Attention, il faut veiller à ne jamais modifier les notes après décision du
|
||||
jury, c'est une évidence qui n'est pas toujours respectée. En effet, outre le
|
||||
fait que le jury serait alors sans valeur, si la moyenne d'une UE capitalisée
|
||||
change après son enregistrement, on observera des discordances entre les valeurs
|
||||
capitalisées (PV de jury, etc) et celles calculées et affichées sur les relevés
|
||||
de notes.
|
||||
|
||||
ScoDoc essaye de décourager cela:
|
||||
|
||||
- verrouillage de semestres conseillé immédiatement après le jury;
|
||||
- nombreux avertissements lors des tentatives de saisies de notes s'il existe
|
||||
une décision de jury.
|
||||
|
||||
Au besoin, il est toujours possible, avec les droits adéquats, après
|
||||
déverrouillage du semestre et avec en principe l'autorisation du président du
|
||||
jury (...) de resaisir la décision, afin d'enregistrer la nouvelle moyenne.
|
||||
|
||||
## Exemple BUT avec UE capitalisée
|
||||
|
||||
Soit une formation BUT, ici R&T, avec 3 UE. Certaines ressources (comme R101) sont communes à
|
||||
|
@ -101,37 +77,3 @@ tableau de bord module.
|
|||
C'est dans cet exemple le cas pour la SAÉ `SAE11`.
|
||||
|
||||
<img src="/fig/but-uescap-inscrmodule.png" width="30%">
|
||||
|
||||
## Gestion des semestres à l'étranger
|
||||
|
||||
Certains étudiants suivent parfois des semestres à l'extérieur de leur
|
||||
établissement d'origine.
|
||||
|
||||
Le jury a décidé d'une équivalence entre certaines UEs suivies à l'extérieur et
|
||||
celles du la formation d'origine.
|
||||
|
||||
Il est important de reporter ces résultats dans ScoDoc afin que celui-ci puisse
|
||||
tenir compte des UEs validés, de leurs ECTS, et en fin de cursus délivrer
|
||||
correctement le diplôme.
|
||||
|
||||
Une façon simple de traiter ce cas et de le gérer comme les transferts
|
||||
d'étudiants en cours de cursus: à l'inscription dans le semestre $S_{n+1}$, on
|
||||
va enregistrer les validations d'UEs *antérieures* obtenues dans le semestre
|
||||
$S_n$, que celui ci est été effectué à l'étranger (équivalence des UEs) ou dans
|
||||
un autre établissement (transfert).
|
||||
|
||||
Note: il y aura alors un "trou" dans le cursus, par exemple $S_1, S_2, S_3, S_5$, si
|
||||
$S_4$ est effectué à l'étranger.
|
||||
|
||||
Dans cet exemple, l'étudiant a suivi son semestre $S_4$ à l'extérieur: il
|
||||
n'apparait pas sur sa fiche. Après inscription en S5, on valide ses UEs de S4.
|
||||
|
||||
<img src="/screens/validation-ues-anterieures-menu.png" width="70%"
|
||||
alt="Menu validation UEs antérieures">
|
||||
|
||||
Lors de la saisie d'une validation d'UE antérieure, on indique son code jury (en
|
||||
général `ADM` si il n'y a pas eu de problèmes), et la note obtenue (qui pourra
|
||||
servir comme UE capitalisée ou sur les avis de poursuite d'études):
|
||||
|
||||
<img src="/screens/validation-ues-anterieures-saisie.png" width="70%"
|
||||
alt="Formulaire validation UEs antérieures">
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
# Codes jury en Bachelor Universitaire de Technologie (BUT)
|
||||
|
||||
Les tableaux ci-dessous récapitulent les codes utilisés lors des jurys BUT. La
|
||||
signification de chaque code est expliquée, ainsi que la correspondance avec
|
||||
certains codes préconisés par l'AMUE et l'ADIUT pour Apogée.
|
||||
|
||||
## Codes d'année
|
||||
|
||||
*Les codes d'année BUT sont associés à la formation et non au semestre: on ne
|
||||
valide qu'une seule fois BUT1, BUT2 puis BUT3.*
|
||||
|
||||
| ScoDoc | AMUE | Signification |
|
||||
|--------|------|---------------|
|
||||
| `ABAN` | `ABAN` | ABANdon constaté (sans lettre de démission) |
|
||||
| `ABL` | `ABL` | Année Blanche |
|
||||
| `ADM` | | Admis |
|
||||
| `ADJ` | | Admis par décision jury |
|
||||
| `ATJ` | `nd` | Non validé pour une autre raison, voir règlement local |
|
||||
| `DEF` | | (défaillance) Non évalué par manque assiduité |
|
||||
| `DEM` | | Démission |
|
||||
| `EXCLU`| `EXC` | EXClusion, décision réservée à des décisions disciplinaires |
|
||||
| `NAR` | `REO` | Non admis, réorientation |
|
||||
| `PAS1NCI`| `PAS1NCI` | Non admis, mais passage par décision de jury (Passage en Année Supérieure avec au moins 1 Niveau de Compétence Insuffisant (RCUE<8)) |
|
||||
| `PASD` | `PASD` | Non admis, mais passage de droit |
|
||||
| `RAT` | | En attente d’un rattrapage |
|
||||
| `RED` | `RED` | Ajourné, mais autorisé à redoubler |
|
||||
|
||||
|
||||
## Codes RCUE (niveaux de compétences annuels)
|
||||
|
||||
*Les codes de RCUE sont associés à la formation: chaque niveau de compétence est
|
||||
validé une fois au maximum. En cas de redoublement, le code RCUE peut changer.*
|
||||
|
||||
| ScoDoc | AMUE | Signification |
|
||||
|--------|------|---------------|
|
||||
| `ABAN` | | Non évalué pour manque assiduité |
|
||||
| `ADM` | `VAL`| Acquis |
|
||||
| `ADJ` | `CODJ`| Acquis par décision du jury |
|
||||
| `ADSUP`| | Acquis parce que le niveau de compétence supérieur est acquis |
|
||||
| `AJ` | `AJ` | Attente pour problème de moyenne |
|
||||
| `ATJ` | `nd` | Non validé pour une autre raison, voir règlement local |
|
||||
| `CMP` | | Acquis par compensation annuelle |
|
||||
| `DEF` | | Défaillant |
|
||||
| `RAT` | | En attente d’un rattrapage |
|
||||
|
||||
|
||||
## Codes des Unités d'Enseignement (UE)
|
||||
|
||||
Les codes d'UE sont associés aux UE d'un semestre. En cas de redoublement,
|
||||
l'UE antérieure garde son code, non écrasé par le redoublement. Chaque UE suivie a son code.
|
||||
|
||||
| ScoDoc | AMUE | Signification |
|
||||
|---------|------|---------------|
|
||||
| `ABAN` | `ABAN` | Non évalué pour manque d’assiduité Non présentation des notes de l’étudiant au jury |
|
||||
| `ADM` | `VAL` | Acquis (ECTS acquis, UE capitalisée) |
|
||||
| `ADJ` | | Acquis par décision de jury (ECTS acquis) |
|
||||
| `ADJR` | | Acquis par décision de jury sur le RCUE (ECTS acquis) |
|
||||
| `ADSUP` | | Acquis parce que le niveau de compétence supérieur est acquis |
|
||||
| `AJ` | `AJ` | Attente pour problème de moyenne |
|
||||
| `ATJ` | `nd` | Non validé pour une autre raison, voir règlement local |
|
||||
| `CMP` | `COMP`| Acquis par compensation UE compensée avec l’UE de même compétence et de même année (ECTS acquis) |
|
||||
| `DEF` | `ABAN`| Défaillant Pas ou peu de notes par arrêt de la formation |
|
||||
| `DEM` | | Démission |
|
||||
| `RAT` | | En attente d’un rattrapage |
|
||||
| `UEBSL` | `UEBSL`| UE blanchie |
|
||||
|
||||
## Rappels de l'arrêté BUT (extraits)
|
||||
|
||||
- Au sein de chaque regroupement cohérent d’UE, la compensation est intégrale. Si une UE n’a pas été acquise en raison d’une moyenne inférieure à 10, cette UE sera acquise par compensation si et seulement si l’étudiant a obtenu la moyenne au regroupement cohérent auquel l’UE appartient.
|
||||
- La poursuite d'études dans un semestre pair d’une même année est de droit pour tout étudiant. La poursuite d’études dans un semestre impair est possible _si et seulement si_ l’étudiant a obtenu :
|
||||
- la moyenne à plus de la moitié des regroupements cohérents d’UE
|
||||
- et une moyenne égale ou supérieure à 8 sur 20 à chaque regroupement cohérent d’UE.
|
||||
- La poursuite d'études dans le semestre 5 nécessite de plus la validation de toutes les UE des semestres 1 et 2 dans les conditions de validation des points 4.3 et 4.4, ou par décision de jury.
|
||||
|
||||
### Textes de référence
|
||||
|
||||
- [Bulletin officiel spécial n°4 du 26 mai 2022](https://www.enseignementsup-recherche.gouv.fr/fr/bo/21/Special4/ESRS2114777A.htm)
|
||||
- [Version pdf de l'arrêté de mai 2022 sur la licence professionnelle « bachelor universitaire de technologie »](https://cache.media.education.gouv.fr/file/SP4-MESRI-26-5-2022/10/0/spe617_annexe1_1426100.pdf)
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Le BUT](BUT.md)
|
||||
- [Contacts](Contact.md)
|
|
@ -1,22 +0,0 @@
|
|||
# Les jurys de BUT
|
||||
|
||||
!!! 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)
|
|
@ -41,18 +41,15 @@ inférieure à zéro), elle est ramenée à 20 (ou à zéro).
|
|||
Seule la somme des modificateurs est affichée (à coté de l'UE sur laquelle
|
||||
elle porte)
|
||||
|
||||
- Il est possible de décrire plusieurs évaluations (donc plusieurs saisies):
|
||||
c'est la moyenne (non pondérée) des valeurs de malus qui sera appliquée à l'UE.
|
||||
- Il est possible de décrire plusieurs évaluations (donc plusieurs saisies) qui
|
||||
sont cumulatives
|
||||
|
||||
- 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)).
|
||||
|
||||
## Comparatif bonus/malus
|
||||
|
||||
Le tableau ci-dessous résume les différences entre les bonus sport/culture et
|
||||
les modules de malus.
|
||||
Le résumé de ce comparatif est détaillé dans le tableau ci-dessous:
|
||||
|
||||
| Critère | Bonus Sport/culture | Module de Malus |
|
||||
|:-------------------------------------|:--------------------------------------------------|:-------------------------------------------|
|
||||
|
@ -145,8 +142,8 @@ lors de la conception d'un programme, mais n'a pas a être réitérée lors de l
|
|||
création d'une nouvelle version d'un programme avec UE sport.
|
||||
|
||||
Une fois le module créé (et ajouté à un semestre), on peut y déclarer une
|
||||
évaluation et saisir les notes de bonus/malus. Ces notes sont par défaut *à prise
|
||||
en compte immédiate*, auquel cas il n'est pas nécessaire de saisir des notes de malus
|
||||
évaluation et saisir les notes de bonus/malus. Ces notes sont toujours *à prise
|
||||
en compte immédiate*, il n'est donc pas nécessaire de saisir des notes de malus
|
||||
pour tous les étudiants.
|
||||
|
||||
|
||||
|
|
|
@ -26,13 +26,13 @@ Plus de détails ci-dessous.
|
|||
|
||||
Chaque évaluation produit des notes de différents types:
|
||||
|
||||
- note numérique (positive ou nulle): sera normalisée entre 0 et 20
|
||||
* note numérique (positive ou nulle): sera normalisée entre 0 et 20
|
||||
|
||||
- note absente: considérée comme zéro
|
||||
* note absente: considérée comme zéro
|
||||
|
||||
- note en attente: non prise en compte
|
||||
* note en attente: non prise en compte
|
||||
|
||||
- note excusée: non pris en compte
|
||||
* note excusée: non pris en compte
|
||||
|
||||
Chaque étudiant a donc un nombre variable de notes à prendre en compte dans
|
||||
chaque module. Chaque note est associée à un coefficient: le coefficient de
|
||||
|
@ -104,29 +104,35 @@ générale n'est pas définie. Toutefois, ScoDoc calcule une *moyenne indicative
|
|||
qui est la moyenne des moyennes des UE du semestre pondérée par leurs ECTS. Voir
|
||||
détails [sur la page BUT](BUT.md#moyenne-generale)
|
||||
|
||||
## Notes de rattrapage, deuxième session et bonus
|
||||
## Notes de rattrapage
|
||||
|
||||
Voir la section [modalité d'une évaluation](Evaluation.md#bloquage-et-date-de-prise-en-compte).
|
||||
Dans chaque module, il est possible de définir une évaluation de "rattrapage".
|
||||
Lors de la création (ou modification) de l'évaluation, indiquer le type
|
||||
"Rattrapage":
|
||||
|
||||
![CreateEvaluationRat.png](screens/CreateEvaluationRat.png)
|
||||
|
||||
Pour chaque étudiant, la note obtenue à l'évaluation de rattrapage remplace la
|
||||
moyenne du module, seulement si elle est supérieure à celle-ci.
|
||||
|
||||
## Bonus sport/culture
|
||||
|
||||
Ce bonus s'applique directement sur la **moyenne générale** et/ou sur les
|
||||
moyennes d'UE (notamment en BUT).
|
||||
|
||||
Les notes des UEs de type spécial "Sport & Culture" sont utilisées pour calculer
|
||||
ce bonus.
|
||||
Les notes des UEs de type spécial "Sport & Culture" sont utilisées pour calculer ce bonus.
|
||||
|
||||
Pour qu'un étudiant bénéficie de ce bonus, il doit être inscrit à un module
|
||||
d'une UE de type "Sport&Culture". Cette UE et modules associés doivent donc être
|
||||
prévu dans le programme pédagogique.
|
||||
|
||||
La règle appliquée dépend de l'établissement. Par exemple, l'Université de Haute
|
||||
Alsace appliquait le règlement suivant: *Les étudiants de l'IUT peuvent suivre
|
||||
des enseignements optionnels de l'U.H.A. (sports, musique, deuxième langue,
|
||||
culture, etc) non rattachés à une unité d'enseignement. Les points au-dessus de
|
||||
10 sur 20 obtenus dans chacune des matières optionnelles sont cumulés dans la
|
||||
limite de 10 points. 5% de ces points cumulés s'ajoutent à la moyenne générale
|
||||
du semestre déjà obtenue par l'étudiant.*
|
||||
La règle appliquée dépend de l'établissement. Par exemple, l'Université de
|
||||
Haute Alsace appliquait le règlement suivant: *Les étudiants de l'IUT peuvent
|
||||
suivre des enseignements optionnels de l'U.H.A. (sports, musique, deuxième
|
||||
langue, culture, etc) non rattachés à une unité d'enseignement. Les points
|
||||
au-dessus de 10 sur 20 obtenus dans chacune des matières optionnelles sont
|
||||
cumulés dans la limite de 10 points. 5% de ces points cumulés s'ajoutent à la
|
||||
moyenne générale du semestre déjà obtenue par l'étudiant.*
|
||||
|
||||
L'administrateur peut changer la fonction de calcul du bonus sport via le
|
||||
formulaire de configuration accessible (aux admin) depuis la page d'accueil. Si
|
||||
|
@ -154,7 +160,7 @@ Pour valider une RCUE, on vérifie que moy_rcue > sco_codes.BUT_RCUE_SUFFISANT
|
|||
|
||||
où est défini comme BUT_RCUE_SUFFISANT = 8.0 - NOTES_TOLERANCE.
|
||||
|
||||
avec
|
||||
avec
|
||||
NOTES_TOLERANCE = 0.00499999999999
|
||||
```
|
||||
|
||||
|
@ -174,7 +180,6 @@ n'a pas toute la précision.
|
|||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide utilisateur](GuideUtilisateur.md)
|
||||
- [Les évaluations](Evaluation.md)
|
||||
- [Calculs spécifiques en BUT](BUT.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Capitalisation des UEs de DUT
|
||||
|
||||
Brève note expliquant le système de capitalisation de UE dans le cadre des DUT.
|
||||
|
||||
Pour le Bachelor (BUT), voir [Capitalisation des Unités d'Enseignement en
|
||||
BUT](BUTCapitalisationUE.md).
|
||||
|
||||
|
|
|
@ -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](GuideInstallDebian12.md)
|
||||
- Installation, flux réseaux et configuration: [Guide d'installation](GuideInstallDebian11.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
||||
|
|
|
@ -1,83 +1,96 @@
|
|||
|
||||
# Rôles et permissions définis dans l'installation standard
|
||||
# Rôles définis dans l'installation standard
|
||||
|
||||
La page [ConfigPermissionsDept](ConfigPermissionsDept.md) introduit les notions
|
||||
de rôles et de permissions.
|
||||
🚧 *cette page est ancienne et à revoir*.
|
||||
|
||||
Ci-dessous la liste des permissions, qui est utile notamment pour les
|
||||
utilisateurs de l'API.
|
||||
Voir aussi sur les rôles et leur utilisation la page [ConfigPermissionsDept](ConfigPermissionsDept.md)
|
||||
|
||||
## Liste des permissions
|
||||
Les informations ci-dessous ne sont utiles que pour les développeurs ou pour des usages avancés de ScoDoc.
|
||||
|
||||
* **AbsAddBillet** : Saisir des billets d'absences
|
||||
* **AbsChange** : Saisir des absences
|
||||
* **AbsJustifView** : Visualisation des fichiers justificatifs
|
||||
* **EditAllEvals** : Modifier toutes les évaluations
|
||||
* **EditAllNotes** : Modifier toutes les notes
|
||||
* **EditApogee** : Gérer les exports Apogée
|
||||
* **EditFormSemestre** : Mettre en place une formation (créer un semestre)
|
||||
* **EditFormation** : Changer les formations
|
||||
* **EditFormationTags** : Tagguer les formations
|
||||
* **EditPreferences** : Modifier les préférences
|
||||
* **EnsView** : Voir les parties pour les enseignants
|
||||
* **EtudAddAnnotations** : Éditer les annotations
|
||||
* **EtudChangeAdr** : Changer les adresses d'étudiants
|
||||
* **EtudChangeGroups** : Modifier les groupes
|
||||
* **EtudInscrit** : Inscrire des étudiants
|
||||
* **Observateur** : Observer (accès lecture restreint aux bulletins)
|
||||
* **RelationsEntrepEdit** : Modifier les entreprises
|
||||
* **RelationsEntrepExport** : Exporter les données de l'application relations entreprises
|
||||
* **RelationsEntrepSend** : Envoyer des offres
|
||||
* **RelationsEntrepValidate** : Valide les entreprises
|
||||
* **RelationsEntrepView** : Voir l'application relations entreprises
|
||||
* **RelationsEntrepViewCorrs** : Voir les correspondants
|
||||
* **ScoSuperAdmin** : Super Administrateur
|
||||
* **ScoView** : Voir
|
||||
* **UsersAdmin** : Gérer les utilisateurs (de son département)
|
||||
* **UsersChangeCASId** : Paramétrer l'id CAS
|
||||
* **UsersView** : Voir les utilisateurs (de tous les départements)
|
||||
## Principales permissions et fonctions associées
|
||||
|
||||
## Rôles
|
||||
### Liste des permissions Zope
|
||||
|
||||
Les rôles peuvent êtres associés à un nombre quelconque de permissions.
|
||||
Les permissions utilisées par ScoDoc ont des noms qui commencent par "Sco", de façon à les grouper dans l'interface de Zope (ZMI), qui est peu pratique.
|
||||
|
||||
ScoDoc définit un certain nombre de rôles *standards* (`Ens`, `Secr`, ...) mais
|
||||
l'administrateur peut facilement définir de nouveaux rôles et leur associer un
|
||||
ensemble de permissions.
|
||||
Pour changer ces permissions (plus précisément pour associer les permissions à des rôles), aller dans l'onglet "Security" du dossier "Dept" (celui qui *contient* l'instance de ScoDoc, habituellement nommée "Scolarite").
|
||||
|
||||
## Gestion des utilisateurs
|
||||
Voici les permissions utilisées:
|
||||
|
||||
* **Sco View** : voir les pages de ScoDoc (à réserver aux enseignants et administratifs)
|
||||
|
||||
* **Sco View Ens** : voir les parties réservées aux enseignants (à l'exclusion des secrétariats)
|
||||
|
||||
* **Sco Modifier toutes notes** : modifier toutes les notes (dans tous les semestres)
|
||||
|
||||
* **Sco Modifier toutes les evaluations** : créer/modifier/supprimer des évaluations dans tous les semestres (mais pas saisir des notes)
|
||||
|
||||
* **Sco Change Formation** : créer/modifier/supprimer des formations (programmes pédagogiques)
|
||||
|
||||
* **Sco Implement Formation** : mettre en place des semestres (sessions) de formation
|
||||
|
||||
* **Sco Change Absences** : saisir des absences
|
||||
|
||||
* **Sco Change Etud Address** : changer les adresses des étudiants
|
||||
|
||||
* **Sco Change Etud Groups** : changer les groupes des étudiants
|
||||
|
||||
* **Sco Inscrire Etud** : inscrire des étudiants
|
||||
|
||||
* **Sco Etud Add Annotations** : ajouter des annotations sur les étudiants
|
||||
|
||||
* **Sco View Entreprises** : accéder au fichier d'entreprises
|
||||
|
||||
* **Sco Change Entreprises** : modifier le fichier d'entreprises
|
||||
|
||||
* **Sco Users Admin** : voir et modifier les utilisateurs ScoDoc
|
||||
|
||||
* **Sco Users View** : voir les utilisateurs ScoDoc
|
||||
|
||||
* **Sco Change Preferences** : modifier les préférences du département
|
||||
|
||||
* **Sco Super Admin** : réservé à l'administrateur (création de départements)
|
||||
|
||||
Pour la liste à jour des permissions et leur nom complet, et les associations initiales rôles/permissions, voir le fichier `sco_permissions.py` dans les sources.
|
||||
|
||||
|
||||
### Rôles associés à chaque permission dans chaque département
|
||||
Les rôles listés ici sont ceux définis dans chaque département (`Admin` réfère donc à l'`AdminXXX` du département `XXX`, à ne pas confondre avec l'utilisateur `admin`).
|
||||
|
||||
Permission | Rôles... | | |
|
||||
-----------------------------|--------------|--------|---------|
|
||||
**`ScoView`** | `Ens` | `Secr` | `Admin` |
|
||||
**`ScoEnsView`** | `Ens` | | `Admin` |
|
||||
**`ScoUsersView`** | `Ens` | `Secr` | `Admin` |
|
||||
**`ScoEtudAddAnnotations`** | `Ens` | `Secr` | `Admin` |
|
||||
**`ScoAbsChange`** | `Ens` | `Secr` | `Admin` |
|
||||
**`ScoEntrepriseView`** | `Ens` | `Secr` | `Admin` |
|
||||
**`ScoEntrepriseChange`** | | `Secr` | `Admin` |
|
||||
**`ScoEtudChangeAdr`** | | `Secr` | `Admin` |
|
||||
**`ScoChangeFormation`** | | | `Admin` |
|
||||
**`ScoEditAllNotes`** | | | `Admin` |
|
||||
**`ScoEditAllEvals`** | | | `Admin` |
|
||||
**`ScoImplement`** | | | `Admin` |
|
||||
**`ScoEtudChangeGroups`** | | | `Admin` |
|
||||
**`ScoEtudInscrit`** | | | `Admin` |
|
||||
**`ScoUsersAdmin`** | | | `Admin` |
|
||||
**`ScoChangePreferences`** | | | `Admin` |
|
||||
|
||||
|
||||
## Gestion des utilisateurs
|
||||
Les utilisateurs sont associés à un département principal et à des rôles.
|
||||
|
||||
Le fait d'être, ou non, associé à un département est important:
|
||||
* pour tous les utilisateurs: hormis le SuperAdmin, seuls les administrateurs du département d'appartenance sont habilités à modifier les caractéristiques principales (nom, prenom, email, mot de passe) de cet utilsateur
|
||||
* pour les responsables (rôle `AdminXXX`. En effet, si le responsable est associé à un département, *il ne pourra créer des utilisateurs que dans ce département*
|
||||
(c'est en général ce qu'on veut pour un chef de département, qui "recrute" des enseignant uniquement dans son département).
|
||||
|
||||
* pour tous les utilisateurs: hormis le SuperAdmin, seuls les administrateurs du
|
||||
département d'appartenance sont habilités à modifier les caractéristiques
|
||||
principales (nom, prenom, email, mot de passe) de cet utilisateur.
|
||||
* pour les responsables (rôle `Admin_XXX`). En effet, si le responsable est
|
||||
associé à un département, *il ne pourra créer des utilisateurs que dans ce
|
||||
département* (c'est en général ce qu'on veut pour un chef de département, qui
|
||||
"recrute" des enseignant uniquement dans son département).
|
||||
Pour la gestion des rôles, l'administrateur d'un département peut ajouter ou supprimer les rôles *de ce département* à n'importe quel utilisateur, y compris à ceux qui ne sont pas du même département
|
||||
|
||||
Pour la gestion des rôles, l'administrateur d'un département peut ajouter ou
|
||||
supprimer les rôles *de ce département* à n'importe quel utilisateur, y compris
|
||||
à ceux qui ne sont pas du même département.
|
||||
|
||||
Exemple: si Paul est du département GEII et a les rôles `Admin_GEII` et `Admin_CJ`
|
||||
|
||||
* Il pourra *créer* des utilisateurs *uniquement dans son département d'origine*, GEII;
|
||||
* Il pourra ajouter ou retirer les rôles `Ens_GEII`, `Secr_GEII`, `Admin_GEII` à tout
|
||||
utilisateur de ScoDoc;
|
||||
* Il pourra ajouter ou retirer les rôles `Ens_CJ`, `Secr_CJ`, `Admin_CJ` à tout
|
||||
utilisateur de ScoDoc.
|
||||
Exemple: si PAUL est du département GEII et a les rôles AdminGEII et AdminCJ
|
||||
* Il pourra créer des utilisateurs uniquement dans le département GEII
|
||||
* il pourra ajouter ou retirer les rôles EnsGEII, SecrGEII, AdminGEII à tout utilisateur de scodoc
|
||||
* il pourra ajouter ou retirer les rôles EnsCJ, SecrCJ, AdminCJ à tout utilisateur de scodoc
|
||||
|
||||
Plus d'informations techniques sur la page [AdminUsers](AdminUsers.md).
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Introduction aux rôles et permissions](ConfigPermissionsDept.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Config. des rôles et permissions en ligne de commande](GuideConfig.md#creation-dun-nouveau-role)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
# Rôles et permissions dans ScoDoc
|
||||
|
||||
ScoDoc défini par défaut quatre rôles principaux (d'autres sont prévus,
|
||||
notamment pour le module relations entreprises):
|
||||
|
||||
* Administrateur
|
||||
* Secrétariat
|
||||
* Enseignant
|
||||
* Observateur
|
||||
ScoDoc défini par défaut quatre rôles principaux (d'autres sont prévus, notamment pour le module
|
||||
relations entreprises):
|
||||
|
||||
- Administrateur
|
||||
- Secrétariat
|
||||
- Enseignant
|
||||
- Observateur
|
||||
|
||||
|
||||
Par ailleurs, le contexte d'utilisation donne certains privilèges (par exemple
|
||||
la faculté de saisir des notes, de justifier des absences, de modifier la
|
||||
|
@ -14,15 +16,16 @@ définition des programmes, ...).
|
|||
|
||||
## Exemple
|
||||
|
||||
L'utilisateur *Dupont* est responsable ScoDoc pour son département *RT* mais
|
||||
intervient également en enseignement au département *GEII*. On pourra lui
|
||||
attribuer les rôles `Admin_RT` et `Ens_GEII`, ce qui lui permettra :
|
||||
L'utilisateur 'Dupont' est responsable ScoDoc pour son département *RT* mais
|
||||
intervient également en enseignement au département *GEII*.
|
||||
On pourra lui attribuer les rôles `AdminRT` et `EnsGEII`, ce qui lui permettra :
|
||||
|
||||
* de gérer les utilisateurs du (seul) département RT :
|
||||
Privilèges associés : `Gérer les utilisateurs`, `Changer les formations`, ...
|
||||
* d'accéder aux vues enseignant pour le département GEII :
|
||||
Privilèges associés : `Voir les parties pour les enseignants`,
|
||||
`Saisir des absences`, ...
|
||||
- de gérer les utilisateurs du (seul) département RT :
|
||||
Privilèges associés : `Gérer les utlisateurs (Sco Users Manage)`, `Changer les
|
||||
formations (Sco Change Formation)`, ...
|
||||
- d'accéder aux vues enseignant pour le département GEII :
|
||||
Privilèges associés : `Voir les parties pour les enseignants (Sco View Ens)`,
|
||||
`Saisir des absences (Sco Change Absences)`, ...
|
||||
|
||||
Pour une description plus fine des permissions, voir
|
||||
[ConfigPermissions](ConfigPermissions.md).
|
||||
|
@ -31,52 +34,34 @@ Pour une description plus fine des permissions, voir
|
|||
|
||||
`XXX` désigne typiquement le nom du département ("RT" ou "GEA").
|
||||
|
||||
* `Admin_XXX`: toutes opérations ScoDoc (chef de département, et éventuellement
|
||||
un ou deux collaborateurs de confiance);
|
||||
* `AdminXXX`: toutes opérations ScoDoc (chef de département, et éventuellement un ou deux collaborateurs de confiance);
|
||||
|
||||
* `Ens_XXX`: enseignant du département;
|
||||
* `EnsXXX`: enseignant du département;
|
||||
|
||||
* `Secr_XXX`: secrétaire du département.
|
||||
* `SecrXXX`: secrétaire du département.
|
||||
|
||||
L'installation standard défini aussi un utilisateur "*admin*", qui a le rôle
|
||||
"Manager", ce qui lui confère normalement tous les droits sur toutes les parties
|
||||
du site. L'usage de cet utilisateur particulier devrait être réduit à la
|
||||
création de nouveaux départements, et son mot de passe ne devrait pas être
|
||||
divulgué aux utilisateurs de ScoDoc.
|
||||
L'installation standard défini aussi un utilisateur "*admin*", qui a le rôle "Manager", ce qui lui confère normalement tous les droits sur toutes les parties du site. L'usage de cet utilisateur particulier devrait être réduit à la création de nouveaux départements, et son mot de passe ne devrait pas être divulgué aux utilisateurs de ScoDoc.
|
||||
|
||||
Les utilisateurs sont associés à des rôles et à un (et un seul) département
|
||||
principal.
|
||||
Les utilisateurs sont associés à des rôles et à un (et un seul) département principal.
|
||||
|
||||
Un utilisateur peut avoir un nombre quelconque de rôles dans différents
|
||||
départements.
|
||||
Un utilisateur peut avoir un nombre quelconque de rôles dans différents départements.
|
||||
|
||||
Le département de rattachement est utile pour indiquer qui (quel administrateur)
|
||||
a le droit de modifier l'utilisateur (lui changer son mot de passe, etc), mais
|
||||
n'influe pas sur les permissions accordées à l'utilisateur (sauf pour les
|
||||
administrateurs).
|
||||
Le département de rattachement est utile pour indiquer qui (quel administrateur) a le droit de modifier l'utilisateur (lui changer son mot de passe, etc), mais n'influe pas sur les permissions accordées à l'utilisateur (sauf pour les administrateurs).
|
||||
|
||||
Le fait d'être, ou non, associé à un département est important pour les
|
||||
responsables (rôle `Admin_XXX`. En effet, si le responsable est associé à un
|
||||
département, il ne pourra créer des utilisateurs que dans ce département (c'est
|
||||
en général ce qu'on veut pour un chef de département, qui "recrute" des
|
||||
enseignant uniquement dans son département).
|
||||
Le fait d'être, ou non, associé à un département est important pour les responsables (rôle `AdminXXX`. En effet, si le responsable est associé à un département, il ne pourra créer des utilisateurs que dans ce département (c'est en général ce qu'on veut pour un chef de département, qui "recrute" des enseignant uniquement dans son département).
|
||||
|
||||
## Permissions dépendantes du contexte
|
||||
|
||||
Outre les rôles associés à chaque utilisateur, le calcul des autorisations
|
||||
dépend du contexte de l'opération. Par exemple, un responsable de semestre a des
|
||||
droits particulier sur ce semestre, ou encore un responsable de module sur la
|
||||
saisie des notes dans ce module.
|
||||
Outre les rôles associés à chaque utilisateur, le calcul des autorisations dépend du contexte de l'opération. Par exemple, un responsable de semestre a des droits particulier sur ce semestre, ou encore un responsable de module sur la saisie des notes dans ce module.
|
||||
|
||||
### Qui peut saisir des notes ?
|
||||
### Qui peut saisir des notes ?
|
||||
|
||||
Peuvent saisir des notes dans une évaluation située dans un module:
|
||||
|
||||
* le ou les administrateurs (rôle `Admin_XXX`, où `XXX` est le département);
|
||||
* le ou les administrateurs (rôle `AdminXXX`, où `XXX` est le département);
|
||||
* le responsable du semestre (directeur des études);
|
||||
* le responsable du module;
|
||||
* les enseignants "associés" au module (en général des collègues désignés par le
|
||||
responsable de module ou le directeur des études).
|
||||
* les enseignants "associés" au module (en général des collègues désignés par le responsable de module ou le directeur des études).
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@ Quelques indications pour développer avec ScoDoc, à adapter à vos goûts et o
|
|||
Commencez par lire
|
||||
[Installation du code pour les développeurs](https://scodoc.org/git/ScoDoc/ScoDoc#pour-les-d%C3%A9veloppeurs)
|
||||
|
||||
## Machine virtuelle
|
||||
# Machine virtuelle
|
||||
|
||||
Il est confortable de développer dans une VM (un container Docker ferait
|
||||
aussi bien l'affaire).
|
||||
|
||||
### Conseils pour la machine virtuelle
|
||||
## Conseils pour la machine virtuelle
|
||||
|
||||
[VirtualBox](https://www.virtualbox.org/) est facile à installer sur Linux ou
|
||||
Windows. Créer une VM avec Debian 12, et suivre la
|
||||
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian12.md).
|
||||
Windows. Créer une VM avec Debian 10, et suivre la [procédure habituelle
|
||||
d'installation de ScoDoc](GuideInstallDebian11.md).
|
||||
|
||||
Sur les Macs anciens (processeurs Intel), VirtualBox fonctionne bien. Sur les
|
||||
modèles "M1" (Apple Silicon), je conseille d'utiliser
|
||||
|
@ -70,10 +70,9 @@ 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
|
||||
|
||||
Modifier le `/etc/hosts` (ou équivalent) de l'hôte, et y ajouter l'IP de votre
|
||||
VM, par exemple (adapter l'IP !):
|
||||
|
||||
|
@ -81,19 +80,7 @@ VM, par exemple (adapter l'IP !):
|
|||
|
||||
### Partage de fichiers
|
||||
|
||||
Pour éditer votre code au chaud sur votre hôte, il y a plein de solutions.
|
||||
Pour éditer votre code au chaud sur votre hôte, il y a plein de solutions.
|
||||
La plus simple, déjà mentionnée, consiste à passer par une connexion SSH (VS
|
||||
Code propose un module dédié très simple et performant, mais tout montage de
|
||||
type `sshfs`peut aussi faire l'affaire).
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.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://git.scodoc.org)
|
||||
* [gitea](https://scodoc.org/git/)
|
||||
|
||||
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://git.scodoc.org), consulter/ajouter des tickets, proposer votre
|
||||
projet](https://scodoc.org/git), 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://git.scodoc.org/viennet/DocScoDoc).
|
||||
sont sur le [dépôt git DocScoDoc](https://scodoc.org/git/viennet/DocScoDoc).
|
||||
|
||||
## Contribuer au logiciel
|
||||
|
||||
Le [dépôt principal](https://git.scodoc.org/viennet/ScoDoc) comporte plusieurs
|
||||
Le [dépôt principal](https://scodoc.org/git/viennet/ScoDoc) comporte plusieurs
|
||||
branches. Voir le [guide pour les développeurs](GuideDeveloppeurs.md).
|
||||
|
||||
|
||||
|
|
|
@ -1,107 +0,0 @@
|
|||
# Absences et emplois du temps (développeurs)
|
||||
|
||||
Notes/idées pour les développeurs. WIP, en vrac.
|
||||
|
||||
## Calendriers et évènements
|
||||
|
||||
Un calendrier est ici une liste d'évènements, chaque cours étant un évènement. L'évènement
|
||||
comporte:
|
||||
|
||||
- dates début et fin;
|
||||
- identifiant du groupe d'étudiants concerné (dans la formation, par ex. groupe
|
||||
de TD);
|
||||
- identifiant du module (enseignement): par exemple, l'élément Apogée.
|
||||
- identifiant de l'enseignant concerné.
|
||||
|
||||
On suppose qu'on a un calendrier par "formation" (`FormSemestre` ScoDoc),
|
||||
identifié par un code (par exemple, code étape Apogée) que l'on appellera `edt_id`.
|
||||
|
||||
### Exemple: cas de l'USPN
|
||||
|
||||
Cet établissement utilise HyperPlanning. Les calendrier sont exportés
|
||||
régulièrement, on a un fichier ics par formation (code Apogée).
|
||||
|
||||
```ics
|
||||
BEGIN:VEVENT
|
||||
CATEGORIES:HYPERPLANNING
|
||||
DTSTAMP:20231101T140300Z
|
||||
LAST-MODIFIED:20230905T094241Z
|
||||
UID:Cours-423101-5-BUT2_RT_pa._CYBER-Index-Education
|
||||
DTSTART:20230920T060000Z
|
||||
DTEND:20230920T083000Z
|
||||
SUMMARY;LANGUAGE=fr:TP2 GPR1 - VCYR303 - Services reseaux ava (VCYR303) - 1234 - M. VIENNET EMMANUEL - V2ROM - BUT2 RT pa. ROM - Groupe 1
|
||||
LOCATION;LANGUAGE=fr:P202 CRIT - P202 CRIT.RESEAUX
|
||||
DESCRIPTION;LANGUAGE=fr:Matière : VCYR303 - Services reseaux ava (VCYR303)\nEnseignant : 1234 - M. VIENNET EMMANUEL\nPromotion : V2ROM - BUT2 RT pa. ROM\nTD : Groupe 1\nSalle : P202 CRIT - P202 CRIT.RESEAUX\nMémo : TP2 GPR1\n
|
||||
X-ALT-DESC;FMTTYPE=text/html:Matière : VCYR303 - Services reseaux ava (VCYR303)<br/>Enseignant : 1234 - M. VIENNET EMMANUEL<br/>Promotion : V2ROM - BUT2 RT pa. ROM<br/>TD : Groupe 1<br/>Salle : P202 CRIT - P202 CRIT.RESEAUX<br/>Mémo : TP2 GPR1<br/>
|
||||
END:VEVENT
|
||||
```
|
||||
|
||||
On a ici:
|
||||
|
||||
- identifiant de la formation: dans le nom du fichier calendrier (ici `V2CYB.ics`);
|
||||
- identifiant du groupe: dans `SUMMARY`, `* - <groupe>`
|
||||
- identifiant du module: on a le code `VCYR303` à trois endroits: `SUMMARY`,
|
||||
`DESCRIPTION`, `X-ALT-DESC`.
|
||||
- identifiant de l'enseignant: `SUMMARY`, `DESCRIPTION`, `X-ALT-DESC`.
|
||||
|
||||
## Transcodage des identifiants
|
||||
|
||||
ScoDoc n'utilise évidemment pas les mêmes identifiants que ceux trouvés dans les
|
||||
calendriers.
|
||||
|
||||
### "Formation"
|
||||
|
||||
Il s'agit du `FormSemestre`. On a déjà les codes étapes Apogée. On
|
||||
proposera un champs "identifiant emploi du temps" (`edt_id`), et à défaut on
|
||||
utilisera le premier code étape Apogée.
|
||||
|
||||
### Groupes
|
||||
|
||||
Chaque groupe ScoDoc peut indiquer son ou ses identifiants edt (`edt_id`). A défaut, on
|
||||
utilisera son nom (il sera donc conseillé aux utilisateurs d'adopter les mêmes
|
||||
noms de groupes dans ScoDoc et dans leur logiciel d'emploi du temps).
|
||||
|
||||
### Module
|
||||
|
||||
Ajouter `etd_id` dans `Module`, avec utilisation de `code_apogee` si absent.
|
||||
|
||||
### Enseignant
|
||||
|
||||
`edt_id` (dans l'exemple précédent `"1234"`), doit être renseigné dans ScoDoc. A
|
||||
l'USPN, on peut récupérer cette information dans le CAS (dans `supannEmpId` et
|
||||
`employeeNumber`).
|
||||
|
||||
Champ `edt_id` dans `User`. Affecté par l'authentification CAS, qui peut
|
||||
récupérer une information dans la réponse XML du serveur CAS, grâce à
|
||||
l'expression `cas_edt_id_from_xml_regexp` de la config générale. SuperAdmin peut
|
||||
aussi forcer manuellement l'`edt_id` des comptes utilisateurs.
|
||||
|
||||
## Architecture technique
|
||||
|
||||
### Principes généraux
|
||||
|
||||
- ScoDoc consomme la donnée "emploi du temps" mais n'a pas vocation à la
|
||||
republier (on ne proposera aucune API pour ce faire, les clients intéressés
|
||||
devant s'adresser à l'API (ou équivalent) du logiciel d'emplois du temps).
|
||||
|
||||
- ScoDoc est agnostique sur le logiciel d'emploi du temps et n'effectue aucune
|
||||
requête API vers celui-ci. Il se contente de consommer des calendriers (ics) copiés
|
||||
(par exemple chaque heure) dans un répertoire accessible au serveur ScoDoc.
|
||||
|
||||
- Chaque `FormSemestre` va chercher à s'associer à un (et un seul ?) calendrier.
|
||||
|
||||
## Fonctions proposées aux utilisateurs
|
||||
|
||||
L'objectif est de simplifier la saisie des absences: afficher l'emploi du temps
|
||||
par semaine, et permettre la saisie des absences d'un cours donné en ayant
|
||||
automatiquement pré-rempli le module, la date, l'heure de début et l'heure de
|
||||
fin.
|
||||
|
||||
En option, restreindre la saisie des absences par les enseignants aux seules
|
||||
plages/groupes qui les concernent.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- Emplois du temps: [doc utilisateur](EmploisDuTemps.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
# Conventions de codage pour ScoDoc
|
||||
|
||||
Le projet étant très ancien, le code est passé par différentes conventions et
|
||||
frameworks. Le style de python et celui du *frontend* web ont considérablement
|
||||
évolués ces dernières décennies.
|
||||
|
||||
Pour les nouveaux codes, respecter les principes suivants:
|
||||
|
||||
- ScoDoc est avant tout une application serveur écrite en Python, qui offre des
|
||||
services via une interface Web, une API, et accessoirement la ligne de
|
||||
commande unix.
|
||||
|
||||
- Les pages Web générées doivent l'être en Python côté serveur. On peut utiliser
|
||||
du JS pour les pages dynamiques complexes (eg éditeur de partition) mais
|
||||
éviter d'utiliser du JS pour générer des éléments statiques: l'abus de JS
|
||||
conduit à dupliquer du code (qui existe en général dans le serveur) et
|
||||
augmente les coûts de maintenance.
|
||||
|
||||
## Formatage du code
|
||||
|
||||
- l'usage de **[black](https://black.readthedocs.io/en/stable/)** est obligatoire
|
||||
- l'usage de pylint et mypy est fortement recommandé
|
||||
- Pour le code JS, indentation avec 2 espaces (sous VS Code, utiliser *Prettier*).
|
||||
|
||||
## Conventions standard Python
|
||||
|
||||
On se tient à la PEP8, c'est à dire en résumé:
|
||||
`UneClasse`, `une_fonction`, `_une_fonction_privee`, `une_variable`, `UNE_CONSTANTE_GLOBALE`.
|
||||
|
||||
Les noms de fichiers sont en minuscules sans accents ni espaces, `comme_ceci.py`.
|
||||
|
||||
## Annotations de type
|
||||
|
||||
On annote les paramètres et résultats des fonctions.
|
||||
|
||||
```py
|
||||
def _upload_justificatif_files(
|
||||
just: Justificatif, form: AjoutJustificatifEtudForm
|
||||
) -> bool:
|
||||
...
|
||||
```
|
||||
|
||||
## Vues et templates
|
||||
|
||||
Les vues utilisent un template *Jinja*, fichier avec extension j2.
|
||||
|
||||
On s'astreint, sauf cas particulier, à un nommage identique de la route, la vue et du template.
|
||||
|
||||
```py
|
||||
@bp.route("/un_exemple")
|
||||
def un_exemple(...):
|
||||
...
|
||||
return render_template(".../un_exemple.j2")
|
||||
```
|
||||
|
||||
## Accès à la base de donnée
|
||||
|
||||
Sauf exception (requêtes exotiques, problèmes de performance) à discuter, les
|
||||
accès à la base se font à travers l'ORM *SQLAlchemy*. Mes modèles sont définis
|
||||
dans `app/models`, sauf les comptes utilisateurs qui sont dans
|
||||
`/app/auth/models.py`.
|
||||
|
||||
Au moment de la définition de nouveaux modèles, éviter si possible les champs
|
||||
*nullables*, penser à créer là où ce sera utile des index.
|
||||
|
||||
## Tableaux
|
||||
|
||||
ScoDoc génère beaucoup de tableaux, sauf exception destinés à l'affichage Web et à l'export xlsx.
|
||||
|
||||
On utilise la super-classe `Table` de `app/tables/table_builder.py`.
|
||||
|
||||
Le rendu HTML utilise *DataTables*.
|
||||
|
||||
## Dates et heures
|
||||
|
||||
ScoDoc, contrairement à de nombreuses applications, est centré sur les
|
||||
*étudiants* et les enseignements, qui sont censés opérer dans le fuseau horaire
|
||||
du serveur. Cela signifie que, quelle que soit l'emplacement de l'utilisateur,
|
||||
les heures affichées et saisies par ScoDoc seront données dans le fuseau horaire
|
||||
du serveur.
|
||||
|
||||
L'API publie et reçoit des heures au format ISO avec fuseau horaire (*timezone*) et n'est pas
|
||||
concernée par cette remarque.
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Introduction au développement ScoDoc](DevInternals.md)
|
||||
- [Guide développeurs](GuideDeveloppeurs.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Modélisation du BUT](ModelisationParcoursBUT.md)
|
||||
- [Contacts](Contact.md)
|
|
@ -1,6 +1,6 @@
|
|||
# Utilisation de git pour ScoDoc
|
||||
|
||||
Le dépôt est <https://git.scodoc.org/viennet/ScoDoc>
|
||||
Le dépôt est <https://scodoc.org/git/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://git.scodoc.org/ScoDoc/ScoDoc.git
|
||||
git clone https://scodoc.org/git/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://git.scodoc.org/viennet/ScoDoc.git
|
||||
git remote add origin https://scodoc.org/git/viennet/ScoDoc.git
|
||||
git remote -v
|
||||
mon_origin https://xxx.xxx (fetch)
|
||||
mon_origin https://xxx.xxx (push)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (fetch)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (push)
|
||||
origin https://scodoc.org/git/viennet/ScoDoc.git (fetch)
|
||||
origin https://scodoc.org/git/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://git.scodoc.org/<user>/<dépôt>.git`) et
|
||||
le dépôt officiel (`https://git.scodoc.org/ScoDoc/ScoDoc.git`).
|
||||
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`).
|
||||
|
||||
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://git.scodoc.org/ScoDoc/<dépôt>.git
|
||||
git remote add nom_remote https://scodoc.org/git/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 [git.scodoc.org](https://git.scodoc.org/)
|
||||
#### Etape 5 : La dernière étape se passe sur le site [scodoc.org/git](https://scodoc.org/git/)
|
||||
|
||||
- Identifiez-vous
|
||||
|
||||
|
|
|
@ -2,20 +2,20 @@
|
|||
|
||||
## Composants logiciels
|
||||
|
||||
- le code est écrit en Python 3.11.
|
||||
- le code est écrit en Python 3.9 (passage à 3.10 prévu avec Debian 12).
|
||||
- le code doit être formatté par [black](https://pypi.org/project/black/) qui
|
||||
est normalement intégré à votre éditeur (VSCode et PyCharm sont deux choix
|
||||
judicieux).
|
||||
- outre Python, les principaux composants logiciels sont:
|
||||
- [Flask](https://flask-sqlalchemy.palletsprojects.com/en/2.x/): le
|
||||
framework Web, dont on utilise notamment:
|
||||
- l'ORM [SQLAlchemy](https://www.sqlalchemy.org/)
|
||||
- les templates [Jinja2](https://jinja.palletsprojects.com/en/3.0.x/)
|
||||
- [Postgresql](https://www.postgresql.org/)
|
||||
- [Redis](https://redis.io/) cache persistant
|
||||
- [NGINX](https://www.nginx.com/) serveur Web frontal
|
||||
- [gunicorn](https://gunicorn.org/) WSGI HTTP server
|
||||
- et bien sûr Linux (Debian 12 en 2023-2024) et systemd.
|
||||
- [Flask](https://flask-sqlalchemy.palletsprojects.com/en/2.x/): le
|
||||
framework Web, dont on utilise notamment:
|
||||
- l'ORM [SQLAlchemy](https://www.sqlalchemy.org/)
|
||||
- les templates [Jinja2](https://jinja.palletsprojects.com/en/3.0.x/)
|
||||
- [Postgresql](https://www.postgresql.org/)
|
||||
- [Redis](https://redis.io/) cache persistant
|
||||
- [NGINX](https://www.nginx.com/) serveur Web frontal
|
||||
- [gunicorn](https://gunicorn.org/) WSGI HTTP server
|
||||
- et bien sûr Linux (Debian 11 en 2021-2022) et systemd.
|
||||
|
||||
## Principaux objets
|
||||
|
||||
|
@ -29,9 +29,9 @@ Principales classes (les noms des classes Python sont en `CamelCase`).
|
|||
|
||||
- Étudiants (classe `Identite`): nom, codes INE/NIP, etc
|
||||
- Formations: programmes pédagogiques, contenant
|
||||
- Unités d'Enseignement (`UniteEns`);
|
||||
- Matières et Modules (`Module`, avec son type standard, bonus, ressources
|
||||
ou SAÉ).
|
||||
- Unités d'Enseignement (`UniteEns`);
|
||||
- Matières et Modules (`Module`, avec son type standard, bonus, ressources
|
||||
ou SAÉ).
|
||||
- FormSemestre: instanciation d'une session de formation, avec un programme
|
||||
pédagogique donné (Formation), les dates de début et fin, des étudiants
|
||||
inscrits, des responsables, divers codes, et les ModuleImpl mis en œuvre.
|
||||
|
@ -46,16 +46,16 @@ Principales classes (les noms des classes Python sont en `CamelCase`).
|
|||
Une vue ordinaire (Web) pourrait ressembler à cela. Noter la présence de
|
||||
décorateurs:
|
||||
|
||||
- `@scodoc` récupère le département (présent dans l'URL) et initialise quelques
|
||||
trucs, notamment `g.scodoc_dept` (l'acronyme du département courant) et
|
||||
`g.scodoc_dept_id` (l'id du dépt. courant).
|
||||
- `@permission_required`: permet de contrôler l'accès, en se basant sur les
|
||||
permissions définies dans la classe `Permission`.
|
||||
- `@scodoc` récupère le département (présent dans l'URL) et initialise quelques
|
||||
trucs, notamment `g.scodoc_dept` (l'acronyme du département courant) et
|
||||
`g.scodoc_dept_id` (l'id du dépt. courant).
|
||||
- `@permission_required`: permet de contrôler l'accès, en se basant sur les
|
||||
permissions définies dans la classe `Permission`.
|
||||
|
||||
```py
|
||||
```
|
||||
@bp.route("/un_exemple")
|
||||
@scodoc
|
||||
@permission_required(Permission.EditFormation)
|
||||
@permission_required(Permission.ScoChangeFormation)
|
||||
def un_exemple():
|
||||
# Récupérer le ou les arguments: exemple avec formation_id
|
||||
formation_id = int(request.args["formation_id"])
|
||||
|
@ -66,8 +66,8 @@ def un_exemple():
|
|||
# Effectuer au besoin un traitement
|
||||
resultat = ...
|
||||
# Afficher le résultat
|
||||
return render_template(
|
||||
"exemple_template.html",
|
||||
return render_template(
|
||||
"exemple_template.html",
|
||||
resultat=resultat, # par exemple
|
||||
formation=formation,
|
||||
... # etc
|
||||
|
@ -131,8 +131,8 @@ 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://git.scodoc.org/ScoDoc/ScoDoc/src/branch/master/app/api/formsemestres.py#L91>):
|
||||
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>):
|
||||
|
||||
```py
|
||||
@bp.route("/formsemestres/query")
|
||||
|
@ -177,7 +177,6 @@ lancer flask (plus rapide).
|
|||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [Guide développeurs](GuideDeveloppeurs.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Modélisation du BUT](ModelisationParcoursBUT.md)
|
||||
|
|
|
@ -2,63 +2,49 @@
|
|||
|
||||
## Description d'un étudiant
|
||||
|
||||
La désignation d'un étudiant (classiquement civilité-nom-prénom) peut prendre
|
||||
différentes formes en fonctions des circonstances et des souhaits de l'étudiant.
|
||||
La désignation d'un étudiant (classiquement civilité-nom-prenom) peut prendre différentes formes en fonctions des circonstances et des souhaits de l'étudiant.
|
||||
On distingue les éléments suivants:
|
||||
|
||||
* `nom`: (obligatoire): le nom de l'étudiant (en usage dans l'établissement).
|
||||
Généralement (mais pas toujours) le nom d'état-civil de l'étudiant.
|
||||
* `nom`: (obligatoire): le nom de l'étudiant (en usage dans l'établissement). Généralement (mais pas toujours) le nom d'état-civil de l'étudiant.
|
||||
* `prenom`: (obligatoire): le prénom de l'étudiant
|
||||
* `civilité`: (obligatoire): la civilité utilisée parmi les valeurs:
|
||||
* `MR` (ou aussi `H` ou `M`)
|
||||
* `MME` (ou aussi `F`)
|
||||
* `X` décrit plus loin
|
||||
* `nom_usuel`: si présent s'affiche à la place du `nom`.
|
||||
* `prenom_etat_civil`: Si présent, indique le prénom qui doit être utilisé dans
|
||||
les documents officiels (PV et bulletin).
|
||||
* `civilite_etat_civil` est associé au prénom d'état-civil (donc jamais utilisé
|
||||
si `prenom_etat_civil` n'est pas renseigné).
|
||||
* `prenom_etat_civil`: Si présent, indique le prénom qui doit être utilisé dans les documents officiels (PV et bulletin).
|
||||
* `civilite_etat_civil` est associé au prénom d'état-civil (donc jamais utilisé si `prenom_etat_civil` n'est pas renseigné.
|
||||
|
||||
## Personnalisations
|
||||
## Personalisations
|
||||
|
||||
L'étudiant peut:
|
||||
|
||||
* déclarer un nom d'usage qui remplacera le nom initial dans tous les documents
|
||||
(par exemple par l'adoption d'un nom marital pour remplacer le patronyme)
|
||||
Il faut dans ce cas remplir la donnée `nom_usuel` avec le nouveau nom souhaité.
|
||||
* Demander à ce que sa civilité (`M.` ou `Mme`) ne soit pas affichée. La valeur
|
||||
`X` doit être utilisée dans ce cas.
|
||||
* Demander la suppression de la civilité courante (`MR` ou `MME`). La valeur `X` peut être utlisée dans ce cas.
|
||||
* demander l'utilisation d'un prénom d'usage ([1] et [2]).
|
||||
|
||||
Ce prénom, qui ne demande pas d'acte officiel (hormis une demande formelle à
|
||||
l'université d'appartenance) remplace le prénom initial dans tous les
|
||||
documents internes sauf dans les documents officiels (procès-verbal et
|
||||
bulletin de notes). Ce changement peut être accompagné d'un changement de
|
||||
civilité. Il faut dans ce cas:
|
||||
* Reporter le prénom et la civilité initiaux dans les champs
|
||||
`prenom_etat_civil` et `civilite_etat_civil`
|
||||
* Remplacer les champs `civilite` et `prenom` avec les valeurs souhaitées par
|
||||
l'étudiant.
|
||||
Ce prénom, qui ne demande pas d'acte officiel (hormis une demande formelle à l'université d'appartenence) remplace le prénom initial dans tous les documents internes
|
||||
sauf dans les documents officiels (procès-verbal et bulletin de notes). Ce changement peut être accompagné d'un changement de civilité.
|
||||
Il faut dans ce cas:
|
||||
* Reporter le prénom et la civilité initiaux dans les champs `prenom_etat_civil` et `civilite_etat_civil`
|
||||
* Remplacer les champs `civilite` et `prenom` avec les valeurs souhaitées par l'étudiant.
|
||||
|
||||
## Dans le logiciel
|
||||
|
||||
Les données personnelles sont modifiables:
|
||||
|
||||
* Dans l'écran `Changer les données identité/admission` du menu `Étudiant` dans
|
||||
la fiche étudiant.
|
||||
* Par la procédure d'importation par tableur (`Import/export des données
|
||||
d'admission` du menu `INSCRIPTIONS`)
|
||||
* Dans l'écran `Changer les données identité/admission` du menu `Étudiant` dans la fiche étudiant.
|
||||
* Par la procédure d'importation par tableur (`Import/export des données d'admission` du menu `INSCRIPTIONS`)
|
||||
|
||||
Les civilités et prénom d'état-civil sont prises en compte:
|
||||
|
||||
* Automatiquement lors de la production du procès-verbal
|
||||
* Dans l'édition du bulletin au format pdf (pas sur la passerelle étudiant) à
|
||||
condition que les descriptions spécifiées dans le paramétrage du département
|
||||
et/ou les réglages bulletin des semestres concernés mentionne la balise
|
||||
`etat_civil` plutôt que la balise `nomprenom` (voir
|
||||
[Paramétrage des bulletins / Valeurs remplacées](https://scodoc.org/ParametrageBulletins/#valeurs-remplacees)).
|
||||
* Automatiquement lors de la production du procés-verbal
|
||||
* Dans l'édition du bulletin au format pdf (pas sur la passerelle étudiant) à condition que les descriptions spécifiées dans le paramètrage du département et/ou les réglages bulletin des semestres concernés mentionne
|
||||
la balise `etat_civil` plutôt que la balise `nomprenom` (cf. [Paramètrage des bulletins / Valeurs remùplacées](https://scodoc.org/ParametrageBulletins/#valeurs-remplacees)).
|
||||
|
||||
Les données personnalisées figurent toutes dans les données livrées par l'API.
|
||||
Les données personalisées figurent toutes dans les données livrées par l'API.
|
||||
|
||||
## Références
|
||||
|
||||
|
|
|
@ -1,198 +0,0 @@
|
|||
# Utilisation des emplois du temps
|
||||
|
||||
ScoDoc peut être interfacé avec un logiciel de gestion des emplois du temps (EDT).
|
||||
Le paramétrage peut-être assez complexe, mais une fois mis en place cela permet
|
||||
à ScoDoc d'afficher l'emploi du temps des étudiants d'un semestre et facilite
|
||||
grandement la saisie des absences.
|
||||
|
||||
## Principes généraux
|
||||
|
||||
Les emplois du temps sont gérés par un autre logiciel, comme:
|
||||
|
||||
- Hyperplanning
|
||||
- Celcat
|
||||
- GPU
|
||||
- VT [Visual Timetabling](http://visual.timetabling.free.fr)
|
||||
- ...
|
||||
|
||||
Ces logiciels peuvent exporter les calendriers au format ICS (iCalendar,
|
||||
[RFC 5545](https://datatracker.ietf.org/doc/html/rfc5545)).
|
||||
|
||||
ScoDoc va lire ces calendriers (fichiers ics). Il doit y avoir un fichier
|
||||
calendrier par semestre ScoDoc, contenant tous les évènements (cours, TD, TP...)
|
||||
du semestre.
|
||||
|
||||
### Fichiers calendrier ics
|
||||
|
||||
Un calendrier est ici une liste d'évènements, chaque cours étant un évènement.
|
||||
L'évènement comporte:
|
||||
|
||||
- dates début et fin;
|
||||
- identifiant du groupe d'étudiants concerné (dans la formation, par ex. groupe
|
||||
de TD);
|
||||
- identifiant du module (enseignement): par exemple, l'élément Apogée.
|
||||
- identifiant de l'enseignant concerné.
|
||||
|
||||
On suppose qu'on a un calendrier par "semestre" (`FormSemestre` ScoDoc),
|
||||
identifié par un code (par défaut, le premier code étape Apogée) que l'on
|
||||
appellera `edt_id`. Lors de la configuration, on indiquera à ScoDoc où sont
|
||||
placés ces fichiers.
|
||||
|
||||
|
||||
!!! note "Note: fuseau horaire"
|
||||
|
||||
Les calendriers sont exportés avec des dates comportant l'indication du fuseau
|
||||
horaire. ScoDoc affiche en principe toutes les heures en *heure locale du
|
||||
serveur*, c'est à dire à la montre des étudiants (et non dans l'heure locale de
|
||||
l'utilisateur qui peut être en déplacement dans un autre pays).
|
||||
|
||||
## Paramétrage global (administrateur)
|
||||
|
||||
Le super-administrateur a accès à la page de configuration via le lien
|
||||
"**Configuration du suivi de l'assiduité et accès aux emplois du temps**".
|
||||
|
||||
La première chose à faire est d'indiquer où sont placés les fichiers calendrier.
|
||||
L'emploi du temps étant variable, ces fichiers vont en général être exportés à
|
||||
intervalles réguliers (par exemple chaque heure) et écrits dans un répertoire
|
||||
donné du serveur ScoDoc. ScoDoc ne se charge pas de cette tâche:
|
||||
l'administrateur système doit mettre en place un mécanisme d'export et de
|
||||
recopie ou partage des calendriers.
|
||||
|
||||
Le chemin se configure ici:
|
||||
|
||||
![Configuration chemin vers le calendrier](screens/edt-config-chemin.png)
|
||||
|
||||
### Exemple d'évènement ics
|
||||
|
||||
Exemple venant d'un établissement utilisant HyperPlanning. Les calendrier sont exportés
|
||||
régulièrement, on a un fichier ics par formation (code Apogée).
|
||||
|
||||
```ics
|
||||
BEGIN:VEVENT
|
||||
CATEGORIES:HYPERPLANNING
|
||||
DTSTAMP:20231101T140300Z
|
||||
LAST-MODIFIED:20230905T094241Z
|
||||
UID:Cours-423101-5-BUT2_RT_pa._CYBER-Index-Education
|
||||
DTSTART:20230920T060000Z
|
||||
DTEND:20230920T083000Z
|
||||
SUMMARY;LANGUAGE=fr:TP2 GPR1 - VCYR303 - Services reseaux ava (VCYR303) - 1234 - M. VIENNET EMMANUEL - V2ROM - BUT2 RT pa. ROM - Groupe 1
|
||||
LOCATION;LANGUAGE=fr:P202 CRIT - P202 CRIT.RESEAUX
|
||||
DESCRIPTION;LANGUAGE=fr:Matière : VCYR303 - Services reseaux ava (VCYR303)\nEnseignant : 1234 - M. VIENNET EMMANUEL\nPromotion : V2ROM - BUT2 RT pa. ROM\nTD : Groupe 1\nSalle : P202 CRIT - P202 CRIT.RESEAUX\nMémo : TP2 GPR1\n
|
||||
X-ALT-DESC;FMTTYPE=text/html:Matière : VCYR303 - Services reseaux ava (VCYR303)<br/>Enseignant : 1234 - M. VIENNET EMMANUEL<br/>Promotion : V2ROM - BUT2 RT pa. ROM<br/>TD : Groupe 1<br/>Salle : P202 CRIT - P202 CRIT.RESEAUX<br/>Mémo : TP2 GPR1<br/>
|
||||
END:VEVENT
|
||||
```
|
||||
|
||||
On a ici:
|
||||
|
||||
- identifiant de la formation: dans le nom du fichier calendrier (ici `V2CYB.ics`);
|
||||
- identifiant du groupe: dans `SUMMARY`, `* - <groupe>`
|
||||
- identifiant du module: on a le code `VCYR303` à trois endroits: `SUMMARY`,
|
||||
`DESCRIPTION`, `X-ALT-DESC`.
|
||||
- identifiant de l'enseignant: ici `1234`, présent dans `SUMMARY`, `DESCRIPTION` et `X-ALT-DESC`.
|
||||
|
||||
## Extraction des identifiants: semestres, groupes, modules, enseignants
|
||||
|
||||
La page de configuration globale, accessible uniquement au super-admin, permet
|
||||
d'indiquer comment ScoDoc doit extraire les identifiants du calendrier:
|
||||
|
||||
![Configuration des expressions régulières d'extraction](screens/edt-config-regexps.png)
|
||||
|
||||
|
||||
## Configuration des identifiants EDT dans ScoDoc
|
||||
|
||||
On a vu plus haut comment ScoDoc extrayait les identifiants de groupes, modules
|
||||
et enseignants des évènements calendrier. Mais ces identifiants ne sont pas
|
||||
toujours les mêmes que ceux utilisés dans ScoDoc, par exemple parce que les deux
|
||||
logiciels n'ont pas été configurés par le même service ou à des moments
|
||||
différents. Ainsi, il arrive qu'un groupe soit nommé "TD A" dans l'emploi du
|
||||
temps et "TDA" dans ScoDoc.
|
||||
|
||||
Chaque objet ScoDoc a donc un champs spécial "identifiant EDT" (pour *emploi du
|
||||
temps) que l'on peut renseigner.
|
||||
|
||||
### Semestres
|
||||
|
||||
L'identifiant `edt_id` (utilisé pour trouver le fichier calendrier) du semestre
|
||||
devra être renseigné pour chaque semestre sur la page `Semestre/Modifier le
|
||||
semestre`. À défaut, ScoDoc utilisera le premier code étape Apogée.
|
||||
|
||||
![Configuration de l'edt_id](screens/edt-config-edt_id.png)
|
||||
|
||||
### Groupes d'étudiants
|
||||
|
||||
Les identifiants de groupe sont édités sur la page **Groupes / Modifier groupes
|
||||
et partitions**.
|
||||
|
||||
Pour faciliter la mise en correspondance, la page d'aide à la configuration de
|
||||
l'emploi du temps (lien accessible sous le calendrier) permet de lister les
|
||||
identifiants de groupes utilisés de part et d'autre.
|
||||
|
||||
Dans l'exemple ci-dessous, on voit que de nombreux évènements du calendrier ne sont
|
||||
pas associés à un groupe reconnu ("STAGE", "START CAMPUS", etc.). ScoDoc les
|
||||
attribuera automatiquement à l'ensemble de la promotion (groupe "tous").
|
||||
|
||||
On voit aussi que les groupes ne sont pas reconnus car ils ne sont pas nommés de
|
||||
la même façon dans l'emploi du temps (ici généré par HyperPlanning) et dans
|
||||
ScoDoc: ainsi, le "TD A" de l'emploi du temps est nommé "TDA" dans ScoDoc.
|
||||
Nous indiquons ci-dessous comment corriger cela.
|
||||
|
||||
![Exemple configuration groupes EDT](screens/edt-config-groupes-1.png)
|
||||
|
||||
Pour modifier les identifiants EDT de groupe, on peut renommer les groupes
|
||||
ScoDoc ou, si on souhaite conserver les noms, indiquer le nom de l'emploi du
|
||||
temps. Passer par la page **Groupes / Modifier groupes et partitions**:
|
||||
|
||||
![Modification des noms de groupes](screens/edt-edit-partitions-1.png)
|
||||
|
||||
et cliquer sur le "crayon" d'édition du groupe, par exemple pour indiquer que le
|
||||
"TDA" de ScoDoc est appelé "TD A" dans l'emploi du temps:
|
||||
|
||||
![Modification des noms de groupes](screens/edt-edit-partitions-2.png)
|
||||
|
||||
|
||||
### Modules
|
||||
|
||||
ScoDoc peut utiliser plusieurs codes, dans cet ordre:
|
||||
|
||||
1. identifiant EDT du module du semestre;
|
||||
2. code Apogée du module du semestre (renseigné si ce code est différent de
|
||||
celui indiqué dans la formation, ce qui est rare);
|
||||
3. code Apogée du module dans la formation.
|
||||
|
||||
Dans la plupart des cas, l'emploi du temps utilise le code Apogée et il n'y a
|
||||
aucune configuration à faire (si vous avez déjà renseigné les codes Apogée dans
|
||||
ScoDoc).
|
||||
|
||||
Pour éditer les identifiants et codes Apogée du semestre, passer par la page
|
||||
**Modifier les codes Apogée et emploi du temps des modules**, lien placé sur la
|
||||
page **Semestre / Modifier le semestre**:
|
||||
|
||||
![Configuration des codes modules](screens/edt-config-codes-modules.png)
|
||||
|
||||
### Enseignants
|
||||
|
||||
Les évènements de calendrier peuvent indiquer des enseignants (le chargé de
|
||||
cours, ...), ce qui permettra à ScoDoc de proposer à l'utilisateur les plages le
|
||||
concernant. L'identifiant est là aussi variable selon les logiciels et les
|
||||
établissements (il peut s'agir de l'adresse mail, d'un numéro, etc.).
|
||||
|
||||
L'utilisateur ScoDoc a un identifiant EDT, que l'on peut spécifier sur la page
|
||||
d'édition du compte (avec les droits super-admin):
|
||||
![Config compte utilisateur](screens/edt-config-user.png)
|
||||
|
||||
Cet identifiant peut aussi être extrait automatiquement des informations
|
||||
renvoyées par le CAS quand il est utilisé. Pour cela, indiquer l'expression
|
||||
d'extraction sur la page de configuration du service CAS.
|
||||
|
||||
![Configuration extraction uid](screens/edt-config-cas-userid.png)
|
||||
|
||||
## Problèmes fréquents (FAQ)
|
||||
|
||||
- Les évènements sont tous attribués à a promotion et non à leur groupe de TD
|
||||
(ou TP, etc): vérifier le paramétrage de l'extraction du groupe et la
|
||||
correspondance entre groupes emplois du temps et groupes ScoDoc.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- Emplois du temps: [doc développeurs](DevAbsencesCalendrier.md)
|
||||
- [Contacts](Contact.md)
|
|
@ -1,106 +0,0 @@
|
|||
# Les évaluations
|
||||
|
||||
On appelle dans ScoDoc "évaluation" toute action pédagogique produisant une
|
||||
note. Les notes sont des nombres positifs ou nuls (exceptés les "notes" de malus
|
||||
qui peuvent être négatives).
|
||||
|
||||
## Définition d'une évaluation
|
||||
|
||||
- **Description**: texte libre, qui sera affiché sur certains bulletins.
|
||||
- **Barème**: note maximale $M$. Les valeurs seront saisies dans l'intervalle $[0, M]$.
|
||||
Les notes affichées sont toujours ramenées sur 20.
|
||||
- **Date, heures de début et fin** de la réalisation de l'évaluation. Si les
|
||||
étudiants ne sont pas tous évalués en même temps (exemple: note de TP de
|
||||
différents groupes), on peut ne pas indiquer de date (la possibilité de
|
||||
définir plusieurs dates est à l'étude pour une version future).
|
||||
- **Visible sur bulletins**: indique si l'évaluation et la note de l'étudiant doit
|
||||
être affichée sur les bulletins au format dit "intermédiaire" (ni cours, ni
|
||||
long). C'est le format utilisé par la passerelle. La note reste prise en
|
||||
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. 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
|
||||
|
||||
Le coefficient est utilisé pour pondérer les notes de l'évaluation afin de
|
||||
calculer la moyenne au module.En BUT, les poids modulent l'importance de
|
||||
l'évaluation dans chaque UE. Voir la page [calcul des notes](CalculNotes.md).
|
||||
|
||||
## État d'une évaluation
|
||||
|
||||
Une évaluation dans laquelle tous les étudiants inscrits au module ont une note
|
||||
est dite *complète*. Elle est alors prise en compte dans le calcul des moyennes
|
||||
et publiée sur les bulletins (selon les formats et réglages).
|
||||
|
||||
Si toutes les notes ne sont pas saisies, l'évaluation est dite *incomplète*, et
|
||||
n'est pas prise en compte *sauf* si l'option "Prise en compte immédiate" est
|
||||
activée.
|
||||
|
||||
Si toutes les notes sont saisies, mais certaines sont "en attente" (`ATT`),
|
||||
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.
|
||||
- **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"
|
||||
|
||||
Les évaluations bonus sont particulières:
|
||||
|
||||
- la valeur est ajoutée à la moyenne du module;
|
||||
- le bonus peut être négatif (malus);
|
||||
- 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. 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"
|
||||
|
||||
- [Les principaux objets de ScoDoc](IntroObjetsScoDoc.md)
|
||||
- [Calcul des notes](CalculNotes.md)
|
||||
- [Les évaluations et le BUT](BUT.md#creer-une-evaluation)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.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 la plateforme gitea <https://git.scodoc.org>.
|
||||
développement est toujours actif, voir le dépôt git <https://scodoc.org/git>.
|
||||
|
||||
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
|
||||
|
@ -135,7 +135,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 ([GuideInstallDebian12](GuideInstallDebian12.md))
|
||||
Le script d'installation ([GuideInstallDebian11](GuideInstallDebian11.md))
|
||||
assure l'installation de tout les éléments nécessaires au bon fonctionnement de
|
||||
ScoDoc.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
# Gestion des jurys DUT
|
||||
# Gestion des jurys DUT
|
||||
La gestion des jury DUT s'est inspirée des travaux de J.F. Mazoin, de l'ADIUT (et en particulier du document présenté le 30 mai 2006).
|
||||
Nous utiliserons les codes suivant pour représenter les décisions de jury:
|
||||
|
||||
|
@ -10,7 +10,7 @@ Nous utiliserons les codes suivant pour représenter les décisions de jury:
|
|||
|
||||
Code |
|
||||
-----|-----
|
||||
ADM | semestre validé automatiquement
|
||||
ADM | semestre validé automatiquement
|
||||
ADC | semestre validé par compensation avec un autre
|
||||
ADJ | semestre validé par le jury
|
||||
ATT | pas la moyenne, barres UE ok: décision en attente du semestre suivant
|
||||
|
@ -38,9 +38,9 @@ Nous utiliserons les codes suivant pour représenter les décisions de jury:
|
|||
|
||||
- assiduité satisfaisante.
|
||||
|
||||
(Chaque semestre ne pouvant n'en compenser qu'un seul autre, nous sommes conscients que cette règle
|
||||
conduit à désavantager certains étudiants qui compensent, alors que le jury décide de valider le
|
||||
semestre à des étudiants plus faibles qui ne peuvent pas compenser et conserve donc cette possibilité
|
||||
(Chaque semestre ne pouvant n'en compenser qu'un seul autre, nous sommes conscients que cette règle
|
||||
conduit à désavantager certains étudiants qui compensent, alors que le jury décide de valider le
|
||||
semestre à des étudiants plus faibles qui ne peuvent pas compenser et conserve donc cette possibilité
|
||||
pour la suite de leur parcours...).
|
||||
|
||||
* **Codes d'état d'UE:**
|
||||
|
@ -51,17 +51,17 @@ ADM | UE validée automatiquement (moyenne UE >= 10) |
|
|||
CMP | UE validée (moyenne UE < 10, mais semestre validé) |
|
||||
AJ | UE ajournée (échec) |
|
||||
|
||||
Notons que le jury n'intervient pas sur les décisions d'UE: elles sont toujours prises
|
||||
*automatiquement* en fonction des notes (et enregistrées par ScoDoc lorsqu'on entre une
|
||||
Notons que le jury n'intervient pas sur les décisions d'UE: elles sont toujours prises
|
||||
*automatiquement* en fonction des notes (et enregistrées par ScoDoc lorsqu'on entre une
|
||||
décision de semestre).
|
||||
|
||||
* **Codes devenir:** (*internes à ScoDoc, donnés ici pour information*)
|
||||
|
||||
Code |
|
||||
-----|-----
|
||||
NEXT | passe au semestre suivant dans le cursus
|
||||
REO | réorienté (dans une autre filière, “exclus”)
|
||||
REDOANNEE | redouble annee (eg passe de S2 à S1)
|
||||
NEXT | passe au semestre suivant dans le cursus
|
||||
REO | réorienté (dans une autre filière, “exclus”)
|
||||
REDOANNEE | redouble annee (eg passe de S2 à S1)
|
||||
REDOSEM | redouble semestre (eg passe de S1 à S1 "décalé")
|
||||
|
||||
|
||||
|
@ -81,23 +81,23 @@ Le jury conduit à prendre les décisions suivantes:
|
|||
- décider du devenir de l'étudiant (passage, redoublement, réorientation) (“Devenir”).
|
||||
|
||||
|
||||
## Compensation des semestres
|
||||
|
||||
## Compensation des semestres
|
||||
Voir la page [CompensationSemestre](CompensationSemestre.md)
|
||||
|
||||
## Capitalisation des UEs
|
||||
|
||||
Voir la [note sur la capitalisation des UE](CapitalisationUE.md)
|
||||
## Capitalisation des UE
|
||||
Voir la [ note sur la capitalisation des UE](CapitalisationUE)
|
||||
|
||||
## Gestion des cas particuliers
|
||||
|
||||
## Gestion des cas particuliers
|
||||
Parcours du type: S1 (ADM), S2 (AJ), S3 (AJ), S3D (ATT), S2D
|
||||
|
||||
Il faut tenir le jury de S2D, puis revenir sur le jury de S3D qui va, si S2D est
|
||||
validé, recevoir le code ADM et autoriser le passage en S4.
|
||||
Il faut tenir le jury de S2D, puis revenir sur le jury de S3D qui va, si S2D est validé, recevoir le code ADM et autoriser le passage en S4.
|
||||
|
||||
## Document de préparation du jury
|
||||
|
||||
|
||||
|
||||
## Document de préparation du jury
|
||||
Il s'agit d'une simple feuille Excel récapitulant les informations
|
||||
essentielles pour tenir un jury:
|
||||
identité, parcours, moyennes et décisions des 2 derniers semestres.
|
||||
|
@ -107,19 +107,19 @@ des cas rares (étudiants ayant effectué le début de leur scolarité ailleurs,
|
|||
etc).
|
||||
|
||||
|
||||
## Procès verbaux de jury
|
||||
### PV de jury: récapitulatif complet des décisions de jury
|
||||
## Procès verbaux de jury
|
||||
### PV de jury: récapitulatif complet des décisions de jury
|
||||
Document signé par le directeur de l'IUT récapitullant l'ensemble des décisions
|
||||
pour un semestre de formation.
|
||||
|
||||
Il s'agit d'un document PDF en format paysage, à imprimer sur
|
||||
papier ordinaire A4.
|
||||
|
||||
Les logos (IUT en haut, université en pied de page) sont
|
||||
Les logos (IUT en haut, université en pied de page) sont
|
||||
paramétrables par l'utilisateur: voir [configuration des logos](GestionLogos.md).
|
||||
|
||||
|
||||
### Lettres d'avis individuelles
|
||||
### Lettres d'avis individuelles
|
||||
Courriers (papier) adressés aux étudiants pour les informer
|
||||
des décisions du jury.
|
||||
|
||||
|
@ -134,4 +134,4 @@ préalable celle d'Apogée).
|
|||
|
||||
On peut spécifier une image de la signature du responsable de formation pour
|
||||
lui éviter de fastidieuses séances de paraphage.
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Guide pour les administrateurs système de ScoDoc
|
||||
|
||||
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**.
|
||||
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**.
|
||||
Utilisez un **serveur virtuel** ou un container Docker si vous n'avez pas de machine Debian dédiée.
|
||||
|
||||
## Installation
|
||||
|
||||
* Installation de ScoDoc: [GuideInstallDebian12](GuideInstallDebian12.md)
|
||||
* Installation de ScoDoc: [GuideInstallDebian11](GuideInstallDebian11.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
|
||||
[GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans
|
||||
[GuideInstallDebian11](GuideInstallDebian11.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
|
||||
|
@ -353,7 +353,7 @@ département, qui à son tour peut déléguer des droits.
|
|||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Guide installation](GuideInstallDebian11.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://git.scodoc.org).
|
||||
Accès à la [plate-forme Gitea](https://scodoc.org/git).
|
||||
|
||||
## Informations générales
|
||||
|
||||
|
@ -86,7 +86,7 @@ Au besoin, mémo:
|
|||
|
||||
- afficher les clés: `redis-cli KEYS '*'`
|
||||
|
||||
- `redis-cli TTL key` affiche le TTL d'une clé, -1 si infini.
|
||||
- `redis-cli TTL key` affiche le TTL d'un clé, -1 si infini.
|
||||
|
||||
- `redis-cli -r -1 -i 3 KEYS '*_NT_*'` surveille certaines clés (ici _NT_),
|
||||
affiche toutes les 3 secondes.
|
||||
|
@ -112,7 +112,7 @@ bibliothèques, ou autres expériences de ce genre, vous pouvez le récréer ain
|
|||
Puis soit vous installez les versions "officielles" (testées)
|
||||
|
||||
```bash
|
||||
pip install -r requirements-3.9.txt
|
||||
pip install -r requirements-3.9.txt
|
||||
```
|
||||
|
||||
Soit vous prenez les versions les plus à jour disponibles. Une façon rapide de
|
||||
|
@ -130,30 +130,17 @@ Pour régénérer le fichier indiquant la liste des paquets:
|
|||
pip freeze > requirements-3.11.txt
|
||||
```
|
||||
|
||||
Enfin, pour mettre à jour les paquets pip, il faut dégeler les versions (unpin)
|
||||
puis upgrader et re-générer le fichier, comme suit:
|
||||
|
||||
```bash
|
||||
cp requirements-3.11.txt requirements.text
|
||||
sed -i 's/[~=]=/>=/' requirements.txt
|
||||
pip install -U -r requirements.txt
|
||||
pip freeze > requirements-new.txt
|
||||
# et si tout va bien
|
||||
mv requirements-new.txt requirements-3.11.txt
|
||||
```
|
||||
|
||||
Note: la mise à jour par `apt` recrée le virtualenv à chaque fois.
|
||||
|
||||
## Roadmap
|
||||
|
||||
* [voir les tickets](https://git.scodoc.org/viennet/ScoDoc/issues)
|
||||
* [voir les tickets](https://scodoc.org/git/viennet/ScoDoc/issues)
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
|
||||
# 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).
|
||||
|
@ -107,7 +102,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
|
||||
|
@ -122,8 +117,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 :
|
||||
|
@ -157,7 +152,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 :
|
||||
|
@ -255,7 +250,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/)).
|
||||
|
||||
|
@ -274,7 +269,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
|
||||
|
@ -313,7 +308,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...
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Configuration manuelle de ScoDoc sur Debian 11 (Bullseye)
|
||||
# Configuration manuelle de ScoDoc sur Debian 11 (Bullseye)
|
||||
|
||||
Instructions pour utilisateurs ne souhaitant pas utiliser le script
|
||||
|
||||
|
@ -8,7 +8,7 @@ Toutes les opérations décrites sur cette page sont effectuées par ce script.
|
|||
Cette page est donc destinée aux curieux et futurs développeurs. Se référer au
|
||||
script lui même pour les détails.
|
||||
|
||||
## Activation du firewall
|
||||
## Activation du firewall
|
||||
|
||||
(optionnel, recommandé)
|
||||
|
||||
|
|
|
@ -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 (Bookworm, stable) s'exécutant sur une
|
||||
[Debian](http://www.debian.org) 12 (Bullseye, 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,8 +1,5 @@
|
|||
# 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.
|
||||
|
@ -16,9 +13,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)
|
||||
|
@ -33,7 +30,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)
|
||||
|
||||
|
|
|
@ -1,153 +0,0 @@
|
|||
# Les principaux objets de ScoDoc
|
||||
|
||||
Nous introduisons ici les principaux objets manipulés par ScoDoc.
|
||||
|
||||
## Départements
|
||||
|
||||
Un serveur ScoDoc peut gérer un nombre quelconque de départements. Les
|
||||
départements sont entièrement séparés, à l'exception des comptes utilisateurs
|
||||
(un secrétaire ou une enseignante peuvent intervenir dans plusieurs
|
||||
départements). Les étudiants et les formations sont rattachés à un et un seul
|
||||
département.
|
||||
|
||||
Lorsqu'un utilisateur se connecte, il voit en bleu les liens vers les
|
||||
départements dans lesquels il a le droit d'aller.
|
||||
|
||||
![sco-accueil-0223.png](screens/sco-accueil-0223.png)
|
||||
|
||||
## Semestre
|
||||
|
||||
Un *semestre* représente une session d'un dispositif de formation. La plupart des
|
||||
formations LMD sont structurées en années scolaires de deux semestres. Dans
|
||||
ScoDoc, un "semestre" peut avoir une durée quelconque, il peut aussi bien s'agir
|
||||
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)
|
||||
|
||||
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*.
|
||||
|
||||
Un semestre a un ensemble d'étudiants inscrits.
|
||||
|
||||
Le tableau de bord du semestre indique notamment la liste des modules qui y sont
|
||||
proposés:
|
||||
![sco-formsemestre-status.png](screens/sco-formsemestre-status.png)
|
||||
|
||||
|
||||
## Formations (programmes pédagogiques)
|
||||
|
||||
Un semestre utilise une *formation* (programme pédagogique) qui définit les
|
||||
unités d'enseignement (UE), modules, coefficients, crédits académiques, etc.
|
||||
Pour en savoir plus, voir [programmes pédagogiques et versions](Formations.md).
|
||||
|
||||
Exemple: une formation de *Bachelor Universitaire de Technologie* (BUT):
|
||||
![sco-formation-but.png](screens/sco-formation-but.png)
|
||||
|
||||
## Modules
|
||||
|
||||
Un *module* représente un dispositif pédagogique, typiquement un ensemble de
|
||||
cours, travaux dirigés, travaux pratiques, mais il peut aussi s'agir d'un
|
||||
projet, d'un stage, ou de tout ensemble d'activités.
|
||||
|
||||
Un module a un enseignant responsable (typiquement le chargé de cours) et des
|
||||
des enseignants associés (typiquement les chargés de TD).
|
||||
|
||||
Un sous-ensemble des étudiants inscrits au semestre peut être inscrit au module.
|
||||
|
||||
En BUT, les modules représentent les *ressources* et les SAÉs.
|
||||
|
||||
Le tableau de bord d'un module permet d'y inscrire les étudiants, modifier les
|
||||
enseignants, créer des évaluations et y saisir des notes.
|
||||
Exemple: une ressource de BUT
|
||||
![sco-modimpl-status.png](screens/sco-modimpl-status.png)
|
||||
|
||||
## Évaluations
|
||||
|
||||
Une *évaluation* est un dispositif pédagogique produisant une note par étudiant.
|
||||
Les notes sont numériques, mais dans les formations en approche par compétences
|
||||
(APC), les évaluations peuvent être associées à des *apprentissages critiques*.
|
||||
|
||||
Pour en savoir plus:
|
||||
|
||||
- [Les évaluations](Evaluation.md)
|
||||
- [Calcul des notes](CalculNotes.md)
|
||||
- [Bachelor Universitaire de Technologie (BUT)](BUT.md)
|
||||
|
||||
Exemple: modification d'une évaluation
|
||||
![sco-evaluation-edit.png](screens/sco-evaluation-edit.png)
|
||||
|
||||
## Étudiants
|
||||
|
||||
Un étudiant peut être créé individuellement par formulaire, ou bien importé via
|
||||
une feuille de calcul (par exemple Excel), ou, via un connecteur API, importé
|
||||
depuis un autre système (Apogée, Pégase, annuaire...).
|
||||
|
||||
Les étudiants sont rattachés à un et un seul département (en cas de transfert,
|
||||
le créer dans l'autre département). Chaque étudiant peut être inscrit à un
|
||||
nombre quelconque de semestres (en général, à un instant $t$, l'étudiant a un
|
||||
seul semestre en cours, mais il arrive que les semestres suivis se chevauchent).
|
||||
|
||||
La fiche de l'étudiant rassemble de nombreuses informations: données d'état
|
||||
civil, coordonnées, photographie, semestres suivis et leurs résultats résumés,
|
||||
annotations, etc. Ces informations peuvent être modifiées dans ScoDoc. Les accès
|
||||
et les droits de modification sont contrôlés par des autorisations spécifiques,
|
||||
tous les utilisateurs n'ont pas accès aux mêmes vues.
|
||||
|
||||
Exemple: extrait de la fiche d'un étudiant
|
||||
![sco-fiche-etud.png](screens/sco-fiche-etud.png)
|
||||
|
||||
## Groupes et partitions
|
||||
|
||||
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,
|
||||
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
|
||||
déplacer des étudiants.
|
||||
|
||||
Exemple: l'éditeur de partitions
|
||||
![sco-partition-edit.png](screens/sco-partition-edit.png)
|
||||
|
||||
|
||||
|
||||
## Utilisateurs
|
||||
|
||||
ScoDoc gère des comptes utilisateur, et associe à chacun des rôles spécifiques,
|
||||
eux-mêmes associés à des permissions (droits d'accès). ce système permet de
|
||||
hiérarchiser l'accès aux informations et opérations sensibles (modification de
|
||||
résultats, inscriptions, éditions de procès-verbaux, etc.).
|
||||
|
||||
- [Rôles et permissions dans ScoDoc](ConfigPermissionsDept.md)
|
||||
- [Gestion des utilisateurs dans ScoDoc](AdminUsers.md)
|
||||
|
||||
### Administrateur de département
|
||||
|
||||
L'administrateur d'un département (typiquement le responsable de formation ou
|
||||
chef de département, ou bien une personne de confiance) possède des droits
|
||||
étendus sur son département (rassemblés dans le rôle `AdminDept`). Il peut
|
||||
notamment modifier les formations, mettre en place des semestres, créer des
|
||||
comptes utilisateurs.
|
||||
|
||||
### Super-administrateur
|
||||
|
||||
Le super-administrateur est un utilisateur ayant des droits d'accès complet au
|
||||
logiciel. Ce compte ne doit pas être utilisé pour autre chose que le paramétrage
|
||||
global. Il est le seul à avoir accès aux pages de configuration, accessibles via
|
||||
la page d'accueil:
|
||||
|
||||
![sco-config-generale.png](screens/sco-config-generale.png)
|
||||
|
||||
## Assiduité et justificatifs
|
||||
|
||||
Voir [Suivi de l'assiduité](Assiduites.md).
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide utilisateur](GuideUtilisateur.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
|
@ -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
|
||||
|
||||
### Installation de Debian et ScoDoc
|
||||
## Marche à suivre détaillée
|
||||
### Installation de Debian et ScoDoc
|
||||
Voir les instructions ici: [GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
|
||||
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
|
||||
|
||||
|
@ -12,7 +12,7 @@ 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;
|
||||
|
||||
|
||||
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 12 et ScoDoc 9.
|
||||
Installer le nouveau serveur avec Debian 11 et ScoDoc 9.
|
||||
|
||||
Voir [GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
Voir [GuideInstallDebian11](GuideInstallDebian11.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,25 +140,24 @@ 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](GuideInstallDebian12.md#2-installation-de-scodoc-sur-debian).
|
||||
Voir [la section 2 du guide d'installation](GuideInstallDebian11.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`:
|
||||
|
||||
|
@ -187,3 +186,5 @@ 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,18 +1,15 @@
|
|||
# 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").
|
||||
## 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").
|
||||
|
||||
*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.
|
||||
|
@ -32,7 +29,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
|
||||
|
@ -48,9 +45,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
|
||||
|
@ -74,8 +71,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)
|
||||
|
||||
|
@ -87,21 +84,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
|
||||
|
@ -112,31 +109,32 @@ 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_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_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)
|
||||
|
@ -148,10 +146,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
|
||||
|
||||
|
@ -162,7 +160,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, ...)
|
||||
|
||||
|
@ -170,13 +168,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
|
||||
|
@ -185,7 +183,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
|
||||
|
|
|
@ -4,7 +4,7 @@ Voir les <a href="https://www.youtube.com/playlist?list=PLw49h6RbvswhasBk9bXj7Pz
|
|||
|
||||
## Page d'accueil
|
||||
|
||||
![accueil](screens/sco-accueil-dept.png)
|
||||
![accueil](screens/accueil-scodoc7.png)
|
||||
|
||||
On y trouve les éléments suivants:
|
||||
|
||||
|
@ -13,7 +13,7 @@ droite) et contient des liens facilitant la navigation sur le site (certains
|
|||
sont paramétrables à l'installation). On note l'accès à trois composants
|
||||
importants: Entreprises (fichier d'entreprises), Notes (gestion des notes),
|
||||
Absences (relevé des absences), et un champ de texte permettant de rechercher un
|
||||
étudiant par son nom.
|
||||
étudiant par son nom.
|
||||
|
||||
L'identité de l'utilisateur défini ses droits d'accès (rôle) et les fonctions
|
||||
qu'il peut utiliser.
|
||||
|
@ -22,7 +22,7 @@ Le centre de la page donne les formations (sessions) en cours, groupées par
|
|||
type. A côté du titre de chaque formation, on a le nom de son responsable (ou
|
||||
directeur des études dans le jargon IUT), ainsi que les dates de début et de fin
|
||||
de la session.
|
||||
|
||||
|
||||
## Fiche étudiant
|
||||
|
||||
Pour accéder à la fiche d'un étudiant, on peut soit le rechercher par nom (voir
|
||||
|
@ -35,8 +35,8 @@ informations sur l'étudiant. ![fiche étudiant](screens/ficheEtud-scodoc7.png)
|
|||
ScoDoc permet d'enregistrer les absences des étudiants puis de les visualiser
|
||||
sur un calendrier. On peut aussi obtenir des comptes d'absences, générer des
|
||||
alarmes par e-mail pour prévenir un responsable, vérifier les absences qui
|
||||
coïncident avec un examen, enregistre les justificatifs, etc. ![calendrier des
|
||||
absences](screens/sco-assi-cal.png)
|
||||
coincident avec un examen, enregistre les justificatifs, etc. ![calendrier des
|
||||
absences](screens/calabs-scodoc7.png)
|
||||
|
||||
## Gestion des notes
|
||||
|
||||
|
@ -47,11 +47,10 @@ web, vérifications, etc.).
|
|||
|
||||
### Tableau de bord du semestre, avec les modules
|
||||
|
||||
![tableau de bord du semestre](screens/sco-formsemestre-status.png)
|
||||
![tableau de bord du semestre](screens/tableaubord2011.png)
|
||||
|
||||
### Tableau récapitulatif des moyennes
|
||||
|
||||
![tableau de bord du semestre](screens/sco-table-recap-but.png)
|
||||
![tableau de bord du semestre](screens/NotesRecap2012-crop.png)
|
||||
|
||||
### Bulletins de notes
|
||||
|
||||
|
@ -75,9 +74,8 @@ respectent les règles.
|
|||
## Gestion des groupes
|
||||
|
||||
ScoDoc permet de définir des partitions et groupes en nombre quelconque, et d'y
|
||||
répartir facilement les étudiants:
|
||||
|
||||
![sco-partition-edit.png](screens/sco-partition-edit.png)
|
||||
répartir facilement les étudiants (glisser/déposer, fonctions de répartition
|
||||
automatiques). ![affectation aux groupes](screens/GroupesDnD.png)
|
||||
|
||||
## Trombinoscopes
|
||||
|
||||
|
@ -91,12 +89,5 @@ répartir facilement les étudiants:
|
|||
Les données conservées dans le logiciel peuvent être exportées dans une grande
|
||||
variété de formats (pages web, PDF, Excel, XML...) ce qui facilite tant son
|
||||
usage par des non informaticiens que son intégration dans d'autres logiciels
|
||||
(portails d'établissements, systèmes d'informations comme Apogée).
|
||||
(portails d'établissements, systèmes d'informations comme Apogée).
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Les principaux objets de ScoDoc](IntroObjetsScoDoc.md)
|
||||
- [Guide utilisateur](GuideUtilisateur.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
|
|
@ -86,8 +86,7 @@ comptes utilisateurs.
|
|||
# en tant que root...
|
||||
systemctl stop scodoc9 # arret du serveur
|
||||
su - scodoc
|
||||
cd /opt/scodoc
|
||||
dropdb SCODOC # <<< votre base production
|
||||
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
|
||||
|
@ -112,7 +111,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
|
||||
|
|
|
@ -59,10 +59,10 @@ Par ailleurs, chaque semestre est associé à une étape Apogée (VET), et, en
|
|||
option, à un code d'élément annuel et un code d'élément semestre. Pour le
|
||||
deuxième semestre 5S2) du DUT R&T Villetaneuse, cela donne:
|
||||
|
||||
- Code étape (VET): `V1RT` (l'étape est annuelle)
|
||||
- Code année (ELP): `VRT1A` (cet élément contiendra exactement les mêmes
|
||||
* Code étape (VET): `V1RT` (l'étape est annuelle)
|
||||
* Code année (ELP): `VRT1A` (cet élément contiendra exactement les mêmes
|
||||
informations que le VET)
|
||||
- Code semestre (ELP): `VRTW2` (la note de ces élément sera la moyenne générale
|
||||
* Code semestre (ELP): `VRTW2` (la note de ces élément sera la moyenne générale
|
||||
du semestre)
|
||||
|
||||
Notez que la nomenclature est variable et souvent peu prévisible, même au sein
|
||||
|
@ -97,36 +97,20 @@ Apogée.
|
|||
|
||||
### Précautions à prendre et remarques diverses
|
||||
|
||||
- **Codage des fichiers**: Apogée (du moins à l'Université Paris 13) exporte et
|
||||
* Codage des fichiers: Apogée (du moins à l'Université Paris 13) exporte et
|
||||
importe des fichiers maquettes codés en latin-1 (ISO-8859-1). Les web
|
||||
services (portail Apogée), tout comme ScoDoc, travaillent en utf8. Pour
|
||||
faciliter les échanges, les fichiers maquettes importés et exportés de ScoDoc
|
||||
sont en latin-1 (sauf celui reçu du portail Apogée).
|
||||
|
||||
- **Format des nombres** (notes): les notes sont calculées par ScoDoc en haute
|
||||
précision, mais affichées avec deux chiffres après la virgule dans
|
||||
l'application (ce qui donne 4 chiffres significatifs, par exemple *12,34*,
|
||||
soit une précision de un pour dix mille, ce qui semble plus que suffisant
|
||||
compte tenu de l'incertitude inhérente au processus de correction des
|
||||
évaluations par des enseignants humains).
|
||||
Les exports excel et API conservent la précision maximale.
|
||||
Les exports Apogée passant par des fichiers texte, une perte de précision est
|
||||
inévitable. Le format par défaut est là aussi deux chiffres après la virgule,
|
||||
mais peut-être modifié via la configuration globale de ScoDoc, accessible à
|
||||
l'administrateur uniquement. Voir *Configuration / Export Apogée /
|
||||
Configuration des codes de décision*, tout en bas de la page.
|
||||
|
||||
![Config. précision exports Apogée](screens/apo-precision.png)
|
||||
|
||||
- **Étudiants démissionnaires**: on note les démissions dans ScoDoc (sur la fiche
|
||||
* Etudiants démissionnaires: on note les démissions dans ScoDoc (sur la fiche
|
||||
de l'étudiant), mais en général pas dans Apogée. Le résultat Apogée sera DEF.
|
||||
Ne jamais désinscrire du semestre ScoDoc les démissionnaires !
|
||||
|
||||
- Exports à **mi-année** (après jurys de janvier): Si `periode==1` (jury de janvier),
|
||||
* Exports à mi-année (après jurys de janvier): Si periode==1 (jury de janvier),
|
||||
alors l'étape Apogée (annuelle) n'est pas terminée.
|
||||
Donc on ne remplit pas le code annuel (`elt_annee_apo`, comme `VRT1A`) ni le
|
||||
`VET` sauf si l'année est en fait validée grâce à un semestre de l'an
|
||||
précédent: (voir r1525)
|
||||
|
||||
- jury de fin de S1: si le S2 est validé;
|
||||
- jury de fin de S3: si le S4 est validé.
|
||||
* jury de fin de S1: si le S2 est validé;
|
||||
* jury de fin de S3: si le S4 est validé.
|
||||
|
|
|
@ -42,7 +42,7 @@ première erreur, et `--pdb` lance directement le debugger sur l'erreur.
|
|||
Ainsi,
|
||||
|
||||
```bash
|
||||
pytest --pdb -x tests/api/test_api_departements.py
|
||||
pytest --pdb -x tests/api/test_api_departements.py
|
||||
```
|
||||
|
||||
lancera un test en mode "interactif", utile pour les mises au point.
|
||||
|
@ -78,7 +78,7 @@ même hôte, donc `http://localhost:8678`.
|
|||
Lancement:
|
||||
|
||||
```bash
|
||||
/opt/scodoc/tools/fakeportal/fakeportal.py
|
||||
/opt/scodoc/tools/fakeportal/fakeportal.py
|
||||
```
|
||||
|
||||
## Tests de l'API ScoDoc9
|
||||
|
@ -121,8 +121,6 @@ l'initialiser et la peupler de données fictives pour les tests.
|
|||
flask run --host 0.0.0.0 --debug
|
||||
```
|
||||
|
||||
Le script `tests/api/start_api_server.sh -p 5555` fait tout cela pour vous !
|
||||
|
||||
### Configuration du client de test API
|
||||
|
||||
1. Copier le fichier `scodoc/tests/api/dotenv_exemple` dans
|
||||
|
|
|
@ -1,60 +1,55 @@
|
|||
# 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 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.
|
||||
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.
|
||||
|
||||
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, 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)
|
||||
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)
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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 !
|
||||
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.
|
||||
|
||||
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*.
|
||||
5. Réunir la commission (ou le jury):
|
||||
|
||||
6. Réunir la commission (ou le jury):
|
||||
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*.
|
||||
|
||||
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*.
|
||||
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*).
|
||||
|
||||
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*).
|
||||
6. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
|
||||
7. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
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).
|
||||
|
||||
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.
|
||||
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 ce stade, le semestre est terminé. Il est recommandé de le **verrouiller**
|
||||
après les prises de décisions définitives.
|
||||
|
@ -64,11 +59,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 **
|
||||
|
@ -79,14 +74,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.
|
||||
|
@ -119,10 +114,10 @@ C'est prêt. Les enseignants autorisés peuvent créer des évaluations et saisi
|
|||
|
||||
## Problèmes couramment rencontrés
|
||||
|
||||
- **Etudiants en double**: ceci arrive lorsqu'on crée manuellement les
|
||||
- **Etudiants en doubles**: 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 que les étudiants restent uniques.
|
||||
procédure ci-dessus garanti normalement 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.
|
||||
|
@ -143,6 +138,5 @@ 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)
|
|
@ -42,13 +42,9 @@ apt-get full-upgrade
|
|||
|
||||
Si vous savez le faire, éditer le fichier `/etc/apt/sources.list` (par exemple
|
||||
avec la commande `nano /etc/apt/sources.list`) et remplacer le mot `bullseye`par
|
||||
`bookworm`. Vous pouvez aussi utiliser `sed`
|
||||
`bookworm`.
|
||||
|
||||
```bash
|
||||
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
|
||||
```
|
||||
|
||||
Bien vérifier le résultat. Sinon, il peut être plus simple de reprendre ce contenu:
|
||||
Sinon, il peut être plus simple de reprendre ce contenu:
|
||||
|
||||
```txt
|
||||
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
|
||||
|
@ -97,27 +93,14 @@ shutdown -r now
|
|||
Après reconnexion, vous avez un serveur Debian 12. Reste à s'occuper de la base
|
||||
de données et de ScoDoc. D'abord, s'assurer que le service n'a pas redémarré:
|
||||
|
||||
```bash
|
||||
systemctl status scodoc9
|
||||
```
|
||||
|
||||
et si besoin le stopper avec :
|
||||
|
||||
```bash
|
||||
systemctl stop scodoc9
|
||||
```
|
||||
|
||||
## Problème avec proxmox
|
||||
## En cas de problème avec proxmox
|
||||
|
||||
Si votre installation utilise des containers LXC/proxmox: on nous a signalé un
|
||||
problème de compatibilité proxmox / Debian 12, qui bloque le service REDIS
|
||||
(voire empêche le démarrage du container). Il semblerait que proxmox 7 ne soit
|
||||
pas compatible avec Debian 12. Faites des essais avant de migrer ScoDoc.
|
||||
|
||||
Au cas où ce lien peut servir: [Debian 12 et
|
||||
proxmox](https://www.abyssproject.net/2023/07/retex-sur-mes-upgrades-vers-debian-12-et-proxmox-ve-8)
|
||||
|
||||
Merci de vos retours si vous avez des informations sur ce problème.
|
||||
Pour l'instant on ne nous a pas signalé de problèmes, mais au cas où ce lien
|
||||
peut servir: [Debian 12 et proxmox](https://www.abyssproject.net/2023/07/retex-sur-mes-upgrades-vers-debian-12-et-proxmox-ve-8)
|
||||
|
||||
## Upgrade Postgresql
|
||||
|
||||
|
@ -130,26 +113,17 @@ Procédure inspirée de
|
|||
Toujours dans un shell root, copier/coller les commandes suivantes:
|
||||
|
||||
```bash
|
||||
# Arrêter et mettre à jour
|
||||
service postgresql stop
|
||||
pg_dropcluster --stop 15 main
|
||||
pg_upgradecluster -m upgrade 13 main
|
||||
systemctl start postgresql
|
||||
# Vérifier l'etat du service
|
||||
systemctl status postgresql
|
||||
```
|
||||
|
||||
Puis
|
||||
|
||||
```bash
|
||||
/bin/su -c "/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages" postgres
|
||||
su -c "/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages" postgres
|
||||
|
||||
pg_dropcluster 13 main --stop
|
||||
apt-get autoremove --purge postgresql-13 postgresql-client-13
|
||||
```
|
||||
|
||||
Soyez attentif et vérifier que les commandes précédentes se sont exécutées sans erreur.
|
||||
|
||||
## Passage de ScoDoc 9.5 (ou 9.4) à 9.6
|
||||
|
||||
### Modification des sources de paquets Debian
|
||||
|
@ -160,23 +134,15 @@ Soyez attentif et vérifier que les commandes précédentes se sont exécutées
|
|||
/bin/rm -f /etc/apt/sources.list.d/scodoc*
|
||||
```
|
||||
|
||||
- Ajouter le dépot scodoc: copier le fichier <a href="/attachments/scodoc.list"
|
||||
download>scodoc.list</a> dans `/etc/apt/sources.list.d/` à l'aide de la
|
||||
commande
|
||||
|
||||
```bash
|
||||
wget --directory-prefix=/etc/apt/sources.list.d/ https://scodoc.org/attachments/scodoc.list
|
||||
```
|
||||
|
||||
ou si vous préférez l'éditer pour qu'il contienne juste cette ligne:
|
||||
- Ajouter le dépot scodoc: copier ce fichier <a href="/attachments/scodoc.list"
|
||||
download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
|
||||
ou bien l'éditer pour qu'il contienne juste cette ligne:
|
||||
|
||||
```text
|
||||
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
|
||||
deb http://scodoc.org/deb/bookworm bookworm main
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Installation de la clé
|
||||
|
||||
L'ancienne clé crypto qui authentifie scodoc est toujours valide, mais il faut
|
||||
|
@ -203,7 +169,7 @@ les commandes suivantes:
|
|||
|
||||
```bash
|
||||
systemctl stop scodoc9 # le service DOIT etre stoppé !
|
||||
/bin/su scodoc
|
||||
su scodoc
|
||||
#
|
||||
cd /opt/scodoc
|
||||
source venv/bin/activate
|
||||
|
|
Before Width: | Height: | Size: 417 KiB After Width: | Height: | Size: 427 KiB |
Before Width: | Height: | Size: 646 KiB |
Before Width: | Height: | Size: 548 KiB |
|
@ -1,5 +1,6 @@
|
|||
# ScoDoc: un logiciel libre pour le suivi de la scolarité
|
||||
|
||||
|
||||
ScoDoc est un logiciel libre créé par Emmanuel Viennet pour suivre la scolarité
|
||||
des étudiants universitaires. Il est principalement utilisé dans les IUT, mais
|
||||
aussi apprécié par plusieurs Écoles et Masters en France et à l'étranger. Il
|
||||
|
@ -19,8 +20,8 @@ ScoDoc est un *logiciel libre*: vous pouvez [participer à son développement](C
|
|||
|
||||
ScoDoc s'utilise sur un navigateur web standard: les utilisateurs n'ont rien à
|
||||
installer. Les établissements ou écoles doivent configurer un serveur: voir le
|
||||
[guide d'installation sur Debian 12](GuideInstallDebian12.md). La version ScoDoc
|
||||
9.6 est parue en juillet 2023. Les mises à jour (sécurité, améliorations) sont
|
||||
[guide d'installation sur Debian 11](GuideInstallDebian11.md). La version ScoDoc
|
||||
9 est parue le 19 septembre 2021, la version 9.3 en juillet 2022. Les mises à jour sont
|
||||
appliquées très fréquemment.
|
||||
|
||||
ScoDoc est utilisé dans de nombreux établissements français et étrangers, **dont
|
||||
|
@ -34,11 +35,11 @@ retourner à `Emmanuel.Viennet at gmail.com`.
|
|||
## Présentation générale
|
||||
|
||||
- [Présentation générale du logiciel avec copies d'écran](PresentationGenerale.md)
|
||||
- [Les principaux objets de ScoDoc](IntroObjetsScoDoc.md)
|
||||
|
||||
- Quelques <a href="https://www.youtube.com/playlist?list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1" target="_blank">vidéos d'introduction sur YouTube <img src="/img/tube.png" alt="" style="margin-top:0px; margin-bottom:0px; border-width:0px;"/></a>
|
||||
|
||||
- très ancienne présentation au colloque du [CRI-IUT](https://www.criiut.fr/) en 2013: [diapos en pdf](papers/presScoDocCRIIUT2013.pdf)
|
||||
- Un *très* très ancien [article sur ScoDoc](papers/scodoc-reunion2007.pdf)
|
||||
- Un très très ancien [article sur ScoDoc](papers/scodoc-reunion2007.pdf)
|
||||
|
||||
## Communauté d'utilisateurs
|
||||
|
||||
|
@ -48,34 +49,11 @@ retourner à `Emmanuel.Viennet at gmail.com`.
|
|||
|
||||
## Actualités
|
||||
|
||||
### Mars 2024
|
||||
### ScoDoc 9.4.x
|
||||
|
||||
La série **9.6.x** continue son développement, avec une gestion de l'assiduité
|
||||
toujours plus facile à utiliser, un nouveau module de génération des résultats
|
||||
pour les poursuites d'études, et de nombreuses améliorations.
|
||||
|
||||
### Septembre 2023: parution de ScoDoc 9.6.x pour Debian 12
|
||||
|
||||
**9.6.x** est la version en production de ScoDoc. Y sont régulièrement intégrées
|
||||
des améliorations et de nouvelles fonctionnalités. Elle inclue notamment le
|
||||
nouveau système de gestion des absences ("assiduités"), beaucoup plus riche que
|
||||
l'ancien.
|
||||
|
||||
**Il est conseillé de migrer au plus vite**: voir [la procédure de mise à
|
||||
jour](UpgradeToDeb12Sco96.md). Cette mise à jour n'est pas automatique car il
|
||||
faut passer le système d'exploitation de Debian 11 à Debian 12.
|
||||
|
||||
### Série 9.5.x
|
||||
|
||||
Version figée (Debian 11 seulement), seule de rares correctifs seront appliqués,
|
||||
ainsi que les éventuels correctifs de sécurité. **Fin de vie: 30 octobre 2023**.
|
||||
|
||||
### Série 9.4.x
|
||||
|
||||
Série en développement en 2022-2023, travaux centrés sur la gestion du *Bachelor
|
||||
Universitaire de technologie* (BUT) mais aussi sur la modernisation du logiciel
|
||||
et sa meilleure intégration dans les systèmes d'informations universitaires
|
||||
(API, CAS).
|
||||
Série en développement, centrés sur la gestion du *Bachelor Universitaire de
|
||||
technologie* (BUT) mais aussi sur la modernisation du logiciel et sa meilleure
|
||||
intégration dans les systèmes d'informations universitaires (API, CAS).
|
||||
|
||||
### Parution de ScoDoc 9 en 2021-2022
|
||||
|
||||
|
@ -86,13 +64,14 @@ gestion du *[Bachelor Universitaire de Technologie (BUT)](BUT.md)*.
|
|||
|
||||
### Contrats d'apprentissage
|
||||
|
||||
Depuis 2021, de nombreux étudiants ont été recrutés par l'association (BUT R&T
|
||||
Lannion, LP IUT Orléans, LP IUT Villetaneuse, BUT Informatique Lannion):
|
||||
|
||||
- développement d'une nouvelle API pour ScoDoc 9 (mise en service en juillet 2022);
|
||||
- développement d'un nouveau module de gestion des relations entreprises:
|
||||
Depuis 2021, plusieurs étudiants ont été recrutés (BUT R&T Lannion, LP IUT
|
||||
Orléans, LP IUT Villetaneuse):
|
||||
|
||||
- développement d'une nouvelle API pour ScoDoc 9 (mise en service en juillet 2022);
|
||||
- développement d'un nouveau module de gestion des relations entreprises:
|
||||
fichier, contacts, stages, alternance (publiée en août 2022);
|
||||
- refonte du module de gestion des absences (en cours en 2022-2023, puis 2023-2024).
|
||||
- refonte du module de gestion des absences (en cours en 2022-2023).
|
||||
|
||||
|
||||
### Stagiaires
|
||||
|
||||
|
@ -129,18 +108,9 @@ entente.
|
|||
|
||||
### Feuille de route (roadmap)
|
||||
|
||||
9.6 évolue pour intégrer prochainement:
|
||||
|
||||
- de nouveaux bulletins spécifiques au BUT
|
||||
- le respect complet du RGPD
|
||||
|
||||
En parallèle, nous travaillons sur l'intégration avec les systèmes de gestion
|
||||
d'emplois du temps des universités, notamment pour faciliter le suivi de
|
||||
l'assiduité (lien emplois du temps / module ScoDoc).
|
||||
|
||||
Les anciennes versions de ScoDoc :
|
||||
|
||||
- ScoDoc 9.5 : printemps 2023 (*fin de vie octobre 2023*)
|
||||
Les prochaines versions de ScoDoc :
|
||||
|
||||
- ScoDoc 9.5 : printemps 2023
|
||||
|
||||
- Nouveau système de suivi de l'assiduité (absences, présences)
|
||||
|
||||
|
@ -174,11 +144,11 @@ Les anciennes versions de ScoDoc :
|
|||
- ScoDoc 9.0 : publiée le 19 sept. 2021, version complètement remaniée en
|
||||
Python 3/Flask.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
|
||||
- [Guide utilisateur](GuideUtilisateur.md)
|
||||
- <a href="https://www.youtube.com/playlist?list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1" target="_blank">Tutoriels sur YouTube <img src="/img/tube.png" alt="" style="margin-top:0px; margin-bottom:0px; border-width:0px;"/></a>
|
||||
- [Contacts](Contact.md).
|
||||
|
|
|
@ -1,22 +1,18 @@
|
|||
### assiduite
|
||||
|
||||
#### GET /assiduite/1
|
||||
|
||||
```json
|
||||
{
|
||||
"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
|
||||
"assiduite_id": 1,
|
||||
"date_debut": "2022-09-25T08:00:00+0200",
|
||||
"date_fin": "2022-09-25T08:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 8,
|
||||
"user_id": null
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,38 +1,21 @@
|
|||
### assiduite_create
|
||||
|
||||
#### POST /assiduite/1/create
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "absent"}]`
|
||||
>
|
||||
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "absent"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "Duplication: la p\u00e9riode rentre en conflit avec une plage enregistr\u00e9e"
|
||||
}
|
||||
],
|
||||
"success": []
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"assiduite_id": 60
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/create
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "absent"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"assiduite_id": 49
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
### assiduite_delete
|
||||
|
||||
#### POST /assiduite/delete
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `[2,2,3]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [
|
||||
{
|
||||
"indice": 1,
|
||||
"message": "Assiduite non existante"
|
||||
}
|
||||
],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "OK"
|
||||
},
|
||||
{
|
||||
"indice": 2,
|
||||
"message": "OK"
|
||||
}
|
||||
]
|
||||
"errors": [
|
||||
{
|
||||
"indice": 1,
|
||||
"message": "Assiduite non existante"
|
||||
}
|
||||
],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "OK"
|
||||
},
|
||||
{
|
||||
"indice": 2,
|
||||
"message": "OK"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,35 +1,37 @@
|
|||
### assiduite_edit
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"etat": "retard","moduleimpl_id":3}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `{"moduleimpl_id":2}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `{"etat": "retard","moduleimpl_id":3}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"etat":"absent"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
### assiduite_justificatifs
|
||||
|
||||
#### GET /assiduite/1/justificatifs
|
||||
```json
|
||||
[
|
||||
1,
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduite/1/justificatifs/long
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
|
@ -1,79 +1,71 @@
|
|||
### assiduites
|
||||
|
||||
#### GET /assiduites/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"assiduite_id": 1,
|
||||
"date_debut": "2022-09-25T08:00:00+0200",
|
||||
"date_fin": "2022-09-25T08:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 8,
|
||||
"user_id": null
|
||||
},
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"date_debut": "2022-09-26T08:00:00+0200",
|
||||
"date_fin": "2022-09-26T09:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "RETARD",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 13,
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/query?etat=retard
|
||||
|
||||
```json
|
||||
[
|
||||
"..."
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"date_debut": "2022-09-26T08:00:00+0200",
|
||||
"date_fin": "2022-09-26T09:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "RETARD",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 13,
|
||||
"user_id": null
|
||||
},
|
||||
{
|
||||
"assiduite_id": 3,
|
||||
"date_debut": "2022-09-27T08:00:00+0200",
|
||||
"date_fin": "2022-09-27T10:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "RETARD",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 14,
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/query?moduleimpl_id=1
|
||||
```json
|
||||
[
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/query?with_justifs=
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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,
|
||||
"justificatifs": [
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
}
|
||||
],
|
||||
"moduleimpl_id": 12,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
["..."]
|
||||
```
|
||||
|
||||
|
|
|
@ -1,84 +1,32 @@
|
|||
### assiduites_count
|
||||
|
||||
#### GET /assiduites/1/count
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 1,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 1
|
||||
"compte": 4,
|
||||
"demi": 3,
|
||||
"heure": 6.0,
|
||||
"journee": 4
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/count/query?etat=present,retard&metric=compte,heure
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 1,
|
||||
"heure": 0.0
|
||||
"compte": 4,
|
||||
"heure": 6.0
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/count/query?etat=retard
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
"compte": 3,
|
||||
"demi": 3,
|
||||
"heure": 6.0,
|
||||
"journee": 3
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/count/query?split
|
||||
```json
|
||||
{
|
||||
"absent": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0,
|
||||
"justifie": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
},
|
||||
"non_justifie": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
}
|
||||
},
|
||||
"present": {
|
||||
"compte": 1,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 1
|
||||
},
|
||||
"retard": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0,
|
||||
"justifie": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
},
|
||||
"non_justifie": {
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
}
|
||||
},
|
||||
"total": {
|
||||
"compte": 1,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
### assiduites_create
|
||||
|
||||
#### POST /assiduites/create
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"etudid":-1,"date_debut": "2023-10-26T08:00","date_fin": "2023-10-26T10:00","etat": "absent"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "Cet \u00e9tudiant n'existe pas."
|
||||
}
|
||||
],
|
||||
"success": []
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduites/create
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"etudid":1,"date_debut": "2023-10-26T08:00","date_fin": "2023-10-26T10:00","etat": "absent"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"assiduite_id": 50
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
|
@ -1,119 +1,73 @@
|
|||
### assiduites_formsemestre
|
||||
|
||||
#### GET /assiduites/formsemestre/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"code_nip": "NIP2",
|
||||
"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": "RETARD",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 4,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"assiduite_id": 1,
|
||||
"date_debut": "2022-09-25T08:00:00+0200",
|
||||
"date_fin": "2022-09-25T08:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 8,
|
||||
"user_id": null
|
||||
},
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"date_debut": "2022-09-26T08:00:00+0200",
|
||||
"date_fin": "2022-09-26T09:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "RETARD",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 13,
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/query?etat=retard
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"code_nip": "NIP2",
|
||||
"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": "RETARD",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 4,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"assiduite_id": 7,
|
||||
"code_nip": "NIP4",
|
||||
"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": "RETARD",
|
||||
"etudid": 4,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 6,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"date_debut": "2022-09-26T08:00:00+0200",
|
||||
"date_fin": "2022-09-26T09:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "RETARD",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 13,
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/query?moduleimpl_id=1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"assiduite_id": 27,
|
||||
"code_nip": "NIP10",
|
||||
"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": 10,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 1,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"assiduite_id": 43,
|
||||
"code_nip": "NIP14",
|
||||
"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": "RETARD",
|
||||
"etudid": 14,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 1,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"assiduite_id": 3,
|
||||
"date_debut": "2022-09-27T08:00:00+0200",
|
||||
"date_fin": "2022-09-27T08:00:00+0200",
|
||||
"desc": null,
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"est_just": false,
|
||||
"etat": "PRESENT",
|
||||
"etudid": 1,
|
||||
"moduleimpl_id": 1,
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
|
|
|
@ -1,30 +1,32 @@
|
|||
### assiduites_formsemestre_count
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 48,
|
||||
"demi": 14,
|
||||
"heure": 65.0,
|
||||
"journee": 18
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 0
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count/query?etat=present,retard&metric=compte,heure
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 29,
|
||||
"heure": 35.0
|
||||
"compte": 0,
|
||||
"heure": 0.0
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count/query?etat=retard
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 14,
|
||||
"demi": 8,
|
||||
"heure": 19.0,
|
||||
"journee": 11
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
### assiduites_group
|
||||
|
||||
#### GET /assiduites/group/query?etudids=1,2,3
|
||||
```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
|
||||
}
|
||||
],
|
||||
"2": [
|
||||
{
|
||||
"assiduite_id": 2,
|
||||
"code_nip": "NIP2",
|
||||
"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": "RETARD",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 4,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
}
|
||||
],
|
||||
"3": [
|
||||
{
|
||||
"assiduite_id": 3,
|
||||
"code_nip": "3",
|
||||
"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": 3,
|
||||
"external_data": null,
|
||||
"moduleimpl_id": 18,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
|
@ -47,15 +47,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
@ -129,15 +120,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
@ -211,15 +193,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
|
|
@ -48,15 +48,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
@ -133,15 +124,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
@ -218,15 +200,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T18:40:04.114300+01:00",
|
||||
"id": 5,
|
||||
"comment": "Ceci est une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 11
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
|
|
@ -87,22 +87,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"date": "2024-02-10T12:16:04.336100+01:00",
|
||||
"id": 2,
|
||||
"comment": "Une deuxième annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 1
|
||||
},
|
||||
{
|
||||
"date": "2024-02-10T12:14:34.243300+01:00",
|
||||
"id": 1,
|
||||
"comment": "Une annotation.",
|
||||
"author": "admin",
|
||||
"etudid": 1
|
||||
}
|
||||
],
|
||||
"boursier": null,
|
||||
"civilite": "X",
|
||||
"civilite_etat_civil": "X",
|
||||
|
@ -172,7 +156,6 @@
|
|||
"villedomicile": null
|
||||
}
|
||||
],
|
||||
"annotation": [],
|
||||
"boursier": null,
|
||||
"civilite": "F",
|
||||
"civilite_etat_civil": "X",
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
### evaluation
|
||||
|
||||
#### GET /evaluation/1
|
||||
```json
|
||||
{
|
||||
"coefficient": 1.0,
|
||||
"date_debut": "",
|
||||
"date_fin": "",
|
||||
"description": "Evaluation-R101",
|
||||
"evaluation_type": 0,
|
||||
"id": 1,
|
||||
"moduleimpl_id": 1,
|
||||
"note_max": 20.0,
|
||||
"numero": 0,
|
||||
"poids": {},
|
||||
"publish_incomplete": true,
|
||||
"visibulletin": true
|
||||
}
|
||||
```
|
|
@ -1,70 +1,33 @@
|
|||
### formsemestre-decisions_jury
|
||||
|
||||
#### GET /formsemestre/1/decisions_jury
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"etudid": 1,
|
||||
"code_nip": null,
|
||||
"code_ine": null,
|
||||
"is_apc": true,
|
||||
"etat": "I",
|
||||
"nb_competences": 2,
|
||||
"rcues": [
|
||||
{
|
||||
"ue_1": {
|
||||
"ue_id": 1,
|
||||
"moy": 7.0,
|
||||
"code": "AJ"
|
||||
},
|
||||
"ue_2": {
|
||||
"ue_id": 4,
|
||||
"moy": 12.0,
|
||||
"code": "ADM"
|
||||
},
|
||||
"moy": 9.5,
|
||||
"code": "CMP"
|
||||
},
|
||||
{
|
||||
"ue_1": {
|
||||
"ue_id": 2,
|
||||
"moy": 9.0,
|
||||
"code": "CMP"
|
||||
},
|
||||
"ue_2": {
|
||||
"ue_id": 5,
|
||||
"moy": 12.0,
|
||||
"code": "ADM"
|
||||
},
|
||||
"moy": 10.5,
|
||||
"code": "CMP"
|
||||
}
|
||||
],
|
||||
"ues": [
|
||||
{
|
||||
"ue_id": 1,
|
||||
"code": "AJ",
|
||||
"ects": 0.0
|
||||
},
|
||||
{
|
||||
"ue_id": 2,
|
||||
"code": "CMP",
|
||||
"ects": 15.0
|
||||
}
|
||||
],
|
||||
"semestre": {},
|
||||
"autorisations": [
|
||||
{
|
||||
"id": 1,
|
||||
{
|
||||
"autorisations": [],
|
||||
"code_ine": "INE1",
|
||||
"code_nip": "1",
|
||||
"etat": "I",
|
||||
"etudid": 1,
|
||||
"origin_formsemestre_id": 1,
|
||||
"formation_code": "FCOD1",
|
||||
"semestre_id": 2,
|
||||
"date": "2023-11-29T19:57:00.251327+01:00"
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
"is_apc": true,
|
||||
"nb_competences": 3,
|
||||
"rcues": [],
|
||||
"semestre": {},
|
||||
"ues": []
|
||||
},
|
||||
{
|
||||
"autorisations": [],
|
||||
"code_ine": "2",
|
||||
"code_nip": "NIP2",
|
||||
"etat": "I",
|
||||
"etudid": 2,
|
||||
"is_apc": true,
|
||||
"nb_competences": 3,
|
||||
"rcues": [],
|
||||
"semestre": {},
|
||||
"ues": []
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
### formsemestre-etat_evals
|
||||
|
||||
#### GET /formsemestre/1/etat_evals
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
|
@ -35,11 +34,109 @@
|
|||
"datetime_fin": null,
|
||||
"datetime_mediane": null
|
||||
},
|
||||
"visibulletin": true
|
||||
"visi_bulletin": true
|
||||
}
|
||||
],
|
||||
"formsemestre_id": 1,
|
||||
"id": 1,
|
||||
"module": {
|
||||
"abbrev": "Init aux r\u00e9seaux informatiques",
|
||||
"app_critiques": {},
|
||||
"code": "R101",
|
||||
"code_apogee": "",
|
||||
"coefficient": 1.0,
|
||||
"ects": null,
|
||||
"formation_id": 1,
|
||||
"heures_cours": 0.0,
|
||||
"heures_td": 0.0,
|
||||
"heures_tp": 0.0,
|
||||
"id": 1,
|
||||
"matiere_id": 1,
|
||||
"module_id": 1,
|
||||
"module_type": 2,
|
||||
"numero": 10,
|
||||
"parcours": [],
|
||||
"semestre_id": 1,
|
||||
"titre": "Initiation aux r\u00e9seaux informatiques",
|
||||
"ue_coefs": [
|
||||
{
|
||||
"coef": 12.0,
|
||||
"module_id": 1,
|
||||
"ue": {
|
||||
"acronyme": "RT1.1",
|
||||
"code_apogee": "",
|
||||
"coef_rcue": 1.0,
|
||||
"coefficient": 0.0,
|
||||
"color": "#B80004",
|
||||
"ects": 12.0,
|
||||
"formation_id": 1,
|
||||
"id": 1,
|
||||
"is_external": false,
|
||||
"niveau_competence_id": null,
|
||||
"numero": 1,
|
||||
"parcour": null,
|
||||
"parcour_id": null,
|
||||
"semestre_idx": 1,
|
||||
"titre": "Administrer les r\u00e9seaux et l\u2019Internet",
|
||||
"type": 0,
|
||||
"ue_code": "UCOD11",
|
||||
"ue_id": 1
|
||||
},
|
||||
"ue_id": 1
|
||||
},
|
||||
{
|
||||
"coef": 4.0,
|
||||
"module_id": 1,
|
||||
"ue": {
|
||||
"acronyme": "RT2.1",
|
||||
"code_apogee": "",
|
||||
"coef_rcue": 1.0,
|
||||
"coefficient": 0.0,
|
||||
"color": "#F97B3D",
|
||||
"ects": 8.0,
|
||||
"formation_id": 1,
|
||||
"id": 2,
|
||||
"is_external": false,
|
||||
"niveau_competence_id": null,
|
||||
"numero": 2,
|
||||
"parcour": null,
|
||||
"parcour_id": null,
|
||||
"semestre_idx": 1,
|
||||
"titre": "Connecter les entreprises et les usagers",
|
||||
"type": 0,
|
||||
"ue_code": "UCOD12",
|
||||
"ue_id": 2
|
||||
},
|
||||
"ue_id": 2
|
||||
},
|
||||
{
|
||||
"coef": 4.0,
|
||||
"module_id": 1,
|
||||
"ue": {
|
||||
"acronyme": "RT3.1",
|
||||
"code_apogee": "",
|
||||
"coef_rcue": 1.0,
|
||||
"coefficient": 0.0,
|
||||
"color": "#FEB40B",
|
||||
"ects": 10.0,
|
||||
"formation_id": 1,
|
||||
"id": 3,
|
||||
"is_external": false,
|
||||
"niveau_competence_id": null,
|
||||
"numero": 3,
|
||||
"parcour": null,
|
||||
"parcour_id": null,
|
||||
"semestre_idx": 1,
|
||||
"titre": "Cre\u0301er des outils et applications informatiques pour les R&T",
|
||||
"type": 0,
|
||||
"ue_code": "UCOD13",
|
||||
"ue_id": 3
|
||||
},
|
||||
"ue_id": 3
|
||||
}
|
||||
],
|
||||
"ue_id": 1
|
||||
},
|
||||
"module_id": 1,
|
||||
"moduleimpl_id": 1,
|
||||
"responsable_id": 2
|
||||
|
@ -75,11 +172,59 @@
|
|||
"datetime_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"datetime_mediane": "2022-08-20T12:00:00.000000+02:00"
|
||||
},
|
||||
"visibulletin": true
|
||||
"visi_bulletin": true
|
||||
}
|
||||
],
|
||||
"formsemestre_id": 1,
|
||||
"id": 3,
|
||||
"module": {
|
||||
"abbrev": null,
|
||||
"app_critiques": {},
|
||||
"code": "R102",
|
||||
"code_apogee": "",
|
||||
"coefficient": 1.0,
|
||||
"ects": null,
|
||||
"formation_id": 1,
|
||||
"heures_cours": 0.0,
|
||||
"heures_td": 0.0,
|
||||
"heures_tp": 0.0,
|
||||
"id": 3,
|
||||
"matiere_id": 1,
|
||||
"module_id": 3,
|
||||
"module_type": 2,
|
||||
"numero": 20,
|
||||
"parcours": [],
|
||||
"semestre_id": 1,
|
||||
"titre": "Principe et architecture des r\u00e9seaux",
|
||||
"ue_coefs": [
|
||||
{
|
||||
"coef": 12.0,
|
||||
"module_id": 3,
|
||||
"ue": {
|
||||
"acronyme": "RT1.1",
|
||||
"code_apogee": "",
|
||||
"coef_rcue": 1.0,
|
||||
"coefficient": 0.0,
|
||||
"color": "#B80004",
|
||||
"ects": 12.0,
|
||||
"formation_id": 1,
|
||||
"id": 1,
|
||||
"is_external": false,
|
||||
"niveau_competence_id": null,
|
||||
"numero": 1,
|
||||
"parcour": null,
|
||||
"parcour_id": null,
|
||||
"semestre_idx": 1,
|
||||
"titre": "Administrer les r\u00e9seaux et l\u2019Internet",
|
||||
"type": 0,
|
||||
"ue_code": "UCOD11",
|
||||
"ue_id": 1
|
||||
},
|
||||
"ue_id": 1
|
||||
}
|
||||
],
|
||||
"ue_id": 1
|
||||
},
|
||||
"module_id": 3,
|
||||
"moduleimpl_id": 3,
|
||||
"responsable_id": 2
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -3,19 +3,15 @@
|
|||
#### GET /justificatif/1
|
||||
```json
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"date_debut": "2022-09-25T08:00:00+0200",
|
||||
"date_fin": "2022-09-25T16:00:00+0200",
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"etat": "VALIDE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
"raison": "raison",
|
||||
"user_id": null
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
### justificatif_create
|
||||
|
||||
#### POST /justificatif/1/create
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "attente"}]`
|
||||
>
|
||||
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "attente"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"couverture": [],
|
||||
"justif_id": 25
|
||||
}
|
||||
}
|
||||
]
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"couverture": [],
|
||||
"justif_id": 12
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
### justificatif_delete
|
||||
|
||||
#### POST /justificatif/delete
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `[2,2,3]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [
|
||||
{
|
||||
"indice": 1,
|
||||
"message": "Justificatif non existant"
|
||||
}
|
||||
],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "OK"
|
||||
},
|
||||
{
|
||||
"indice": 2,
|
||||
"message": "OK"
|
||||
}
|
||||
]
|
||||
"errors": [
|
||||
{
|
||||
"indice": 1,
|
||||
"message": "Justificatif non existant"
|
||||
}
|
||||
],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "OK"
|
||||
},
|
||||
{
|
||||
"indice": 2,
|
||||
"message": "OK"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,36 +1,31 @@
|
|||
### justificatif_edit
|
||||
|
||||
#### POST /justificatif/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `{"etat":"valide"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"couverture": {
|
||||
"apres": [
|
||||
1
|
||||
],
|
||||
"avant": []
|
||||
}
|
||||
"couverture": {
|
||||
"apr\u00e8s": [26],
|
||||
"avant": [1, 26, 38]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /justificatif/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
>
|
||||
> `{"raison":"MEDIC"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"couverture": {
|
||||
"apres": [
|
||||
1
|
||||
],
|
||||
"avant": [
|
||||
1
|
||||
]
|
||||
}
|
||||
"couverture": {
|
||||
"apr\u00e8s": [26],
|
||||
"avant": [1, 26, 38]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,113 +1,26 @@
|
|||
### justificatifs
|
||||
|
||||
#### GET /justificatifs/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"date_debut": "2022-09-25T08:00:00+0200",
|
||||
"date_fin": "2022-09-25T16:00:00+0200",
|
||||
"entry_date": "2023-07-28T11:13:45+0200",
|
||||
"etat": "VALIDE",
|
||||
"etudid": 1,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": "raison",
|
||||
"user_id": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /justificatifs/1/query?etat=attente
|
||||
```json
|
||||
[
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /justificatifs/dept/1
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"formsemestre": {
|
||||
"id": 1,
|
||||
"title": "TAPI-BUT-FI-S1-2021"
|
||||
},
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"code_nip": "NIP2",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "NON_VALIDE",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"formsemestre": {
|
||||
"id": 1,
|
||||
"title": "TAPI-BUT-FI-S1-2021"
|
||||
},
|
||||
"justif_id": 2,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
["..."]
|
||||
```
|
||||
|
||||
#### GET /justificatifs/formsemestre/1
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"code_nip": "NIP2",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "NON_VALIDE",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 2,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
### justificatifs_dept
|
||||
|
||||
#### GET /justificatifs/dept/1
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"formsemestre": {
|
||||
"id": 1,
|
||||
"title": "TAPI-BUT-FI-S1-2021"
|
||||
},
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"code_nip": "NIP2",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "NON_VALIDE",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"formsemestre": {
|
||||
"id": 1,
|
||||
"title": "TAPI-BUT-FI-S1-2021"
|
||||
},
|
||||
"justif_id": 2,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
### justificatifs_formsemestre
|
||||
|
||||
#### GET /justificatifs/formsemestre/1
|
||||
```json
|
||||
[
|
||||
{
|
||||
"code_nip": "1",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "MODIFIE",
|
||||
"etudid": 1,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 1,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
{
|
||||
"code_nip": "NIP2",
|
||||
"date_debut": "2022-08-20T12:00:00.000000+02:00",
|
||||
"date_fin": "2022-08-20T12:00:00.000000+02:00",
|
||||
"entry_date": "2022-08-20T12:00:00.000000+02:00",
|
||||
"etat": "NON_VALIDE",
|
||||
"etudid": 2,
|
||||
"external_data": null,
|
||||
"fichier": null,
|
||||
"justif_id": 2,
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"numero": 0,
|
||||
"poids": {},
|
||||
"publish_incomplete": true,
|
||||
"visibulletin": true
|
||||
"visi_bulletin": true
|
||||
},
|
||||
"..."
|
||||
]
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
### role-add_permission
|
||||
|
||||
#### POST /role/customRole/add_permission/UsersView
|
||||
#### POST /role/customRole/add_permission/ScoUsersView
|
||||
```json
|
||||
{
|
||||
"id": 13,
|
||||
"permissions": [
|
||||
"UsersView",
|
||||
"ScoUsersView",
|
||||
"ScoView"
|
||||
],
|
||||
"role_name": "customRole"
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
#### POST /role/create/customRole
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"permissions": ["ScoView", "UsersView"]}`
|
||||
> `{"permissions": ["ScoView", "ScoUsersView"]}`
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 13,
|
||||
"permissions": [
|
||||
"UsersView",
|
||||
"ScoUsersView",
|
||||
"ScoView"
|
||||
],
|
||||
"role_name": "customRole"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### role-remove_permission
|
||||
|
||||
#### POST /role/customRole/remove_permission/UsersView
|
||||
#### POST /role/customRole/remove_permission/ScoUsersView
|
||||
```json
|
||||
{
|
||||
"id": 13,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{
|
||||
"id": 1,
|
||||
"permissions": [
|
||||
"Observateur"
|
||||
"ScoObservateur"
|
||||
],
|
||||
"role_name": "Observateur"
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
{
|
||||
"id": 1,
|
||||
"permissions": [
|
||||
"Observateur"
|
||||
"ScoObservateur"
|
||||
],
|
||||
"role_name": "Observateur"
|
||||
},
|
||||
|
@ -17,9 +17,9 @@
|
|||
"ScoEtudAddAnnotations",
|
||||
"ScoAbsAddBillet",
|
||||
"ScoAbsChange",
|
||||
"UsersView",
|
||||
"Observateur",
|
||||
"EnsView",
|
||||
"ScoUsersView",
|
||||
"ScoObservateur",
|
||||
"ScoEnsView",
|
||||
"ScoView"
|
||||
],
|
||||
"role_name": "Ens"
|
||||
|
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 294 KiB |
Before Width: | Height: | Size: 324 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 493 KiB |
Before Width: | Height: | Size: 188 KiB |