compétences.....le retour @G. Carpeaux

Added by DENIS Sébastien over 4 years ago

Bonsoir Gérard
J'étais en train de rediger le tuto sur les colpétences mais il y a un bug qui vient d'apparaitre et je n'arrive pas à le corriger cela vient de MAX= je dois absolument mettre MAX="scoremax" pour chaque question; cela marchait hier mais plus aujourd'hui (voir question5 le charbon et question 2 forme d'energie. si je coche juste ca marche(1point) si je coche faux cela mais un point aussi cependant l'annotation de la correction est juste!!! je ne vois pas l'erreur mais vraiment pas
Si vous avez un peu de temps...
Merci pour votre aide
Sébastien
Ps : il y a un truc que je n’arrive pas a faire : afficher les corrections sur les copies annotées malgré corect à la place de correcthead je ne sais plus dans quel fichier et je n’ai pas compris : compiler 3 fois !!??

groupes.tex (52 kB)


Replies (227)

RE: compétences.....le retour @G. Carpeaux - Added by DENIS Sébastien 10 months ago

Avez vous la derniere version d'amc?
dans ce cas si cela fonctionne je suis preneur...
je mettrai la mienne à jour

RE: compétences.....le retour @G. Carpeaux - Added by Frédéric Bréal 10 months ago

je n'ai pas la même version que vous d'AMC je ne peux pas simplement remplacer les fichiers.

Il faut être en mode super utilisateur. Les commandes doivent être à peu près celles-ci (à vérifier sur le forum ubuntu)
  • Ouvrez le terminal puis renommez le fichier que vous allez remplacer
    sudo cp chemin/complet/du/fichier/scoring.pm chemin/complet/du/fichier/scoring.pm.backup
    
  • Ensuite copiez le nouveau fichier
    sudo cp chemin/complet/du/fichier/téléchargé/scoring.pm chemin/complet/du/fichier/scoring.pm 
    

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 10 months ago

non, non, ce n'est pas un problème de droits d'écriture.
Ce que je veux dire c'est que je suis en version 1.5.0 d'AMC (sur ma debian j'ai jamais réussi à passer en 1.5.2 qui n'est pas dans les paquets) et Sébastien est en version 1.5.2. Il y a donc un risque que les 3 fichiers dont on parle ne soit pas exactement les mêmes, d'où l'idée de "patch" plutôt que de remplacement.

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 10 months ago

Synthèse des différents messages précédents

ca marche effectivement très bien !
Voici ma procédure sur AMC 1.5.0 qui reprend globalement celle de Jérôme O ici  :
  • dans /usr/lib/AMC/perl/ :
    je sauvegarde "AMC-prepare.pl" en "AMC-prepare.pl.orig" puis je modifie "AMC-prepare.pl" en rajoutant :
    #A RAJOUTER 1 sur 1
    use Encode qw(decode encode);
    #FIN A RAJOUTER 1 sur 1
    
    commentaire : et ni «use encoding "utf-8";» ni «$scoring->question_title($1,decode('UTF-8', $2));» qui empêchent AMC de compiler en latex.
  • dans /usr/share/perl5/AMC/DataModule/ :
    je sauvegarde "scoring.pm" en "scoring.pm.orig" puis je modifie "scoring.pm" en rajoutant :
    #
    #
    ##
    ### A RAJOUTER 1 sur 1
    ##
    #
    #
                  'studentSkillLevel'=>
          {'sql'=>"SELECT SUBSTR(t.title, 1, INSTR(t.title, ':')-1) AS skill, SUM(s.score)/SUM(s.max)" 
          ." FROM ".$self->table("title"). " t" 
          ." INNER JOIN ".$self->table("score")." s" 
          ." ON s.question=t.question" 
          ." WHERE t.title LIKE '%:%' AND s.student=? AND s.copy=?" 
          ." GROUP BY s.copy, s.student, skill"},
    #
    #
    ##
    ### FIN A RAJOUTER 1 sur 1 
    ##
    #
    #
    
    commentaire : A priori la syntaxe à dû changer depuis le message originel de Jérôme O, les guillemets simples autour de 'studentSkillLevel' et 'sql' ne semblent plus utiles, je les ai laissés et ca marche.
  • dans /usr/share/perl5/AMC/ :
    je sauvegarde "Subtitute.pm" en "Subtitute.pm.orig" puis je modifie "Subtitute.pm" en rajoutant :
    # A RAJOUTER 1 sur 3
    use utf8;
    # FIN A RAJOUTER 1 sur 3
    
    puis
    #
    ## A RAJOUTER 2 sur 3
    #
    
    # Affiche le niveau acquis pour chaque compétence entrée comme groupe
    # <30%: élémentaire - <70%: apprenti - <100%: confirmé - =100%: expert
    sub format_skills {
      my ($self,$student,$copy)=@_;
      my $sth = $self->{scoring}->statement('studentSkillLevel');
      $sth->execute($student, $copy);
      my $stext = "";
      while(my @row=$sth->fetchrow_array) { # retrieve one row
        if (scalar(split '',$stext) > 6) {$stext = $stext . "  —  ";}
        $stext = $stext . @row[0] . " : ";
         if (@row[1]>1) {
    
          $stext = $stext . "Compétence non évaluée ";
    
        } elsif (@row[1]>=0.75) {
    
          $stext = $stext . "Très bonne maîtrise 😄";
    
        } elsif (@row[1]>=0.5) {
    
          $stext = $stext . "Maîtrise satisfaisante 😊";
    
        } elsif (@row[1]>=0.25) {
    
          $stext = $stext . "Maîtrise fragile 😕";
    
        } else {
    
          $stext = $stext . "Maîtrise insuffisante 😟";
    
        }
      }
      return($stext);
    }
    
    # Affiche les pourcentages de réussite par groupe, arrondi à l'entier, le minimum étant fixé à zéro
    sub format_knowledge {
      my ($self,$student,$copy)=@_;
      my $sth = $self->{scoring}->statement('studentSkillLevel');
      $sth->execute($student, $copy);
      my $stext = "\n";
      while(my @row=$sth->fetchrow_array) { # retrieve one row
        if (scalar(split '',$stext) > 6) {$stext = $stext . "  —  ";}
        my $knowledge=int(@row[1]*100+.5);
        $stext = $stext . @row[0] . " : " . (0, $knowledge)[$knowledge>0] . " %";
      }
      return($stext);
    }
    
    # Affiche  le niveau acquis et le pourcentage de réussite pour chaque compétence entrée comme groupe
    
    sub format_skills_knowledge {
    
      my ($self,$student,$copy)=@_;
    
      my $sth = $self->{scoring}->statement('studentSkillLevel');
    
      $sth->execute($student, $copy);
    
      my $stext = "\t\t\t\t\t\t\t\t\t";
    
      while(my @row=$sth->fetchrow_array) { # retrieve one row
    
        if (scalar(split '',$stext) > 6) {$stext = $stext . "\n";}
    
        $stext = $stext . "     ";
    
        $stext = $stext . @row[0] . " : ";
    
        if (@row[1]>1) {
    
          my $knowledge=int(@row[1]*100+.5);
    
          $stext = $stext . "Compétence non évaluée ";
    
        } elsif (@row[1]>=0.75) {
    
          my $knowledge=int(@row[1]*100+.5);
    
          $stext = $stext . (0, $knowledge)[$knowledge>0] . "% - ";
    
          $stext = $stext . "Très bonne maîtrise 😄";
    
       } elsif (@row[1]>=0.5) {
    
          my $knowledge=int(@row[1]*100+.5);
    
          $stext = $stext . (0, $knowledge)[$knowledge>0] . "% - ";
    
          $stext = $stext . "Maîtrise satisfaisante 😊";
    
          } elsif (@row[1]>=0.25) {
    
          my $knowledge=int(@row[1]*100+.5);
    
          $stext = $stext . (0, $knowledge)[$knowledge>0] . "% - ";
    
          $stext = $stext . "Maîtrise fragile 😕";
    
        } else {
    
          my $knowledge=int(@row[1]*100+.5);
    
          $stext = $stext . (0, $knowledge)[$knowledge>0] . "% - ";
    
          $stext = $stext . "Maîtrise insuffisante 😟";
    
        }
    
      }
    
      return($stext);
    }
    #
    ## FIN A RAJOUTER 2 sur 3
    #
    
    et enfin
    # A RAJOUTER 3 sur 3
          $text =~ s/\%[C]/$self->format_skills($student, $copy)/ge;
          $text =~ s/\%[c]/$self->format_knowledge($student, $copy)/ge;
          $text =~ s/\%[Z]/$self->format_skills_knowledge($student, $copy)/ge;
    # FIN A RAJOUTER 3 sur 3
    
    commentaire : c’est le deuxième ajout qui est à personnaliser en fonction des besoins, et le troisième permet d’exploiter les nouvelles possibilités de substitutions %c, %C et %Z (dans les préférences d’AMC, onglet «annotation» (En-tête) ou «projet» (Annotation des copies)).
  • % c : affiche à la suite toutes les compétences utilisées avec leur % de réussite
    Par exemple : comp1 : 55 % - comp2 : 100 %
  • % C : affiche à la suite toutes les compétences utilisées avec leur niveau d’acquisition
    Par exemple : comp1: Maîtrise satisfaisante 😊 - comp2 : Très bonne maîtrise 😄
  • % Z : affiche ligne à ligne toutes les compétences utilisées avec leur % de réussite puis leur niveau d’acquisition
    Par exemple :
    comp1 : 55 % - Maîtrise satisfaisante 😊
    comp2 : 100 % - Très bonne maîtrise 😄
  • A noter qu’on peut modifier/supprimer/renommer les compétences associées aux questions après saisie des copies, il faut juste corriger à nouveau, c’est plutôt confortable et dans le même esprit que \bareme.
  • Il est possible d’avoir des questions sans compétences, ca influera sur la note mais pas sur les % de réussite des compétences.

Ci-joint les 3 fichiers utilisés dans ma version AMC 1.5.0 ainsi qu’un ECM et deux copies corrigées pour tester.
Merci à tous ceux qui ont aidés et encore merci pour cet incroyable logiciel !

AMC-prepare.pl (34.5 kB)

Substitute.pm (5.7 kB)

scoring.pm (45.2 kB)

ecm_AMC.tex (2.5 kB)

Tous_etudiants.pdf (102.1 kB)

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 9 months ago

Je commence à intégrer un mécanisme qui permettra en particulier de mettre en œuvre une évaluation par compétences avec AMC.
Si vous voulez essayer, c'est brièvement expliqué ici : Évaluation par compétences avec les "topics" d'AMC
Je suis intéressé par vos retours !

RE: compétences.....le retour @G. Carpeaux - Added by Frédéric Bréal 9 months ago

Bonjour Alexis,
Merci pour cette nouvelle option.
Après un test rapide sur le fichier modèle histoire / géographie, j'ai rencontré 2 problèmes.
  • Les espaces sont importants donc prévoir dans la page Évaluation par compétences avec les "topics" d'AMC un fichier modèle.
  • Autre point : les sauts de lignes que je n'ai pas réussi à faire. Le texte de name et des messages sont cachés par le code barre.

Je ferai un test plus long (mais plus tard) avec mes fichiers de 3e.

0001.pdf (75.1 kB)

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 9 months ago

Merci pour l'essai.
Effectivement la syntaxe YAML est sensible aux espaces. Il faudra de toute façon une documentation plus fournie, mais ça viendra.
On peut sauter des lignes entre l'en-tête et le rapport des topics en ajoutant des lignes vides, puis un point (ou une ligne avec écrit "Compétences :" par exemple), dans Préférences/Projet/Annotation des copies/Texte d'en-tête. C'est un peu du bricolage, je vais essayer de voir comment on peut dégager une zone faite exprès sur la copie.

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 9 months ago

Finalement, j'ai rajouté dans une nouvelle version un fond blanc en-dessous des textes d'en-tête, ce qui devrait améliorer simplement la lisibilité de ces textes.

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

Bonjour,
je découvre en rentrant de vacances ces propositions. j'avoue être un peu frileux à l'idée de tester d'autres versions de AMC que celle dispo dans ma distrib Debian (j'avais essayé d'installer "à la main" la 1.5.2 sans succès avant de revenir à la 1.5.0, mais je m'y suis sûrement mal pris). Je préfère me concentrer sur ce qui marche actuellement. Je suivrai néanmoins avec intérêt le topic.
Bonne journée

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Quelle version de debian utilisez-vous ?

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Sur debian 11, peut-être que les paquets de ce dépôt peuvent vous permettre d'installer plus facilement la version de développement d'AMC ?
https://build.opensuse.org/projects/home:JojoBoulix/packages/auto-multiple-choice/repositories/Debian_11/binaries

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

