Documentation de SACoche

Interfaçage des évaluations avec un module externe

Fonctionnalité nécessitant l’usage d’un module externe (existant ou mis en place et codé par vos soins).


Générer des énoncés d’évaluation (personnalisés)

Principe

À partir d’une banque d’exercices pour chaque item, certains mettent en place des outils de génération d’énoncés, souvent à composante aléatoire pour des (ré)évaluations personnalisées (exemples).
Une fois l’évaluation créée dans SACoche (date, titre, élèves, items, …), l’idée est de transmettre à cet outil les informations afin qu’il génère les énoncés.

Liaison avec le module externe / Fonctionnement

Se connecter à SACoche avec un compte professeur et se rendre dans le menu ÉvaluationsInterfaçage avec un module externe.
Y renseigner l’adresse de la page du module externe à appeler.
Par exemple https://www.mon-site-perso.fr/generer-enonces.php.

Dans le menu ÉvaluationsÉvaluer une classe ou un groupe ou Évaluer des élèves sélectionnés, créer une évaluation si besoin.
Dans la liste des actions associées à une évaluation se trouve alors l’icône action_module.
Cliquer dessus appelle le module en lui transmettant en GET l’adresse du fichier de données, avec la variable "json".
Par exemple https://www.mon-site-perso.fr/generer-enonces.php?json=url-du-fichier-de-donnees.

À partir du menu ÉvaluationsDemandes d’évaluations formulées :
Spécifications techniques

Le fichier de données, au format JSON donc, contient un tableau selon ce modèle (encodage UTF-8).

Si on appelle le module depuis le menu Demandes d’évaluations formulées sans avoir créé l’évaluation dans SACoche, alors la partie devoir ne sera pas renseignée.

La référence de l’item sera en priorité le paramètre dédié renseigné spécifiquement pour l’item (DOC), ou sinon la référence imposée de l’item (DOC), ou sinon la référence automatiquement générée (par exemple "SVT.6.512").

  {
    "structure" : {
      "uai" : ...,
      "id"  : ...,
      "nom" : ...,
    },
    "devoir" : {
      "id"       : ...,
      "groupe"   : ...,
      "intitule" : ...,
      "date"     : ...,
    },
    "prof" : {
      "id"     : ...,
      "nom"    : ...,
      "prenom" : ...,
    },
    "item" : {
      id : {
        "id"  : ...,
        "ref" : ...,
        "nom" : ...,
      },
      ...
    },
    "eleve" : {
      id : {
        "id"     : ...,
        "nom"    : ...,
        "prenom" : ...,
      },
      ...
    },
    "panier" : {
      eleve_id : {
        item_id : true,
        ...
      },
      ...
    }
  }
  

Les données peuvent être récupérées par exemple comme ceci en langage PHP.

  <?php
  header('Content-Type: text/html; charset=utf-8');
  if(isset($_GET['json']))
  {
    $file_data = file_get_contents($_GET['json']);
    $array_data = json_decode($file_data,TRUE);
    // affichage pour vérification
    echo'<pre>';
    print_r($array_data);
    echo'</pre>';
  }
  ?>
  

Importer une évaluation (avec des notes)

Principe

À partir d’une interface de travail externe (QCM ou autre), certains génèrent ou saisissent des notes.
L’idée est de transmettre les informations à SACoche afin qu’il créé une évaluation correspondante et y importe les notes.
Par "note" il faut comprendre un code de notation utilisé dans SACoche ; si l’interface externe génère par exemple une note chiffrée sur 20, c’est à vous de la convertir préalablement en niveau de compétence.

Liaison avec le module externe / Fonctionnement

Se connecter à SACoche avec un compte professeur et se rendre dans le menu ÉvaluationsInterfaçage avec un module externe.
Y renseigner l’adresse du dossier du module externe où le fichier avec les informations à récupérer sera trouvé.
Par exemple https://www.mon-site-perso.fr/bilan-evaluation/.

Se rendre dans le menu ÉvaluationsÉvaluer des élèves sélectionnés.
Dans la liste d’en-tête à côté de l’icône action_ajouter se trouve alors l’icône action_module.
Cliquer dessus permet d’indiquer le nom du fichier à récupérer avec les données à importer.
Par exemple evaluation-1234.json ou generer-export-json.php?id=1234.

Il est aussi possible d’appeler SACoche pour qu’il charge le fichier directement, avec une adresse de cette forme :
https://adresse-de-sacoche/?page=evaluation&section=gestion_selection&import=nom-du-fichier.

Spécifications techniques

Le fichier de données, au format JSON donc, doit contenir un tableau selon ce modèle (encodage UTF-8).
Les indications entre parenthèses sont informatives, elles ne font pas partie du contenu du fichier.
Les identifiants nécessaires des élèves et des items peuvent être récupérés depuis le menu Informations personnellesExtraction de données.
Les codes de notation sont ceux de saisie au clavier (DOC), éventuellement modifiés (voir votre menu Informations généralesCodes de notation / États d’acquisition).

  {
    "date_devoir"         : ..., (JJ/MM/AAAA)
    "date_devoir_visible" : ..., (JJ/MM/AAAA)
    "date_saisie_visible" : ..., (JJ/MM/AAAA)
    "intitule"            : ..., (maxlength 60)
    "repartition"         : ..., (0|1)
    "diagnostic"          : ..., (0|1)
    "pluriannuel"         : ..., (0|1)
    "discret"             : ..., (0|1)
    "saisie" : {
      eleve_id : {
        item_id : ..., (1|2|3|4|A|D|E|F|N|R|P)
        ...
      },
      ...
    }
  }
  

Les données peuvent être générées par exemple comme ceci en langage PHP.
Les seuls caractères autorisés pour le nom du fichier sont les lettres non accentuées, les chiffres, et "-_.?&".

  <?php
  $array_data = array(
    'date_devoir'         => $date,
    'date_devoir_visible' => $date,
    'date_saisie_visible' => $date,
    'intitule'            => $titre,
    'diagnostic'          => 0,
    'pluriannuel'         => 0,
    'discret'             => 0,
    'saisie               => array(),
  );

  $array_data['saisie'][$eleve_id1][$item_id1] = $note1;
  $array_data['saisie'][$eleve_id2][$item_id2] = $note2;
  ...

  $json_data = json_encode($array_data);

  // Pour une écriture dans un fichier
  file_put_contents($filename,$json_data);

  // Pour une sortie directe
  header('Content-Type: application/json; charset=utf-8');
  header('Content-Length: '.strlen($json_data));
  exit($json_data);
  ?>
  

SACoche vérifie que les élèves sont affectés à l’enseignant, que les items existent, et que les notes sont valides.
Chaque import créé une nouvelle évaluation et de nouvelles saisies : attention aux doublons !


Documentations associées


Fermer l’aide. Fermer Fermer l’aide. Imprimer