Compare commits

...

10 Commits

5 changed files with 507 additions and 358 deletions

View File

@ -1,20 +1,24 @@
# Générer des bulletins en Python
# Génération des bulletins en Python
Il est possible de coder de nouveaux styles de bulletins de notes (web et/ou
PDF), pour répondre précisément aux besoins de votre établissement.
Informations internes à destination des développeurs.
Ce n'est pas très difficile, mais il faudra coder en langage Python avec pour le
PDF la bibliothèque ReportLab (qui est bien documentée, [voir le
guide](http://www.reportlab.com/software/opensource/rl-toolkit/guide/)).
## Types de bulletins
- Formations classiques
- HTML, court, intermédiaire, long
- XML (deprecated)
- JSON
- PDF
- Formations BUT
- JSON (utilisé par la version HTML)
- XML (partiel, deprecated)
- PDF
- "but court" HTML
- "but court" PDF
## Balises décisions de jury pour chaque type
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.
## Organisation
@ -193,7 +197,6 @@ Type | Nom | Description | Exemple de valeur
| decision | Décision du jury d'admission | 'ADMIS'
| description | Comment l'étudiant a été inscrit | '(creation individuelle)'
#### Inscription
Type | Nom | Description | Exemple de valeur
@ -221,6 +224,7 @@ Type | Nom | Description | Exemple de valeur
string | refcomp_specialite_long| spécialité | "Réseaux et Télécommunications"
### Résultats (notes) de l'étudiant dans le semestre
Quelques infos sur les résultats. Le détail des notes est dans la
liste `infos['ues']` et ses sous-listes imbriquées (modules, evaluation).

View File

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

View File

@ -17,11 +17,6 @@ L'avenir du logiciel dépend donc de vous: adhérez, ou incitez votre institutio
## Utilisation de ScoDoc
### Comment prendre en compte les notes de sport ou autres bonus/malus ?
Voir [la page dédiée](BonusMalus.md), ou bien pour les bonus sport
[le tutoriel vidéo par Cédric C.](https://www.youtube.com/watch?v=SVbjuDpq-lI&list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1&index=13).
### Qui peut voir les notes, et quand ?
Tous les collègues (enseignants et administratifs) pouvant accéder au
@ -38,26 +33,21 @@ affichage sur leur ENT en général, cet affichage pouvant être désactivé dep
ScoDoc pour un semestre particulier). A défaut, il faut leur envoyer leurs
bulletins par mail.
### Comment supprimer une évaluation ?
### Comment les étudiants peuvent-ils accéder aux résultats ?
1. Supprimer toutes les notes saisies dans cette évaluation, s'il y en a: passer
par la page "Saisie des notes" et suivre le lien "Effacer toutes les notes de
cette évaluation".
Les **étudiants n'ont pas accès à ScoDoc**, mais un composant "satellite",
installé séparément peut fournir à chacun ses résultats (bulletins de notes,
absences): il s'agit de [la passerelle développée par Sébastien Lehman](https://github.com/SebL68/Scodoc_Notes).
2. Lorsqu'il n'y a plus de notes, une croix rouge apparait sur le tableau de
bord du module: cliquer dessus pour supprimer l'évaluation.
### Comment signaler un problème ?
Nous vous remercions de nous signaler tous les problèmes que vous rencontrez:
erreurs, comportement bizarre ou malcommode. Nous ne promettons pas de les
régler rapidement, ni même plus tard: le logiciel est fourni sans aucune
garantie. Mais nous faisons de notre mieux: joindre le canal Discord
Assistance (voir [Contact](Contact.md))
### En IUT, comment gérer les licences professionnelles ?
* On peut créer un département regroupant les licences, ou bien rattacher
chaque licence à un département existant. Cette dernière solution est
préférable si des étudiants de DUT poursuivent en licence (ainsi, on a
automatiquement accès à leur parcours complet).
* La plupart des licences pro durent un an, mais sont gérées comme un seul
semestre (pas de jury à mi-parcours). Indiquer "*pas de semestre*" dans
l'option "*Semestre dans la formation*" (page "*modification du semestre*").
## La gestion des étudiants
### Comment gérer les étudiants les démissionnaires ?
@ -81,12 +71,84 @@ Ou bien au niveau de son inscription dans un semestre, via le menu *Scolarité*:
abandonne en tout début d'année (il ne sera alors pas compté dans les
inscrits).
## Les notes
### Comment prendre en compte les notes de sport ou autres bonus/malus ?
Voir [la page dédiée](BonusMalus.md), ou bien pour les bonus sport
[le tutoriel vidéo par Cédric C.](https://www.youtube.com/watch?v=SVbjuDpq-lI&list=PLw49h6RbvswhasBk9bXj7PzOD8GDW3kG1&index=13).
### Comment supprimer une évaluation ?
1. Supprimer toutes les notes saisies dans cette évaluation, s'il y en a: passer
par la page "Saisie des notes" et suivre le lien "Effacer toutes les notes de
cette évaluation".
2. Lorsqu'il n'y a plus de notes, une croix rouge apparait sur le tableau de
bord du module: cliquer dessus pour supprimer l'évaluation.
## Les formations
### Quelles formations peuvent être gérées par ScoDoc
Toutes les formations notées peuvent bénéficier de ScoDoc.
De nombreuses fonctions spécialisées sont consacrées au Bachelor Universitaire
de technologie et son approche par compétences (APC) particulière.
ScoDoc est utilisé pour de nombreuses licences professionnelles, masters,
formations d'ingénieurs.
### En IUT, comment gérer les licences professionnelles ?
* On peut créer un département regroupant les licences, ou bien rattacher
chaque licence à un département existant. Cette dernière solution est
préférable si des étudiants de DUT poursuivent en licence (ainsi, on a
automatiquement accès à leur parcours complet).
* La plupart des licences pro durent un an, mais sont gérées comme un seul
semestre (pas de jury à mi-parcours). Indiquer "*pas de semestre*" dans
l'option "*Semestre dans la formation*" (page "*modification du semestre*").
## Les jurys
### Les ECTS ne s'affichent pas
Les ECTS sont attribués (ou pas) au moment de la saisie de la décision de jury
sur les UEs. Avant le jury, l'étudiant n'a jamais d'ECTS, quelles que soient ses
notes.
### Comment identifier les ECTS ?
Les ECTS sont toujours liés aux Unités d'Enseignement (UE). Toute validation
d'UE apporte à l'étudiant son quota d'ECTS. Cette quantité est définie dans le
programme de la formation.
Les UEs peuvent être validées par le jury d'un semestre: le compte est affiché
sur une colonne à droite du tableau **Jury / Voir les décisions de jury**.
### L'étudiant n'est pas diplômé
Vérifiez qu'il a bien obtenu tous ces ECTS.
Si ce n'est pas le cas, vérifiez qu'il a bien validé toutes les UEs de son
parcours de formation (BUT), ou un nombre suffisant de celles ci.
### Comment voir toutes les validations de jury d'un étudiant ?
Dans certains cas, on souhaite vérifier tout le détail des validations de jury
enregistrées pour un étudiant. Pour cela, aller sur sa fiche et suivre le lien
*Éditer toutes décisions de jury*. Vous aurez le détail de tous les éléments
validés (UE, RCUEs du BUT, semestres des formations LMD, années du BUT, ...) et
pourrez même les supprimer une à une (si vous disposez des droits d'accès nécessaires.)
Voir aussi [guide du responsable de formation](GuideAdminFormation.md#jurys)
et [les jurys de BUT](BUTJurys.md).
## Administration système
### Mes données sont erronées, que faire ?
En cas de problème (bug, erreur de manipulation, suspicion de piratage),
@ -105,20 +167,6 @@ Les utilisateurs autorisés peuvent facilement voir:
Les administrateurs (informaticiens) peuvent aussi consulter les journaux (logs)
du serveur, voir ["où sont les journaux"](#ou-sont-les-journaux-logs).
### Comment signaler un problème ?
Nous vous remercions de nous signaler tous les problèmes que vous rencontrez:
erreurs, comportement bizarre ou malcommode. Nous ne promettons pas de les
régler rapidement, ni même plus tard: le logiciel est fourni sans aucune
garantie. Mais nous faisons de notre mieux:
* si vous êtes utilisateurs, écrire à
[notes@listes.univ-paris13.fr](mailto:notes@listes.univ-paris13.fr).
ou joindre le canal Discord Assistance.
* si vous êtes informaticien et voulez évoquer un problème technique
(développement, installation), écrire à
[scodoc-devel@listes.univ-paris13.fr](mailto:scodoc-devel@listes.univ-paris13.fr).
## Configuration

View File

@ -240,110 +240,150 @@ permet de rechercher une entrée à partir du résultat attendu.
</div>
</div>
(carte générée avec `flask gen-api-map -e "api."`)
### Tableau récapitulatif des entrées de l'API
Ce tableau est trié selon le type des informations renvoyées:
| Route | Méthode | Permission |
|---|---|---|
| [assiduite](#assiduite) | GET | ScoView |
| [assiduite_create](#assiduite-create) | POST | AbsChange |
| [assiduite_delete](#assiduite-delete) | POST | AbsChange |
| [assiduite_edit](#assiduite-edit) | POST | AbsChange |
| [assiduite_justificatifs](#assiduite-justificatifs) | GET | ScoView |
| [assiduites](#assiduites-query) | GET | ScoView |
| [assiduites_count](#assiduites-count-query) | GET | ScoView |
| [assiduites_create](#assiduites-create) | POST | AbsChange |
| [assiduites_edit](#assiduites-edit) | POST | AbsChange |
| [assiduites_evaluations](#assiduites-evaluations) | GET | ScoView |
| [assiduites_formsemestre](#assiduites-formsemestre-query) | GET | ScoView |
| [assiduites_formsemestre_count](#assiduites-formsemestre-count-query) | GET | ScoView |
| [assiduites_group](#assiduites-group-query) | GET | ScoView |
| [autorisation_inscription_delete](#autorisation-inscription-delete) | POST | EtudInscrit |
| [billets_absence_create](#billets-absence-create) | POST | Aucune permission requise |
| [billets_absence_delete](#billets-absence-delete) | POST | Aucune permission requise |
| [billets_absence_etudiant](#billets-absence-etudiant) | GET | Aucune permission requise |
| [bulletin](#bulletin) | GET | ScoView |
| [bulletins](#bulletins) | GET | ScoView |
| [decisions_jury](#decisions-jury) | GET | ScoView |
| [departement_by_acronym](#departement-by-acronym) | GET | ScoView |
| [departement_by_id](#departement-by-id) | GET | ScoView |
| [departement_create](#departement-create) | POST | ScoSuperAdmin |
| [departement_delete](#departement-delete) | POST | ScoSuperAdmin |
| [departement_edit](#departement-edit) | POST | ScoSuperAdmin |
| [departement_etudiants](#departement-etudiants) | GET | ScoView |
| [departement_etudiants_by_id](#departement-etudiants-by-id) | GET | ScoView |
| [departement_formsemestres_courants](#departement-formsemestres-courants-query) | GET | ScoView |
| [departement_formsemestres_ids](#departement-formsemestres-ids) | GET | ScoView |
| [departement_formsemestres_ids_by_id](#departement-formsemestres-ids-by-id) | GET | ScoView |
| [departements_ids](#departements-ids) | GET | ScoView |
| [departements_list](#departements-list) | GET | ScoView |
| [etudiant](#etudiant) | GET | ScoView |
| [etudiant_annotation](#etudiant-annotation) | POST | EtudInscrit |
| [etudiant_annotation_delete](#etudiant-annotation-delete) | POST | EtudInscrit |
| [etudiant_create](#etudiant-create) | POST | EtudInscrit |
| [etudiant_edit](#etudiant-edit) | POST | EtudInscrit |
| [etudiant_formsemestres](#etudiant-formsemestres) | GET | ScoView |
| [etudiant_get_photo_image](#etudiant-get-photo-image-query) | GET | ScoView |
| [etudiant_groups](#etudiant-groups) | GET | ScoView |
| [etudiants](#etudiants) | GET | ScoView |
| [etudiants_by_name](#etudiants-by-name) | GET | ScoView |
| [etudiants_courants](#etudiants-courants-query) | GET | ScoView |
| [evaluation_assiduites](#evaluation-assiduites) | GET | ScoView |
| [evaluation_create](#evaluation-create) | POST | EnsView |
| [evaluation_delete](#evaluation-delete) | POST | EnsView |
| [evaluation_notes](#evaluation-notes) | GET | ScoView |
| [evaluation_set_notes](#evaluation-set-notes) | POST | EnsView |
| [formation_by_id](#formation-by-id) | GET | ScoView |
| [formation_export_by_formation_id](#formation-export-by-formation-id) | GET | ScoView |
| [formation_module_edit](#formation-module-edit) | POST | EditFormation |
| [formation_module_get](#formation-module-get) | GET | ScoView |
| [formation_module_set_code_apogee](#formation-module-set-code-apogee) | POST | EditFormation |
| [formations](#formations) | GET | ScoView |
| [formations_ids](#formations-ids) | GET | ScoView |
| [formsemestre_edit](#formsemestre-edit) | POST | EditFormSemestre |
| [formsemestre_edt](#formsemestre-edt-query) | GET | ScoView |
| [formsemestre_etat_evaluations](#formsemestre-etat-evaluations) | GET | ScoView |
| [formsemestre_etudiants](#formsemestre-etudiants-query) | GET | ScoView |
| [formsemestre_infos](#formsemestre-infos) | GET | ScoView |
| [formsemestre_partitions](#formsemestre-partitions) | GET | ScoView |
| [formsemestre_programme](#formsemestre-programme) | GET | ScoView |
| [formsemestre_resultat](#formsemestre-resultat-query) | GET | ScoView |
| [formsemestre_set_apo_etapes](#formsemestre-set-apo-etapes) | POST | EditApogee |
| [formsemestre_set_elt_annee_apo](#formsemestre-set-elt-annee-apo) | POST | EditApogee |
| [formsemestre_set_elt_passage_apo](#formsemestre-set-elt-passage-apo) | POST | EditApogee |
| [formsemestre_set_elt_sem_apo](#formsemestre-set-elt-sem-apo) | POST | EditApogee |
| [formsemestre_set_partitions_order](#formsemestre-set-partitions-order) | POST | ScoView |
| [formsemestres_query](#formsemestres-query) | GET | ScoView |
| [group_create](#group-create) | POST | ScoView |
| [group_delete](#group-delete) | POST | ScoView |
| [group_edit](#group-edit) | POST | ScoView |
| [group_etudiants](#group-etudiants) | GET | ScoView |
| [group_etudiants_query](#group-etudiants-query) | GET | ScoView |
| [group_remove_etud](#group-remove-etud) | POST | ScoView |
| [group_set_edt_id](#group-set-edt-id) | POST | ScoView |
| [group_set_etudiant](#group-set-etudiant) | POST | ScoView |
| [groups_get_auto_assignment](#groups-get-auto-assignment) | GET | ScoView |
| [groups_save_auto_assignment](#groups-save-auto-assignment) | POST | ScoView |
| [justif_create](#justif-create) | POST | AbsChange |
| [justif_delete](#justif-delete) | POST | AbsChange |
| [justif_edit](#justif-edit) | POST | AbsChange |
| [justif_export](#justif-export) | POST | ScoView |
| [justif_import](#justif-import) | POST | AbsChange |
| [justif_justifies](#justif-justifies) | GET | AbsChange |
| [justif_list](#justif-list) | GET | ScoView |
| [justif_remove](#justif-remove) | POST | AbsChange |
| [justificatif](#justificatif) | GET | ScoView |
| [justificatifs](#justificatifs-query) | GET | ScoView |
| [justificatifs_dept](#justificatifs-dept-query) | GET | ScoView |
| [justificatifs_formsemestre](#justificatifs-formsemestre-query) | GET | ScoView |
| [logo_get_global](#logo-get-global) | GET | ScoSuperAdmin |
| [logo_get_local_by_acronym](#logo-get-local-by-acronym) | GET | ScoSuperAdmin |
| [logo_get_local_by_id](#logo-get-local-by-id) | GET | ScoSuperAdmin |
| [logo_get_local_dept_by_acronym](#logo-get-local-dept-by-acronym) | GET | ScoSuperAdmin |
| [logo_get_local_dept_by_id](#logo-get-local-dept-by-id) | GET | ScoSuperAdmin |
| [logo_list_globals](#logo-list-globals) | GET | ScoSuperAdmin |
| [moduleimpl_evaluations](#moduleimpl-evaluations) | GET | ScoView |
| [moduleimpl_inscriptions](#moduleimpl-inscriptions) | GET | ScoView |
| [moduleimpl_notes](#moduleimpl-notes) | GET | ScoView |
| [partition_create](#partition-create) | POST | ScoView |
| [partition_delete](#partition-delete) | POST | ScoView |
| [partition_edit](#partition-edit) | POST | ScoView |
| [partition_info](#partition-info) | GET | ScoView |
| [partition_order_groups](#partition-order-groups) | POST | ScoView |
| [partition_remove_etud](#partition-remove-etud) | POST | ScoView |
| [permissions_list](#permissions-list) | GET | UsersView |
| [referentiel_competences](#referentiel-competences) | GET | ScoView |
| [role_create](#role-create) | POST | ScoSuperAdmin |
| [role_delete](#role-delete) | POST | ScoSuperAdmin |
| [role_edit](#role-edit) | POST | ScoSuperAdmin |
| [role_get](#role-get) | GET | UsersView |
| [role_permission_add](#role-permission-add) | POST | ScoSuperAdmin |
| [role_permission_remove](#role-permission-remove) | POST | ScoSuperAdmin |
| [roles_list](#roles-list) | GET | UsersView |
| [token_get](#token-get) | POST | Aucune permission requise |
| [ue_assoc_niveau](#ue-assoc-niveau) | POST | EditFormation |
| [ue_desassoc_niveau](#ue-desassoc-niveau) | POST | EditFormation |
| [ue_edit](#ue-edit) | POST | EditFormation |
| [ue_set_code_apogee](#ue-set-code-apogee) | POST | EditFormation |
| [ue_set_code_apogee_rcue](#ue-set-code-apogee-rcue) | POST | EditFormation |
| [ue_set_parcours](#ue-set-parcours) | POST | EditFormation |
| [user_create](#user-create) | POST | UsersAdmin |
| [user_edit](#user-edit) | POST | UsersAdmin |
| [user_info](#user-info) | GET | UsersView |
| [user_password](#user-password) | POST | UsersAdmin |
| [user_role_add](#user-role-add) | POST | ScoSuperAdmin |
| [user_role_remove](#user-role-remove) | POST | ScoSuperAdmin |
| [users_info_query](#users-info-query) | GET | ScoView |
| [validation_annee_but_delete](#validation-annee-but-delete) | POST | EtudInscrit |
| [validation_dut120_delete](#validation-dut120-delete) | POST | EtudInscrit |
| [validation_formsemestre_delete](#validation-formsemestre-delete) | POST | ScoView |
| [validation_rcue_delete](#validation-rcue-delete) | POST | EtudInscrit |
| [validation_rcue_record](#validation-rcue-record) | POST | EtudInscrit |
| [validation_ue_delete](#validation-ue-delete) | POST | ScoView |
* un nom simple représente un seul objet de ce type;
* suivi de `+`désigne une forme 'longue' d'objet de ce type;
* suivi de `*` désigne une liste de 0, 1 ou plusieurs objets du type;
* suivi de `#` désigne une liste d'entiers (les ids des objets du type);
* suivi de `:` puis d'un nom en majuscule indique une requête (POST) qui modifie
les données de ScoDoc.
(table générée avec `flask gen-api-map -e "api."`)
| Retour | Remarque | Méthode | Navigation | Permission |
|:------------------------|:----------------------------------------|---------|---------------------------------------------------------------------------|---------------------|
| assiduite | une assiduité | GET | [assiduité](#assiduite) | ScoView |
| assiduite**`*`** | liste d'assiduités d'un étudiant | GET | [assiduités](#assiduites) | ScoView |
| assiduite**`*`** | liste d'assiduités d'un formsemestre | GET | [assiduités-formsemestre](#assiduites-formsemestre) | ScoView |
| assiduite**`#`** | liste d'id d'assiduités justifiées | GET | [justificatif-justifies](#justificatif-justifies) | ScoView |
| assiduite:CREATE | création d'assiduité | POST | [assiduite-create](#assiduite-create) | AbsChange |
| assiduite:EDIT | édition d'assiduité | POST | [assiduite-edit](#assiduite-edit) | AbsChange |
| assiduite:DELETE | suppression d'assiduité | POST | [assiduite-delete](#assiduite-delete) | AbsChange |
| justificatif | un justificatif | GET | [justificatif](#justificatif) | ScoView |
| justificatif**`*`** | liste de justificatif d'un étudiant | GET | [justificatifs](#justificatifs) | ScoView |
| justificatif:CREATE | création de justificatif | POST | [justificatif-create](#justificatif-create) | AbsChange |
| justificatif:EDIT | édition de justificatif | POST | [justificatif-edit](#justificatif-edit) | AbsChange |
| justificatif:DELETE | suppression de justificatif | POST | [justificatif-delete](#justificatif-delete) | AbsChange |
| justificatif:IMPORT | importation de fichier justificatif | POST | [justificatif-import](#justificatif-import) | AbsChange |
| justificatif:EXPORT | exportation de fichier justificatif | POST | [justificatif-export](#justificatif-export) | AbsChange |
| justificatif:REMOVE | suppression de fichier justificatif | POST | [justificatif-remove](#justificatif-remove) | AbsChange |
| departement**`*`** | tous les depts | GET | [departements](#departements) | |
| departement**`#`** | tous les ids des depts | GET | [departements-ids](#departements-ids) | ScoView |
| departement | recherche par id | GET | [departement](#departement) | ScoView |
| departement | recherche par acronyme | GET | [departement](#departement) | ScoView |
| departement:CREATE | création d'un département | POST | [departement-create](#departement-create) | ScoSuperAdmin |
| departement:EDIT | modification d'un département | POST | [departement-edit](#departement-edit) | ScoSuperAdmin |
| departement:DELETE | suppression d'un département | POST | [departement-delete](#departement-delete) | ScoSuperAdmin |
| evaluation | une évaluation | GET | [evaluation](#evaluation) | ScoView |
| evaluation:CREATE | création d'une évaluation | POST | [evaluation-create](#evaluation-create) | - |
| evaluation:DELETE | suppression d'une évaluation | POST | [evaluation-delete](#evaluation-delete) | - |
| formation**`*`** | toutes les formations accessibles | GET | [formations](#formations) | ScoView |
| formation**`#`** | ids des formations accessibles | GET | [formations-ids](#formations-ids) | ScoView |
| formation | une formation | GET | [formation](#formation) | ScoView |
| export | | GET | [formation-export](#formation-export) | ScoView |
| export**`+`** | | GET | [formation-export_with_ids](#formation-export_with_ids) | ScoView |
| referentiel_competences | | GET | [formation-referenciel_competences](#formation-referenciel_competences) | ScoView |
| formsemestre**`#`** | | GET | [departement-formsemestres_ids](#departement-formsemestres_ids) | ScoView |
| formsemestre**`*`** | | GET | [departement-formsemestres_courants](#departement-formsemestres_courants) | ScoView |
| formsemestre**`*`** | | GET | [formsemestre-query](#formsemestre-query) | ScoView |
| formsemestre:EDIT | | POST | [formsemestre-edit](#formsemestre-edit) | EditFormSemestre |
| formsemestre**`*`** | | GET | [etudiant-formsemestres](#etudiant-formsemestres) | ScoView |
| formsemestre | | GET | [formsemestre](#formsemestre) | ScoView |
| moduleimpl | | GET | [moduleimpl](#moduleimpl) | ScoView |
| moduleimpl-inscriptions | | GET | [moduleimpl](#moduleimpl-inscriptions) | ScoView |
| partition**`*`** | | GET | [formsemestre-partitions](#formsemestre-partitions) | ScoView |
| partition | | GET | [partition](#partition) | ScoView |
| partition:CREATE | | POST | [formsemestre-partition-create](#formsemestre-partition-create) | EtudChangeGroups |
| partition:EDIT | | POST | [partition-edit](#partition-edit) | EtudChangeGroups |
| partition:ACTION | | POST | [formsemestre-partitions-order](#formsemestre-partitions-order) | EtudChangeGroups |
| partition:DELETE | | POST | [partition-delete](#partition-delete) | EtudChangeGroups |
| partition:ACTION | | POST | [partition-remove_etudiant](#partition-remove_etudiant) | EtudChangeGroups |
| group:CREATE | | POST | [partition-group-create](#partition-group-create) | EtudChangeGroups |
| group:EDIT | | POST | [group-edit](#group-edit) | EtudChangeGroups |
| group:ACTION | | POST | [partition-groups-order](#partition-groups-order) | EtudChangeGroups |
| group:DELETE | | POST | [group-delete](#group-delete) | EtudChangeGroups |
| group* | | GET | [etudiant-formsemestre-groups](#etudiant-formsemestre-groups) | ScoView |
| group:ACTION | | POST | [group-set_etudiant](#group-set_etudiant) | EtudChangeGroups |
| group:ACTION | | POST | [group-remove_etudiant](#group-remove_etudiant) | EtudChangeGroups |
| etudiant**`*`** | recherche par etudid, nip ou ine | GET | [etudiants-clef](#etudiants-clef) | ScoView |
| etudiant**`*`** | les étudiants actuels | GET | [etudiants-courant](#etudiants-courant) | ScoView |
| etudiant**`*`** | étudiants dont le nom commence par | GET | [etudiants-name](#etudiants-name) | ScoView |
| etudiant**`*`** | | GET | [departement-etudiants](#departement-etudiants) | ScoView |
| etudiant**`*`** | | GET | [formsemestre-etudiants](#formsemestre-etudiants) | ScoView |
| etudiant**`*`** | | GET | [formsemestre-etudiants-query](#formsemestre-etudiants-query) | ScoView |
| etudiant**`*`** | | GET | [group-etudiants-query](#group-etudiants) | ScoView |
| etudiant**`*`** | | GET | [group-etudiants-query](#group-etudiants-query) |
| etudiant | | GET | [etudiant](#etudiant) | ScoView |
| etudiant:CREATE | | GET | [etudiant-create](#etudiant-create) | EtudInscrit |
| etudiant:EDIT | | GET | [etudiant-edit](#etudiant-edit) | EtudInscrit |
| bulletin**`*`** | | GET | [formsemestre-bulletin](#formsemestre-bulletin) | ScoView |
| bulletin | | GET | [etudiant-formsemestre-bulletin](#etudiant-formsemestre-bulletin) | ScoView |
| programme | | GET | [formsemestre-programme](#formsemestre-programme) | ScoView |
| | | GET | [formsemestre-etat_evals](#formsemestre-etat_evals) | ScoView |
| | | GET | [formsemestre-resultats](#formsemestre-resultats) | ScoView |
| jury | | GET | [formsemestre-decisions_jury](#formsemestre-decisions_jury) | ScoView |
| note* | | GET | [evaluation-notes](#evaluation-notes) | ScoView |
| | | GET | [evaluation-notes-set](#evaluation-notes-set) | (contextuelle) |
| logo**`*`** | | GET | [logos](#logos) | ScoSuperAdmin |
| logo**`*`** | | GET | [departement-logos](#departement-logos) | ScoSuperAdmin |
| logo | | GET | [logo](#logo) | ScoSuperAdmin |
| logo | | GET | [departement-logo](#departement-logo) | ScoSuperAdmin |
| user | | GET | [user](#user) | UsersView |
| user**`*`** | | GET | [users-query](#users-query) | UsersView |
| user:CREATE | | POST | [user-create](#user-create) | UsersAdmin |
| user:EDIT | | POST | [user-edit](#user-edit) | UsersAdmin |
| user:PASSWORD | change le mot de passe d'un utilisateur | POST | [user-password](#user-password) | UsersAdmin |
| user:ACTION | | POST | [user-role-add](#user-role-add) | UsersAdmin |
| user:ACTION | | POST | [user-role-remove](#user-role-remove) | UsersAdmin |
| permission**`*`** | | GET | [permissions](#permissions) | UsersView |
| role**`*`** | | GET | [roles](#roles) | UsersView |
| role**`*`** | | GET | [role](#role) | UsersView |
| role:ACTION | | POST | [role-add_permission](#role-add_permission) | UsersAdmin |
| role:ACTION | | POST | [role-remove_permission](#role-remove_permission) | UsersAdmin |
| role:CREATE | | POST | [role-create](#role-create) | UsersAdmin |
| role:EDIT | | POST | [role-edit](#role-edit) | UsersAdmin |
| role:DELETE | | POST | [role-delete](#role-delete) | UsersAdmin |
#### Note sur les exemples d'utilisation
@ -838,6 +878,63 @@ Note: les poids ne sont utilisés que dans les formations APC (BUT).
* **Résultat:** Description de la formation.
* **Exemple de résultat:** [formation.json](samples/sample_formation.json.md)
#### **`module-edit`**
* **Méthode:** POST
* **Permission: `EditFormation`**
* **Paramètres:** `module_id`
* **Data:**
```json
{
"titre" : str,
"abbrev" : str,
"code"
"heures_cours" : float,
"heures_td" : float,
"heures_tp" : float,
"coefficient" : float,
"ects" : float,
"matiere_id" : int, // must be in same UE
"semestre_id" : int, // le rang du semestre (S1, ...)
"numero" : int, // ordre d'affichage
"code_apogee" : str,
"edt_id" : str,
"module_type" : int, // 0 std, 1 malus, 2 ressource, 3 SAÉ
"parcours" : [ id de parcours ],
}
```
* **Routes:** `/formation/module/<int:module_id>/edit`
* **Résultat:** le module modifié.
#### **`ue-edit`**
* **Méthode:** POST
* **Permission: `EditFormation`**
* **Paramètres:** `ue_id`
* **Data:**
```json
{
"acronyme" : str,
"numero" : int, // ordre d'affichage
"titre" : str,
"semestre_idx" : int, // le rang du semestre (S1, ...)
"type": int, // 0 std, 1 bonus sport, 2 projet&stage (old LP)
"ue_code" : str,
"ects" : float,
"is_external" : bool, // true pour externes
"code_apogee" : str,
"code_apogee_rcue" : str,
"coef_rcue" : float,
"coefficient" : float, // si option use_ue_coefs
"ects" : float,
"matiere_id" : int, // must be in same UE
}
```
* **Routes:** `/formation/ue/<int:ue_id>/edit`
* **Résultat:** l'UE modifiée.
### **API Formsemestre**
Les sessions de formation (qu'elles durent une année ou un mois) sont représentées par les `formsemestre`.
@ -1282,7 +1379,7 @@ utilisateur pourra être associé à un ou plusieurs rôles dans chaque départe
(ainsi, il ou elle peut enseigner dans un département et être administrateur
d'un autre).
#### **roles**
#### **list-roles**
* **Méthode:** GET
* **Permission: `UsersView`**
@ -1291,7 +1388,7 @@ d'un autre).
* **Résultat:** Liste de tous les rôles.
* **Exemple de résultat:** [roles.json](samples/sample_roles.json.md)
#### **role**
#### **list-role**
* **Méthode:** GET
* **Permission: `UsersView`**
@ -1300,7 +1397,7 @@ d'un autre).
* **Résultat:** Liste le rôle indiqué. 404 si inexistant.
* **Exemple de résultat:** [role.json](samples/sample_role.json.md)
#### **role-add_permission**
#### **role-permission-add**
* **Méthode: POST**
* **Permission: `ScoSuperAdmin`**
@ -1310,7 +1407,7 @@ d'un autre).
Note: la liste des permissions est donnée sur [ConfigPermissions](ConfigPermissions.md).
* **Exemple de résultat:** [role-add_permission.json](samples/sample_role-add_permission.json.md)
#### **role-remove_permission**
#### **role-permission-remove**
* **Méthode: POST**
* **Permission: `ScoSuperAdmin`**
@ -1357,7 +1454,7 @@ d'un autre).
### **API User, Permissions**
#### **user**
#### **user-info**
* **Méthode:** GET
* **Permission: `UsersView`**
@ -1389,7 +1486,7 @@ d'un autre).
si est "super-administrateur".
* **Exemple de résultat:** [user-create.json](samples/sample_user-create.json.md)
#### **`users-query`**
#### **`users-info-query`**
* **Méthode:** GET
* **Permission: `UsersView`**
@ -1462,7 +1559,7 @@ d'un autre).
* **Résultat:** Retire le rôle à l'utilisateur.
* **Exemple de résultat:** [user-role-remove.json](samples/sample_user-role-remove.json.md)
#### **`permissions`**
#### **`list-permissions`**
* **Méthode:** GET
* **Permission: `UsersView`**

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 872 KiB

After

Width:  |  Height:  |  Size: 440 KiB