En fait j'ai une grosse rentrée universitaire, toutes mes évaluations sont en AMC et j'ai déjà un certain nombre de docs imprimés, je veux garder mon système en ordre de marche pour tout ca.
Ce que je peux faire en revanche (mais pas avant ce week-end) c'est essayer d'installer la version de test en question sur une autre machine (manjaro). Pourriez-vous me dire où je peux trouver les éléments à installer en question ? J’imagine qu'utiliser "simplement un "ppa" de ubuntu ne marchera pas(je maîtrise très mal la compilation de sources ).
Toutes mes excuses si je vous fait perdre du temps.

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

En fait j'ai une grosse rentrée universitaire, toutes mes évaluations sont en AMC et j'ai déjà un certain nombre de docs imprimés, je veux garder mon système en ordre de marche pour tout ca.

C'est plus sage en effet.

installer la version de test en question sur une autre machine (manjaro)

Je ne connais pas bien manjaro, qui ne fait malheureusement pas partie des distributions supportées sur https://build.opensuse.org/
Vous pouvez utiliser les sources précompilées de la branche topics, regroupées dans le fichier _dist.tar.gz du répertoire
https://gitlab.com/a10684/auto-multiple-choice/-/jobs/artifacts/topics/browse/artifacts?job=pack-sources
Vous aurez besoin d'installer quelques bibliothèques (en particulier cairo, pangocairo, opencv4, poppler-glib).
Et pour faire tourner AMC, vous devrez également installer des modules perl.
Vous pouvez créer un fil de discussion sur le forum « installation » pour préciser les choses si vous voulez essayer.

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

