forked from ScoDoc/DocScoDoc
Compare commits
No commits in common. "882e7c5ed84b40d07d440c2e5f3f35cf625776ce" and "63e33c5a7be2cb14c4e8429549c4c024782f542b" have entirely different histories.
882e7c5ed8
...
63e33c5a7b
@ -1,5 +1,5 @@
|
||||
# Implémentation des parcours du BUT dans ScoDoc
|
||||
Cette documentation est *destinée aux développeurs* et à tous ceux qui souhaitent
|
||||
# Les parcours du BUT dans ScoDoc
|
||||
Cette documentation est destinée aux développeurs et à tous ceux qui souhaitent
|
||||
comprendre le fonctionnement du logiciel.
|
||||
|
||||
ScoDoc est livré avec les référentiels de compétences de tous les parcours de toutes
|
||||
@ -71,10 +71,10 @@ Le référentiel de compétences est structuré par les classes suivantes:
|
||||
- `ApcCompetence`
|
||||
- `ApcSituationPro`
|
||||
- `ApcComposanteEssentielle`
|
||||
- `ApcNiveau` (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> `UE`*
|
||||
- `ApcNiveau` (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> UE*
|
||||
- `ApcAppCritique` *<-> `Module`*
|
||||
- `ApcParcours`
|
||||
- `ApcAnneeParcours` (ordre=1,2,3) *<-> `Module`*
|
||||
- `ApcAnneeParcours` (ordre=1,2,3) *<-> Module*
|
||||
- *`ApcCompetence`* <- `ApcParcoursNiveauCompetence` (niveau 1, 2, 3) -> *`ApcAnneeParcours`*
|
||||
|
||||
Notons:
|
||||
@ -123,21 +123,12 @@ qui n'existent pas dans ScoDoc 9.2:
|
||||
|
||||
Le formsemestre est lié à un ensemble d'`ApcParcours`.
|
||||
|
||||
La liste des niveaux (`ApcNiveau`) associés aux UEs:
|
||||
```
|
||||
[ ue.niveau_competence
|
||||
for ue in formsemestre.query_ues() if ue.niveau_competence ]
|
||||
```
|
||||
|
||||
#### Inscription d'un étudiant aux ModuleImpls
|
||||
L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble
|
||||
quelconque des `ModuleImpl` du `FormSemestre`), mais il sera commode de pouvoir:
|
||||
|
||||
- Créer des groupes de parcours (via `edit_partition_form`)
|
||||
|
||||
- Inscrire les étudiants d'un groupe à tous les modimpls du parcours:
|
||||
Les modimpls d'un parcours sont donnés par la méthode `modimpls_parcours` de
|
||||
`FormSemestre`.
|
||||
- créer des groupes de parcours
|
||||
- inscrire les étudiants d'un groupe à tous les modules du parcours.
|
||||
|
||||
#### Comment ScoDoc détermine-t-il les modules d'un parcours ?
|
||||
Un parcours étant associé à des compétences, et les niveaux compétences à des
|
||||
@ -145,23 +136,21 @@ UE, on peut déterminer, pour un semestre de rang donné, l'ensemble des UE
|
||||
associées à un parcours.
|
||||
|
||||
Par ailleurs, chaque niveau de compétence est associé à un ensemble d'AC
|
||||
(`ApcAppCritique`), et chaque module est aussi associé à son ensemble d'AC.
|
||||
(ApcAppCritique), et chaque module est aussi associé à son ensemble d'AC.
|
||||
|
||||
Pour chaque parcours d'un `FormSemestre`, on déterminera l'ensemble des `ModuleImpl`
|
||||
Pour chaque parcours d'un FormSemestre, on déterminera l'ensemble des ModuleImpl
|
||||
de ce semestre ayant des AC communs avec ceux des niveaux de compétences
|
||||
associés aux UE du semestre (sic). Notons que les niveaux de compétences sont
|
||||
annuels, mais que les `ModuleImpl` sont semestriels.
|
||||
annuels, mais que les ModuleImpl sont semestriels.
|
||||
|
||||
#### Vérifier que les ModuleImpls d'un parcours couvrent l'ensemble de ses ACs
|
||||
|
||||
Vérification utile en fin de formation.
|
||||
|
||||
##### En fin de formation, pour un étudiant
|
||||
|
||||
Soit un étudiant inscrit à un parcours. En fin de formation (S6), on peut
|
||||
facilement vérifier que les AC ont été couverts:
|
||||
|
||||
- Lister les `ModuleImpl` auxquels l'étudiant a été inscrit dans ses semestres
|
||||
- Lister les ModuleImpl auxquels l'étudiant a été inscrit dans ses semestres
|
||||
(S1 à S6);
|
||||
- En déduire l'ensemble des AC évalués pour cet étudiant (indépendamment de sa
|
||||
réussite);
|
||||
@ -169,11 +158,10 @@ facilement vérifier que les AC ont été couverts:
|
||||
|
||||
##### Au moment de la définition d'une formation
|
||||
|
||||
Le parcours du ref. de compétence indique un ensemble d'AC pour chaque niveau
|
||||
(année). On pourra vérifier que les `Module`s de chaque année suffisent à
|
||||
couvrir le parcours. Mais si les `Module`s ne sont pas associés à un parcours,
|
||||
on ne peut pas aller plus loin.
|
||||
|
||||
Le parcours du ref. de compétence indique un ensemble d'AC pour chaque niveau (année).
|
||||
On pourra vérifier que les Modules de chaque année suffisent à couvrir le
|
||||
parcours. Mais si les Modules ne sont pas associés à un parcours, on ne peut pas
|
||||
aller plus loin.
|
||||
|
||||
#### Lister les regroupements d'UE d'un étudiant
|
||||
|
||||
@ -183,14 +171,11 @@ inscription seulement en semestre pair, par exemple suite à un transfert ou un
|
||||
arrêt temporaire du cursus).
|
||||
|
||||
1. Déterminer l'*autre* semestre: semestre précédent ou suivant de la même
|
||||
année, formation compatible (même référentiel de compétence) dans lequel
|
||||
l'étudiant est inscrit.
|
||||
année, formation compatible (code formation identique ou bien même
|
||||
référentiel de compétence ?) dans lequel l'étudiant est inscrit.
|
||||
|
||||
2. Construire les couples d'UE (regroupements cohérents): apparier les UE qui
|
||||
ont le même `ApcParcoursNiveauCompetence`.
|
||||
|
||||
Un `RegroupementCoherentUE` est simplement un couple d'UE du même niveau dans le
|
||||
cursus (BUT1, BUT2 ou BUT3).
|
||||
2. Construire les couples d'UE (regroupements cohérent): apparier les UE qui
|
||||
ont le même ApcParcoursNiveauCompetence.
|
||||
|
||||
#### Déterminer si un étudiant peut passer dans l'année suivante
|
||||
|
||||
@ -228,79 +213,9 @@ Les ECTS sont actuellement des attributs de UEs.
|
||||
Il faudrait avoir une association `UniteEns` }o..o{ `ApcParcours` qui contienne
|
||||
les valeurs des ECTS.
|
||||
|
||||
## Enregistrement des validations de compétences
|
||||
### Diagramme de classes
|
||||
|
||||
### Rappel: validations en formations classiques
|
||||
Pour toutes les formations, ScoDoc enregistre les validations de semestres et
|
||||
d'UE, via la classe `ScolarFormSemestreValidation`, dont les instances stockent:
|
||||
|
||||
- `etudid, formsemestre_id, code, event_date`
|
||||
|
||||
et pour les validations de semestres:
|
||||
|
||||
- `assidu, compense_formsemestre_id`
|
||||
|
||||
ou pour les validations d'UE
|
||||
|
||||
- `ue_id, is_external`
|
||||
|
||||
Les codes sont définis dans `sco_codes_parcours.py`, avec les valeurs: `ADC,
|
||||
ADJ, ADM, AJ, ATB, ATJ, ATT, CMP, DEF, NAR, RAT` (voir [Gestion des Jurys
|
||||
DUT](GestionJury.md)).
|
||||
|
||||
### Validation des niveaux de compétences
|
||||
|
||||
Pour le BUT, il faut enregistrer la validation des *niveaux de compétences*,
|
||||
constitués de *regroupements cohérents d'UE* ("RCUE"), qui sont les UEs de la
|
||||
même année de parcours associées à la même compétence.
|
||||
|
||||
On va stocker:
|
||||
|
||||
- ...
|
||||
|
||||
### Validation du BUT
|
||||
|
||||
### Codes préconisés par l'AMUE pour le BUT
|
||||
On associe lors du jury un code de décision:
|
||||
|
||||
- À chaque UE: `VAL`, `COMP`, `AJ`, `UESBL`.
|
||||
- À chaque niveau de compétence (RCUE): `VAL`, `AJ`, `CODJ`.
|
||||
- À chaque année:
|
||||
|
||||
- `PASD`: Passage en Année Supérieure de Droit (+ de 50% des UE VAL et RCUE Ajourné(s) >=8)
|
||||
- `PAS1NCI`: Passage en Année Supérieure avec au moins 1 Niveau de Compétence Insuffisant (RCUE<8)
|
||||
- `RED`: Redoublement de l'année
|
||||
- `REO`: REOrientation - décision automatique (revient à une exclusion), plus de 4 semestres RED ou décision de Jury
|
||||
- `DEM`: DEMission (lettre de l'étudiant).
|
||||
- `EXC`: EXClusion, décision réservée à des décisions disciplinaires
|
||||
- `ABAN`: ABANdon constaté (sans lettre de démission)
|
||||
- `ABL`: Année BLanchie
|
||||
- Au diplôme: `ADM`
|
||||
|
||||
|
||||
#### Correspondance avec les codes classiques de ScoDoc
|
||||
|
||||
ScoDoc utilise des codes [documentés ici](GestionJury.md).
|
||||
|
||||
- Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`.
|
||||
En BUT, pas besoin de codes semestriels. On ajoutera un code `APC` pour
|
||||
simplement indiquer que le jury s'est tenu. Ce code ne sera pas exporté vers Apogée.
|
||||
|
||||
- Pour les UEs: **Codes d'état d'UE:**
|
||||
|
||||
ScoDoc classic | BUT AMUE |
|
||||
----------|-----|-----
|
||||
ADM | VAL | UE validée automatiquement |
|
||||
CMP | COMP| UE validée par compensation|
|
||||
AJ | AJ | UE ajournée (échec) |
|
||||
- | UESBL | blanchissement (non dispo en ScoDoc 9) |
|
||||
|
||||
|
||||
|
||||
## Diagramme de classes
|
||||
|
||||
Juste pour rire, car ce diagramme est quasiment inexploitable (dessin réalisé
|
||||
automatiquement en Mermaid).
|
||||
Juste pour rire, car ce diagramme est quasiment inexploitable.
|
||||
|
||||
``` mermaid
|
||||
erDiagram
|
||||
|
@ -1061,64 +1061,10 @@ informations suivantes:
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
* **etat_evals** (**Attente de tests unitaires**)
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/etat_evals`
|
||||
* **Exemple d'utilisation:** `/ScoDoc/api/formsemestre/1/etat_evals`
|
||||
* **Résultat:** Retourne les informations sur l'état des évaluations d'un semestre donnée
|
||||
* **Exemple de résultat:**
|
||||
```
|
||||
{
|
||||
"RT1.1": [
|
||||
{
|
||||
"id": 1,
|
||||
"titre": "Initiation aux réseaux informatiques",
|
||||
"evaluations": [
|
||||
{
|
||||
"id": 1,
|
||||
"description": null,
|
||||
"datetime_epreuve": null,
|
||||
"heure_fin": "09:00:00",
|
||||
"comptee": "oui",
|
||||
"inscrits": 16,
|
||||
"manquantes": 0,
|
||||
"ABS": 0,
|
||||
"ATT": 0,
|
||||
"EXC": 0,
|
||||
"saisie_notes": {
|
||||
"datetime_debut": "Wed, 01 Jun 2022 10:37:59 GMT",
|
||||
"datetime_fin": "Wed, 01 Jun 2022 13:18:09 GMT",
|
||||
"datetime_mediane": "Wed, 01 Jun 2022 12:38:57 GMT"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"description": null,
|
||||
"datetime_epreuve": "Tue, 31 May 2022 00:00:00 GMT",
|
||||
"heure_fin": "08:00:00",
|
||||
"comptee": "oui",
|
||||
"inscrits": 16,
|
||||
"manquantes": 0,
|
||||
"ABS": 0,
|
||||
"ATT": 0,
|
||||
"EXC": 0,
|
||||
"saisie_notes": {
|
||||
"datetime_debut": "Wed, 01 Jun 2022 12:04:19 GMT",
|
||||
"datetime_fin": "Wed, 01 Jun 2022 12:04:36 GMT",
|
||||
"datetime_mediane": "Wed, 01 Jun 2022 14:04:27 GMT"
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
* **jury** (**non implémentée**)
|
||||
* **`jury`** (**non implémentée**)
|
||||
* **Méthode:** GET
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Routes:** `/formsemestre/<int:formsemestre_id>/jury`
|
||||
|
Loading…
Reference in New Issue
Block a user