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
|
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.
|
établissement, ainsi que les crédits ECTS associés aux UE.
|
||||||
|
|
||||||
Dans cet exemple, nous allons voir comment traiter cette configuration cas, plus
|
Cette page détaille un exemple de mise en place d'un BUT Info. Cette
|
||||||
complexe que le cas d'une spécialité typique de BUT: on va supposer que les
|
configuration est plus complexe que le cas d'une spécialité typique de BUT: on
|
||||||
coefficients d'une même ressource varient suivant le parcours suivi par
|
va supposer que les coefficients d'une même ressource varient suivant le
|
||||||
l'étudiant, et que les ECTS d'une même UE dépendent parfois du parcours.
|
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
|
## 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%">
|
<img src="/screens/but-info-choisir-nom-ue.png" width="50%">
|
||||||
|
|
||||||
|
|
||||||
## Associer les UE et les niveaux de compétences
|
## 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
|
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,
|
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
|
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
|
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:
|
parcours:
|
||||||
|
|
||||||
<img src="/screens/but-info-ue-lien-ects.png" width="40%">
|
<img src="/screens/but-info-ue-lien-ects.png" width="40%">
|
||||||
@ -143,6 +146,55 @@ parcours:
|
|||||||
|
|
||||||
## Coefficients des ressources et SAÉs
|
## 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
|
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
|
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`),
|
Après modification de ce fichier (qui *doit* être lisible par l'utilisateur `scodoc`),
|
||||||
redémarrer le service:
|
redémarrer le service:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl restart scodoc
|
sudo systemctl restart scodoc9
|
||||||
```
|
```
|
||||||
|
|
||||||
Dans les cas compliqués, il est possible qu'il vous faille configurer d'autres
|
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)
|
- 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)
|
- Abonnez-vous au moins à la liste d'annonces: voir [contacts](Contact.md)
|
||||||
|
|
||||||
!!! note "Voir aussi"
|
!!! 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)
|
## 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
|
* 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
|
## 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:
|
Note:
|
||||||
|
|
||||||
- `Absences/listeBillets` est un formulaire et ne fait pas partie de l'API.
|
- `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*:
|
On travaille toujours en tant qu'utilisateur `scodoc`, dans le *virtualenv*:
|
||||||
|
|
||||||
|
```bash
|
||||||
su scodoc # si nécessaire
|
su scodoc # si nécessaire
|
||||||
cd /opt/scodoc
|
cd /opt/scodoc
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
|
```
|
||||||
|
|
||||||
## Lancement interactif
|
## Lancement interactif
|
||||||
|
|
||||||
|
```bash
|
||||||
flask shell
|
flask shell
|
||||||
|
```
|
||||||
|
|
||||||
Pour mémoire, un certains nombre de commandes en ligne facilitant la gestion de
|
Pour mémoire, un certains nombre de commandes en ligne facilitant la gestion de
|
||||||
ScoDoc sont disponibles, afficher la liste avec
|
ScoDoc sont disponibles, afficher la liste avec
|
||||||
|
|
||||||
|
```bash
|
||||||
flask --help
|
flask --help
|
||||||
|
```
|
||||||
|
|
||||||
## Tests unitaires
|
## Tests unitaires
|
||||||
|
|
||||||
On utilise `pytest`. Ainsi, la commande
|
On utilise `pytest`. Ainsi, la commande
|
||||||
|
|
||||||
|
```bash
|
||||||
pytest tests/unit
|
pytest tests/unit
|
||||||
|
```
|
||||||
|
|
||||||
lance l'ensemble des tests unitaires.
|
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
|
### Création de la base de données pour les tests unitaires
|
||||||
|
|
||||||
```bash
|
```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 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:
|
Lancement:
|
||||||
|
|
||||||
|
```bash
|
||||||
/opt/scodoc/tools/fakeportal/fakeportal.py
|
/opt/scodoc/tools/fakeportal/fakeportal.py
|
||||||
|
```
|
||||||
|
|
||||||
## Tests de l'API ScoDoc9
|
## Tests de l'API ScoDoc9
|
||||||
|
|
||||||
@ -60,7 +91,7 @@ serveur doit avoir été configuré avec des données de test.
|
|||||||
|
|
||||||
### TL;DR
|
### 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
|
```bash
|
||||||
tools/test_api.sh
|
tools/test_api.sh
|
||||||
@ -73,6 +104,7 @@ tools/test_api.sh
|
|||||||
FLASK_ENV=test_api
|
FLASK_ENV=test_api
|
||||||
FLASK_DEBUG=1
|
FLASK_DEBUG=1
|
||||||
```
|
```
|
||||||
|
|
||||||
1. En tant qu'utilisateur scodoc, lancer:
|
1. En tant qu'utilisateur scodoc, lancer:
|
||||||
```bash
|
```bash
|
||||||
tools/create_database.sh --drop SCODOC_TEST_API
|
tools/create_database.sh --drop SCODOC_TEST_API
|
||||||
@ -83,9 +115,10 @@ tools/test_api.sh
|
|||||||
Ces commandes vont effacer la base `SCODOC_TEST_API` si elle existe, la
|
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,
|
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.
|
l'initialiser et la peupler de données fictives pour les tests.
|
||||||
3. Relancer ScoDoc:
|
|
||||||
|
1. Relancer ScoDoc:
|
||||||
```bash
|
```bash
|
||||||
flask run --host 0.0.0.0
|
flask run --host 0.0.0.0 --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration du client de test API
|
### Configuration du client de test API
|
||||||
@ -96,6 +129,7 @@ l'initialiser et la peupler de données fictives pour les tests.
|
|||||||
votre serveur).
|
votre serveur).
|
||||||
Normalement, il est suffisant d'indiquer l'URL de votre serveur. Si le
|
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:
|
client de test est sur la même machine que le serveur ScoDoc, c'est simplement:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
SCODOC_URL="http://localhost:5000/"
|
SCODOC_URL="http://localhost:5000/"
|
||||||
```
|
```
|
||||||
@ -109,11 +143,3 @@ le client (qui peut être un autre shell de la même machine, bien sûr).
|
|||||||
cd /opt/scodoc/
|
cd /opt/scodoc/
|
||||||
pytest tests/api/test_api_xxx.py # remplacer xxx par votre test
|
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