forked from ScoDoc/DocScoDoc
Mise à jour modélisation BUT
This commit is contained in:
parent
f6cbeccd61
commit
c0381cf0f9
@ -5,6 +5,12 @@ posent un certain nombre de problèmes spécifiques liés aux caractéristiques
|
|||||||
atypiques du BUT. Nous listons ci-dessous quelques points qu'il est important
|
atypiques du BUT. Nous listons ci-dessous quelques points qu'il est important
|
||||||
d'avoir à l'esprit.
|
d'avoir à l'esprit.
|
||||||
|
|
||||||
|
## Compétences et référentiels
|
||||||
|
|
||||||
|
Avant toute chose, et avant de tenir un jury BUT, s'assurer que la formation est
|
||||||
|
bien configurée, liée à son référentiel de compétences et que chaque UE est bien
|
||||||
|
associée à un niveau de compétence (dans le bon parcours le cas échéant).
|
||||||
|
|
||||||
## Pas de moyennes générales en BUT
|
## Pas de moyennes générales en BUT
|
||||||
|
|
||||||
En BUT, les seules notes définies sans ambigüité sont:
|
En BUT, les seules notes définies sans ambigüité sont:
|
||||||
|
@ -119,7 +119,7 @@ flask user-password lecteur_rt
|
|||||||
puis
|
puis
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
http -a lecteur_rt:azer POST 'http://localhost:5000/ScoDoc/api/tokens'
|
http -a lecteur_rt:mot_de_passe POST 'http://localhost:5000/ScoDoc/api/tokens'
|
||||||
# récupérer le token...
|
# récupérer le token...
|
||||||
|
|
||||||
http GET http://localhost:5000/ScoDoc/api/RT/formsemestres/query "Authorization:Bearer xxxxxxxxxxx"
|
http GET http://localhost:5000/ScoDoc/api/RT/formsemestres/query "Authorization:Bearer xxxxxxxxxxx"
|
||||||
@ -166,10 +166,18 @@ identifiés par un id unique dans le cache Redis. Ce cache est persistant, il
|
|||||||
faut donc invalider les objets quand on écrit des données susceptibles de les
|
faut donc invalider les objets quand on écrit des données susceptibles de les
|
||||||
modifier, et penser à le vider quand on modifie le code.
|
modifier, et penser à le vider quand on modifie le code.
|
||||||
Par exemple:
|
Par exemple:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
git pull
|
git pull
|
||||||
flask clear-cache
|
flask clear-cache
|
||||||
```
|
```
|
||||||
|
|
||||||
La commande `redis-cli FLUSHALL` permet aussi de vider le cache sans avoir à
|
La commande `redis-cli FLUSHALL` permet aussi de vider le cache sans avoir à
|
||||||
lancer flask (plus rapide).
|
lancer flask (plus rapide).
|
||||||
|
|
||||||
|
!!! note "Voir aussi"
|
||||||
|
|
||||||
|
- [Informations pour les développeurs](Internals.md)
|
||||||
|
- [API ScoDoc 9](ScoDoc9API.md)
|
||||||
|
- [Modélisation du BUT](ModelisationParcoursBUT.md)
|
||||||
|
- [Contacts](Contact.md)
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
# Implémentation des parcours du BUT dans ScoDoc
|
# Implémentation des parcours du BUT dans ScoDoc
|
||||||
|
|
||||||
Cette page est *destinée aux développeurs* et à tous ceux qui souhaitent
|
Cette page est *destinée aux développeurs* et à tous ceux qui souhaitent
|
||||||
comprendre le fonctionnement du logiciel. Elle ne concerne que les formations
|
comprendre le fonctionnement du logiciel. Elle ne concerne que les formations
|
||||||
BUT, dites dans ScoDoc "APC" (pour *approches par compétences*).
|
BUT, dites dans ScoDoc "APC" (pour *approches par compétences*).
|
||||||
|
|
||||||
|
ScoDoc est livré avec les référentiels de compétences de tous les parcours de
|
||||||
ScoDoc est livré avec les référentiels de compétences de tous les parcours de toutes
|
toutes les spécialités de BUT. En effet, ces référentiels sont nationaux,
|
||||||
les spécialités de BUT. En effet, ces référentiels sont nationaux, publiés par
|
publiés par le ministère (voir
|
||||||
le ministère (voir
|
[https://www.enseignementsup-recherche.gouv.fr/fr/bo/22/Special4/ESRS2211617A.htm](https://www.enseignementsup-recherche.gouv.fr/fr/bo/22/Special4/ESRS2211617A.htm))
|
||||||
[https://cache.media.enseignementsup-recherche.gouv.fr/file/SPE4-MESRI-17-6-2021/32/3/_Annexe_1_PN_BUT_version_post_CNESER_20210511_18-05-2021-1_1411323.pdf](https://cache.media.enseignementsup-recherche.gouv.fr/file/SPE4-MESRI-17-6-2021/32/3/_Annexe_1_PN_BUT_version_post_CNESER_20210511_18-05-2021-1_1411323.pdf))
|
|
||||||
et ne sont pas susceptibles d'adaptations locales.
|
et ne sont pas susceptibles d'adaptations locales.
|
||||||
|
|
||||||
Nous nous sommes basés sur les versions exportées du logiciel Orébut.
|
Nous nous sommes basés sur les versions exportées du logiciel Orébut.
|
||||||
@ -26,28 +26,40 @@ est publiée (2/3) par le ministère, le reste est défini localement par les
|
|||||||
universités (*adaptation locale*).
|
universités (*adaptation locale*).
|
||||||
|
|
||||||
Les formations ScoDoc (`Formation`) sont constituées de
|
Les formations ScoDoc (`Formation`) sont constituées de
|
||||||
- UE : `UniteEns`
|
|
||||||
- Modules (ressources, SAÉ, autres): `Module`
|
- UE : `UniteEns`
|
||||||
|
- Modules (ressources, SAÉ, autres): `Module`
|
||||||
|
|
||||||
La formation définit les UE et modules pour l'ensemble
|
La formation définit les UE et modules pour l'ensemble
|
||||||
des semestres d'un ou plusieurs parcours. De cette façon, on peut utiliser les
|
des semestres d'un ou plusieurs parcours. De cette façon, on peut utiliser les
|
||||||
mêmes éléments dans plusieurs parcours, et grouper les étudiants de plusieurs
|
mêmes éléments dans plusieurs parcours, et grouper les étudiants de plusieurs
|
||||||
parcours dans le même semestre si on le souhaite.
|
parcours dans le même semestre si on le souhaite.
|
||||||
|
|
||||||
En ScoDoc 9.3, on avait une bijection UE <-> Niveau de compétence (`ApcNiveau`).
|
|
||||||
En 9.4, on aura une association UE <- parcours -> Niveau de compétence
|
|
||||||
|
|
||||||
- Chaque parcours de BUT est défini par un ensemble de compétences.
|
|
||||||
|
|
||||||
- Une compétence est décomposée en deux ou trois *niveaux*, chacun constitué de
|
|
||||||
deux UE consécutives (sur semestres pair et impair de la même année
|
|
||||||
scolaire).
|
|
||||||
|
|
||||||
## Unités d'enseignement
|
## Unités d'enseignement
|
||||||
|
|
||||||
Les UE sont des UE "LMD" habituelles; associées à des crédits ECTS,
|
Les UE sont des UE "LMD" habituelles; associées à des crédits ECTS,
|
||||||
capitalisables. Pour chaque UE on calcule une note (moyenne d'UE) et on attribue
|
capitalisables. Pour chaque UE on calcule une note (moyenne d'UE) et on attribue
|
||||||
une décision de jury (validée, ajournée, ...).
|
une décision de jury (validée, ajournée, ...).
|
||||||
|
|
||||||
|
### ECTS et parcours
|
||||||
|
|
||||||
|
Les ECTS sont toujours associés aux UEs, et non au semestre ou aux modules.
|
||||||
|
|
||||||
|
Dans ScoDoc, il est obligatoire de spécifier le nombre d'ECTS des de chaque UE
|
||||||
|
(sauf les UE bonus qui n'ont jamais d'ECTS).
|
||||||
|
|
||||||
|
Le nombre d'ECTS est généralement fixe, mais il peut varier selon le parcours
|
||||||
|
|
||||||
|
!!! note "ECTS variable selon le parcours"
|
||||||
|
Ce cas a été soulevé à propos du BUT MMI, qui préconiserait par exemple, au S4,
|
||||||
|
une compétence "développer" avec 10 ECTS dans le parcours "Web", et 5 ECTS dans le
|
||||||
|
parcours "Crea".
|
||||||
|
Cette possibilité est prévue pour ScoDoc version 9.4.72
|
||||||
|
Chaque UE a un attribut ECTS qui donne la valeur par défaut. On a aussi une
|
||||||
|
valeur ECTS dans la table d'association `UEParcours`qui lie `UniteEns` et
|
||||||
|
`ApcParcours`.
|
||||||
|
Si cette valeur est présente, l'attribut ECTS de l'UE est ignoré.
|
||||||
|
|
||||||
## Modules et parcours
|
## Modules et parcours
|
||||||
|
|
||||||
@ -66,26 +78,29 @@ auxquels inscrire un groupe).
|
|||||||
|
|
||||||
### Cas des modules présents dans plusieurs parcours
|
### Cas des modules présents dans plusieurs parcours
|
||||||
|
|
||||||
Si un module est utilisé dans plusieurs parcours de la même formation BUT, cela
|
Il est fréquent qu'un module peut être utilisé dans plusieurs parcours de la
|
||||||
ne pose aucun problème, _sauf_ si ce module doit avoir des coefficients (vers
|
même formation BUT. Il peut contribuer à une UE de tronc commun, ou un
|
||||||
les UEs) différents selon le parcours dans lequel il intervient. Dans ce cas,
|
sous-ensemble d'UEs. Dans certains spécialités, le coefficient d'un module vers
|
||||||
*il sera conseillé de créer plusieurs versions du module*, que l'on associera
|
une UE varie selon le parcours: dans ce cas, il faudra créer plusieurs UEs
|
||||||
aux divers parcours.
|
associées au même niveau de compétence, et renseigner les coefficients
|
||||||
|
correspondants. les étudiants seront inscrits à l'une ou l'autre des UEs suivant
|
||||||
|
leur parcours.
|
||||||
|
|
||||||
## Coefficients modules / UEs
|
## Coefficients modules / UEs
|
||||||
|
|
||||||
Les coefficients sont des réels (non nullables), `ModuleUECoef`.
|
Les coefficients sont des réels (non nullables), `ModuleUECoef`.
|
||||||
|
|
||||||
Édition via *Formation*/*Édition des coefficients des modules vers les UEs*:<br>
|
Édition via *Formation*/*Édition des coefficients des modules vers les UEs*:<br>
|
||||||
<img src="/fig/formation_edit_coefs.png" width="30%">
|
<img src="/fig/formation_edit_coefs.png" width="30%">
|
||||||
|
|
||||||
## Formation
|
## Formation
|
||||||
|
|
||||||
Le programme de formation est constitué des classes suivantes (en BUT et dans
|
Le programme de formation est constitué des classes suivantes (en BUT et dans
|
||||||
tous les types de formation. La notion de "matière" n'est pas utilisée en BUT).
|
tous les types de formation. La notion de "matière" n'est pas utilisée en BUT).
|
||||||
|
|
||||||
- `Formation` (ex: "BUT R&T")
|
- `Formation` (ex: "BUT R&T")
|
||||||
- `UniteEns` (UE, ex: "Administrer les réseaux")
|
- `UniteEns` (UE, ex: "Administrer les réseaux")
|
||||||
- `Modules` (ressources, SAÉs) *<-> `ApcAppCritique`*, *<-> `ApcAnneeParcours`*
|
- `Modules` (ressources, SAÉs) *<-> `ApcAppCritique`*, *<-> `ApcAnneeParcours`*
|
||||||
|
|
||||||
On voit que les modules ont toujours une UE de rattachement. Cependant, en BUT,
|
On voit que les modules ont toujours une UE de rattachement. Cependant, en BUT,
|
||||||
un module peut intervenir dans le calcul des notes de plusieurs UE, via une
|
un module peut intervenir dans le calcul des notes de plusieurs UE, via une
|
||||||
@ -96,39 +111,90 @@ matrice de coefficients.
|
|||||||
parcours de la formation.
|
parcours de la formation.
|
||||||
|
|
||||||
## Référentiel de compétences
|
## Référentiel de compétences
|
||||||
|
|
||||||
Le référentiel de compétences (`ApcReferentielCompetences`) défini les
|
Le référentiel de compétences (`ApcReferentielCompetences`) défini les
|
||||||
compétences à valider (décomposées en niveaux) et les parcours BUT
|
compétences à valider (décomposées en niveaux) et les parcours BUT
|
||||||
(`ApcParcours`). Il est structuré ainsi:
|
(`ApcParcours`). Il est structuré ainsi:
|
||||||
|
|
||||||
- `ApcReferentielCompetences`
|
- `ApcReferentielCompetences`
|
||||||
- `ApcCompetence`
|
- `ApcCompetence`
|
||||||
- `ApcSituationPro`
|
- `ApcSituationPro`
|
||||||
- `ApcComposanteEssentielle`
|
- `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`*
|
- `ApcAppCritique` *<-> `Module`*
|
||||||
- `ApcParcours`
|
- `ApcParcours`
|
||||||
- `ApcAnneeParcours` (ordre=1,2,3) *<-> `Module`*
|
- `ApcAnneeParcours` (ordre=1,2,3) *<-> `Module`*
|
||||||
- *`ApcCompetence`* <- `ApcParcoursNiveauCompetence` (niveau 1, 2, 3) -> *`ApcAnneeParcours`*
|
- *`ApcCompetence`* <- `ApcParcoursNiveauCompetence` (niveau 1, 2, 3) -> *`ApcAnneeParcours`*
|
||||||
|
|
||||||
Notons:
|
Notons:
|
||||||
|
|
||||||
- Le lien entre UE et Niveau de compétence (`ApcNiveau`).
|
- Le lien (*one-to-one*) entre `UniteEns`(UE) et Niveau de compétence (`ApcNiveau`).
|
||||||
|
|
||||||
- Le lien à entre Compétence et Année de Parcours à travers la table
|
- Le lien entre Compétence et Année de Parcours à travers la table
|
||||||
(*many-to-many*) `ApcParcoursNiveauCompetence` qui indique le niveau ce
|
(*many-to-many*) `ApcParcoursNiveauCompetence` qui indique le niveau ce
|
||||||
compétence concerné.
|
compétence concerné.
|
||||||
|
|
||||||
- Le lien entre les apprentissages critiques (`ApcAppCritique`) et les
|
- Le lien *many-to-many* UE et `Parcours`, qui permet de spécifier les ECTS de
|
||||||
|
l'UE dans un parcours donné et est utilisé pour vérifier la formation
|
||||||
|
(couverture de tous les niveau en suivant un parcours donné, somme des ECTS).
|
||||||
|
|
||||||
|
- Le lien entre les apprentissages critiques (`ApcAppCritique`) et les
|
||||||
modules, qui permet d'établir les critères d'évaluation de chaque module.
|
modules, qui permet d'établir les critères d'évaluation de chaque module.
|
||||||
|
|
||||||
|
### Niveaux de compétences et UEs
|
||||||
|
|
||||||
|
Une compétence est constituée de plusieurs niveaux (`ApcNiveau`), typiquement 2
|
||||||
|
ou 3. En BUT, chaque niveau correspond à deux UEs sur deux semestres de la même
|
||||||
|
année d'un parcours.
|
||||||
|
|
||||||
|
- Chaque parcours de BUT est défini par un ensemble de compétences.
|
||||||
|
|
||||||
|
- Une compétence est décomposée en deux ou trois *niveaux*, chacun constitué de
|
||||||
|
deux UE consécutives (sur semestres pair et impair de la même année
|
||||||
|
scolaire).
|
||||||
|
|
||||||
|
Lors des jurys, on enregistre les validations d'UE. Les UE sont liées à des
|
||||||
|
niveaux de compétences. Lorsque les deux UEs sont validées, le niveau est
|
||||||
|
validé: c'est le RCUE (*regroupement cohérents d'UEs*).
|
||||||
|
|
||||||
|
Pour valider un diplôme de BUT, il faut avoir validé tous les niveaux de toutes
|
||||||
|
les compétences du parcours choisi.
|
||||||
|
|
||||||
|
Une UE est associée à un et un seul niveau de compétence. Elle peut être
|
||||||
|
associée à un nombre quelconque de parcours.
|
||||||
|
|
||||||
|
Remarques:
|
||||||
|
|
||||||
|
- Certains niveaux (et donc UEs) sont présents dans tous les parcours: ce sont
|
||||||
|
les niveaux de *tronc commun*.
|
||||||
|
- Une UE associée à un niveau peut avoir des ECTS différents selon le parcours
|
||||||
|
(voir [note ci-dessus](#ects-et-parcours))
|
||||||
|
- Dans certaines spécialités, les coefficients des modules vers la même UE
|
||||||
|
peuvent varier selon le parcours. Dans ce cas, on créera une UE par parcours
|
||||||
|
(UE associée au même niveau), afin de pouvoir spécifier des coefficients
|
||||||
|
distincts.
|
||||||
|
|
||||||
|
#### Vérifications effectués par ScoDoc
|
||||||
|
|
||||||
|
En plus des contraintes strictes liées aux relations modélisées,
|
||||||
|
ScoDoc vérifiera que
|
||||||
|
|
||||||
|
- Dans une formation, chaque niveau d'un parcours soit associé à deux et
|
||||||
|
seulement deux UEs de ce parcours de la même année scolaires (BUT1, BUT2 ou
|
||||||
|
BUT3).
|
||||||
|
- Le nombre total d'ECTS de chaque parcours soit bien 180 (3 années de 60 ECTS).
|
||||||
|
- Toutes les UEs sont bien associée à un niveau.
|
||||||
|
|
||||||
|
|
||||||
## FormSemestres
|
## FormSemestres
|
||||||
|
|
||||||
La formation est mise en œuvre dans des `FormSemestre` (date début, fin,
|
La formation est mise en œuvre dans des `FormSemestre` (date début, fin,
|
||||||
enseignants responsables, ...) constitués de `ModuleImpl` (module avec enseignant,
|
enseignants responsables, ...) constitués de `ModuleImpl` (module avec enseignant,
|
||||||
évaluations, ...).
|
évaluations, ...).
|
||||||
|
|
||||||
- `FormSemestre`
|
- `FormSemestre`
|
||||||
- `ModuleImpl`
|
- `ModuleImpl`
|
||||||
- `Evaluation`
|
- `Evaluation`
|
||||||
|
|
||||||
On a vu que la formation pouvait comporter plusieurs parcours. Un `FormSemestre`
|
On a vu que la formation pouvait comporter plusieurs parcours. Un `FormSemestre`
|
||||||
peut implémenter un ou plusieurs parcours. On a en effet une table d'association
|
peut implémenter un ou plusieurs parcours. On a en effet une table d'association
|
||||||
@ -144,16 +210,16 @@ Via *Semestre*/*Modifier le semestre*:<br>
|
|||||||
l'étudiant dans ce semestre BUT en fonction du parcours dans lequel il est
|
l'étudiant dans ce semestre BUT en fonction du parcours dans lequel il est
|
||||||
inscrit.
|
inscrit.
|
||||||
|
|
||||||
|
|
||||||
## Inscriptions des étudiants
|
## Inscriptions des étudiants
|
||||||
|
|
||||||
Les étudiants sont inscrits:
|
Les étudiants sont inscrits:
|
||||||
|
|
||||||
- à des `FormSemestre` (`FormSemestreInscription`, avec:
|
- à des `FormSemestre` (`FormSemestreInscription`, avec:
|
||||||
- un état, "inscrit", "démission" ou "défaillant";
|
- un état, "inscrit", "démission" ou "défaillant";
|
||||||
- un `ApcParcours`;
|
- un `ApcParcours`;
|
||||||
- un code étape Apogée.
|
- un code étape Apogée.
|
||||||
|
|
||||||
- dans un ModuleImpl (`ModuleImplInscription`)
|
- dans un ModuleImpl (`ModuleImplInscription`)
|
||||||
|
|
||||||
Un formsemestre est associé à un ensemble de parcours. L'étudiant peut être
|
Un formsemestre est associé à un ensemble de parcours. L'étudiant peut être
|
||||||
inscrit à l'un d'entre eux. Certaines formations commencent par une année de
|
inscrit à l'un d'entre eux. Certaines formations commencent par une année de
|
||||||
@ -161,17 +227,28 @@ tronc commun, durant laquelle l'étudiant n'a pas encore choisi son parcours. On
|
|||||||
considérera que si l'étudiant n'est pas inscrit à un parcours, il est
|
considérera que si l'étudiant n'est pas inscrit à un parcours, il est
|
||||||
implicitement inscrit à tous les parcours du semestre.
|
implicitement inscrit à tous les parcours du semestre.
|
||||||
|
|
||||||
## Associations (nouvelles pour le BUT):
|
## Associations (nouvelles pour le BUT)
|
||||||
|
|
||||||
Pour la gestion des parcours BUT, on a introduit les associations suivantes,
|
Pour la gestion des parcours BUT, on a introduit les associations suivantes,
|
||||||
qui n'existaient pas dans ScoDoc 9.2:
|
qui n'existaient pas dans ScoDoc 9.2:
|
||||||
|
|
||||||
- UE <-> `ApcNiveau` : choix sur la page `ue_edit`
|
- `UniteEns` }o--o{ ensemble de `ApcParcours` : choix sur la page `ue_edit`
|
||||||
- `Module` ||--o{ ensemble de `ApcParcours`
|
- `UniteEns` }o--|| `ApcNiveau` : choix sur la page `ue_edit`
|
||||||
- `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit`
|
- `Module` ||--o{ ensemble de `ApcParcours`
|
||||||
- `FormSemestre` ||--o{ `ApcParcours` : choix sur la page
|
- `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit`
|
||||||
`formsemestre_editwithmodules`
|
- `FormSemestre` ||--o{ `ApcParcours` : choix sur la page
|
||||||
- `FormSemestreInscription` ||--|| `ApcParcours` : inscription au parcours, page à créer.
|
`formsemestre_editwithmodules`
|
||||||
|
- `FormSemestreInscription` ||--|| `ApcParcours` : inscription au parcours, géré
|
||||||
|
via la partition `Parcours`.
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
erDiagram
|
||||||
|
UniteEns }o--o{ ApcParcours : UEParcours
|
||||||
|
UniteEns }o--|| ApcNiveau : ""
|
||||||
|
Formation ||--o{ UniteEns : ""
|
||||||
|
FormSemestre }o--|| Formation : ""
|
||||||
|
UniteEns }o--|{ Module : ModuleUECoef
|
||||||
|
```
|
||||||
|
|
||||||
## Cas d'usage
|
## Cas d'usage
|
||||||
|
|
||||||
@ -188,35 +265,39 @@ l'étudiant est inscrit (sans bonus).
|
|||||||
matrice d'inscriptions `(etuds, ue)`.
|
matrice d'inscriptions `(etuds, ue)`.
|
||||||
|
|
||||||
### UEs à afficher sur les tableaux récap. de semestre
|
### UEs à afficher sur les tableaux récap. de semestre
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
### UEs à valider en jury BUT
|
### UEs à valider en jury BUT
|
||||||
TODO
|
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
### Niveau de compétence d'un formsemestre
|
### Niveau de compétence d'un formsemestre
|
||||||
|
|
||||||
Le formsemestre est lié à un ensemble d'`ApcParcours`.
|
Le formsemestre est lié à un ensemble d'`ApcParcours`.
|
||||||
|
|
||||||
La liste des niveaux (`ApcNiveau`) associés aux UEs:
|
La liste des niveaux (`ApcNiveau`) associés aux UEs:
|
||||||
```
|
|
||||||
|
```py
|
||||||
[ ue.niveau_competence
|
[ ue.niveau_competence
|
||||||
for ue in formsemestre.query_ues() if ue.niveau_competence ]
|
for ue in formsemestre.query_ues() if ue.niveau_competence ]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Inscription d'un étudiant aux ModuleImpls
|
### Inscription d'un étudiant aux ModuleImpls
|
||||||
|
|
||||||
L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble
|
L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble
|
||||||
quelconque des `ModuleImpl` du `FormSemestre`), mais il sera commode de pouvoir:
|
quelconque des `ModuleImpl` du `FormSemestre`), mais il sera commode de pouvoir:
|
||||||
|
|
||||||
- Créer des groupes de parcours (via `edit_partition_form`)
|
- Créer des groupes de parcours (via `edit_partition_form`)
|
||||||
|
|
||||||
- Inscrire les étudiants d'un groupe à tous les modimpls du parcours:
|
- 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
|
Les modimpls d'un parcours sont donnés par la méthode `modimpls_parcours` de
|
||||||
`FormSemestre`.
|
`FormSemestre`.
|
||||||
|
|
||||||
### Comment ScoDoc détermine-t-il les modules d'un 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
|
Un parcours étant associé à des compétences, et les niveaux compétences à des
|
||||||
UE, on peut déterminer, pour un semestre de rang donné, l'ensemble des UE
|
UE, on peut déterminer, pour un semestre de rang donné, l'ensemble des UEs
|
||||||
associées à un parcours.
|
associées à un parcours.
|
||||||
|
|
||||||
Par ailleurs, chaque niveau de compétence est associé à un ensemble d'AC
|
Par ailleurs, chaque niveau de compétence est associé à un ensemble d'AC
|
||||||
@ -236,11 +317,11 @@ Vérification utile en fin de formation.
|
|||||||
Soit un étudiant inscrit à un parcours. En fin de formation (S6), on peut
|
Soit un étudiant inscrit à un parcours. En fin de formation (S6), on peut
|
||||||
facilement vérifier que les AC ont été couverts:
|
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);
|
(S1 à S6);
|
||||||
- En déduire l'ensemble des AC évalués pour cet étudiant (indépendamment de sa
|
- En déduire l'ensemble des AC évalués pour cet étudiant (indépendamment de sa
|
||||||
réussite);
|
réussite);
|
||||||
- Comparer aux AC du parcours tels que décrits dans le référentiel de compétence.
|
- Comparer aux AC du parcours tels que décrits dans le référentiel de compétence.
|
||||||
|
|
||||||
#### Au moment de la définition d'une formation
|
#### Au moment de la définition d'une formation
|
||||||
|
|
||||||
@ -250,7 +331,8 @@ couvrir le parcours. Mais si les `Module`s ne sont pas associés à un parcours,
|
|||||||
on ne peut pas aller plus loin.
|
on ne peut pas aller plus loin.
|
||||||
|
|
||||||
### Lister les UEs d'un parcours d'une formation
|
### Lister les UEs d'un parcours d'une formation
|
||||||
```
|
|
||||||
|
```py
|
||||||
# Soit un parcours:
|
# Soit un parcours:
|
||||||
parcour = formation.referentiel_competence.parcours.filter_by(code="ROM").first()
|
parcour = formation.referentiel_competence.parcours.filter_by(code="ROM").first()
|
||||||
# Listes UEs de ce parcours:
|
# Listes UEs de ce parcours:
|
||||||
@ -283,9 +365,9 @@ particuliers (décision de jury manuelle).
|
|||||||
|
|
||||||
**Rappel:** le passage est de droit si
|
**Rappel:** le passage est de droit si
|
||||||
|
|
||||||
- [x] plus de la moitié des niveaux de compétences de l'année sont validés
|
- [x] plus de la moitié des niveaux de compétences de l'année sont validés
|
||||||
- [x] aucun regroupement d'UE (niveau de compétence) de l'année < 8 /20
|
- [x] aucun regroupement d'UE (niveau de compétence) de l'année < 8 /20
|
||||||
- [x] pour le passage en S5, avoir validé toutes les UE du BUT 1 (S1 et S2).
|
- [x] pour le passage en S5, avoir validé toutes les UE du BUT 1 (S1 et S2).
|
||||||
|
|
||||||
Il faut donc:
|
Il faut donc:
|
||||||
|
|
||||||
@ -298,36 +380,22 @@ Il faut donc:
|
|||||||
relevant du même référentiel de compétences dans lesquels a été inscrit
|
relevant du même référentiel de compétences dans lesquels a été inscrit
|
||||||
l'étudiant, et vérifier que les UE de S1 et S2 sont validées.
|
l'étudiant, et vérifier que les UE de S1 et S2 sont validées.
|
||||||
|
|
||||||
|
|
||||||
### Cas particulier: formations dont le nombre d'ECTS varie selon le parcours
|
|
||||||
|
|
||||||
Ce cas a été soulevé à propos du BUT MMI, qui préconiserait par exemple, au S4,
|
|
||||||
une compétence développer avec 10 ECTS dans le parcours "web", et 5 ECTS dans le
|
|
||||||
parcours "crea".
|
|
||||||
|
|
||||||
Si on veut pouvoir utiliser la même formation, et éventuellement mélanger les
|
|
||||||
étudiants des différents parcours dans le même `FormSemestre` (ce qui
|
|
||||||
simplifierait la gestion des modules communs), il faut modifier la modélisation:
|
|
||||||
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
|
## Enregistrement des validations de compétences
|
||||||
|
|
||||||
### Rappel: validations en formations classiques
|
### Rappel: validations en formations classiques
|
||||||
|
|
||||||
Pour toutes les formations, ScoDoc enregistre les validations de semestres et
|
Pour toutes les formations, ScoDoc enregistre les validations de semestres et
|
||||||
d'UE, via la classe `ScolarFormSemestreValidation`, dont les instances stockent:
|
d'UE, via la classe `ScolarFormSemestreValidation`, dont les instances stockent:
|
||||||
|
|
||||||
- `etudid, formsemestre_id, code, event_date`
|
- `etudid, formsemestre_id, code, event_date`
|
||||||
|
|
||||||
et pour les validations de semestres:
|
et pour les validations de semestres:
|
||||||
|
|
||||||
- `assidu, compense_formsemestre_id`
|
- `assidu, compense_formsemestre_id`
|
||||||
|
|
||||||
ou pour les validations d'UE
|
ou pour les validations d'UE
|
||||||
|
|
||||||
- `ue_id, is_external`
|
- `ue_id, is_external`
|
||||||
|
|
||||||
Les codes sont définis dans `sco_codes_parcours.py`, avec les valeurs: `ADC,
|
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
|
ADJ, ADM, AJ, ATB, ATJ, ATT, CMP, DEF, NAR, RAT` (voir [Gestion des Jurys
|
||||||
@ -341,64 +409,64 @@ même année de parcours associées à la même compétence.
|
|||||||
|
|
||||||
On va stocker les validation des RCUE dans `ApcValidationRCUE`:
|
On va stocker les validation des RCUE dans `ApcValidationRCUE`:
|
||||||
|
|
||||||
- `etudid`
|
- `etudid`
|
||||||
- `formsemestre_id` (dernier déclenchant cette validation).
|
- `formsemestre_id` (dernier déclenchant cette validation).
|
||||||
- `ue_1`, `ue_2` : les deux UE associées à ce niveau.
|
- `ue_1`, `ue_2` : les deux UE associées à ce niveau.
|
||||||
- `ApcParcours` : optionnel, le parcours dans lequel se trouve la compétence.
|
- `ApcParcours` : optionnel, le parcours dans lequel se trouve la compétence.
|
||||||
- `datetime` de la validation.
|
- `datetime` de la validation.
|
||||||
- `code` de validation: `ADM`, `CMP`, `AJ`.
|
- `code` de validation: `ADM`, `CMP`, `AJ`.
|
||||||
|
|
||||||
Rappel: chaque UE est associé à un niveau de compétence
|
Rappel: chaque UE est associé à un niveau de compétence
|
||||||
(`ue.niveau_competence`), qui doit ici être le même.
|
(`ue.niveau_competence`), qui doit ici être le même.
|
||||||
|
|
||||||
### Validation des années du BUT
|
### Validation des années du BUT
|
||||||
|
|
||||||
Pour le BUT, ScoDoc enregistre les validations d'années `ApcValidationAnnee`
|
Pour le BUT, ScoDoc enregistre les validations d'années `ApcValidationAnnee`
|
||||||
|
|
||||||
- `etudid`
|
- `etudid`
|
||||||
- `ordre`: 1, 2, 3 pour BUT1, BUT2, BUT3.
|
- `ordre`: 1, 2, 3 pour BUT1, BUT2, BUT3.
|
||||||
- `formsemestre_id` (dernier déclenchant cette validation, None si extérieure)
|
- `formsemestre_id` (dernier déclenchant cette validation, None si extérieure)
|
||||||
- `annee_scolaire` (int, année de début, eg 2021 pour "2021-2022")
|
- `annee_scolaire` (int, année de début, eg 2021 pour "2021-2022")
|
||||||
- `datetime` de la validation.
|
- `datetime` de la validation.
|
||||||
- `code` de validation: `PASD`, `PAS1NCI`, `RED`, `REO`, `DEM`, `EXC`, `ABAN`, `ABL`.
|
- `code` de validation: `PASD`, `PAS1NCI`, `RED`, `REO`, `DEM`, `EXC`, `ABAN`, `ABL`.
|
||||||
|
|
||||||
|
|
||||||
### Codes préconisés par l'AMUE pour le BUT
|
### Codes préconisés par l'AMUE pour le BUT
|
||||||
|
|
||||||
On associe lors du jury un code de décision:
|
On associe lors du jury un code de décision:
|
||||||
|
|
||||||
- À chaque UE: `VAL`, `COMP`, `AJ`, `UESBL`.
|
- À chaque UE: `VAL`, `COMP`, `AJ`, `UESBL`.
|
||||||
- À chaque niveau de compétence (RCUE): `VAL`, `AJ`, `CODJ`.
|
- À chaque niveau de compétence (RCUE): `VAL`, `AJ`, `CODJ`.
|
||||||
- À chaque année:
|
- À 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`
|
|
||||||
|
|
||||||
|
- `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 de ScoDoc
|
#### Correspondance avec les codes de ScoDoc
|
||||||
|
|
||||||
ScoDoc utilise des codes [documentés ici](GestionJury.md).
|
ScoDoc utilise des codes [documentés ici](GestionJury.md).
|
||||||
|
|
||||||
- Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. En
|
- Pour les semestres: `ADM`, `ADC`, `ADJ`, `ATT`, `ATB`, `ATJ`, `AJ`, `NAR`. En
|
||||||
BUT, pas besoin de codes semestriels. On ajoutera un code `JSD` (*Jury Sans
|
BUT, pas besoin de codes semestriels. On ajoutera un code `JSD` (*Jury Sans
|
||||||
Décision*) pour simplement indiquer que le jury s'est tenu. Ce code ne sera pas
|
Décision*) pour simplement indiquer que le jury s'est tenu. Ce code ne sera pas
|
||||||
exporté vers Apogée.
|
exporté vers Apogée.
|
||||||
|
|
||||||
- Pour les UEs: **codes d'état d'UE**
|
- Pour les UEs: **codes d'état d'UE**
|
||||||
|
|
||||||
ScoDoc | BUT AMUE |
|
ScoDoc | BUT AMUE |
|
||||||
----------|-----|-----
|
----------|-----|-----
|
||||||
ADM | VAL | UE validée automatiquement |
|
ADM | VAL | UE validée automatiquement |
|
||||||
CMP | COMP| UE validée par compensation|
|
CMP | COMP| UE validée par compensation|
|
||||||
AJ | AJ | UE ajournée (échec) |
|
AJ | AJ | UE ajournée (échec) |
|
||||||
- | UESBL | blanchissement (non dispo en ScoDoc 9) |
|
| UESBL | blanchissement (non dispo en ScoDoc 9) |
|
||||||
|
|
||||||
- Pour les RCUE:
|
- Pour les RCUE:
|
||||||
|
|
||||||
ScoDoc | BUT AMUE |
|
ScoDoc | BUT AMUE |
|
||||||
----------|-----|-----
|
----------|-----|-----
|
||||||
@ -409,11 +477,10 @@ AJ | AJ | RCUE ajournée (échec) |
|
|||||||
Rappel: les codes exportés vers Apogée sont configurables (table de transcodage dans la
|
Rappel: les codes exportés vers Apogée sont configurables (table de transcodage dans la
|
||||||
config générale).
|
config générale).
|
||||||
|
|
||||||
|
|
||||||
## Diagramme de classes
|
## Diagramme de classes
|
||||||
|
|
||||||
Juste pour rire, car ce diagramme est quasiment inexploitable (dessin réalisé
|
(dessin réalisé automatiquement en Mermaid; toutes les classes ScoDoc ne
|
||||||
automatiquement en Mermaid).
|
figurent pas ici).
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
erDiagram
|
erDiagram
|
||||||
@ -429,6 +496,8 @@ erDiagram
|
|||||||
str code
|
str code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ApcReferentielCompetences ||--|{ Formation : ""
|
||||||
|
|
||||||
Etudiant {
|
Etudiant {
|
||||||
str nom
|
str nom
|
||||||
}
|
}
|
||||||
@ -450,7 +519,7 @@ erDiagram
|
|||||||
ApcCompetence ||--o{ ApcNiveau : ""
|
ApcCompetence ||--o{ ApcNiveau : ""
|
||||||
ApcCompetence ||--o{ ApcSituationPro : ""
|
ApcCompetence ||--o{ ApcSituationPro : ""
|
||||||
ApcCompetence ||--o{ ApcComposanteEssentielle : ""
|
ApcCompetence ||--o{ ApcComposanteEssentielle : ""
|
||||||
ApcNiveau }o..|| UE : "optionnel"
|
ApcNiveau ||..o{ UE : ""
|
||||||
ApcNiveau ||--o{ ApcAppCritique : ""
|
ApcNiveau ||--o{ ApcAppCritique : ""
|
||||||
ApcAppCritique }o..o{ Module : "optionnel"
|
ApcAppCritique }o..o{ Module : "optionnel"
|
||||||
|
|
||||||
@ -458,12 +527,19 @@ erDiagram
|
|||||||
ApcParcours ||--o{ ApcAnneeParcours : ""
|
ApcParcours ||--o{ ApcAnneeParcours : ""
|
||||||
|
|
||||||
ApcAnneeParcours {
|
ApcAnneeParcours {
|
||||||
int ordre
|
int ordre "année BUT"
|
||||||
}
|
}
|
||||||
|
|
||||||
ApcCompetence }o--o{ ApcAnneeParcours : "ApcParcoursNiveauCompetence (1,2,3)"
|
ApcCompetence }o--o{ ApcAnneeParcours : "ApcParcoursNiveauCompetence (1,2,3)"
|
||||||
|
|
||||||
Module }o--o{ ApcParcours : "parcours_modules"
|
Module }o--o{ ApcParcours : "parcours_modules"
|
||||||
FormSemestre }o--o{ ApcParcours : "parcours_formsemestre"
|
FormSemestre }o--o{ ApcParcours : "parcours_formsemestre"
|
||||||
UE }o..o{ ApcParcours : "pour les ECTS"
|
UE }o--o{ ApcParcours : "avec en option ECTS"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
!!! note "Voir aussi"
|
||||||
|
|
||||||
|
- [Informations pour les développeurs](Internals.md)
|
||||||
|
- [API ScoDoc 9](ScoDoc9API.md)
|
||||||
|
- [Le Bachelor Universitaire de Technologie (BUT)](BUT.md)
|
||||||
|
- [Contacts](Contact.md)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
# Paramétrage des bulletins de notes
|
# Paramétrage des bulletins de notes
|
||||||
|
|
||||||
Ces réglages permettent de configurer la présentation des relevés de notes au
|
Ces réglages permettent de configurer la présentation des relevés de notes au
|
||||||
format PDF.
|
format PDF.
|
||||||
@ -20,7 +20,7 @@ paramétrables à l'aide de formats utilisant un balisage XML assez simple.
|
|||||||
|
|
||||||
## Marges et position du pied de page
|
## Marges et position du pied de page
|
||||||
|
|
||||||
Les bulletins sont formattés pour du papier A4.
|
Les bulletins sont formatés pour du papier A4.
|
||||||
|
|
||||||
Les marges sont réglables via les valeurs dans la section "Marges additionnelles
|
Les marges sont réglables via les valeurs dans la section "Marges additionnelles
|
||||||
des bulletins". Ces valeurs s'ajoutent aux marges par défaut qui sont assez
|
des bulletins". Ces valeurs s'ajoutent aux marges par défaut qui sont assez
|
||||||
@ -109,7 +109,7 @@ Variable |
|
|||||||
date_dmy | date courante, au format jj/mm/aaaa
|
date_dmy | date courante, au format jj/mm/aaaa
|
||||||
date_iso | date courante, au format aaaa-mm-jj
|
date_iso | date courante, au format aaaa-mm-jj
|
||||||
|
|
||||||
## Balises XML utilisées dans les formats
|
## Balises XML utilisées dans les formats
|
||||||
|
|
||||||
Le balisage XML est celui de [ReportLab](http://www.reportlab.com/)
|
Le balisage XML est celui de [ReportLab](http://www.reportlab.com/)
|
||||||
(intra-paragraph markup, voir page 70 du [guide
|
(intra-paragraph markup, voir page 70 du [guide
|
||||||
@ -168,13 +168,16 @@ Notez qu'il est possible de ne préciser que l'une des deux dimensions hauteur o
|
|||||||
largeur. Dans ce cas, la dimension manquante est déduite du ratio (rapport
|
largeur. Dans ce cas, la dimension manquante est déduite du ratio (rapport
|
||||||
hauteur/largeur) de l'image originale. Voir un exemple d'utilisation plus bas.
|
hauteur/largeur) de l'image originale. Voir un exemple d'utilisation plus bas.
|
||||||
|
|
||||||
### Fond de page.
|
### Fond de page
|
||||||
Les modalités d'utilisation des fonds de pages sont similaires pour les PV, les lettres individuelles de décision et les bulletins.
|
|
||||||
Celles-ci sont décrites ici: [Paramétrage des PV. Images de fond de page](ParametragePV.md)
|
Les modalités d'utilisation des fonds de pages sont similaires pour les PV, les
|
||||||
|
lettres individuelles de décision et les bulletins. Celles-ci sont décrites ici:
|
||||||
|
[Paramétrage des PV. Images de fond de page](ParametragePV.md)
|
||||||
|
|
||||||
## Exemples
|
## Exemples
|
||||||
|
|
||||||
### Exemple 1: Bulletins par défaut
|
### Exemple 1: Bulletins par défaut
|
||||||
|
|
||||||
Les bulletins édités par défaut sont obtenus avec:
|
Les bulletins édités par défaut sont obtenus avec:
|
||||||
|
|
||||||
* Paragraphe de titre:
|
* Paragraphe de titre:
|
||||||
@ -221,9 +224,8 @@ Année scolaire: %(anneescolaire)s
|
|||||||
</para>
|
</para>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Exemple 2: ancien bulletins
|
||||||
|
|
||||||
|
|
||||||
### Exemple 2: ancien bulletins
|
|
||||||
Les bulletins édités par défaut avant le 20/9/2009 étaient obtenus avec:
|
Les bulletins édités par défaut avant le 20/9/2009 étaient obtenus avec:
|
||||||
|
|
||||||
* Paragraphe de titre:
|
* Paragraphe de titre:
|
||||||
@ -259,7 +261,8 @@ Les bulletins édités par défaut avant le 20/9/2009 étaient obtenus avec:
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Exemple 3: en-tête avec logo
|
### Exemple 3: en-tête avec logo
|
||||||
|
|
||||||
Même structure que le premier exemple, avec un logo. Notez que les dimensions du logo (en mm ou cm) doivent avoir le même rapport (hauteur/largeur) que l'image utilisée, sans quoi l'apparence est déformée.
|
Même structure que le premier exemple, avec un logo. Notez que les dimensions du logo (en mm ou cm) doivent avoir le même rapport (hauteur/largeur) que l'image utilisée, sans quoi l'apparence est déformée.
|
||||||
|
|
||||||
* Paragraphe de titre:
|
* Paragraphe de titre:
|
||||||
@ -284,3 +287,12 @@ Année scolaire: %(anneescolaire)s
|
|||||||
</para>
|
</para>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
!!! note "Voir aussi"
|
||||||
|
|
||||||
|
- [Gestion des logos](GestionLogos.md)
|
||||||
|
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||||
|
- [Guide du responsable de formation](GuideAdminFormation.md)
|
||||||
|
- [Guide utilisateur](GuideUtilisateur.md)
|
||||||
|
- [Contacts](Contact.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>
|
||||||
|
@ -30,9 +30,14 @@ L'URL complète est de la forme:
|
|||||||
|
|
||||||
Il est nécessaire de disposer d'un compte utilisateur avec les droits adéquats.
|
Il est nécessaire de disposer d'un compte utilisateur avec les droits adéquats.
|
||||||
|
|
||||||
Les droits à accorder dépendent des fonctionnalités nécessaires. la permission `ScoView` est généralement suffisante car elle permet toutes les consultations.
|
Les droits à accorder dépendent des fonctionnalités nécessaires. la permission
|
||||||
Cependant si, par l'API, on veut effectuer des opérations de modification ou encore consulter les comptes utilisateurs, d'autres droits (`ScoChangeGroups`, `ScoUsersView`, `ScoSuperAdmin`, ...) peuvent être requis.
|
`ScoView` est généralement suffisante car elle permet toutes les consultations.
|
||||||
La consultation du [tableau récapitulatif](#tableau-recapitulatif-des-entrees-de-lapi) ou la ligne `permission`de chaque entrée vous donnera la permission requise pour chaque opération.
|
Cependant si, par l'API, on veut effectuer des opérations de modification ou
|
||||||
|
encore consulter les comptes utilisateurs, d'autres droits (`ScoChangeGroups`,
|
||||||
|
`ScoUsersView`, `ScoSuperAdmin`, ...) peuvent être requis. La consultation du
|
||||||
|
[tableau récapitulatif](#tableau-recapitulatif-des-entrees-de-lapi) ou la ligne
|
||||||
|
`permission`de chaque entrée vous donnera la permission requise pour chaque
|
||||||
|
opération.
|
||||||
|
|
||||||
En général, il est recommandé de créer un rôle, de lui attribuer les permissions
|
En général, il est recommandé de créer un rôle, de lui attribuer les permissions
|
||||||
que l'on veut utiliser, puis de créer un utilisateur ayant ce rôle.
|
que l'on veut utiliser, puis de créer un utilisateur ayant ce rôle.
|
||||||
@ -40,7 +45,7 @@ que l'on veut utiliser, puis de créer un utilisateur ayant ce rôle.
|
|||||||
En ligne de commande, cela peut se faire comme suit (voir détail des commandes
|
En ligne de commande, cela peut se faire comme suit (voir détail des commandes
|
||||||
[sur le guide de configuration](GuideConfig.md)).
|
[sur le guide de configuration](GuideConfig.md)).
|
||||||
|
|
||||||
```
|
```bash
|
||||||
# se connecter comme utilisateur scodoc
|
# se connecter comme utilisateur scodoc
|
||||||
su - scodoc
|
su - scodoc
|
||||||
|
|
||||||
@ -68,7 +73,7 @@ Si vous êtes intéressé par le développement, voir
|
|||||||
* [la section sur les tests unitaires de l'API](TestsScoDoc.md#tests-de-lapi-scodoc9);
|
* [la section sur les tests unitaires de l'API](TestsScoDoc.md#tests-de-lapi-scodoc9);
|
||||||
* [la documentation interne](Internals.md#vues-de-lapi-et-permissions).
|
* [la documentation interne](Internals.md#vues-de-lapi-et-permissions).
|
||||||
|
|
||||||
!!! note "Voir aussi"
|
!!! note
|
||||||
|
|
||||||
- Si vous utilisez le CAS, pensez à laisser les comptes utilisateurs API se
|
- Si vous utilisez le CAS, pensez à laisser les comptes utilisateurs API se
|
||||||
connecter via ScoDoc sans CAS. Pour cela, cocher l'option
|
connecter via ScoDoc sans CAS. Pour cela, cocher l'option
|
||||||
@ -143,8 +148,8 @@ L'API est accessible à l'adresse:
|
|||||||
`https://scodoc.monsite.tld/ScoDoc/api/<fonction>`, et aussi via les *routes
|
`https://scodoc.monsite.tld/ScoDoc/api/<fonction>`, et aussi via les *routes
|
||||||
départementales* de la forme
|
départementales* de la forme
|
||||||
`https://scodoc.monsite.tld/ScoDoc/<dept_acronyme>/api/<fonction>` pour un accès
|
`https://scodoc.monsite.tld/ScoDoc/<dept_acronyme>/api/<fonction>` pour un accès
|
||||||
avec des droits restreints au département indiqué. La liste des `<fonction>` est
|
avec des droits restreints au département indiqué. La liste des `<fonctions>` est
|
||||||
donnée dans [Référence](#reference).
|
donnée ci-dessous dans [Référence](#reference).
|
||||||
|
|
||||||
#### Authentification
|
#### Authentification
|
||||||
|
|
||||||
|
@ -58,6 +58,14 @@ peu différent de celui des tests unitaire: on test un *client* de l'API. Il fau
|
|||||||
donc un serveur, tournant sur la même machine ou sur une machine distante. Ce
|
donc un serveur, tournant sur la même machine ou sur une machine distante. Ce
|
||||||
serveur doit avoir été configuré avec des données de test.
|
serveur doit avoir été configuré avec des données de test.
|
||||||
|
|
||||||
|
### TL;DR
|
||||||
|
|
||||||
|
Si votre install de développement est bien configurée, il suffit de lancer
|
||||||
|
|
||||||
|
```bash
|
||||||
|
tools/test_api.sh
|
||||||
|
```
|
||||||
|
|
||||||
### Configuration du serveur pour tester l'API
|
### Configuration du serveur pour tester l'API
|
||||||
|
|
||||||
1. modifier `/opt/scodoc/.env` pour indiquer
|
1. modifier `/opt/scodoc/.env` pour indiquer
|
||||||
|
Loading…
Reference in New Issue
Block a user