[Scodoc-devel] Tags sur les modules

Emmanuel Viennet emmanuel.viennet at univ-paris13.fr
Ven 15 Juil 00:10:38 CEST 2016


Bonjour,
j'ai ajouté la possibilité de placer des "tags" sur les modules des
programmes pédagogique.

Actuellement, cela ne sert à RIEN, mais on pense utiliser cela pour
construire des regroupements de modules différents des matières et UE,
afin de calculer des moyennes ad-hoc pour les avis de poursuites
d'études. Les collègues de l'IUT de Grenoble sont sur le coup.


Plus d'infos ci-dessous pour les amateurs.


Emmanuel


- On a des tags par modules.

- Edition: directement sur la page programme pédagogique (cocher la
checkbox "montrer les tags")
 ou sur la page d'édition de chaque module.

- autocomplétion pour éviter les erreurs de saisie des tags.

- Fonction sur mesure dans sco_tag_module:
get_etud_tagged_modules(context, etudid, tagname)

  Liste d'infos sur les modules de ce semestre avec ce tag.
  Cherche dans tous les semestres dans lesquel l'étudiant est ou a été inscrit.
  Construit la liste des moduels avec le tag donné par tagname


PS: Exemple complet: affiche le premier élément du résultat (pp() est
un prettyprint)

pour le tag 'allo'

>>> from debug import *
>>> from sco_tag_module import *
>>> context = go_dept(app, 'GEA').Notes
context in dept  GEA
>>> etudid='GEAEID80687'  # A ADAPTER
>>> etud = context.getEtudInfo(etudid=etudid, filled=True)[0]

