RefDoc serveur de ressources

Gepi dispose d'un mini serveur qui permet :

  • de voir le cahier de textes dans un ENT externe
  • de récupérer certaines informations de Gepi
  • Caractéristiques : accès en lecture seule (ce n'est pas un web-service complet mais plutôt un serveur de ressources)

Mise en place

  • Saisir les informations nécessaires (sécurité et autorisations) dans /secure/serveur.cfg
  1. Une fois renseigné, pensez à renommer ce fichier serveur.cfg en serveur.inc.php
    $serveur = array(
              'nom_du_compte' => array(
                          'domain'  => 'application_externe',
                          'RNE'     => 'RNE_autorise_sinon_all',
                          'api_key' => 'une_cle_assez_longue_et_complexe',
                          'nonce'   => 'non_utilise_encore',
                          'ip'      => 'adresse_ip_du_client',
                          'auth'    => array(liste_des_demandes_autorisees)
              )
    );
    
  2. Chaque application extérieure doit disposer d'un compte dans ce fichier en respectant la syntaxe du tableau précédent.
  3. nom_du_compte est le domain_name envoyé par le client
  4. application est le nom de l'application (un ENT, ...), le client devra préciser ce nom exact
  5. domain est le nom du domaine du client
  6. api_key est la clé unique de cette application
  7. nonce ne doit pas être modifié
  8. ip est l'adresse IP du client
  • Les appels

Le client doit appelé Gepi par cette url : http://www.serveur.fr/path_vers_gepi/class_php/class_serveur_ent.php
Il doit fournir toutes les informations nécessaires en POST dès sa première requête et à chaque requête.

  • La sécurité

Utiliser le https peut permettre de limiter les fuites de clés. Limiter les appels au seul réseau interne peut aussi être envisagé en fonction des infrastructures.

Liste des méthodes disponibles (juillet 2011)

  1. notesEleve() {méthode vide}
  2. cdtDevoirsEleve()
  3. cdtCREleve()
  4. professeursEleve() {Liste des professeurs d'un élève avec les matières associées}
  5. edtEleve() {méthode vide}
  6. listeElevesAvecClasse()
  7. listeProfesseursAvecMatieres()
  8. listeClassesAvecProfesseurs()
  9. listeMatieresAvecNomlong()