From 290f967e3251a3dcf5312f927528a38ce9c8e828 Mon Sep 17 00:00:00 2001 From: viennet Date: Sun, 28 May 2023 14:43:45 +0200 Subject: [PATCH] ajouts et corrections --- docs/BUTExempleInfo.md | 66 +++++++++++++++++++++++++---- docs/GuideInstallDebian11.md | 18 +++++++- docs/InscriptionsEtudApogee.md | 21 ++++------ docs/ScoDoc9API.md | 7 ++++ docs/TestsScoDoc.md | 76 +++++++++++++++++++++++----------- 5 files changed, 142 insertions(+), 46 deletions(-) diff --git a/docs/BUTExempleInfo.md b/docs/BUTExempleInfo.md index 82668b3..01bf442 100644 --- a/docs/BUTExempleInfo.md +++ b/docs/BUTExempleInfo.md @@ -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: - ## 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: @@ -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: + + + +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: + + + +## 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: + + + +## 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: + + + + + + + diff --git a/docs/GuideInstallDebian11.md b/docs/GuideInstallDebian11.md index 2e0b7a5..fea0ef3 100644 --- a/docs/GuideInstallDebian11.md +++ b/docs/GuideInstallDebian11.md @@ -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" diff --git a/docs/InscriptionsEtudApogee.md b/docs/InscriptionsEtudApogee.md index 81198be..9ccd368 100644 --- a/docs/InscriptionsEtudApogee.md +++ b/docs/InscriptionsEtudApogee.md @@ -29,22 +29,19 @@ Apogée ne conserve pas (en général) les informations de type "admission" (lyc il faudra donc les importer séparément si on le souhaite (via le menu "Importer données admission"). -## 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) +## 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) * nouveaux etudiants, modifs données personnelles * import données admission (depuis fichier Excel) -## 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) +## 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) diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index f027ac3..22bcc89 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.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) diff --git a/docs/TestsScoDoc.md b/docs/TestsScoDoc.md index d6f2ed4..9bd2498 100644 --- a/docs/TestsScoDoc.md +++ b/docs/TestsScoDoc.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 +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.