début de mise à jour pour ScoDoc 9

This commit is contained in:
Emmanuel Viennet 2021-08-22 08:14:55 +02:00
parent a952eebf0e
commit f50767c832
8 changed files with 125 additions and 51 deletions

View File

@ -4,10 +4,11 @@ Quelques indications pour développer avec ScoDoc 7.x, à adapter à vos goûts
# Machine virtuelle # Machine virtuelle
Il est confortable de développer dans une VM (un container Docker ferait aussi bien l'affaire, mais Docker a été créé bien après ScoDoc ! Les utilisateurs étant dans des VM, on a l'avantage d'être dans les mêmes conditions qu'eux). Il est confortable de développer dans une VM (un container Docker ferait
aussi bien l'affaire).
## Conseils pour VirtualBox ## Conseils pour VirtualBox
[VirtualBox](https://www.virtualbox.org/) est facile à installer sur Mac, Linux ou Windows. Créer une VM avec Debian 10, et suivre la [procédure habituelle d'installation de ScoDoc](GuideInstallDebianDix.md). [VirtualBox](https://www.virtualbox.org/) est facile à installer sur Mac, Linux ou Windows. Créer une VM avec Debian 10, et suivre la [procédure habituelle d'installation de ScoDoc](GuideInstallDebian11.md). XXX
En général, vous préférez développer sur la machine hôte pour disposer de votre éditeur préféré. Mais vous exécutez ScoDoc dans la VM. En général, vous préférez développer sur la machine hôte pour disposer de votre éditeur préféré. Mais vous exécutez ScoDoc dans la VM.
@ -52,6 +53,10 @@ Une autre solution (que j'utilise sur mon MacBook), est de laisser le source (cl
Dans VirtualBox / config. VM / Dossiers partagés, ajouter un partage. Par exemple, vous mettez vos sources sur l'hôte dans `~/src`, et dans la VM sur `/src`. Dans VirtualBox / config. VM / Dossiers partagés, ajouter un partage. Par exemple, vous mettez vos sources sur l'hôte dans `~/src`, et dans la VM sur `/src`.
Dans ScoDoc, `/opt/scodoc/Products/ScoDoc` est alors un lien symbolique vers votre `src/ScoDoc`. Dans ScoDoc, `/opt/scodoc/Products/ScoDoc` est alors un lien symbolique vers votre `src/ScoDoc`.
Pour pouvoir utiliser des liens symboliques dans le partage:
VBoxManage setextradata "Debian11" VBoxInternal2/SharedFoldersEnableSymlinksCreate/src 1
Attention, VirtualBox gère mal les droits/permissions du répertoire partagé. les utilisateurs linux (dans la VM) doit être dans le groupe `vboxsf`: Attention, VirtualBox gère mal les droits/permissions du répertoire partagé. les utilisateurs linux (dans la VM) doit être dans le groupe `vboxsf`:
usermod -a -G vboxsf root usermod -a -G vboxsf root

View File

@ -5,7 +5,8 @@ Informations pour les développeurs souhaitant étendre ou modifier ScoDoc.
## Informations générales ## Informations générales
* S'abonner aux [listes de diffusion](ListesDeDiffusion.md) * S'abonner aux [listes de diffusion](ListesDeDiffusion.md). Il y a aussi
un serveur Discord ouvert sur invitation aux développeur actifs. Contacter Emmanuel.
* [Générer de nouveaux formats de bulletins PDF](ApiGenerationBulletinsPdf.md) * [Générer de nouveaux formats de bulletins PDF](ApiGenerationBulletinsPdf.md)
* [Créer de nouveaux types de "parcours"](ApiCreationParcours.md) * [Créer de nouveaux types de "parcours"](ApiCreationParcours.md)
* [API](ScoDocAPI.md) : API JSON ou XML pour interfaçage avec d'autres applications * [API](ScoDocAPI.md) : API JSON ou XML pour interfaçage avec d'autres applications
@ -14,7 +15,7 @@ Informations pour les développeurs souhaitant étendre ou modifier ScoDoc.
* [Anciennes discussions sur la gestion des plannings](IdeesGestionPlannings.md) * [Anciennes discussions sur la gestion des plannings](IdeesGestionPlannings.md)
## Développer sur ScoDoc 7 et 8 ## Développer sur ScoDoc
Quelques conseils, indications et mémos pour les développeurs sur ScoDoc version 7.x et 8. Quelques conseils, indications et mémos pour les développeurs sur ScoDoc version 7.x et 8.
@ -22,7 +23,8 @@ Quelques conseils, indications et mémos pour les développeurs sur ScoDoc versi
[Quelques conseils mouvants pour configurer votre serveur de développement](ConseilServeurDev.md) [Quelques conseils mouvants pour configurer votre serveur de développement](ConseilServeurDev.md)
### Style et formatage du code ### Style et formatage du code
L'ancienneté de la base de code a rendu le style peu cohérent. L'ancienneté de la base de code a rendu le style un peu incohérent, mais cela
s'améliore avec ScoDoc 9 (respect PEP 8).
Le code doit être formatté avec [`black`](https://black.readthedocs.io/) avant tout commit (configurez votre éditeur pour appeler `black` à l'enregistrement). Le code doit être formatté avec [`black`](https://black.readthedocs.io/) avant tout commit (configurez votre éditeur pour appeler `black` à l'enregistrement).
@ -109,14 +111,35 @@ Prépare un sed pour renommer les variables non définies:
pylint --disable=all -e E "$f" | grep undefined-variable | awk '{print "sed -i .bak s/"$4"/scu."$4"/ '$f'";}' | sort | uniq | tr -d \' pylint --disable=all -e E "$f" | grep undefined-variable | awk '{print "sed -i .bak s/"$4"/scu."$4"/ '$f'";}' | sort | uniq | tr -d \'
done done
Note pour travailler sur VirtualBox:
addgroup scodoc vboxsf
### Tests
Voir [TestsScoDoc](TestsScoDoc.md)
## Cache Redis
Certains objets couteux à calculer sont cachés. Depuyis ScoDoc 9, on utilise Redis, via `flask-caching`.
Au besoin, mémo:
- client ligne de commande: `https://redis.io/topics/rediscli`
- afficher les clés: `redis-cli KEYS '*'`
- `redis-cli TTL key` affiche le TTL d'un clé, -1 si infini.
- `redis-cli -r -1 -i 3 KEYS '*_NT_*'` surveille certaines clés (ici _NT_), affche toutes les 3 secondes.
- `flask clear-cache` efface le cache Redis.
### Portail pour tests
TODO (voir `scotests/fakeportal/`).
## Roadmap ## Roadmap
Sujets **prioritaires** en 2021: Sujets **prioritaires** en 2021:
- modernisation du code: Flask, Python 3. - modernisation du code: Flask, Python 3: achevé août 2021
- prise en compte du Bachelor (BUT): SAÉ, suivi compétences, validations des blocs, UE, semestres selon la cadrage et l'arêté Licence Pro 2020. - prise en compte du Bachelor (BUT): SAÉ, suivi compétences, validations des blocs, UE, semestres selon la cadrage et l'arêté Licence Pro 2020.

View File

@ -0,0 +1,36 @@
# Installation de ScoDoc sur Debian 11 (Bullseye)
Ce document décrit la procédure d'installation et de configuration de ScoDoc.
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
...
7. **Lancer ScoDoc**:
```
systemctl restart scodoc
```
et voila !
Visiter `https://votre.site.fr/` pour achever la configuration et utiliser le logiciel: voir la page [GuideConfig](GuideConfig.md)
## En cas de problème
Ne pas hésiter à me contacter ou à écrire sur la liste notes (voir [Listes de diffusion](ListesDeDiffusion.md)).
* Problèmes d'envoi de courrier électronique (mail): voir [ProblemesMail](ProblemesMail.md)
Nota: sur certains réseaux, l'autoconfiguration IPv6 pose problème (par exemple: bloquage des envois de mails). Au besoin, il est possible de désactiver IPv6 (voir par exemple [ici](https://wiki.debian-fr.xyz/D%C3%A9sactiver_l%27IPv6)).
## Ensuite...
* Appliquez fréquemment les [mises à jour](MisesAJour.md)
* Mettez en place des [sauvegardes](SauvegardesBases.md)
* Abonnez vous au moins à la liste d'annonces: voir [Listes de diffusion](ListesDeDiffusion.md)

View File

@ -868,7 +868,7 @@ Et un autre exemple en format JSON:
## Absences ## Absences
* **`Absences/ListeAbsEtud`** * **`Absences/ListeAbsEtud`**
* Paramètres: `etudid, abs_just_only, format`. `abs_just_only` spécifie si on veut les absences justifiées ou non. * Paramètres: `etudid, absjust_only, format`. `absjust_only` spécifie si on veut les absences justifiées ou non.
* Résultat: liste d'absences. Exemple: * Résultat: liste d'absences. Exemple:
```{jour: "2021-02-10", ampm: "0", description: "M2202", }``` ```{jour: "2021-02-10", ampm: "0", description: "M2202", }```
(`ampm` vaut 1 le matin et 0 l'après-midi). (`ampm` vaut 1 le matin et 0 l'après-midi).

View File

@ -3,7 +3,7 @@ L'export des résultats de ScoDoc vers Apogée se fait après le jury. Pour les
L'export des notes finales (et des décisions de jury) vers le logiciel Apogée peut être fait de plusieurs façons: soit par remplissage automatique de maquettes Apogée, soit en passant par des fichiers Excel. L'export des notes finales (et des décisions de jury) vers le logiciel Apogée peut être fait de plusieurs façons: soit par remplissage automatique de maquettes Apogée, soit en passant par des fichiers Excel.
La procédure détaillée d'import des résultats de ScoDoc dans Apogée est décrite par ici merci à Bérangère Lhoumeau, du service Scolarité de l'IUT de Tarbes: [SCODOC_import_notes_dans_apogee.pdf](papers/SCODOC_import_notes_dans_apogee.pdf) La procédure détaillée d'import des résultats de ScoDoc dans Apogée est décrite ici: [SCODOC_import_notes_dans_apogee.pdf](papers/SCODOC_import_notes_dans_apogee.pdf), merci à Bérangère Lhoumeau, du service Scolarité de l'IUT de Tarbes.
## Remplissage des fichiers maquette Apogée (CSV) ## Remplissage des fichiers maquette Apogée (CSV)
Solution intégrée à ScoDoc en juillet 2016. Solution intégrée à ScoDoc en juillet 2016.

47
docs/TestsScoDoc.md Normal file
View File

@ -0,0 +1,47 @@
# Tests de ScoDoc
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
## Lancement interactif
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
## Tests unitaires
On utilise `pytest`. Ainsi, la commande
pytest tests/unit
lance l'ensemble des tests unitaires.
## Tests Selenium (web)
TODO (Aurélien, JMP)
## Portail pour tests
Un faux portail "apogée" pour inscrire de faux étudiants avec photos. Utile pour tester les fonctions d'inscription/synchronisation, et aussi pour peupler rapidement une base de donnée.
Le code se trouve dans `scotests/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`.
Lancement:
/opt/scodoc/scotests/fakeportal/fakeportal.py

View File

@ -1,36 +0,0 @@
# Tests de ScoDoc7
## Lancement interactif
Un script permet de lancer ScoDoc7 en mode interactif, et d'exécuter au préalable des scripts (de test ou de création d'objets divers).
cd /opt/scodoc/Products/ScoDoc
# Lance le script scotests/test_basic.py
scotests/scointeractive.sh -r TEST00 scotests/test_basic.py
L'option `-r` utilisée ci-dessus va recréer la base SQL du département `TEST00` (et l'*effacer avant si elle existe*).
Attention: la base utilisateurs étant à part, s'assurer que les utilisateurs utilisés dans vos scripts de test existent au préalable.
## Tests unitaires
TODO (Fares)
## Tests Selenium (web)
TODO (Aurélien)
## Portail pour tests
Un faux portail "apogée" pour inscrire de faux étudiants avec photos. Utile pour tester les fonctions d'inscription/synchronisation, et aussi pour peupler rapidement une base de donnée.
Le code se trouve dans `scotests/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`.
/opt/scodoc/Products/ScoDoc/scotests/fakeportal/fakeportal.py

View File

@ -1,7 +1,7 @@
# ScoDoc: un logiciel libre pour le suivi de la scolarité # ScoDoc: un logiciel libre pour le suivi de la scolarité
ScoDoc est un logiciel libre créé par Emmanuel Viennet pour suivre la scolarité des étudiants universitaires. Il est principalement utilisé dans les IUT, mais aussi apprécié par plusieurs Écoles et Masters. Il fournit notamment: ScoDoc est un logiciel libre créé par Emmanuel Viennet pour suivre la scolarité des étudiants universitaires. Il est principalement utilisé dans les IUT, mais aussi apprécié par plusieurs Écoles et Masters en France et à l'étranger. Il fournit notamment:
- suivi précis de la progression des étudiants, évaluations formatives et certificatives; - suivi précis de la progression des étudiants, évaluations formatives et certificatives;
- saisie et gestion des notes; - saisie et gestion des notes;
@ -14,7 +14,7 @@ ScoDoc est un logiciel libre créé par Emmanuel Viennet pour suivre la scolarit
ScoDoc est un *logiciel libre*: vous pouvez [participer à son développement](Contribuer.md). ScoDoc est un *logiciel libre*: vous pouvez [participer à son développement](Contribuer.md).
ScoDoc s'utilise sur un navigateur web standard, avec connexions sécurisées; pour obtenir un accès sur un *serveur de démo* (réservé aux IUT), contacter: <notes@listes.univ-paris13.fr> . Pour installer le logiciel sur votre serveur, voir le [guide d'installation sur Debian 10](GuideInstallDebianDix.md). ScoDoc s'utilise sur un navigateur web standard, avec connexions sécurisées; pour obtenir un accès sur un *serveur de démo* (réservé aux IUT), contacter: <notes@listes.univ-paris13.fr> . Pour installer le logiciel sur votre serveur, voir le [guide d'installation sur Debian 10](GuideInstallDebianDix.md). La version ScoDoc 9 est actuellement en test et devrait sortir fin août 2021. Elle fonctionne sur Debian 11.
ScoDoc est utilisé dans de nombreux établissement français et étrangers, **dont au moins 58 IUT**: [liste des utilisateurs connus de ScoDoc](UtilisateursScoDoc.md). ScoDoc est utilisé dans de nombreux établissement français et étrangers, **dont au moins 58 IUT**: [liste des utilisateurs connus de ScoDoc](UtilisateursScoDoc.md).
@ -59,12 +59,11 @@ Nous sommes en contact avec l'équipe du projet Pégase/PC-SCOL, qui succédera
### Feuille de route (roadmap) ### Feuille de route (roadmap)
Les prochaines versions de ScoDoc (*sous réserve !*): Les prochaines versions de ScoDoc (*sous réserve !*):
- ScoDoc 9.0 : fin juin 2021 version remaniée en Python 3, avec version mobile. - ScoDoc 9.0 : juillet 2021 version remaniée en Python 3/Flask, avec version mobile.
- ScoDoc 9.1 : fin août 2021 gestion du bachelor (BUT) - ScoDoc 9.1 : fin août 2021 gestion du bachelor (BUT)
- ScoDoc 9.2 : octobre 2021 nouvelles fonctionnalités liés au BUT. - ScoDoc 9.2 : octobre 2021 nouvelles fonctionnalités liées au BUT.
<br> <br>