DocScoDoc/docs/Assiduites.md

264 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Suivi de l'assiduité
Ce module de ScoDoc remplace l'ancien module de suivi des absences de Scodoc.
Il propose des fonctions plus étendues: absences, retards, justificatifs (et
gestion des documents associés) avec une granularité fine, des outils de
*reporting* et une API complète permettant d'interfacer des modules tiers.
Ce projet a été développé de 2022 à 2024, par Matthias Hartmann, apprenti de l'IUT de
Lannion financé par l'Association ScoDoc.
**Ce module est disponible à partir de ScoDoc version 9.6**.
[Vidéo de présentation du module d'assiduités ](https://youtu.be/p7xips26W54)
## Fonctionnalités
Le module fournit:
- Gestion des absences/présences/retards
- Précision des saisies (périodes déterminées par une heure de début et une
heure de fin au lieu de demi-journées)
- Gestion et sauvegarde de justificatifs (documents)
- Une [API complète](ScoDoc9API.md#api-assiduites)
## Guide d'utilisation
- [Suivi de l'assiduité](#suivi-de-lassiduité)
- [Fonctionnalités](#fonctionnalités)
- [Guide d'utilisation](#guide-dutilisation)
- [Migration de l'ancien module](#migration-de-lancien-module)
- [Personnalisation du module](#personnalisation-du-module)
- [Saisie des Assiduités](#saisie-des-assiduités)
- [Saisie d'un groupe](#saisie-dun-groupe)
- [Saisie Journalière](#saisie-journalière)
- [Saisie différée](#saisie-différée)
### Migration de l'ancien module
Afin de favoriser la transition de l'ancien module au nouveau, un script de
migration a été développé: à l'installation de ScoDoc 9.6, les anciennes
données d'absences et justificatifs sont traduites pour ce module.
Voir détails dans [la documentation d'installation](UpgradeToDeb12Sco96.md) et
sur la [documentation des commandes de migration des absences](AssiduitesMigration.md).
### Personnalisation du module
Le module possède deux types de configuration, une générale et une par département/semestre.
**La configuration générale permet de configurer la ligne temporelle visible sur certaines pages de saisie d'assiduités.**
![Configuration de l'assiduité : Général](screens/config_assiduites_gen.png)
Route : `/ScoDoc/config_assiduites`
- `Début de la journée` : l'heure de début de la ligne temporelle (par défaut :
8h00)
- `L'heure de midi` : l'heure pivot qui sépare la matinée de l'après-midi (par
défaut : 13h00)
- `Fin de la journée` : l'heure de fin de la ligne temporelle (par défaut :
18h00)
- `Granularité` : La granularité de la ligne temporelle. (par défaut : 15 min)
**La configuration par département/semestre permet de configurer certaines actions liés à l'assiduité**
![Configuration de l'assiduité : département](screens/config_assiduites_dept.png)
Route : `/ScoDoc/<Dept>/Scolarite/edit_preferences`
- `Forcer la déclaration du module` : Forcer les utilisateurs de ScoDoc à
renseigner le module à chaque saisie d'assiduités.
- `Forcer l'appel des présents` : Force les utilisateurs à noter les
présences/absences/retard lors d'une saisie.
- `Durée par défaut d'un créneau` : Détermine la durée classique d'un cours. (Ce
sera la période préenregistrée sur la ligne temporelle)
- `Définir l'état par défaut` : Défini l'état par défaut qui sera appliqué aux
étudiants avant validation d'une saisie d'assiduité.
- `Jours non travaillés` : Défini les jours sur lesquels la saisie d'assiduités
ne sera pas possible.
- `Métrique de l'assiduité` : Défini l'unité de l'assiduité qui sera utilisé par
les autres modules de ScoDoc.
- `1/2 J.` : Demi-Journée
- `J.` : Journées
- `H.` : Heures
### Saisie des Assiduités
La saisie se fait soit sur un groupe soit sur un étudiant. Dans tous les cas il
y a deux façons de saisir l'assiduité. Une saisie `Journalière` et une saisie
`Différée`.
#### Saisie d'un groupe
Comme dans l'ancien système, pour saisir l'assiduité d'un groupe il faut se
rendre sur la page un semestre du département concerné.
![Page du semestre concerné](#)
Au bas de cette page vous retrouverez la liste des groupes du semestre. Si vous
avez la permission de modifier l'assiduité, vous observerez 3 boutons
supplémentaires sur chaque groupe vous permettant de voir ou saisir l'assiduité
du groupe.
#### Saisie Journalière
La première chose à faire lorsque vous êtes arrivés sur la page "Saisie
Journalière" c'est de compléter les informations de la séance :
![Capture des sélecteurs](#)
- Le ou les groupes sélectionnés (dans la plupart des cas, le groupe est déjà
présélectionné)
- Le module concerné (par défaut il n'est pas obligatoire de sélectionner un
module, cependant une configuration permet de forcer la sélection)
- La date de la saisie. Attention, seule les dates comprises dans le semestre
sont valides. (Un message d'erreur vous le signalera si la date n'est pas
valide)
Lorsque vous êtes sûr de vous, appuyer sur le bouton `Valider`.
**Attention : La validation est définitive, si vous avez fait une erreur il faudra recharger la page**
Après la validation, les champs précédents seront grisés.
Explication de l'interface
![Capture de l'interface](#)
1. La ligne temporelle (Timeline) sert à désigner la période de l'assiduité qui sera saisie.
Il est possible de la déplacer en maintenant le clic gauche dessus puis en
bougeant la souris.
Si la période n'est pas de la bonne taille, il est possible de l'agrandir ou
de la réduire en plaçant sa souris à l'extrémité droite.
Votre curseur devrait changer, à partir de ce moment là vous pouvez cliquer
puis bouger l'extrémité pour modifier la taille de la période.
Si la période bouge toujours alors que vous avez lâché le clic gauche,
cliquer à nouveau.
2. Les boutons d'actions de masse `Mettre tout le monde : `. Ces boutons
définirons le même état pour chaque étudiant sur la période sélectionnée.
En cliquant sur un bouton d'état, l'état sera mis pour chaque étudiant, pour
modifier cet état il faut appuyer sur un autre bouton d'état.
Si vous souhaitez retirer les assiduités, il faut cliquer sur le bouton
d'état ayant le même état que les étudiants.
3. Les lignes étudiants sont des lignes montrant les informations d'assiduité de
chaque étudiant. Chaque ligne est composée de 3 parties :
1. Le nom, le prénom et une photo de l'étudiant afin de le reconnaître
facilement
2. Une petite ligne temporelle montrant l'assiduité de l'étudiant sur la
journée.
Le carré au début de la ligne montre la dernière assiduité du jour
précédent.
En passant votre souris au dessus des couleurs, vous aurez accès à plus
d'informations sur l'assiduité de l'étudiant.
Cliquer sur une assiduité positionnera la ligne temporelle globale sur
la période de l'assiduité.
La période globale est représentée par un encadré bleu sur la ligne
temporelle.
Les assiduités justifiées et validés sont représentés par leur couleur
respective + un hachage bleu
Les assiduités justifiées mais non validées sont représentés par leur
couleur respective + un hachage rouge.
3. Les boutons d'assiduités individuels. Ces boutons permettent de déterminer l'état de l'étudiant.
Ils fonctionnent de la même façon que les boutons `mettre tout le monde :`.
Si la ligne de l'étudiant est rouge, cela signifie que la période
sélectionnée rentre en conflit avec les assiduités de l'étudiant.
Cliquer sur un bouton d'assiduité ne modifiera pas l'état de l'étudiant
mais ouvrira un menu de résolution de conflit.
![Résolution de conflit](#)
Les assiduités de la page sont enregistrées en temps réel. Lorsque la saisie est
terminée vous pouvez fermer la page.
#### Saisie différée
La page saisie différée a pour but de faciliter la saisie d'assiduités avec
plusieurs périodes.
![Page différée](#)
La page est composée d'un tableau et d'un bouton valider.
**Cette page ne sauvegarde pas automatiquement les modifications**
Explication du tableau :
- La colonne `Noms` : Vous y retrouverez tous les étudiants du groupe
sélectionné. En cliquant sur le titre de la colonne vous pourrez changer
l'ordre des étudiants (croissant ou décroissant)
- Les colonnes `Assiduités` : Lorsque vous arrivez sur la page, une seule
colonne d'assiduité est présente.
Si vous avez besoins d'autres colonnes, appuyer sur le bouton `+`.
Si vous souhaitez supprimer une colonne appuyer sur la `croix X` de la
colonne.
Il vous faudra remplir la colonne afin de pouvoir saisir l'assiduité des
étudiants :
1. La date de début : Sur la première colonne, la date par défaut sera la
date du jour, sur les nouvelles colonnes, la date par défaut sera la date
de fin de la colonne précédente.
2. La date de fin : La date de fin n'est pas renseignée par défaut,
cependant la première fois que vous changer la date de début de la
colonne, la date de fin sera automatiquement mise à jour de façon à
prendre la taille d'un créneau classique (configuration du
semestre/département).
3. Le module concerné par l'assiduité. Ce sélecteur n'est pas obligatoire
par défaut (configuration du semestre/département).
4. `Sélectionner une assiduité` permet de mettre tous les étudiants à un
certain état. Ce sélecteur n'est pas obligatoire.
- Chaque ligne du tableau correspond à un étudiant. Vous pouvez alors
sélectionner l'état de l'assiduité de chaque étudiant pour chaque colonne.
Après avoir rempli le tableau il faudra valider en cliquant sur `valider les assiduités`.
Après validation, toutes les colonnes seront désactivées, si besoins vous pouvez
les réactiver en cliquant sur `Activer` pour chaque colonne.
Il est possible que des erreurs apparaissent. Les erreurs sont gérées par
colonnes puis par étudiant. Cela signifie qu'une erreur de colonne (ex: une
mauvaise date) désactivera complètement la colonne alors qu'une erreur
d'étudiant (ex: l'étudiant possède déjà une assiduité sur cette période)
désactivera uniquement l'envoie de l'assiduité le concernant.
Vous pouvez obtenir plus d'informations sur l'erreur en plaçant votre souris au dessus du ``.
Il est possible de forcer la mise à jour des assiduités : **Attention, cela ne
fonctionnera que pour les assiduités ayant exactement la même période** (ceci
permet de corriger facilement les saisies où l'on aurait oublié d'indiquer le
module).
Chaque colonne possède un numéro distinctif qui est visible en laissant la
souris au dessus de l'entête de la colonne. Ce numéro est utilisé dans les
messages d'erreurs.
!!! note "Voir aussi"
- [Migration des absences vers les assiduités](AssiduitesMigration.md)
- [API](ScoDoc9API.md) : API pour interfaçage avec d'autres applications
- [API et fichiers justificatifs](FichiersJustificatifs)
- [FAQ](FAQ.md)
- [Contacts](Contact.md)