merci pour ces précisions,
je suppose que ca se compile comme les autres sources avec : make all_precomp ; sudo make install
est-ce que les dépendances nécessaires me seront automatiquement signifiées à la compil ?

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Oui, make en make install devraient fonctionner.
Par contre pas de mention explicite des dépendances manquantes, il faudra décoder les messages d'erreur.

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

Bonjour,
j'ai pu tester cette évaluation par compétence. Voici un premier retour :
le fait de pouvoir paramétrer sans toucher aux fichiers installés est évidemment plaisante; le fait d'avoir un paramétrage projet par projet (ou pas !) et compétence par compétence (ou pas aussi!) est également très appréciable.
Il faudrait préciser dans la doc que les couleurs sont à mettre en codage hex et qu'il y a la possibilité de de mettre des commentaires dans le fichier avec #
1) je n'ai pas réussi à faire marcher
conf:
  - niveauxstandard:

pourtant j'ai fait du copier-coller depuis l'exemple?! Du coup j'ai pas testé non plus
include:
  - ../levels.yml

2) Dans les éléments qui me semblent à corriger il y a surtout de l'esthétique :
  • le fait d'avoir la possibilité d'avoir des couleurs distinctes est une bonne idée mais du coup le code couleur de %(ID) qui est lui aussi en rouge se retrouve associé à la maîtrise insuffisante, une autre couleur (violet par exemple) serait sûrement plus neutre;
  • dans le même esprit il peut être intéressant d'avoir un liseré (même couleur que %(ID) ) qui borde toute la zone de notation, pour peu qu'on ait au moins 3 compétences, cette zone (sur fond blanc c'est bien vu) peut mordre pas mal sur le reste de la copie originelle et au final les reliquats "en dessous" peuvent être malheureux;
  • je trouve que les puces sont très grosses (mais ca...)

3) Dans les éléments qui me plairaient :pouvoir mixer des éléments "classiques" d'annotation genre s/%m avec les nouveaux éléments de levels, un truc du genre "pour la compétence A : vous avez une très bonne maîtrise (avec 4/5 soit 80 )"