>>> pp( get_etud_tagged_modules(context, etudid, 'allo')[0] )
{'moduleimpl': {'computation_expr': '',
                'ens': [{'ens_id': 'haimart',
                         'moduleimpl_id': 'GEAMIP82482',
                         'modules_enseignants_id': 'GEAENS82483'}],
                'formsemestre_id': 'GEASEM82467',
                'mat': {'matiere_id': 'GEAMAT68076',
                        'numero': 470,
                        'titre': 'Fiscalit\xc3\xa9 des personnes physiques',
                        'ue_id': 'GEAUE68062'},
                'module': {'abbrev': '',
                           'code': 'M2204',
                           'code_apogee': 'V1GE2204',
                           'coefficient': 1.0,
                           'ects': 1.0,
                           'formation_id': 'GEAFORM67924',
                           'heures_cours': 18.0,
                           'heures_td': 0.0,
                           'heures_tp': 0.0,
                           'matiere_id': 'GEAMAT68076',
                           'module_id': 'GEAMOD68078',
                           'numero': 470,
                           'semestre_id': 2,
                           'titre': 'Fiscalit\xc3\xa9 des personnes physiques',
                           'ue_id': 'GEAUE68062'},
                'module_id': 'GEAMOD68078',
                'moduleimpl_id': 'GEAMIP82482',
                'responsable_id': 'dupeux',
                'ue': {'acronyme': 'UE22',
                       'code_apogee': 'V1GEU22',
                       'ects': 16.0,
                       'formation_id': 'GEAFORM67924',
                       'is_external': 0,
                       'max': 16.75,
                       'min': 0.0,
                       'moy': 10.824596273291924,
                       'nb_moy': 161,
                       'numero': 430,
                       'titre': 'Unit\xc3\xa9 2.2 : Outils et
techniques de gestion - Approfondissement',
                       'type': 0,
                       'ue_code': 'UE22',
                       'ue_id': 'GEAUE68062'}},
 'moy': 16.25,
 'sem': {'annee': '2016',
         'annee_debut': '2016',
         'annee_fin': '2016',
         'anneescolaire': '2015 - 2016',
         'bul_bgcolor': '',
         'bul_hide_xml': '0',
         'date_debut': '17/01/2016',
         'date_debut_iso': '2016-01-17',
         'date_fin': '30/06/2016',
         'date_fin_iso': '2016-06-30',
         'dateord': '2016-01-17',
         'elt_annee_apo': '',
         'elt_sem_apo': '',
         'ens_can_edit_eval': 0,
         'etape_apo': 'V1GE',
         'etape_apo2': '',
         'etape_apo3': '',
         'etape_apo4': '',
         'etapes_apo_str': 'V1GE',
         'etat': '1',
         'formation_id': 'GEAFORM67924',
         'formsemestre_id': 'GEASEM82467',
         'gestion_compensation': '1',
         'gestion_semestrielle': '0',
         'ins': {'etat': 'I',
                 'etudid': 'GEAEID80687',
                 'formsemestre_id': 'GEASEM82467',
                 'formsemestre_inscription_id': 'GEASI283387'},
         'modalite': 'FI',
         'mois_debut': 'Jan  2016',
         'mois_debut_ord': 1,
         'mois_fin': 'Juin 2016',
         'mois_fin_ord': 6,
         'periode': 2,
         'resp_can_change_ens': 1,
         'resp_can_edit': 1,
         'responsable_id': 'zambotto',
         'semestre_id': 2,
         'session_id': 'GEA-DUT-FI-S2-2015',
         'titre': 'DUT GESTION DES ENTREPRISES ET ADMINISTRATIONS (PPN 2013)',
         'titre_num': 'DUT GESTION DES ENTREPRISES ET ADMINISTRATIONS
(PPN 2013), semestre 2',
         'titreannee': 'DUT GESTION DES ENTREPRISES ET ADMINISTRATIONS
(PPN 2013), semestre 2 FI  2016',
         'titremois': 'DUT GESTION DES ENTREPRISES ET ADMINISTRATIONS
(PPN 2013), semestre 2 FI  (Jan  2016 - Juin 2016)'},
 'tags': ['allo']}

Le 12 juillet 2016 à 22:16, Emmanuel Viennet
<emmanuel.viennet at univ-paris13.fr> a écrit :
>
> Cléo,
>
> je reviens sur ta question concernant le parcours d'un étudiant.
>
> Tu as une fonction qui pourrait éventuellement te servir dans le module
> sco_report:
>   get_codeparcoursetud(context, etud)
>
> qui te ramène une chaine décrivant le parcours "123" pour un S1, S2, S3
> (ces chaines sont affichées dans le tableau du menu Statistiques / Code des
> parcours)
>
> et aussi un dictionnaire: { semestre_id : decision_jury | None }
> (semestre_id est ici le numéro du semestre: 1, 2, 3 ou 4 pour une DUT)
>
>
> Emmanuel
>
>
>
>
>
>
>
>
> Le 12 juillet 2016 à 19:41, Emmanuel Viennet
> <emmanuel.viennet at univ-paris13.fr> a écrit :
>>
>> Bonjour
>>
>> j'ai juste commencé à mettre en place la gestion des tags sur les modules
>> coté base de donnée. Pas encore l'interface graphique (j'ai trouvé un joli
>> composant jQuery pour cela, j'espere le mettre en place cette semaine).
>>
>> Après nous avions convenu que je te fournirai une méthode
>> get_etud_tagged_modules(context, etudid, sem)
>>
>> qui rendra une liste
>>  [ {
>>       module_id
>>       sem  = le semestree du module en question
>>       moy = la moyenne de l'étudiant dans ce module
>>       tags = [...]  = liste des tags du module
>>     }
>>  ]
>>
>>
>>
>> Sinon, ok pour le calcul des co-semestres
>>
>> Tu peux limiter aux S3, ou utiliser ScoDoc pour avoir le parcours suivi
>> (je te cherche cela), de tête je ne sais pas!).
>>
>>
>> Pour ton code, le mieux est d'envoyer les fichiers sources ajoutés ou
>> modifiés, ou un patch par rapport à une version sans diff de ScoDoc):
>> svn diff > ~/ton_joli_patch.diff
>>
>> Si cela me plait, j'intègre ;-)
>>
>> A bientôt
>> Emmanuel
>>
>>
>>
>>
>>
>>
>> Le 12 juillet 2016 à 16:14, Cléo BARAS (IUT1-RT UGA)
>> <cleo.baras at univ-grenoble-alpes.fr> a écrit :
>>>
>>> Bonjour Emmanuel,
>>>
>>> Merci pour les tags (et associés) que tu as ajouté sur Scodoc ; j'ai
>>> upgradé notre version de développement et je vais me pencher sur tes ajouts.
>>>
>>> De mon côté, j'ai également avancé dans la direction convenue, avec un
>>> premier jet à parfaire qui :
>>> 1) calcule les co-semestres d'un semestre donné (sur la base de l'année
>>> prédite où seront remis aux étudiants du semestre leur diplome DUT)
>>> 2) liste tous les étudiants qui feront partie d'un jury PE (ceux recevant
>>> leur diplôme dans l'année en question) : bien qu'ayant supprimés de cette
>>> liste les démissionnaires (DEF) et les réorientations (NAR), il me reste
>>> encore à supprimer les étudiants qui se sont "envolés" (non ré-inscrits
>>> alors qu'ils auraient pu continuer). J'ai bien vu ton module
>>> sco_parcours_dut, mais j'ai peur de sortir l'artillerie lourde... Peut-être
>>> dans un premier temps vaudra-t-il mieux limiter aux étudiants ayant déjà
>>> atteint dans leur scolarité un S3 (ce qui élimine une grande partie des
>>> "fantômes") ? Qu'en penses-tu ?
>>>
>>> Quoiqu'il en soit, nous n'avions pas vraiment décidé de la façon et du
>>> moment adéquate pour échanger le code. Mon code en l'état (notamment pour le
>>> calcul des co-semestres) est à ta disposition :). Pour le reste, je continue
>>> d'avancer mais avec des disponibilités de travail moins larges que je ne
>>> l'avais espéré (arghh - les enfants!).
>>>
>>> Encore merci et à bientôt,
>>> Cléo
>>>
>>
>


Plus d'informations sur la liste de diffusion Scodoc-devel