Merge branch 'master' into modif
This commit is contained in:
commit
54863f24ad
@ -1,3 +1,22 @@
|
||||
# Les jurys de BUT
|
||||
|
||||
Page à rédiger.
|
||||
!!! warning Travaux en cours
|
||||
Cette page est en cours de rédaction.
|
||||
|
||||
Le Bachelor Universitaire de Technologie (BUT) institue des règles de
|
||||
progression et de validation spécifiques dont ScoDoc tient compte.
|
||||
|
||||
## Décisions de jury en BUT
|
||||
|
||||
*décrire sur quoi portent les décisions (UE, )
|
||||
|
||||
Voir détail des codes [Codes de jurys BUT](BUTCodesJury.md).
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Récapitulatif des opérations en fin de semestre](TransitionSemestre.md)
|
||||
- [Codes de jurys BUT](BUTCodesJury.md)
|
||||
- [Calculs spécifiques en BUT](BUT.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
@ -37,6 +37,6 @@ réglées via via la page **Paramétrage** de chaque département:
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- Configuration système: [Envoi des courriers électroniques](ProblemesMail.md)
|
||||
- Installation, flux réseaux et configuration: [Guide d'installation](GuideInstallDebian11.md)
|
||||
- Installation, flux réseaux et configuration: [Guide d'installation](GuideInstallDebian12.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
||||
|
@ -13,8 +13,8 @@ aussi bien l'affaire).
|
||||
### Conseils pour la machine virtuelle
|
||||
|
||||
[VirtualBox](https://www.virtualbox.org/) est facile à installer sur Linux ou
|
||||
Windows. Créer une VM avec Debian 10, et suivre la
|
||||
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian11.md).
|
||||
Windows. Créer une VM avec Debian 12, et suivre la
|
||||
[procédure habituelle d'installation de ScoDoc](GuideInstallDebian12.md).
|
||||
|
||||
Sur les Macs anciens (processeurs Intel), VirtualBox fonctionne bien. Sur les
|
||||
modèles "M1" (Apple Silicon), je conseille d'utiliser
|
||||
@ -91,7 +91,7 @@ type `sshfs`peut aussi faire l'affaire).
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
|
@ -33,7 +33,7 @@ permet d'indiquer le semestre et l'étudiant à regarder.
|
||||
|
||||
Vous trouverez les sources du projet, les tickets (*issues*) et autres outils sur
|
||||
|
||||
* [gitea](https://scodoc.org/git/)
|
||||
* [gitea](https://git.scodoc.org)
|
||||
|
||||
Vous pouvez demander un compte sur cette plate-forme pour ajouter des tickets,
|
||||
proposer votre code (*pull requests*).
|
||||
|
@ -7,7 +7,7 @@ collègues, ou en développant ou testant le logiciel.
|
||||
|
||||
Les canaux de communication entre développeurs sont
|
||||
[indiqués sur cette page](Contact.md). Vous pouvez demander un compte sur le [git du
|
||||
projet](https://scodoc.org/git), consulter/ajouter des tickets, proposer votre
|
||||
projet](https://git.scodoc.org), consulter/ajouter des tickets, proposer votre
|
||||
code (*pull requests*).
|
||||
|
||||
## Contribuer à la documentation
|
||||
@ -21,11 +21,11 @@ La documentation est constituée de deux parties:
|
||||
- Les pages Web comme celle que vous lisez actuellement. La documentation est
|
||||
générée via `MkDocs`, un système très simple basé sur le format
|
||||
[Markdown](https://www.markdownguide.org/basic-syntax/). Toutes les sources
|
||||
sont sur le [dépôt git DocScoDoc](https://scodoc.org/git/viennet/DocScoDoc).
|
||||
sont sur le [dépôt git DocScoDoc](https://git.scodoc.org/viennet/DocScoDoc).
|
||||
|
||||
## Contribuer au logiciel
|
||||
|
||||
Le [dépôt principal](https://scodoc.org/git/viennet/ScoDoc) comporte plusieurs
|
||||
Le [dépôt principal](https://git.scodoc.org/viennet/ScoDoc) comporte plusieurs
|
||||
branches. Voir le [guide pour les développeurs](GuideDeveloppeurs.md).
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Utilisation de git pour ScoDoc
|
||||
|
||||
Le dépôt est <https://scodoc.org/git/viennet/ScoDoc>
|
||||
Le dépôt est <https://git.scodoc.org/viennet/ScoDoc>
|
||||
|
||||
La branche `master` est celle de ScoDoc 9, d'où sont issues les paquets
|
||||
distribués (*releases*). Les développements ont lieu sur d'autres branches
|
||||
@ -48,7 +48,7 @@ mises à jour de `master` (remote), faire:
|
||||
Vous travaillez sur un clone du dépôt principal ("origin"), obtenu par exemple via
|
||||
|
||||
```bash
|
||||
git clone https://scodoc.org/git/ScoDoc/ScoDoc.git
|
||||
git clone https://git.scodoc.org/ScoDoc/ScoDoc.git
|
||||
```
|
||||
|
||||
remplacer par l'URL de votre dépôt sur gitea au besoin. Si vous avez votre
|
||||
@ -57,12 +57,12 @@ nommé `mon_origin`), l'autre pour le dépôt principal ScoDoc (ici nommé
|
||||
`origin`).
|
||||
|
||||
```bash
|
||||
git remote add origin https://scodoc.org/git/viennet/ScoDoc.git
|
||||
git remote add origin https://git.scodoc.org/viennet/ScoDoc.git
|
||||
git remote -v
|
||||
mon_origin https://xxx.xxx (fetch)
|
||||
mon_origin https://xxx.xxx (push)
|
||||
origin https://scodoc.org/git/viennet/ScoDoc.git (fetch)
|
||||
origin https://scodoc.org/git/viennet/ScoDoc.git (push)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (fetch)
|
||||
origin https://git.scodoc.org/viennet/ScoDoc.git (push)
|
||||
```
|
||||
|
||||
Ensuite, tout est prêt, vous créez votre branche:
|
||||
@ -154,14 +154,14 @@ la mise en place, le suivi et la livraison.
|
||||
#### L'installation
|
||||
|
||||
Il est pratique d'avoir en ligne les deux dépôts git distants que vous pouvez
|
||||
utiliser : votre dépôt personnel (`https://scodoc.org/git/<user>/<dépôt>.git`) et
|
||||
le dépôt officiel (`https://scodoc.org/git/ScoDoc/ScoDoc.git`).
|
||||
utiliser : votre dépôt personnel (`https://git.scodoc.org/<user>/<dépôt>.git`) et
|
||||
le dépôt officiel (`https://git.scodoc.org/ScoDoc/ScoDoc.git`).
|
||||
|
||||
pour ajouter une référence (et lui donner un nom) vers un dépôt distant, entrez
|
||||
la commande:
|
||||
|
||||
```bash
|
||||
git remote add nom_remote https://scodoc.org/git/ScoDoc/<dépôt>.git
|
||||
git remote add nom_remote https://git.scodoc.org/ScoDoc/<dépôt>.git
|
||||
```
|
||||
|
||||
Par la suite vous aurez donc une référence vers votre dépôt personnel (`perso`)
|
||||
@ -384,7 +384,7 @@ soit refusé (car le rebase a modifié des commits qui avaient déjà été pous
|
||||
Dans ce cas l'option `--force` du push vous permette de passer outre, mais
|
||||
assurez-vous avant d'être le seul à travailler sur cette branche.
|
||||
|
||||
#### Etape 5 : La dernière étape se passe sur le site [scodoc.org/git](https://scodoc.org/git/)
|
||||
#### Etape 5 : La dernière étape se passe sur le site [git.scodoc.org](https://git.scodoc.org/)
|
||||
|
||||
- Identifiez-vous
|
||||
|
||||
|
@ -132,7 +132,7 @@ http GET http://localhost:5000/ScoDoc/api/formsemestres/query "Authorization:Bea
|
||||
### Côté programmation serveur
|
||||
|
||||
Reprenons le même exemple (voir `app/api/formsemestres.py`` ligne 91,
|
||||
<https://scodoc.org/git/ScoDoc/ScoDoc/src/branch/master/app/api/formsemestres.py#L91>):
|
||||
<https://git.scodoc.org/ScoDoc/ScoDoc/src/branch/master/app/api/formsemestres.py#L91>):
|
||||
|
||||
```py
|
||||
@bp.route("/formsemestres/query")
|
||||
|
@ -19,9 +19,27 @@ qui peuvent être négatives).
|
||||
compte dans les moyennes même si l'évaluation n'est pas affichée.
|
||||
- **Prise en compte immédiate**: si coché, les notes saisies dans l'évaluation
|
||||
seront prises en compte dans le calcul des moyennes avant même que les notes
|
||||
de tous les étudiants ne soit saisies. Ce réglage peut-être dangereux car les
|
||||
notes sont montrées aux étudiants avant qu'elles soient définitives et devrait
|
||||
rester réservé à des cas particuliers.
|
||||
de tous les étudiants ne soit saisies. Ne pas utiliser pour les évaluations de
|
||||
rattrapage ou de deuxième session (qui sont prises en compte quand elles
|
||||
existent).
|
||||
|
||||
### Pourquoi éviter d'utiliser "prise en compte immédiate" ?
|
||||
|
||||
Il est tentant de positionner toutes les évaluations en "*prise en compte
|
||||
immédiate*", parce que cela permet de communiquer leurs résultats aux étudiants
|
||||
sans attendre. Ce n'est pourtant pas une bonne idée, car:
|
||||
|
||||
- cela complique l'harmonisation: si on a plusieurs correcteurs, et que le second
|
||||
se rend compte d'une erreur de barème, il sera trop tard pour corriger sans
|
||||
informer les étudiants;
|
||||
- cela augmente le risque d'oubli ou de négligence (tout devrait être fait pour
|
||||
que les collègues corrigent et saisissent leurs notes rapidement);
|
||||
- en note manquante dans une évaluation "immédiate" est considérée comme "en
|
||||
attente": cela bloque la tenue du jury pour ces étudiants.
|
||||
|
||||
Ce réglage peut-être être contre-productif, voire nuisible si les notes sont
|
||||
montrées aux étudiants avant qu'elles soient définitives: il devrait rester
|
||||
réservé à des cas particuliers.
|
||||
|
||||
## Coefficient et poids
|
||||
|
||||
@ -45,12 +63,13 @@ l'évaluation est dite *en attente*. Elle est prise en compte.
|
||||
## Modalité d'une évaluation
|
||||
|
||||
- **Normale**: produit une note utilisée dans le calcul des moyennes du module.
|
||||
- **Rattrapage**: la note d'une évaluation de "rattrapage" remplacera la moyenne
|
||||
du module de l'étudiant *si et seulement si elle est meilleures que celles
|
||||
calculées*.
|
||||
- **Deuxième session**: la note remplace, lorsqu'elle est saisie, la moyenne de
|
||||
l'étudiant à ce module, même si sa note de deuxième session est plus faible
|
||||
que sa moyenne normale.
|
||||
- **Rattrapage**: la note d'une évaluation de "rattrapage" remplacera la moyenne
|
||||
du module de l'étudiant *si et seulement si elle est meilleure que celles
|
||||
calculées*. S'il y a des évaluations de deuxième session, celles de
|
||||
rattrapage sont ignorées.
|
||||
- **Bonus**: la valeur est ajoutée à la moyenne du module, voir détail ci-dessous.
|
||||
|
||||
### Évaluations de "bonus"
|
||||
@ -59,15 +78,23 @@ Les évaluations bonus sont particulières:
|
||||
|
||||
- la valeur est ajoutée à la moyenne du module;
|
||||
- le bonus peut être négatif (malus);
|
||||
- le bonus ne s'applique pas aux notes de rattrapage et deuxième session;
|
||||
- le bonus s'applique après utilisation des notes de rattrapage ou de deuxième session;
|
||||
- le coefficient est ignoré, mais en BUT le bonus vers une UE est multiplié par le poids correspondant (par défaut égal à 1);
|
||||
- les notes de bonus sont prises en compte même si incomplètes.
|
||||
|
||||
Note 1: la conformité des évaluations au programme (coefficients vers les UEs) ne
|
||||
prend pas en compte les évaluations bonus.
|
||||
|
||||
## Bloquage et date de prise en compte
|
||||
|
||||
Ceci permet d'empêcher la prise en compte (et éventuellement la publication) de
|
||||
l'évaluation, même si ses notes sont complètes, ou bien de la différer jusqu'à
|
||||
la date indiquée.
|
||||
la date indiquée. Cette fonctionnalité peut être utilisée
|
||||
|
||||
- temporairement pour ne pas communiquer trop tôt un résultat aux étudiants (on
|
||||
peut alors programmer la date de déblocage);
|
||||
- définitivement parce qu'on décide de ne pas tenir compte d'une évaluation,
|
||||
mais de garder ses résultats saisis.
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
ScoDoc a été conçu et développé par Emmanuel Viennet, puis complété par
|
||||
plusieurs contributeurs, enseignants ou BIATSS dans les IUT et universités. Son
|
||||
développement est toujours actif, voir le dépôt git <https://scodoc.org/git>.
|
||||
développement est toujours actif, voir la plateforme gitea <https://git.scodoc.org>.
|
||||
|
||||
En 2020, une association a été créée pour soutenir et pérenniser le projet: par
|
||||
exemple pour acquérir services et équipements pour le développement
|
||||
@ -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 ([GuideInstallDebian11](GuideInstallDebian11.md))
|
||||
Le script d'installation ([GuideInstallDebian12](GuideInstallDebian12.md))
|
||||
assure l'installation de tout les éléments nécessaires au bon fonctionnement de
|
||||
ScoDoc.
|
||||
|
||||
|
@ -54,11 +54,24 @@ Pour éviter d'inonder les utilisateurs de messages, plusieurs paramètres sont
|
||||
de notification (comptées en demi-journées);
|
||||
* seuil notifications suivantes: une notifications toutes les *N* absences,
|
||||
après le premier seuil;
|
||||
* message notification e-mail (template modifiable).
|
||||
* message notification e-mail (template modifiable, voir ci-dessous).
|
||||
|
||||
Ces paramètres peuvent être spécifiés globalement ou par semestre (comme pour la
|
||||
plupart des paramètres ScoDoc, voir [PreferencesScoDoc](PreferencesScoDoc.md)).
|
||||
|
||||
### Contenu du mail de notification
|
||||
|
||||
Le contenu du mail de notification envoyé est défini par la préférence *Message
|
||||
notification e-mail*, qui peut contenir des balises remplacées, suivant
|
||||
l'ancienne syntaxe python `%(nom-balise)s`.
|
||||
|
||||
- `nbabs`: nombre d'absences
|
||||
- `nbabsjust`: nombre d'absences justifiées
|
||||
- `nbabsnonjust`: nombre d'absences non justifiées
|
||||
- `url_ficheetud`: URL de la fiche de l'étudiant (accessible seulement avec authentification)
|
||||
- `titre_mois`: titre et dates du semestre concerné (ex: "BUT R&T semestre 1 FI (Sept 2022 - Jan 2023)")
|
||||
|
||||
|
||||
*Absences aux évaluations*: lorsqu'une absence concerne potentiellement une
|
||||
évaluation, le responsable du module concerné peut être prévenu. Limitations: la
|
||||
résolution temporelle de l'absence est la demi-journée, une évaluation peut être
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Guide pour les administrateurs système de ScoDoc
|
||||
|
||||
ScoDoc 9 est prévu pour fonctionner sur un serveur **Linux Debian 11 (Bullseye)**.
|
||||
ScoDoc 9 est prévu pour fonctionner sur un serveur **Linux Debian 12 (Bookworm)**.
|
||||
L'installation sur tout autre système n'est **pas supportée**.
|
||||
Utilisez un **serveur virtuel** ou un container Docker si vous n'avez pas de machine Debian dédiée.
|
||||
|
||||
## Installation
|
||||
|
||||
* Installation de ScoDoc: [GuideInstallDebian11](GuideInstallDebian11.md)
|
||||
* Installation de ScoDoc: [GuideInstallDebian12](GuideInstallDebian12.md)
|
||||
|
||||
* Migration d'un serveur ScoDoc 7 vers la nouvelle version Scodoc 9: [MigrationScoDoc7a9](MigrationScoDoc7a9.md)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Prise en main et paramétrage de ScoDoc 9
|
||||
|
||||
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans
|
||||
[GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
[GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
## Administration en ligne de commande
|
||||
|
||||
@ -353,7 +353,7 @@ département, qui à son tour peut déléguer des droits.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Rôles et permissions](ConfigPermissionsDept.md)
|
||||
- [Configuration des envois d'emails](ConfigEmail.md)
|
||||
|
@ -4,7 +4,7 @@ Informations pour les développeurs souhaitant étendre ou modifier ScoDoc.
|
||||
|
||||
Pour le développement de logiciels externes, [utiliser l'API](ScoDoc9API.md).
|
||||
|
||||
Accès à la [plate-forme Gitea](https://scodoc.org/git).
|
||||
Accès à la [plate-forme Gitea](https://git.scodoc.org).
|
||||
|
||||
## Informations générales
|
||||
|
||||
@ -146,14 +146,14 @@ Note: la mise à jour par `apt` recrée le virtualenv à chaque fois.
|
||||
|
||||
## Roadmap
|
||||
|
||||
* [voir les tickets](https://scodoc.org/git/viennet/ScoDoc/issues)
|
||||
* [voir les tickets](https://git.scodoc.org/viennet/ScoDoc/issues)
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Conventions de codage](DevConventions.md)
|
||||
- [API ScoDoc 9](ScoDoc9API.md)
|
||||
- [Guide installation](GuideInstallDebian11.md)
|
||||
- [Guide installation](GuideInstallDebian12.md)
|
||||
- [Gestion des utilisateurs](AdminUsers.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
|
@ -1,6 +1,11 @@
|
||||
|
||||
# Installation de ScoDoc 9 sur Debian 11 (Bullseye)
|
||||
|
||||
|
||||
!!! warning "Nouvelle version"
|
||||
La version actuelle de Linux est Debian 12:
|
||||
[voir le guide d'installation à jour](GuideInstallDebian12.md)
|
||||
|
||||
Ce document décrit la procédure d'installation et de configuration de ScoDoc 9.
|
||||
Cette procédure doit être effectué sur la machine serveur avec un accès
|
||||
administrateur (root).
|
||||
|
@ -17,7 +17,7 @@ donc installer et configurer ScoDoc avec des connaissances réduites sur le
|
||||
système Linux.
|
||||
|
||||
Cette documentation est prévue pour installer ScoDoc version 9 sur un système
|
||||
[Debian](http://www.debian.org) 12 (Bullseye, stable) s'exécutant sur une
|
||||
[Debian](http://www.debian.org) 12 (Bookworm, stable) s'exécutant sur une
|
||||
machine intel-like **64bits** (architecture **AMD64** sur Intel/AMD, ou
|
||||
**aarch64** sur Apple ARM). Debian s'installe facilement en cinq minutes, sur
|
||||
une machine normale ou un serveur virtualisé. Il est **vivement déconseillé** de
|
||||
@ -38,7 +38,7 @@ VirtualBox ou VMWare, ou UTM sur Mac). L'installation de ScoDoc va en effet
|
||||
modifier de nombreux paramètres de votre système Linux (serveur web, firewall,
|
||||
serveur SQL, messagerie, ...).
|
||||
|
||||
## 1) Préalable: configurer un serveur linux
|
||||
## 1) Préalable: configurer un serveur Linux
|
||||
|
||||
Le serveur devrait être accessible depuis Internet.
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
# Utilisation de ScoDoc
|
||||
|
||||
Les [principaux objets de ScoDoc](IntroObjetsScoDoc.md) sont présentés sur
|
||||
[cette page](IntroObjetsScoDoc.md).
|
||||
|
||||
ScoDoc contrôle les opérations via un mécanisme de permissions facile à mettre
|
||||
en œuvre et permettant de bien répartir les rôles entre les utilisateurs:
|
||||
responsables, enseignants, secrétariats.
|
||||
|
@ -25,7 +25,7 @@ une action de formation continue d'une semaine que d'une formation sur un an.
|
||||
Saisie des dates de début et fin d'un semestre:
|
||||
![sco-dates-semestre.png](screens/sco-dates-semestre.png)
|
||||
|
||||
Les semestre a un ou plusieurs (co)responsables, utilisateurs ayant des droits
|
||||
Chaque semestre a un ou plusieurs (co)responsables, utilisateurs ayant des droits
|
||||
particuliers, dont ceux de modifier la liste des modules d'enseignement à
|
||||
suivre, de nommer les enseignants, etc. Les responsables de semestres sont
|
||||
souvent appelés *directeurs ou directrices des études*.
|
||||
@ -103,7 +103,7 @@ Exemple: extrait de la fiche d'un étudiant
|
||||
|
||||
Les étudiants d'un semestre peuvent être répartis dans des groupes.
|
||||
|
||||
Chaque *partition* d'un semestre défini un ensemble de groupes: par exemple, les
|
||||
Chaque *partition* d'un semestre défini un ensemble de groupes: par exemple,
|
||||
la partition des groupes de TD, ou la partition des projets tuteurés.
|
||||
|
||||
On peut à tout moment créer une partition, y créer des groupes, y placer ou
|
||||
|
@ -22,14 +22,14 @@ Le principe est donc:
|
||||
3. Copier les données d'un serveur à l'autre (scripts fournis);
|
||||
4. Tester, puis le cas échéant couper l'ancien serveur et le remplacer par le nouveau.
|
||||
|
||||
## Marche à suivre détaillée
|
||||
|
||||
## Marche à suivre détaillée
|
||||
### Installation de Debian et ScoDoc
|
||||
Voir les instructions ici: [GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
### Installation de Debian et ScoDoc
|
||||
|
||||
Voir les instructions ici: [GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
### Copie des données d'un serveur à l'autre
|
||||
|
||||
### Copie des données d'un serveur à l'autre
|
||||
Il est important de suivre rigoureusement et pas à pas cette procédure:
|
||||
|
||||
1. S'assurer que le serveur de départ est à jour (pour avoir le bon script de sauvegarde!): voir [MisesAJour](MisesAJour.md)
|
||||
|
@ -11,7 +11,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;
|
||||
1. installer le nouveau serveur Linux Debian et ScoDoc 9;
|
||||
|
||||
2. sauvegarder les données de ScoDoc7 depuis le serveur de production **et l'arrêter**;
|
||||
|
||||
@ -23,9 +23,9 @@ Si vous venez d'installer ScoDoc 9, passez directement à l'**étape 3**.
|
||||
|
||||
### Étape 1: Installer le nouveau serveur
|
||||
|
||||
Installer le nouveau serveur avec Debian 11 et ScoDoc 9.
|
||||
Installer le nouveau serveur avec Debian 12 et ScoDoc 9.
|
||||
|
||||
Voir [GuideInstallDebian11](GuideInstallDebian11.md).
|
||||
Voir [GuideInstallDebian12](GuideInstallDebian12.md).
|
||||
|
||||
Vérifier que tout fonctionne avant d'aller plus loin.
|
||||
|
||||
@ -151,13 +151,14 @@ ScoDoc 9 utilise un autre serveur web (nginx) qui serait en conflit:
|
||||
|
||||
|
||||
### 3. Installer ScoDoc 9
|
||||
Voir [la section 2 du guide d'installation](GuideInstallDebian11.md#2-installation-de-scodoc-sur-debian).
|
||||
|
||||
Voir [la section 2 du guide d'installation](GuideInstallDebian12.md#2-installation-de-scodoc-sur-debian).
|
||||
|
||||
Vérifier que tout fonctionne avant d'aller plus loin.
|
||||
|
||||
### 4. Migrer vos données ScoDoc 7
|
||||
|
||||
Les données sont restées dans /opt/scodoc7.
|
||||
Les données sont restées dans `/opt/scodoc7`.
|
||||
|
||||
Lancer le script suivant en tant que `root`:
|
||||
|
||||
@ -186,5 +187,3 @@ Au besoin, réglez la fonction de calcul du **bonus sport&culture** via la page
|
||||
"configuration" accessible depuis la page d'accueil en tant qu'admin uniquement.
|
||||
|
||||
Célébrez !
|
||||
|
||||
|
||||
|
@ -1,10 +1,13 @@
|
||||
# Préférences de ScoDoc
|
||||
|
||||
## Préférences de ScoDoc
|
||||
Ces variables sont modifiables globalement ou seulement pour un semestre spécifique (sauf pour certaines d'entre elles, qui n'ont de sens que globalement). Si un semestre défini une variable (via la page "Préférences du semestre" accessible dans le menu "Semestre"), sa valeur remplace, pour lui seulement, celle définie globalement (via la page "Paramétrage").
|
||||
Ces variables sont modifiables globalement ou seulement pour un semestre
|
||||
spécifique (sauf pour certaines d'entre elles, qui n'ont de sens que
|
||||
globalement). Si un semestre défini une variable (via la page "Préférences du
|
||||
semestre" accessible dans le menu "Semestre"), sa valeur remplace, pour lui
|
||||
seulement, celle définie globalement (via la page "Paramétrage").
|
||||
|
||||
*Page générée à l'aide de la méthode* `doc_preferences`
|
||||
|
||||
|
||||
## Générales
|
||||
|
||||
Nom | |
|
||||
@ -134,7 +137,6 @@ Nom | |
|
||||
`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)
|
||||
|
@ -86,6 +86,7 @@ comptes utilisateurs.
|
||||
# en tant que root...
|
||||
systemctl stop scodoc9 # arret du serveur
|
||||
su - scodoc
|
||||
cd /opt/scodoc
|
||||
dropdb SCODOC # <<< votre base production
|
||||
createdb -E UTF-8 SCODOC
|
||||
pg_restore -d SCODOC /tmp/SCODOC_pgdump # (nom du fichier dump)
|
||||
|
@ -1546,16 +1546,14 @@ mais pas JSON compliant à cause des `NaN`.
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:** `formsemestre_id`
|
||||
* **Query string**: `format`
|
||||
* **Route:** `/formsemestres/resultats`
|
||||
* **Route:** `/formsemestre/<int:formsemestre_id>/resultats`
|
||||
* **Exemple d'utilisation:** `/api/formsemestre/1/resultats`
|
||||
* **Résultat:** [formsemestre-resultats.json](samples/sample_formsemestre-resultats.json.md)
|
||||
|
||||
Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules)
|
||||
* **Résultat:** Récapitulatif par étudiant (état, groupe(s), moyennes d'UEs et de modules)
|
||||
pour un formsemestre spécifié par son id.
|
||||
Par défaut les valeurs numériques sont formatées en chaînes. Si format=raw,
|
||||
valeurs numériques mais pas JSON compliant à cause des `NaN`.
|
||||
|
||||
* **Exemple de résultat:**
|
||||
* **Exemple de résultat:** [formsemestre-resultats.json](samples/sample_formsemestre-resultats.json.md)
|
||||
|
||||
#### **`moduleimpl-evaluations`**
|
||||
|
||||
@ -1715,10 +1713,15 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
| *user_name* | str ou null | login de l'utilisateur ayant créé l'assiduité |
|
||||
| *est_just* | boolean | l'assiduité est-elle justifiée |
|
||||
| *entry_date* | string | la date d'entrée de l'assiduité |
|
||||
| *external_data* | objet ou null | un objet décrivant des actions non utilisée par ScoDoc |
|
||||
|
||||
> Rappel du format de date ISO : yyyy-mm-jjTHH:MM:SS
|
||||
> Rappel du format de date ISO : yyyy-mm-ddTHH:MM:SS
|
||||
> Vous pouvez aussi spécifier le temps UTC en ajoutant '+HH:MM' à la fin
|
||||
|
||||
!!! warning
|
||||
Le champs `external_data` est utilisé par ScoDoc pour déterminer les assiduités utilisant n'utilisant pas de module particulier (Tout module / Autre module dans ScoDoc). Il aura alors la forme suivante : `{"module": "Autre"}`
|
||||
|
||||
|
||||
#### **assiduite**
|
||||
|
||||
* **Méthode:** GET
|
||||
@ -1728,6 +1731,20 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* **Exemple d'utilisation:** `/api/assiduite/1`
|
||||
* **Résultat:** Retourne un objet assiduité ou une erreur si l'id n'est pas connu
|
||||
* **Exemple de résultat:** [assiduite.json](samples/sample_assiduite.json.md)
|
||||
*
|
||||
#### **assiduite-justificatifs[-long]**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:** `assiduite_id`
|
||||
* **Routes:**
|
||||
* `/assiduite/<int:assiduite_id>/justificatifs`
|
||||
* `/assiduite/<int:assiduite_id>/justificatifs/long`
|
||||
* **Exemple d'utilisation:**
|
||||
* `/api/assiduite/123/justificatifs`
|
||||
* `/api/assiduite/123/justificatifs/long`
|
||||
* **Résultat:** Retourne une liste de justificatifs. des objets en utilisant la route `long` sinon les justif_id
|
||||
* **Exemple de résultat:** [assiduite-justificatifs.json](samples/sample_assiduite_justificatifs.json.md)
|
||||
|
||||
#### **assiduites[-query]**
|
||||
|
||||
@ -1745,6 +1762,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `formsemestre_id` (X : id du formsemestre)
|
||||
* `est_just` (v,t,f,vrai,faux,true,false)
|
||||
* `user_id` (X : id de l'utilisateur)
|
||||
* `order` (retour ordoné par date de début décroisante)
|
||||
* `courant` (retour restreint à l'année courante)
|
||||
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
|
||||
* **Routes:**
|
||||
* `/assiduites/<int:etudid>`
|
||||
* `/assiduites/<int:etudid>/query?`
|
||||
@ -1778,6 +1798,8 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `est_just` (v,t,f,vrai,faux,true,false)
|
||||
* `user_id` (X : id de l'utilisateur)
|
||||
* `metric` ('compte', 'demi', 'journee', 'heure')
|
||||
* `courant` (retour restreint à l'année courante)
|
||||
* `split` (compte pour chaque état séparément)
|
||||
* **Routes:**
|
||||
* `/assiduites/<int:etudid>/count`
|
||||
* `/assiduites/<int:etudid>/count/query?`
|
||||
@ -1807,6 +1829,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `est_just` (v,t,f,vrai,faux,true,false)
|
||||
* `user_id` (X : id de l'utilisateur)
|
||||
* `order` (retour ordoné par date de début décroisante)
|
||||
* `courant` (retour restreint à l'année courante)
|
||||
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
|
||||
* **Routes:**
|
||||
* `/assiduites/formsemestre/<int:formsemestre_id>`
|
||||
* `/assiduites/formsemestre/<int:formsemestre_id>/query?`
|
||||
@ -1829,6 +1854,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `est_just` (v,t,f,vrai,faux,true,false)
|
||||
* `user_id` (X : id de l'utilisateur)
|
||||
* `metric` ('all', 'compte', 'heure', 'journee', 'demi')
|
||||
* `courant` (retour restreint à l'année courante)
|
||||
* `split` (compte pour chaque état séparément)
|
||||
* **Routes:**
|
||||
* `/assiduites/formsemestre/<int:formsemestre_id>/count`
|
||||
* `/assiduites/formsemestre/<int:formsemestre_id>/count/query?`
|
||||
@ -1851,6 +1879,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `est_just` (v,t,f,vrai,faux,true,false)
|
||||
* `user_id` (X : id de l'utilisateur)
|
||||
* `order` (retour ordoné par date de début décroisante)
|
||||
* `courant` (retour restreint à l'année courante)
|
||||
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
|
||||
* **Routes:**
|
||||
* `/assiduites/group/query?etudids=`
|
||||
* **Exemple d'utilisation:**
|
||||
@ -1865,6 +1896,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
etudid3 : [{assiduité...}],
|
||||
}
|
||||
```
|
||||
* **Exemple de résultat:** [assiduites-group.json](samples/sample_assiduites_group.json.md)
|
||||
|
||||
#### **assiduites-create**
|
||||
|
||||
@ -1876,9 +1908,6 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
[
|
||||
{
|
||||
"etudid":<int>,
|
||||
|
||||
"date_debut": <string>,
|
||||
"date_fin": <string>,
|
||||
"etat": <string>,
|
||||
"moduleimpl_id"?: <int>,
|
||||
"desc"?:<string>,
|
||||
@ -1894,6 +1923,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "absent","etudid":1}]`
|
||||
|
||||
* **Résultat:** Retourne un objet en deux parties (errors et success) contenant le retour de chaque objet donné dans la requête POST.
|
||||
* **Exemple de résultat:** [assiduites-create.json](samples/sample_assiduites_create.json.md)
|
||||
|
||||
|
||||
#### **assiduite-create**
|
||||
@ -1909,8 +1939,6 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"date_debut": <string>,
|
||||
"date_fin": <string>,
|
||||
"etat": <string>,
|
||||
"moduleimpl_id"?: <int>,
|
||||
"desc"?:<string>
|
||||
@ -1951,9 +1979,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
|
||||
> `{"etat": "absent"}`
|
||||
|
||||
* **Résultat:** Modifie l'assiduité désignée. Renvoie une erreur si la
|
||||
modification rend incompatible la plage de l'assiduité par rapport aux autres
|
||||
assiduités du même étudiant.
|
||||
* **Résultat:** Modifie l'assiduité désignée.
|
||||
* **Exemple de résultat:** [assiduite_edit.json](samples/sample_assiduite_edit.json.md)
|
||||
|
||||
#### **assiduites-edit**
|
||||
@ -2006,18 +2032,19 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
|
||||
#### Structure Justificatif
|
||||
|
||||
| attribut | type | commentaire |
|
||||
| :----------- | :------------- | :------------------------------------------------------------ |
|
||||
| *justif_id* | int | identifiant unique |
|
||||
| *etudid* | int | identifiant unique de l'étudiant concerné par le justificatif |
|
||||
| *date_debut* | string | date ISO du début de la période du justificatif |
|
||||
| *date_fin* | string | date ISO de la fin de la période du justificatif |
|
||||
| *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) |
|
||||
| *raison* | string ou null | explication du justificatif si présente |
|
||||
| *fichier* | string | identifiant de l'archivage des fichiers |
|
||||
| *user_id* | int or null | id de l'utilisateur ayant créé le justificatif |
|
||||
| *user_name* | str ou null | login de l'utilisateur ayant créé le justificatif |
|
||||
| *entry_date* | string | date ISO de l'entrée du justificatif |
|
||||
| attribut | type | commentaire |
|
||||
| :-------------- | :------------- | :------------------------------------------------------------ |
|
||||
| *justif_id* | int | identifiant unique |
|
||||
| *etudid* | int | identifiant unique de l'étudiant concerné par le justificatif |
|
||||
| *date_debut* | string | date ISO du début de la période du justificatif |
|
||||
| *date_fin* | string | date ISO de la fin de la période du justificatif |
|
||||
| *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) |
|
||||
| *raison* | string ou null | explication du justificatif si présente |
|
||||
| *fichier* | string | identifiant de l'archivage des fichiers |
|
||||
| *user_id* | int or null | id de l'utilisateur ayant créé le justificatif |
|
||||
| *user_name* | str ou null | login de l'utilisateur ayant créé le justificatif |
|
||||
| *entry_date* | string | date ISO de l'entrée du justificatif |
|
||||
| *external_data* | objet ou null | un objet décrivant des actions non utilisée par ScoDoc |
|
||||
|
||||
#### **justificatif**
|
||||
|
||||
@ -2041,6 +2068,11 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* `etat` ( attente, valide, non_valide, modifie)
|
||||
* `date_debut` (X : date format ISO)
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
|
||||
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
|
||||
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
|
||||
* `courant` (restreint aux justificatifs de l'année courante)
|
||||
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
|
||||
* **Routes:**
|
||||
* `/justificatifs/<int:etudid>`
|
||||
* `/justificatifs/<int:etudid>/query`
|
||||
@ -2057,6 +2089,58 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
* **Résultat:** Liste de toutes les objets justificatifs qui correspondent aux critères sélectionnés
|
||||
* **Exemple de résultat:** [justificatifs.json](samples/sample_justificatifs.json.md)
|
||||
|
||||
|
||||
#### **justificatifs-dept[-query]**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:**
|
||||
* `dept_id`
|
||||
* **Query string:**
|
||||
* `etat` ( attente, valide, non_valide, modifie)
|
||||
* `date_debut` (X : date format ISO)
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
|
||||
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
|
||||
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
|
||||
* `courant` (restreint aux justificatifs de l'année courante)
|
||||
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
|
||||
* **Routes:**
|
||||
* `/justificatifs/dept/<int:dept_id>`
|
||||
* `/justificatifs/dept/<int:dept_id>/query`
|
||||
* **Exemple d'utilisation:**
|
||||
* `/api/justificatifs/dept/3`
|
||||
* `/api/justificatifs/dept/3/query?etat=valide&courant`
|
||||
* **Résultat:** Liste de toutes les objets justificatifs du département donné qui correspondent aux critères sélectionnés
|
||||
* **Exemple de résultat:** [justificatifs-dept.json](samples/sample_justificatifs_dept.json.md)
|
||||
|
||||
|
||||
#### **justificatifs-formsemestre[-query]**
|
||||
|
||||
* **Méthode:** GET
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:**
|
||||
* `formsemestre_id`
|
||||
* **Query string:**
|
||||
* `etat` ( attente, valide, non_valide, modifie)
|
||||
* `date_debut` (X : date format ISO)
|
||||
* `date_fin` (X : date format ISO)
|
||||
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
|
||||
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
|
||||
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
|
||||
* `courant` (restreint aux justificatifs de l'année courante)
|
||||
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
|
||||
* **Routes:**
|
||||
* `/justificatifs/formsemestre/<int:formsemestre_id>`
|
||||
* `/justificatifs/formsemestre/<int:formsemestre_id>/query`
|
||||
* **Exemple d'utilisation:**
|
||||
* `/api/justificatifs/formsemestre/3`
|
||||
* `/api/justificatifs/formsemestre/3/query?etat=valide&courant`
|
||||
* **Résultat:** Liste de toutes les objets justificatifs du formsemestre donné qui correspondent aux critères sélectionnés
|
||||
* **Exemple de résultat:** [justificatifs-formsemestre.json](samples/sample_justificatifs_formsemestre.json.md)
|
||||
|
||||
|
||||
|
||||
#### **justificatif-create**
|
||||
|
||||
* **Méthode:** POST
|
||||
@ -2168,7 +2252,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
|
||||
#### **justificatif-export**
|
||||
|
||||
* **Méthode:** POST
|
||||
* **Permission: `AbsChange`**
|
||||
* **Permission: `ScoView`**
|
||||
* **Paramètres:**
|
||||
* `justif_id`
|
||||
* `filename`
|
||||
|
@ -130,3 +130,11 @@ Apogée.
|
||||
|
||||
- jury de fin de S1: si le S2 est validé;
|
||||
- jury de fin de S3: si le S4 est validé.
|
||||
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Inscription des étudiants via Apogée](InscriptionsEtudApogee.md)
|
||||
- [Exports des résultats BUT vers Apogée](BUTApogee.md)
|
||||
- [Guide du responsable de formation](GuideAdminFormation.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
@ -1,55 +1,60 @@
|
||||
# Récapitulatif des opérations en fin de semestre (et début du suivant)
|
||||
|
||||
Cette page récapitule les opérations typiquement effectuées par un chef de
|
||||
département en IUT à la fin d'un semestre. Selon les cas, certaines opérations
|
||||
peuvent être effectuées par les directeurs des études. La plupart des étapes
|
||||
mentionnées ici sont aussi applicables pour d'autres types de formation.
|
||||
Cette page récapitule les opérations typiquement effectuées par le ou la
|
||||
responsable de formation (par ex. une cheffe de département en IUT) à la fin
|
||||
d'un semestre. Selon les cas, certaines opérations peuvent être effectuées par
|
||||
les directeurs des études.
|
||||
|
||||
Voir aussi le [Guide pour la cheffe ou le chef de
|
||||
département](GuideAdminFormation.md).
|
||||
Voir aussi le [Guide pour la cheffe ou le chef de département](GuideAdminFormation.md).
|
||||
|
||||
## À la fin d'un semestre
|
||||
|
||||
1. Vérifier que les réglages de votre semestre correspondent bien à ce que vous
|
||||
voulez. En particulier, les options comme *proposer compensation* et *jurys
|
||||
avec semestres décalés* (accessibles via *Modifier le semestre*, voir
|
||||
figure).
|
||||
![reglages-semestres-check.png](screens/reglages-semestres-check.png)
|
||||
1. Vérifier que les réglages de votre semestre correspondent bien à ce que vous
|
||||
voulez. En particulier, surtout pour les DUT, les options comme *proposer
|
||||
compensation* et *jurys avec semestres décalés* (accessibles via *Modifier
|
||||
le semestre*, voir figure).
|
||||
![reglages-semestres-check.png](screens/reglages-semestres-check.png)
|
||||
|
||||
2. Vérifier que le cursus choisi est correct (menu *Semestre* / *Voir la
|
||||
formation*): ainsi, le parcours affiché doit être "DUT selon l'arrêté d'août
|
||||
2005" pour le DUT.
|
||||
2. Vérifier que la formation (menu **Semestre / Voir la formation**) est
|
||||
correcte et, s'il y a des messages d'avertissement dans la formation ou sur
|
||||
le tableau de bord du semestre, que vous les avez pris en compte ou
|
||||
comprenez la situation.
|
||||
|
||||
3. Vérifier que toutes les notes ont été saisies: regarder le tableau de bord,
|
||||
qui affiche dans chaque module les évaluations et indique si des notes
|
||||
manquent ou sont en attente.
|
||||
3. Vérifier que toutes les notes ont été saisies: regarder le tableau de bord,
|
||||
qui affiche dans chaque module les évaluations et indique si des notes
|
||||
manquent ou sont en attente. Le tenue d'un jury exige que toutes les notes
|
||||
sont à jour.
|
||||
|
||||
4. (optionnel) Vérifier les absences si cela n'a pas déjà été fait. Dans le
|
||||
menu *Semestre* du tableau de bord, suivre *Vérifier les absences aux
|
||||
évaluations*.
|
||||
Attention, actuellement ScoDoc enregistre les absences par demi-journées, ce
|
||||
qui fait qu'un étudiant peut être noté absent alors qu'il a assisté à un
|
||||
examen sur une partie de la demi-journée et sèché le cours suivant.
|
||||
4. (optionnel) En BUT, sur un semestre impair (S1, S3, S5), si les étudiants ont
|
||||
déjà commencé le semestre suivant (par exemple si le S2 a commencé avant que
|
||||
le jury de S1 ait été enregistré), prendre soin de bloquer la prise en compte
|
||||
des moyennes du semestre pair: sur celui là, via **Semestre / Modifier le
|
||||
semestre**, cocher *empêcher le calcul des moyennes d'UE*. Sinon, les
|
||||
décisions annuelles BUT seraient calculées !
|
||||
|
||||
5. Réunir la commission (ou le jury):
|
||||
5. (optionnel) Vérifier les absences si cela n'a pas déjà été fait. Dans le
|
||||
menu *Semestre* du tableau de bord, suivre *Vérifier les absences aux
|
||||
évaluations*.
|
||||
|
||||
a. Il peut être utile de préparer des documents pour les membres de la
|
||||
commission: suivre *Générer feuille préparation Jury* dans le menu *Jury*.
|
||||
6. Réunir la commission (ou le jury):
|
||||
|
||||
b. Durant la commission, nous recommandons de saisir en temps réel les
|
||||
décisions (menu *Jury / Saisie des décisions*). **Pour éviter que les
|
||||
étudiants n'aient accès aux décisions pendant le jury, décocher l'option
|
||||
*publier le bulletin sur le portail* ** (menu *Semestre / Options du
|
||||
semestre*).
|
||||
a. Il peut être utile de préparer des documents pour les membres de la
|
||||
commission: suivre *Générer feuille préparation Jury* dans le menu *Jury*.
|
||||
|
||||
6. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
b. Durant la commission, nous recommandons de saisir en temps réel les
|
||||
décisions (menu *Jury / Saisie des décisions*). **Pour éviter que les
|
||||
étudiants n'aient accès aux décisions pendant le jury, décocher l'option
|
||||
*publier le bulletin sur la passerelle* ** (menu *Semestre / Options du
|
||||
semestre*).
|
||||
|
||||
1. En bas de la page, un lien *Courriers individuels (classeur pdf)* permet
|
||||
de générer les courriers à adresser aux étudiants (penser à vérifier
|
||||
leurs adresses postales au préalable sur leurs fiches).
|
||||
7. Édition du procès-verbal: menu *Jury / Voir les décisions du jury*.
|
||||
|
||||
2. Le lien *PV officiel (pdf)* permet de générer le procès verbal avec la
|
||||
liste des décisions pour chaque étudiant.
|
||||
a. En bas de la page, un lien *Courriers individuels (classeur pdf)* permet
|
||||
de générer les courriers à adresser aux étudiants (penser à vérifier
|
||||
leurs adresses postales au préalable sur leurs fiches).
|
||||
|
||||
b. Le lien *PV officiel (pdf)* permet de générer le procès verbal avec la
|
||||
liste des décisions pour chaque étudiant.
|
||||
|
||||
A ce stade, le semestre est terminé. Il est recommandé de le **verrouiller**
|
||||
après les prises de décisions définitives.
|
||||
@ -114,10 +119,10 @@ C'est prêt. Les enseignants autorisés peuvent créer des évaluations et saisi
|
||||
|
||||
## Problèmes couramment rencontrés
|
||||
|
||||
- **Etudiants en doubles**: ceci arrive lorsqu'on crée manuellement les
|
||||
- **Etudiants en double**: ceci arrive lorsqu'on crée manuellement les
|
||||
étudiants. Il faut absolument éviter de créer un étudiant qui existe déjà,
|
||||
sinon on perd la possibilité de suivre le parcours de chacun. Le respect de la
|
||||
procédure ci-dessus garanti normalement que les étudiants restent uniques.
|
||||
procédure ci-dessus garanti que les étudiants restent uniques.
|
||||
N'utiliser *créer un nouvel étudiant* qu'après vous être assuré qu'il n'était
|
||||
pas déjà inscrit dans un autre semestre, et que l'on sait que l'on ne va pas
|
||||
l'importer depuis Apogée.
|
||||
@ -138,5 +143,6 @@ Pour toute question, n'hésitez pas à nous contacter ([contacts](Contact.md)).
|
||||
|
||||
- [Vérifier les codes NIP](VerifCodeNIP.md)
|
||||
- [Guide pour le ou la responsable de formation](GuideAdminFormation.md)
|
||||
- [Les jurys de BUT](BUTJurys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
@ -1,18 +1,22 @@
|
||||
### assiduite
|
||||
|
||||
#### GET /assiduite/1
|
||||
|
||||
```json
|
||||
{
|
||||
"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": 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
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -1,21 +1,38 @@
|
||||
### assiduite_create
|
||||
|
||||
#### POST /assiduite/1/create
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "absent"}]`
|
||||
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "absent"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"assiduite_id": 60
|
||||
}
|
||||
}
|
||||
]
|
||||
"errors": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": "Duplication: la p\u00e9riode rentre en conflit avec une plage enregistr\u00e9e"
|
||||
}
|
||||
],
|
||||
"success": []
|
||||
}
|
||||
```
|
||||
|
||||
#### 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,37 +1,35 @@
|
||||
### assiduite_edit
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"moduleimpl_id":2}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"etat": "retard","moduleimpl_id":3}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"moduleimpl_id":2}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /assiduite/1/edit
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"etat":"absent"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": true
|
||||
"OK": true
|
||||
}
|
||||
```
|
||||
|
||||
|
32
docs/samples/sample_assiduite_justificatifs.json.md
Normal file
32
docs/samples/sample_assiduite_justificatifs.json.md
Normal file
@ -0,0 +1,32 @@
|
||||
### 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,71 +1,79 @@
|
||||
### assiduites
|
||||
|
||||
#### GET /assiduites/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### 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,32 +1,84 @@
|
||||
### assiduites_count
|
||||
|
||||
#### GET /assiduites/1/count
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 4,
|
||||
"demi": 3,
|
||||
"heure": 6.0,
|
||||
"journee": 4
|
||||
"compte": 1,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 1
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/count/query?etat=present,retard&metric=compte,heure
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 4,
|
||||
"heure": 6.0
|
||||
"compte": 1,
|
||||
"heure": 0.0
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/1/count/query?etat=retard
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 3,
|
||||
"demi": 3,
|
||||
"heure": 6.0,
|
||||
"journee": 3
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0,
|
||||
"journee": 0
|
||||
}
|
||||
```
|
||||
|
||||
#### 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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
38
docs/samples/sample_assiduites_create.json.md
Normal file
38
docs/samples/sample_assiduites_create.json.md
Normal file
@ -0,0 +1,38 @@
|
||||
### 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,73 +1,119 @@
|
||||
### assiduites_formsemestre
|
||||
|
||||
#### GET /assiduites/formsemestre/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/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": 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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/query?moduleimpl_id=1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -1,32 +1,30 @@
|
||||
### assiduites_formsemestre_count
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 0
|
||||
"compte": 48,
|
||||
"demi": 14,
|
||||
"heure": 65.0,
|
||||
"journee": 18
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count/query?etat=present,retard&metric=compte,heure
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 0,
|
||||
"heure": 0.0
|
||||
"compte": 29,
|
||||
"heure": 35.0
|
||||
}
|
||||
```
|
||||
|
||||
#### GET /assiduites/formsemestre/1/count/query?etat=retard
|
||||
|
||||
```json
|
||||
{
|
||||
"compte": 0,
|
||||
"demi": 0,
|
||||
"heure": 0.0,
|
||||
"journee": 0
|
||||
"compte": 14,
|
||||
"demi": 8,
|
||||
"heure": 19.0,
|
||||
"journee": 11
|
||||
}
|
||||
```
|
||||
|
||||
|
62
docs/samples/sample_assiduites_group.json.md
Normal file
62
docs/samples/sample_assiduites_group.json.md
Normal file
@ -0,0 +1,62 @@
|
||||
### 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
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
@ -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,15 +3,19 @@
|
||||
#### GET /justificatif/1
|
||||
```json
|
||||
{
|
||||
"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",
|
||||
"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": "raison",
|
||||
"user_id": null
|
||||
"raison": null,
|
||||
"user_id": null,
|
||||
"user_name": null,
|
||||
"user_nom_complet": null
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -1,22 +1,22 @@
|
||||
### justificatif_create
|
||||
|
||||
#### POST /justificatif/1/create
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "attente"}]`
|
||||
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "attente"}]`
|
||||
|
||||
```json
|
||||
{
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"couverture": [],
|
||||
"justif_id": 12
|
||||
}
|
||||
}
|
||||
]
|
||||
"errors": [],
|
||||
"success": [
|
||||
{
|
||||
"indice": 0,
|
||||
"message": {
|
||||
"couverture": [],
|
||||
"justif_id": 25
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -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,31 +1,36 @@
|
||||
### justificatif_edit
|
||||
|
||||
#### POST /justificatif/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"etat":"valide"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"couverture": {
|
||||
"apr\u00e8s": [26],
|
||||
"avant": [1, 26, 38]
|
||||
}
|
||||
"couverture": {
|
||||
"apres": [
|
||||
1
|
||||
],
|
||||
"avant": []
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### POST /justificatif/1/edit
|
||||
|
||||
> `Content-Type: application/json`
|
||||
>
|
||||
> `{"raison":"MEDIC"}`
|
||||
|
||||
```json
|
||||
{
|
||||
"couverture": {
|
||||
"apr\u00e8s": [26],
|
||||
"avant": [1, 26, 38]
|
||||
}
|
||||
"couverture": {
|
||||
"apres": [
|
||||
1
|
||||
],
|
||||
"avant": [
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -1,26 +1,113 @@
|
||||
### justificatifs
|
||||
|
||||
#### GET /justificatifs/1
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
{
|
||||
"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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
#### 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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
||||
|
47
docs/samples/sample_justificatifs_dept.json.md
Normal file
47
docs/samples/sample_justificatifs_dept.json.md
Normal file
@ -0,0 +1,47 @@
|
||||
### 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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
39
docs/samples/sample_justificatifs_formsemestre.json.md
Normal file
39
docs/samples/sample_justificatifs_formsemestre.json.md
Normal file
@ -0,0 +1,39 @@
|
||||
### 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
|
||||
},
|
||||
"..."
|
||||
]
|
||||
```
|
||||
|
@ -52,7 +52,7 @@ nav:
|
||||
- "FAQ": FAQ.md
|
||||
- Installation:
|
||||
- "Guide administration": GuideAdminSys.md
|
||||
- "Installation": GuideInstallDebian11.md
|
||||
- "Installation": GuideInstallDebian12.md
|
||||
- "Mises à jour": MisesAJour.md
|
||||
- "Interfaces SI": InterrogationPortail.md
|
||||
- "Publication des notes": PublicationEtudiants.md
|
||||
@ -62,7 +62,7 @@ nav:
|
||||
- "Utilisateurs": UtilisateursScoDoc.md
|
||||
- Développement:
|
||||
- "Guide Développeurs": GuideDeveloppeurs.md
|
||||
- "Gitea": https://scodoc.org/git
|
||||
- "Gitea": https://git.scodoc.org
|
||||
- "API": ScoDoc9API.md
|
||||
- "Introduction": DevInternals.md
|
||||
- "Utiliser Git": DevGit.md
|
||||
|
Loading…
Reference in New Issue
Block a user