Voilà pour le moment :)

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Merci pour votre retour. Premiers commentaires :

1) je n'ai pas réussi à faire marcher conf

Hum… effectivement il restait des erreurs à la fois dans AMC et dans l'exemple dans le wiki. Cela devrait fonctionner maintenant avec les nouvelles versions.

je trouve que les puces sont très grosses

Dans mon esprit ce ne sont pas des puces mais des "badges" ou quelque chose comme ça. On peut les changer avec la ligne de configuration format:

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

bonjour,
c'est bon chez moi : conf fonctionne,
pour le include chemin relatif et absolus fonctionnent, toutefois $HOME n'était pas reconnu (mais c'est un mini-détail)
ok pour la ligne de configuration avec format, je serai du coup intéressé pour avoir le code correspondant au format par défaut pour les levels ie les %{code} pour badges et pourcentages de réussite.
Je confirme que le fond des lignes est blanc mais seulement le fond des lignes et pas l'interligne on peut ainsi avoir des artefacts résiduels bizarres entre les lignes des différentes compétences.
J'ai ainsi les grosses puces de calibrage des feuilles AMC qui sont devenues des "moins" et le n° AMC de la feuille 1/1/60 qui est devenu 0+ au milieu et à la suite de ma zone de notation
Pour le reste c'est ok.

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Avec la version de développement en cours :

