forked from ScoDoc/DocScoDoc
ajouts et corrections
This commit is contained in:
parent
5c9c8e8947
commit
290f967e32
@ -10,10 +10,14 @@ alt="Niveaux de compétences des parcours du BUT Informatique">
|
||||
Les coefficients des ressources et SAÉs en BUT sont définis localement par les
|
||||
établissement, ainsi que les crédits ECTS associés aux UE.
|
||||
|
||||
Dans cet exemple, nous allons voir comment traiter cette configuration cas, plus
|
||||
complexe que le cas d'une spécialité typique de BUT: on va supposer que les
|
||||
coefficients d'une même ressource varient suivant le parcours suivi par
|
||||
l'étudiant, et que les ECTS d'une même UE dépendent parfois du parcours.
|
||||
Cette page détaille un exemple de mise en place d'un BUT Info. Cette
|
||||
configuration est plus complexe que le cas d'une spécialité typique de BUT: on
|
||||
va supposer que les coefficients d'une même ressource varient suivant le
|
||||
parcours suivi par l'étudiant, et que les ECTS d'une même UE dépendent parfois
|
||||
du parcours.
|
||||
|
||||
Après mise en place de la formation, nous allons créer les semestres, y inscrire
|
||||
les étudiants et ternir un jury.
|
||||
|
||||
## Saisir ou importer le programme de formation
|
||||
|
||||
@ -77,7 +81,6 @@ De même, pour le S6, version simplifiée sans UE spécifiques:
|
||||
|
||||
<img src="/screens/but-info-choisir-nom-ue.png" width="50%">
|
||||
|
||||
|
||||
## Associer les UE et les niveaux de compétences
|
||||
|
||||
Chaque niveau de compétence (1, 2 ou 3) correspond à une année, donc à deux UEs
|
||||
@ -134,7 +137,7 @@ l'ensemble avant de poursuivre !
|
||||
Dans la plupart des cas, le nombre de crédits ECTS d'une UE est constant. Néanmoins,
|
||||
certaines spécialités ou établissement, on peut vouloir le faire varier selon le
|
||||
parcours. Une solution serait de dupliquer l'UE (comme on le fait pour décliner
|
||||
les coefficients), mais il est plus simple de déclarer les ETCT dans chaque
|
||||
les coefficients), mais il est plus simple de déclarer les ECTS dans chaque
|
||||
parcours:
|
||||
|
||||
<img src="/screens/but-info-ue-lien-ects.png" width="40%">
|
||||
@ -143,6 +146,55 @@ parcours:
|
||||
|
||||
## Coefficients des ressources et SAÉs
|
||||
|
||||
TODO (et bug à corriger)
|
||||
Imaginons qu'en S4, la ressource `R4.01` ait le coefficient 14 vers l'UE41 dans
|
||||
le parcours A, mais le coefficient 23 dans le parcours B. Nous avons vu plus
|
||||
haut que nous avions créé une UE par parcours, `UE41-A` et `UE41-B`. reste à
|
||||
leur attribuer leurs coefficients via le formulaire habituel:
|
||||
|
||||
<img src="/screens/but-info-edit-coefs-S4.png" width="40%">
|
||||
|
||||
L'intérêt de cette approche est qu'on a une seule ressource pour les deux
|
||||
parcours, ce qui simplifie la saisie et le suivi des évaluations et des notes.
|
||||
Bien sûr, si la ressource était pédagogiquement distincte dans les deux parcours
|
||||
(activités différentes, examens spécifiques...) il serait préférable de créer
|
||||
deux versions de la ressources (par exemple `R4.01-A`et `R4.01-B`).
|
||||
|
||||
## Mise en place des semestres
|
||||
|
||||
La création des semestres ne présentent aucune particularité dans ce cas. Il
|
||||
faut juste indiquer les par proposés dans le semestre. Dans notre exemple:
|
||||
|
||||
<img src="/screens/but-info-sem-parcours-A-B.png" width="50%">
|
||||
|
||||
## Affectation des étudiants aux parcours
|
||||
|
||||
Nous supposons dans la suite que nous avons les deux parcours A et B dans notre
|
||||
département, les étudiants des deux parcours étant dans les mêmes semestres
|
||||
ScoDoc. Les ressources et coefficients proposés sont là pour illustrer et ne
|
||||
correspondent pas à la réalité.
|
||||
|
||||
On affecte les étudiants aux parcours grâce à l'éditeur de groupes et partitions
|
||||
(accessible via le menu **Groupes**): la partition nommée *parcours* est
|
||||
spéciale et est utilisée par ScoDoc pour savoir à quel parcours appartient
|
||||
l'étudiant.
|
||||
|
||||
Dans l'exemple ci-dessous, on a deux étudiants dans chaque parcours A et B:
|
||||
|
||||
<img src="/screens/but-info-groupes-parcours.png" width="75%">
|
||||
|
||||
## Inscriptions des étudiants aux modules de leurs parcours
|
||||
|
||||
Il faut que chaque étudiant soit inscrit aux modules (ressources ou SAÉs) de
|
||||
tronc commun, à et à ceux spécifiques à son parcours. Pour cela, on passe par le
|
||||
menu "**Inscriptions / Gérer les inscriptions aux UEs et modules**".
|
||||
|
||||
Dans chaque module, on peut régler les inscriptions:
|
||||
|
||||
<img src="/screens/but-info-inscr-module.png" width="30%">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -130,13 +130,22 @@ et ajouter les variables d'environnement nécessaires. Typiquement, il s'agit de
|
||||
|
||||
Vérifiez aussi que ces variables sont bien définies dans `/etc/environment` (si
|
||||
l'installeur Linux Debian ne les a pas déjà indiquées là, les ajouter ou créer
|
||||
ce fichier).
|
||||
ce fichier):
|
||||
|
||||
```bash
|
||||
# /etc/environment
|
||||
export HTTP_PROXY=http://proxy.univ-xxx.fr:1234
|
||||
export HTTPS_PROXY=http://proxy.univ-xxx.fr:1234
|
||||
# Versions en minuscules utilisées par wget
|
||||
export http_proxy="${HTTP_PROXY}"
|
||||
export https_proxy="${HTTPS_PROXY}"
|
||||
```
|
||||
|
||||
Après modification de ce fichier (qui *doit* être lisible par l'utilisateur `scodoc`),
|
||||
redémarrer le service:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart scodoc
|
||||
sudo systemctl restart scodoc9
|
||||
```
|
||||
|
||||
Dans les cas compliqués, il est possible qu'il vous faille configurer d'autres
|
||||
@ -305,6 +314,11 @@ bloquage des envois de mails). Au besoin, il est possible de désactiver IPv6
|
||||
|
||||
- Mettez en place des [sauvegardes](SauvegardesBases.md)
|
||||
|
||||
- Si vous le souhaitez, vous pouvez mettre en place un anti-virus pour
|
||||
surveiller les fichiers uploadés par les utilisateurs. Les fichiers sont
|
||||
conservés dans `/opt/scodoc-data`: le plus simple est de faire surveiller tout
|
||||
ce répertoire sauf `/opt/scodoc-data/logs`.
|
||||
|
||||
- Abonnez-vous au moins à la liste d'annonces: voir [contacts](Contact.md)
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
@ -30,7 +30,9 @@ il faudra donc les importer séparément si on le souhaite (via le menu "Importe
|
||||
|
||||
|
||||
## Procédure à suivre pour le premier semestre (S1)
|
||||
Listes Apogée presques complètes, faire l'import depuis le portail fin juillet, puis synchros courant septembre. Voir [SynchroApogee](SynchroApogee.md)
|
||||
|
||||
Listes Apogée presques complètes, faire l'import depuis le portail fin juillet,
|
||||
puis synchros courant septembre. Voir [SynchroApogee](SynchroApogee.md)
|
||||
|
||||
* nouveaux etudiants, modifs données personnelles
|
||||
|
||||
@ -38,13 +40,8 @@ Listes Apogée presques complètes, faire l'import depuis le portail fin juillet
|
||||
|
||||
|
||||
## Réinscriptions
|
||||
Les étudiants ont jusqu'à fin octobre pour se réinscrire, il est probable que les listes
|
||||
Apogée ne soient pas à jour la semaine de la rentrée. On va donc utiliser le mécanisme de passage interne à ScoDoc,
|
||||
et faire une synchro fin octobre. Voir [TransitionSemestre](TransitionSemestre.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Les étudiants ont jusqu'à fin octobre pour se réinscrire, il est probable que
|
||||
les listes Apogée ne soient pas à jour la semaine de la rentrée. On va donc
|
||||
utiliser le mécanisme de passage interne à ScoDoc, et faire une synchro fin
|
||||
octobre. Voir [TransitionSemestre](TransitionSemestre.md)
|
||||
|
@ -1401,3 +1401,10 @@ en POST.
|
||||
Note:
|
||||
|
||||
- `Absences/listeBillets` est un formulaire et ne fait pas partie de l'API.
|
||||
|
||||
!!! note "Voir aussi"
|
||||
|
||||
- [Guide configuration et ligne de commande](GuideConfig.md)
|
||||
- [Guide administrateur ScoDoc](GuideAdminSys.md)
|
||||
- [FAQ](FAQ.md)
|
||||
- [Contacts](Contact.md)
|
||||
|
@ -5,27 +5,54 @@ ScoDoc est basé sur Flask, se référer à la doc de Flask pour aller plus loin
|
||||
|
||||
On travaille toujours en tant qu'utilisateur `scodoc`, dans le *virtualenv*:
|
||||
|
||||
su scodoc # si nécessaire
|
||||
cd /opt/scodoc
|
||||
source venv/bin/activate
|
||||
```bash
|
||||
su scodoc # si nécessaire
|
||||
cd /opt/scodoc
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
## Lancement interactif
|
||||
|
||||
flask shell
|
||||
```bash
|
||||
flask shell
|
||||
```
|
||||
|
||||
Pour mémoire, un certains nombre de commandes en ligne facilitant la gestion de
|
||||
ScoDoc sont disponibles, afficher la liste avec
|
||||
|
||||
flask --help
|
||||
```bash
|
||||
flask --help
|
||||
```
|
||||
|
||||
## Tests unitaires
|
||||
|
||||
On utilise `pytest`. Ainsi, la commande
|
||||
|
||||
pytest tests/unit
|
||||
```bash
|
||||
pytest tests/unit
|
||||
```
|
||||
|
||||
lance l'ensemble des tests unitaires.
|
||||
|
||||
Ces tests sont lancés automatiquement avant la création du paquet Debian
|
||||
(release).
|
||||
|
||||
Rappelons quelques options utiles de `pytest`: `-x` permet de s'arrêter sur la
|
||||
première erreur, et `--pdb` lance directement le debugger sur l'erreur.
|
||||
Ainsi,
|
||||
|
||||
```bash
|
||||
pytest --pdb -x tests/api/test_api_departements.py
|
||||
```
|
||||
|
||||
lancera un test en mode "interactif", utile pour les mises au point.
|
||||
|
||||
Et pour lancer un seul test:
|
||||
|
||||
```bash
|
||||
pytest -x --pdb tests/unit/test_but_cursus.py::test_refcomp_niveaux_info
|
||||
```
|
||||
|
||||
### Création de la base de données pour les tests unitaires
|
||||
|
||||
```bash
|
||||
@ -44,11 +71,15 @@ Un faux portail "apogée" pour inscrire de faux étudiants avec photos. Utile po
|
||||
|
||||
Le code se trouve dans `tools/fakeportal/`.
|
||||
|
||||
Le serveur écoute par défaut sur `tcp/8678`. Il faudra paramétrer l'URL du "portail" dans les préférences du ScoDoc à tester, qui est en général sur le même hôte, donc `http://localhost:8678`.
|
||||
Le serveur écoute par défaut sur `tcp/8678`. Il faudra paramétrer l'URL du
|
||||
"portail" dans les préférences du ScoDoc à tester, qui est en général sur le
|
||||
même hôte, donc `http://localhost:8678`.
|
||||
|
||||
Lancement:
|
||||
|
||||
/opt/scodoc/tools/fakeportal/fakeportal.py
|
||||
```bash
|
||||
/opt/scodoc/tools/fakeportal/fakeportal.py
|
||||
```
|
||||
|
||||
## Tests de l'API ScoDoc9
|
||||
|
||||
@ -60,7 +91,7 @@ serveur doit avoir été configuré avec des données de test.
|
||||
|
||||
### TL;DR
|
||||
|
||||
Si votre install de développement est bien configurée, il suffit de lancer
|
||||
Si votre installation de développement est bien configurée, il suffit de lancer
|
||||
|
||||
```bash
|
||||
tools/test_api.sh
|
||||
@ -68,12 +99,13 @@ tools/test_api.sh
|
||||
|
||||
### Configuration du serveur pour tester l'API
|
||||
|
||||
1. modifier `/opt/scodoc/.env` pour indiquer
|
||||
1. modifier `/opt/scodoc/.env` pour indiquer
|
||||
```bash
|
||||
FLASK_ENV=test_api
|
||||
FLASK_DEBUG=1
|
||||
```
|
||||
1. En tant qu'utilisateur scodoc, lancer:
|
||||
|
||||
1. En tant qu'utilisateur scodoc, lancer:
|
||||
```bash
|
||||
tools/create_database.sh --drop SCODOC_TEST_API
|
||||
flask db upgrade
|
||||
@ -83,9 +115,10 @@ tools/test_api.sh
|
||||
Ces commandes vont effacer la base `SCODOC_TEST_API` si elle existe, la
|
||||
recréer, mettre à jour le schéma pour la dernière version de ScoDoc installée,
|
||||
l'initialiser et la peupler de données fictives pour les tests.
|
||||
3. Relancer ScoDoc:
|
||||
|
||||
1. Relancer ScoDoc:
|
||||
```bash
|
||||
flask run --host 0.0.0.0
|
||||
flask run --host 0.0.0.0 --debug
|
||||
```
|
||||
|
||||
### Configuration du client de test API
|
||||
@ -96,9 +129,10 @@ l'initialiser et la peupler de données fictives pour les tests.
|
||||
votre serveur).
|
||||
Normalement, il est suffisant d'indiquer l'URL de votre serveur. Si le
|
||||
client de test est sur la même machine que le serveur ScoDoc, c'est simplement:
|
||||
```bash
|
||||
SCODOC_URL="http://localhost:5000/"
|
||||
```
|
||||
|
||||
```bash
|
||||
SCODOC_URL="http://localhost:5000/"
|
||||
```
|
||||
|
||||
### Lancement des tests de l'API
|
||||
|
||||
@ -109,11 +143,3 @@ le client (qui peut être un autre shell de la même machine, bien sûr).
|
||||
cd /opt/scodoc/
|
||||
pytest tests/api/test_api_xxx.py # remplacer xxx par votre test
|
||||
```
|
||||
|
||||
Rappelons quelques options utiles de `pytest`: `-x` permet de s'arrêter sur la
|
||||
première erreur, et `--pdb` lance directement le débuggueur sur l'erreur.
|
||||
Ainsi,
|
||||
```bash
|
||||
pytest --pdb -x tests/api/test_api_departements.py
|
||||
```
|
||||
lancera un test en mode "interactif", utile pour les mises au point.
|
||||
|
Loading…
Reference in New Issue
Block a user