Visualisation des cohortes de BUT depuis scodoc
Go to file
2024-10-16 22:44:18 +02:00
.env-example CLI option handling, uses standard .env, create requirements.txt, update README. 2024-10-16 22:44:18 +02:00
.gitignore Add SVG generation, get rid of sankeymatic dependency, create a heuristic algorithm for enhancing the sankey graph 2024-10-16 14:33:29 +02:00
get.py CLI option handling, uses standard .env, create requirements.txt, update README. 2024-10-16 22:44:18 +02:00
LICENSE Initial commit 2024-10-10 20:59:41 +02:00
README.md CLI option handling, uses standard .env, create requirements.txt, update README. 2024-10-16 22:44:18 +02:00
redirect.csv.example Document some files and ignore some others 2024-10-12 21:06:13 +02:00
requirements.txt CLI option handling, uses standard .env, create requirements.txt, update README. 2024-10-16 22:44:18 +02:00
theme.csv.example Document some files and ignore some others 2024-10-12 21:06:13 +02:00
trailer.txt Add main program (revised version) 2024-10-14 01:17:25 +02:00

scodoc-cohortes

Visualisation des cohortes de BUT depuis scodoc

Ce programme utilise l'API pour générer des graphes de Sankey permettant de visualiser le devenir d'une cohorte.

La notion de cohorte devient difficile à traiter lorsqu'on considère l'existence de passerelles permettant d'entrer à n'importe quel année d'étude.

La vision proposée est de regarder tous les semestres consécutifs en partant d'une année de référence, et tous les élèves qui touchent ces semestres.

On peut alors dégager divers indicateurs de sortie :

  • Sortie en BUT3 avec le diplôme
  • Sortie en BUT2 avec décision de jury positive (ADM/ADJ) qui implique normalement la possibilité de poursuivre ses études ailleurs
  • Autorisation de redoublement et l'élève revient
  • Sortie en BUT1 ou BUT2 avec la possibilité de continuer, mais l'élève ne revient pas
  • Autorisation de redoublement et l'élève ne revient pas
  • Toute autre sortie du flot de la cohorte

Le premier type de sortie est assurément un succès, et c'est discutable pour le deuxième. Le taux de réussite est fourni par une fourchette.

Le troisième type n'est ni une réussite ni un échec, et comptera plus tard comme une réussite ou un échec dans une cohorte ultérieure.

Les trois derniers types, à des niveaux divers, sont des échecs. Le taux d'échec est donc fourni comme une fourchette entre le dernier type et la somme des trois derniers.

Il existe un dernier type (qui tombe dans le 5 ou le 6 actuellement), c'est le cas d'un élève en BUT3 qui ne valide pas le BUT3, a validé le BUT2, et partirait dans une autre filière après. Le cas paraît beaucoup plus douteux que le deuxième type et est pour le moment classé en échec.

Installation

Créer un virtualenv:

python3 -m venv venv
source venv/bin/activate
sudo apt-get install libcairo-dev

(n'importe quelle version de python récente fera l'affaire).

Puis installer les composants suivants dans ce virtualenv:

pip install -r requirements.txt

Puis indiquer votre configuration ScoDoc dans le fichier .env:

SCODOC_SERVER=https://votre.serveur.fr
SCODOC_USER=un_utilisateur_api
SCODOC_PASSWORD=son_mot_de_passe

Note pour les développeurs

Pour mettre à jour le fichier requirements.txt, lancer (après avoir activé l'environnement python)

pip freeze > requirements.txt

Usage

Après ouverture du terminal:

source venv/bin/activate

Puis

./get.py [--techno] [--base 2021] dept ...

FICHIERS

get.py

Le programme principal. Il prend en argument des acronymes de département (par exemple GEA ou INFO) et fabrique un graphe comportant les formations BUT de ce département (ou ces départements dans le même graphe, s'ils sont plusieurs sur la ligne de commande).

Il faut un environnement virtuel pour que soient accessibles les bibliothèques Python pycairo, drawsvg, requests. A priori libcairo est optionnel, mais le graphe marchera moins bien sans. La bibliothèque (système) libcairo2 doit aussi être installée (apt install libcairo-dev ou équivalent).

On peut rajouter l'option --techno pour n'avoir que les bacs technos.

redirect.csv

Certains élèves ne reçoivent jamais de décision de jury lorsqu'ils quittent la cohorte, tout en n'étant pas démissionnaires. Ce sont des erreurs administratives, mais il est possible d'indiquer un résultat de jury fictif pour ces élèves. La plupart du temps, ce sont des élèves qui abandonnent la formation, et il suffit de leur donner le résultat NAR ou DEM. Dans d'autres cas, ça peut être des élèves en attente de décision parce que le jury n'a pas encore eu lieu, mais on sait déjà quel sera l'issue du jury (par exemple des notes élevés et un stage qui se déroule bien, ou au contraire pas de stage trouvé au mois de septembre).

Format : format CSV avec virgule comme séparateur. Les lignes vides ou commençant par # sont ignorées.

#etudid,BUCKET

12345,NAR
67890,ADM

theme.csv

Possibilité de choisir les couleurs pour chacune des catégories.

Format : format CSV avec virgule comme séparateur. Les couleurs sont au format de sankeymatic.com, soit le format hexadécimal d'HTML sauf la catégorie TRANSPARENT qui vaut #FFFFFF.0 (blanc transparent). Les catégories sont +DUT, QUIT, SUCCESS, NORMAL, FAIL, OLD, NEW, TRANSPARENT, RED.

+DUT,#0040C0
QUIT,#00FF00
SUCCESS,#0000FF
NORMAL,#C0C0C0
FAIL,#FF4040
OLD,#FF8000
NEW,#FFFF00
TRANSPARENT,#FFFFFF.0
RED,#000000

.json

.svg

best-.json

Ce fichier contient le résultat d'une recherche heuristique pour avoir un graphe meilleur. Il peut être supprimé si le graphe ne s'améliore pas sur des lancements successifs. Il peut aussi être modifié à la main.