le code couleur de %(ID) qui est lui aussi en rouge se retrouve associé à la maîtrise insuffisante, une autre couleur (violet par exemple) serait sûrement plus neutre;

On peut maintenant configurer la couleur utilisée pour les annotations.

je serai du coup intéressé pour avoir le code correspondant au format par défaut pour les levels ie les %{code} pour badges et pourcentages de réussite.

On peut changer le format pour un topic. Par exemple,

    format: "Pour la compétence %{name} : %{message}" 

va écrire le nom de la compétence et le message du niveau atteint par l'élève pour le topic considéré. On peut alors mettre ce que l'on veut comme message pour un niveau donné, comme par exemple
    message: "vous avez une très bonne maîtrise (avec %{score}/%{max} soit %{ratio:pc})" 

RE: compétences.....le retour @G. Carpeaux - Added by Alexis Bienvenüe 8 months ago

Pour compléter : la valeur par défaut est

    format: "⬤ %{name}: %{message} (%{value})" 

RE: compétences.....le retour @G. Carpeaux - Added by Anthony Siaudeau 8 months ago

Bonjour,
le choix de la couleur est dans l'onglet de paramétrage "Annotations" et c'est ok.
Pour ce qui est du format il faut bien penser à le mettre au même niveau indentation que levels et ca marche bien. la syntaxe YAML ne semble pas intuitive (ou alors c'est moi).
%{ratio:pc} est l'info qui me manquait et c'est bien pratique.
Et pour finir les interlignes hors fond blanc génèrent toujours des artefacts bizarres (cf copie écran). Peut-être est-ce plus simple que l'utilisateur choisisse le dimensionnement de la zone de notation, à adapter au cas par cas ?
En tous cas ca avance bigrement bien.

RE: compétences.....le retour @G. Carpeaux - Added by DENIS Sébastien 8 months ago

Bonjour a tous et un grnad merci à Alexis pour cette nouvelle evolution
Beaucoup de boulot je n'ai le temps de m'y interesser qu'aujourd'hui
J'ai pris un nouveau pc pour pouvoir faire des essais.
Mais... je ne sais plus comment installer amc depuis la version test...
J'ai égaré une bonne partie de mon cerveau cet été...
Si quelqu'un peut me redonner la marche à suivre en ligne de commande
Je suis sous ubuntu
D'avance merci

RE: compétences.....le retour @G. Carpeaux - Added by DENIS Sébastien 8 months ago

C'est bon j'ai retrouvé...

« Previous 1 2 3 4 ... 10 Next » (26-50/227)