From 2d0679ed48a9a7f5652164456f389982259833b1 Mon Sep 17 00:00:00 2001 From: viennet Date: Mon, 6 Sep 2021 12:35:49 +0200 Subject: [PATCH] updates pour ScoDoc 9 --- docs/CalculNotes.md | 87 ++++++++++++++++++++++++++++-------- docs/FAQ.md | 3 ++ docs/GuideConfig.md | 5 +-- docs/GuideConfig7.md | 65 +++++++++++++++++++++------ docs/GuideDeveloppeurs.md | 2 +- docs/GuideInstallDebian11.md | 19 ++++---- docs/MigrationScoDoc7a9.md | 19 +++++--- docs/SauvegardesBases.md | 4 +- 8 files changed, 155 insertions(+), 49 deletions(-) diff --git a/docs/CalculNotes.md b/docs/CalculNotes.md index 1c643de..7d297ca 100644 --- a/docs/CalculNotes.md +++ b/docs/CalculNotes.md @@ -6,11 +6,18 @@ ### En résumé: -A chaque instant, ScoDoc prend en compte les notes des évaluations "complètes" (dans lesquelles toutes les notes ont été saisies ou bien signalées "en attente" avec le code ATT. Les évaluations partiellement saisies ne sont pas prises en compte, sauf si l'option "*prise en compte immédiate*" a été cochée sur l'évaluation. +A chaque instant, ScoDoc prend en compte les notes des évaluations "complètes" +(dans lesquelles toutes les notes ont été saisies ou bien signalées "en attente" +avec le code ATT. Les évaluations partiellement saisies ne sont pas prises en +compte, sauf si l'option "*prise en compte immédiate*" a été cochée sur +l'évaluation. -Les moyennes de modules sont obtenues en calculant dans chacun la moyenne pondérée des notes disponibles, en utilisant les coefficient des évaluations. +Les moyennes de modules sont obtenues en calculant dans chacun la moyenne +pondérée des notes disponibles, en utilisant les coefficient des évaluations. -Les moyennes d'UE et générale sont calculées à partir des moyennes de modules, en utilisant les coefficients du programme pédagogique (dénommé dans ScoDoc "formation"). +Les moyennes d'UE et générale sont calculées à partir des moyennes de modules, +en utilisant les coefficients du programme pédagogique (dénommé dans ScoDoc +"formation"). Plus de détails ci-dessous. @@ -28,26 +35,42 @@ Chaque évaluation produit des notes de différents types: * note excusée: non pris en compte -Chaque étudiant a donc un nombre variable de notes à prendre en compte dans chaque module. Chaque note est associée à un coefficient: le coefficient de l'évaluation dans le module. +Chaque étudiant a donc un nombre variable de notes à prendre en compte dans +chaque module. Chaque note est associée à un coefficient: le coefficient de +l'évaluation dans le module. -La moyenne de module est la somme pondérée par le coefficient des évaluations des notes aux évaluations prises en compte, sauf si on a défini une formule spécifique. +La moyenne de module est la somme pondérée par le coefficient des évaluations +des notes aux évaluations prises en compte, sauf si on a défini une formule +spécifique. #### Formules de calcul spéciales -Il est possible de définir des formules de calcul spéciales pour calculer les moyennes. Ces formules sont alors utilisées par ScoDoc à la place de la moyenne pondérée standard. Voir [FormulesCalculUtilisateur](FormulesCalculUtilisateur.md) pour plus d'informations. +Il est possible de définir des formules de calcul spéciales pour calculer les +moyennes. Ces formules sont alors utilisées par ScoDoc à la place de la moyenne +pondérée standard. Voir +[FormulesCalculUtilisateur](FormulesCalculUtilisateur.md) +pour plus d'informations. ### Moyennes d'UE moyenne_ue = moyenne pondérée des moyennes de modules de l'UE (- malus) -Seuls les modules auxquels l'étudiant est inscrit et dans lesquels il y a des notes sont considérés. +Seuls les modules auxquels l'étudiant est inscrit et dans lesquels il y a des +notes sont considérés. -Le malus appliqué à la moyenne d'UE est donné par la somme des notes du ou des modules de malus de cette UE (un type spécial de modules, voir [ModulesMalus](ModulesMalus.md)). +Le malus appliqué à la moyenne d'UE est donné par la somme des notes du ou des +modules de malus de cette UE (un type spécial de modules, voir +[ModulesMalus](ModulesMalus.md)). -Comme pour le calcul des moyennes de modules, il est possible de définir une formule ad-hoc pour le calcul de la moyenne d'UE (cela est toutefois rarement nécessaire, et il est recommandé de ne pas abuser de cette fonctionnalité: la présence de formules ralentit considérablement les calculs). -La syntaxe et les variables sont les mêmes que pour les modules; ici, le vecteur de notes est celui des moyennes de modules (et non des évaluations). Voir [FormulesCalculUtilisateur](FormulesCalculUtilisateur.md). +Comme pour le calcul des moyennes de modules, il est possible de définir une +formule ad-hoc pour le calcul de la moyenne d'UE (cela est toutefois rarement +nécessaire, et il est recommandé de ne pas abuser de cette fonctionnalité: la +présence de formules ralentit considérablement les calculs). +La syntaxe et les variables sont les mêmes que pour les modules; ici, le vecteur +de notes est celui des moyennes de modules (et non des évaluations). Voir +[FormulesCalculUtilisateur](FormulesCalculUtilisateur.md). La présence de formules d'UE est signalée sur le tableau de bord du semestre. @@ -56,20 +79,34 @@ La présence de formules d'UE est signalée sur le tableau de bord du semestre. moyenne = moyenne pondérée des moyennes d'UE + bonus sport/culture -Le coef. d'une UE est par défaut la somme des coefs des modules qui la compose (et peut donc différer d'un étudiant à un autre, s'ils ne sont pas inscrits aux mêmes modules). +Le coef. d'une UE est par défaut la somme des coefs des modules qui la compose +(et peut donc différer d'un étudiant à un autre, s'ils ne sont pas inscrits aux +mêmes modules). -Toutefois (depuis mai 2020), il est possible de spécifier un coefficient d'UE dans le programme pédagogique, et de l'utiliser pour calculer la moyenne générale (option "Utiliser les coefficients d'UE pour calculer la moyenne générale"). Dans ce cas, les coefficients des modules ne servent qu'à calculer les moyennes d'UE, qui sont ensuite affectée de leur propre coefficient. De cette façon, les UE pèsent le même poids pour tous les étudiants, quel que soit le nombre de modules auquel l'étudiant est inscrit (ce qui peut sembler étrange: bien réfléchir avant de choisir le mode de calcul adapté à sa formation). +Toutefois (depuis mai 2020), il est possible de spécifier un coefficient d'UE +dans le programme pédagogique, et de l'utiliser pour calculer la moyenne +générale (option "Utiliser les coefficients d'UE pour calculer la moyenne +générale"). Dans ce cas, les coefficients des modules ne servent qu'à calculer +les moyennes d'UE, qui sont ensuite affectée de leur propre coefficient. De +cette façon, les UE pèsent le même poids pour tous les étudiants, quel que soit +le nombre de modules auquel l'étudiant est inscrit (ce qui peut sembler étrange: +bien réfléchir avant de choisir le mode de calcul adapté à sa formation). -Les modules des UEs de type "Sport & Culture" ne sont évidemment pas pris en compte dans la moyenne pondérée: ils sont utilisés pour calculer le bonus, comme expliqué ci-dessous. +Les modules des UEs de type "Sport & Culture" ne sont évidemment pas pris en +compte dans la moyenne pondérée: ils sont utilisés pour calculer le bonus, comme +expliqué ci-dessous. ### Notes de rattrapage -Dans chaque module, il est possible de définir une évaluation de "rattrapage". Lors de la création (ou modification) de l'évaluation, indiquer le type "Rattrapage": +Dans chaque module, il est possible de définir une évaluation de "rattrapage". +Lors de la création (ou modification) de l'évaluation, indiquer le type +"Rattrapage": ![CreateEvaluationRat.png](screens/CreateEvaluationRat.png) -Pour chaque étudiant, la note obtenue à l'évaluation de rattrapage remplace la moyenne du module, seulement si elle est supérieure à celle-ci. +Pour chaque étudiant, la note obtenue à l'évaluation de rattrapage remplace la +moyenne du module, seulement si elle est supérieure à celle-ci. @@ -79,7 +116,9 @@ Ce bonus s'applique directement sur la **moyenne générale**. Les notes des UEs de type spécial "Sport & Culture" sont utilisées pour calculer ce bonus. -Pour qu'un étudiant bénéficie de ce bonus, il doit être inscrit à un module d'une UE de type "Sport&Culture". Cette UE et modules associés doivent donc être prévu dans le programme pédagogique. +Pour qu'un étudiant bénéficie de ce bonus, il doit être inscrit à un module +d'une UE de type "Sport&Culture". Cette UE et modules associés doivent donc être +prévu dans le programme pédagogique. La règle par défaut, en vigueur à l'IUT de Villetaneuse, est la suivante: *Les étudiants de l'IUT peuvent suivre des enseignements optionnels @@ -90,6 +129,18 @@ optionnelles sont cumulés et 5% de ces points cumulés s'ajoutent à la moyenne générale du semestre déjà obtenue par l'étudiant. * -Mais la règle à appliquer dépend de l'établissement. Ainsi, l'Université de Haute Alsace applique le règlement suivant: *Les étudiants de l'IUT peuvent suivre des enseignements optionnels de l'U.H.A. (sports, musique, deuxième langue, culture, etc) non rattachés à une unité d'enseignement. Les points au-dessus de 10 sur 20 obtenus dans chacune des matières optionnelles sont cumulés dans la limite de 10 points. 5% de ces points cumulés s'ajoutent à la moyenne générale du semestre déjà obtenue par l'étudiant.* +Mais la règle à appliquer dépend de l'établissement. Ainsi, l'Université de +Haute Alsace applique le règlement suivant: *Les étudiants de l'IUT peuvent +suivre des enseignements optionnels de l'U.H.A. (sports, musique, deuxième +langue, culture, etc) non rattachés à une unité d'enseignement. Les points +au-dessus de 10 sur 20 obtenus dans chacune des matières optionnelles sont +cumulés dans la limite de 10 points. 5% de ces points cumulés s'ajoutent à la +moyenne générale du semestre déjà obtenue par l'étudiant.* + +L'administrateur peut changer la fonction de clacul du bonus sport via le +formulaire de configuration accessible (aux admin) depuis la page d'accueil. +Si vous souhaitez implémenter une nouvelle règle, il faut la coder en Python +et modifier un fichier de configuration (non documenté, contacter la liste +scodoc-devel ou regardez les fichiers `/opt/scodoc-data/config/scodoc_local.py` et + `bonus_sport.py`.) -Si vous souhaitez changer la règle de calcul utilisée par ScoDoc, il faut modifier un fichier de configuration et éventuellement écrire une fonction pour calculer votre bonus. Regardez les fichier `config/scodoc_config.py` et éventuellement `bonus_sport.py`. diff --git a/docs/FAQ.md b/docs/FAQ.md index 171aa44..8952f4a 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -48,6 +48,9 @@ passer par la page "Saisie des notes" et suivre le lien "Effacer toutes les note ### Configuration #### Comment changer les logos sur les documents PDF (PV...) + +XXX à ré-écrire pour ScoDoc9 + Ce n'est malheureusement pas encore simple. Il faut (pour l'instant) être administrateur sur le serveur ScoDoc. Les logos sont stockés dans le répertoire `/opt/scodoc/var/scodoc/config/logos/` (anciennement dans `/opt/scodoc/Products/ScoDoc`) et doivent être des images JPEG (extension `.jpg`). diff --git a/docs/GuideConfig.md b/docs/GuideConfig.md index 7d93aeb..d499418 100644 --- a/docs/GuideConfig.md +++ b/docs/GuideConfig.md @@ -77,10 +77,9 @@ Les données dans ScoDoc 9 ayant un format et une organisation très différents de ScoDoc 7, une étape de conversion (migration) est nécessaire. Elle est automatique mais prends du temps. -**XXX la procédure de migration "en place" n'est pas encore disponible.** - -**Un script inétgré réalise les deux étapes suivantes, la doc arrive XXX** +Se reporter à [MigrationScoDoc7a9](MigrationScoDoc7a9.md) +Au besoin (cas rare), utiliser les commandes ci-dessous. ### Comptes utilisateurs Toujours migrer les comptes utilisateurs avant d'importer les diff --git a/docs/GuideConfig7.md b/docs/GuideConfig7.md index e5a1b49..fadde4d 100644 --- a/docs/GuideConfig7.md +++ b/docs/GuideConfig7.md @@ -13,42 +13,81 @@ Ce document suppose que le ScoDOc 7 a été installé suivant la procédure déc * Connectez-vous au site: `https://votre.site.fr/` -Vous allez voir la page d'accueil de ScoDoc (il est possible que votre navigateur vous demande d'accepter un certificat). +Vous allez voir la page d'accueil de ScoDoc (il est possible que votre +navigateur vous demande d'accepter un certificat). -Il n'y a pas de "département défini": c'est normal, lors de l'installation nous avons créé des bases de données, mais pas les interfaces web. +Il n'y a pas de "département défini": c'est normal, lors de l'installation nous +avons créé des bases de données, mais pas les interfaces web. - * Suivez le lien *Identifiez vous comme administrateur*. L'utilisateur *admin* est administrateur et a tous les droits sur !ScoDoc. C'est le seul à pouvoir créer un nouveau département. + * Suivez le lien *Identifiez vous comme administrateur*. L'utilisateur *admin* + est administrateur et a tous les droits sur !ScoDoc. C'est le seul à pouvoir + créer un nouveau département. Le logiciel va vous demander de changer immédiatement le mot de passe administrateur. Entrez l'identifiant et le mot de passe définis pendant l'installation. -Après vous être identifié sur la page d'accueil ScoDoc, vous avez maintenant un lien 'Administration de ScoDoc' qui -vous permet d'ajouter un département, puis des utilisateurs. +Après vous être identifié sur la page d'accueil ScoDoc, vous avez maintenant un +lien 'Administration de ScoDoc' qui vous permet d'ajouter un département, puis des utilisateurs. * Ajouter un département (donnez le nom du département créé pendant l'installation) - * Ajouter un administrateur pour votre département: lien "Utilisateurs" (marge de gauche), puis suivre "ajouter un utilisateur". Donner à ce nouvel utilisateur les rôles `Admin`, `Ens` et `Secr` afin qu'il puisse effectuer toutes les opérations. + * Ajouter un administrateur pour votre département: lien "Utilisateurs" (marge + de gauche), puis suivre "ajouter un utilisateur". Donner à ce nouvel + utilisateur les rôles `Admin`, `Ens` et `Secr` afin qu'il puisse effectuer + toutes les opérations. Quittez votre navigateur et reconnectez vous à ScoDoc avec votre nouvel utilisateur. -Vous pouvez si nécessaire créer plusieurs administrateurs par département (il est préférable que chaque compte ne soit utilisé que par une seule personne, pour éviter de divulguer les mots de passe et mieux suivre les opérations). +Vous pouvez si nécessaire créer plusieurs administrateurs par département (il +est préférable que chaque compte ne soit utilisé que par une seule personne, +pour éviter de divulguer les mots de passe et mieux suivre les opérations). -/!\ Surtout, évitez de travailler comme "admin": cet utilisateur doit être réservé à la création de départements. Prenez le temps de créer un utilisateur "chef de département !". + Surtout, évitez de travailler comme "admin": cet utilisateur doit +être réservé à la création de départements. Prenez le temps de créer un +utilisateur "chef de département !". ## Changement des logos apparaissant sur les documents -Les documents PDF (PV de jurys...) incluent les logos de l'établissement. Par défaut, ceux de l'IUT de Villetaneuse et de l'Université Paris 13 sont distribués (ce n'est pas bien, ils ne sont sans doute pas sous licence libre !). Pour les changer, placer vos logos (fichiers images JPEG ou PNG) dans le répertoire +Les documents PDF (PV de jurys...) incluent les logos de l'établissement. Par +défaut, ceux de l'IUT de Villetaneuse et de l'Université Paris 13 sont +distribués (ce n'est pas bien, ils ne sont sans doute pas sous licence libre !). +Pour les changer, placer vos logos (fichiers images JPEG ou PNG) dans le +répertoire ``` -/opt/scodoc/var/scodoc/config/logos +/opt/scodoc-data/config/logos ``` -avec les noms `logo_header.jpg` (habituellement le logo de votre composante, mais faites comme vous voulez) et `logo_footer.jpg` (habituellement le logo de votre Université ou école). +(en ScoDoc 7, c'était `/opt/scodoc/var/scodoc/config/logos`) + +avec les noms `logo_header.jpg` (habituellement le logo de votre composante, +mais faites comme vous voulez) et `logo_footer.jpg` (habituellement le logo de +votre Université ou école). Ensuite, éditez le fichier ``` -/opt/scodoc/Products/ScoDoc/config/scodoc_config.py +/opt/scodoc-data/config/scodoc_local.py ``` -et changer les valeurs des variables `CONFIG.LOGO_FOOTER_ASPECT` et suivantes (ce n'est pas pratique, il faudrait modifier le code ScoDoc pour calculer ces valeurs à partir des fichiers images). +(le créer s'il n'existe pas). +Ce fichier doit contenir un dictionnaire sous la forme suivante: +``` +CONFIG = { + # Taille du l'image logo: largeur/hauteur + # W/H + CONFIG.LOGO_FOOTER_ASPECT = 326 / 96.0 + # Taille dans le document en millimetres + CONFIG.LOGO_FOOTER_HEIGHT = 10 + # Proportions logo (donné ici pour IUTV) + CONFIG.LOGO_HEADER_ASPECT = 549 / 346.0 + # Taille verticale dans le document en millimetres + CONFIG.LOGO_HEADER_HEIGHT = 28 + ... autres variables de configuration locale +} +``` + +Adaptez les valeurs des variables `LOGO_FOOTER_ASPECT` et suivantes à votre cas +(ce n'est pas pratique, il faudrait modifier le code ScoDoc pour calculer ces +valeurs à partir des fichiers images). Enfin, redémarrez ScoDoc (`/etc/init.d/scodoc start`). diff --git a/docs/GuideDeveloppeurs.md b/docs/GuideDeveloppeurs.md index 064ab93..f460cb8 100644 --- a/docs/GuideDeveloppeurs.md +++ b/docs/GuideDeveloppeurs.md @@ -57,7 +57,7 @@ Exemple: Le dépot est -La branche `master` est celle en production. La branche `Scodoc8`est expérimentale (nouvel installeur, refactoring...). ScoDoc9 sera avec Python 3. +La branche `master` est celle de ScoDoc 9 (pas encore en production). La branche `Scodoc7` est l'ancienne (actuelle jusqu'à septembre 2021) en production. Ci-dessous quelques pense-bête qui peuvent servir. #### Hot fixes (internes) diff --git a/docs/GuideInstallDebian11.md b/docs/GuideInstallDebian11.md index 91764a5..005606d 100644 --- a/docs/GuideInstallDebian11.md +++ b/docs/GuideInstallDebian11.md @@ -1,11 +1,10 @@ -# Installation de ScoDoc sur Debian 11 (Bullseye) -Ce document décrit la procédure d'installation et de configuration de ScoDoc. +# Installation de ScoDoc 9 sur Debian 11 (Bullseye) +Ce document décrit la procédure d'installation et de configuration de ScoDoc 9 +(**version en test, pas encore prête pour la production**). Cette procédure doit être effectué sur la machine serveur avec un accès administrateur (root). -XXX en cours de rédaction. - -En attendant, voir https://scodoc.org/git/viennet/ScoDoc +*Documentation en cours de relecture, voir aussi* https://scodoc.org/git/viennet/ScoDoc ScoDoc est livré avec des scripts d'installation qui configurer presque @@ -13,10 +12,10 @@ automatiquement votre serveur (serveur web, base de données, etc): vous pouvez donc installer et configurer ScoDoc avec des connaissances réduites sur le système Linux. -Cette documentation est prévue pour installer ScoDoc sur un système +Cette documentation est prévue pour installer ScoDoc version 9 sur un système [Debian](http://www.debian.org) 11 (Bullseye, stable) s'exécutant sur une machine intel-like **64bits** (architecture **AMD64**). Debian s'installe -facilement en une quinzaine de minutes, sur une machine normale ou un serveur +facilement en cinq minutes, sur une machine normale ou un serveur virtualisé. Il est **vivement déconseillé** de tenter l'installation sur une autre version. @@ -161,7 +160,12 @@ et voila ! Visiter `https://monscodoc.mondomaine.fr/` pour achever la configuration et utiliser le logiciel: voir la page [GuideConfig](GuideConfig.md). +## Importation des données ScoDoc 7 +Après installation, vous pouvez migrer toutes vos données depuis une +installation ScoDoc 7, ou même en place. + +Voir [la procédure de migration](MigrationScoDoc7a9.md). ## En cas de problème Ne pas hésiter à me contacter ou à écrire sur la liste notes (voir [Listes de @@ -175,7 +179,6 @@ bloquage des envois de mails). Au besoin, il est possible de désactiver IPv6 ## Ensuite... - * Appliquez fréquemment les [mises à jour](MisesAJour.md) * Mettez en place des [sauvegardes](SauvegardesBases.md) diff --git a/docs/MigrationScoDoc7a9.md b/docs/MigrationScoDoc7a9.md index 3be6bfe..eb88e7b 100644 --- a/docs/MigrationScoDoc7a9.md +++ b/docs/MigrationScoDoc7a9.md @@ -57,6 +57,7 @@ Récupérez l'archive transférée sur le nouveau serveur ou ouvrez-la: cd /tmp tar xfz sauvegarde-scodoc7.tgz + chown -R scodoc /tmp/sauvegarde-scodoc7 commande qui va créer `/tmp/sauvegarde-scodoc7`. @@ -81,8 +82,8 @@ archives et autres fichiers: c'est l'objet de l'étape suivante. ### Étape 4: Importer les données dans ScoDoc 9 Les formats des bases ayant changé l'opération est complexe et peut durer -plusieurs minutes (ou dizaines de minutes). Il faut lancer le script en tant -que `root`. +plusieurs minutes (ou dizaines de minutes). Attention: **Il faut lancer le script en tant +que `root` **. su # passer root d'une façon ou d'une autre # lancer le script, avec le nom du répertoire: @@ -97,7 +98,7 @@ travaillez pas dans des machines virtuelles, ou qu'il est compliqué de créer u nouvelle VM). Vous pouvez partir de ScoDoc 7 / Debian 10, faire l'upgrade Debian en place, puis migrer ScoDoc 9. -Acvant tout, sauvegardez évidemment votre serveur complet, vérifiez que la +Avant tout, sauvegardez évidemment votre serveur complet, vérifiez que la sauvegarde est bonne et que plusieurs exemplaires sont stockés en lieux sûrs, comme d'habitude. @@ -140,9 +141,17 @@ Nombreux tutos disponibles, voir [par exemple celui-ci](https://doc.akito.ooo/books/essentials/page/manually-upgrade-debian-from-buster-to-bullseye) (non testé). +Attention, il faut désinstaller Apache (avant ou après upgrade Linux), car +ScoDoc 9 utilise un autre serveur web (nginx) qui serait en conflit: + + # peut être utile pour récuperer vos certificats SSL ? + mv /etc/apache2 /etc/apache2.old + apt-get remove --purge apache2 + + ### 3. Installer ScoDoc 9 -Voir [le guide d'installation](GuideInstallDebian11), section 2. +Voir [le guide d'installation](GuideInstallDebian11.md), section 2. Vérifier que tout fonctionne avant d'aller plus loin. @@ -152,7 +161,7 @@ Les données sont restées dans /opt/scodoc7. Lancer le script suivant en tant que `root`: - /opt/scodoc/tools/migrate_from-scodoc7.sh -m + /opt/scodoc/tools/migrate_from_scodoc7.sh -m (l'option `-m` indique qu'il s'agit d'une migration "en place"). diff --git a/docs/SauvegardesBases.md b/docs/SauvegardesBases.md index 6a1f17f..e1768c1 100644 --- a/docs/SauvegardesBases.md +++ b/docs/SauvegardesBases.md @@ -1,5 +1,7 @@ -# Mise en place de sauvegardes des bases de données ScoDoc +# XXX page à mettre à jour pour ScoDoc 9 + +# Mise en place de sauvegardes des bases de données ScoDoc 7 Il est ***vivement recommandé*** de mettre en place une stratégie de sauvegarde permettant de rétablir le service en minimisant les pertes de données à la suite d'un accident majeur mais probable comme: crash de disque dur, bug, vol du serveur, incendie... Nous recommandons d'agir à deux niveaux: