API REST d'agrégation de ressources éducatives
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
William Petit f3ec112f23 Mise à jour connecteur pour eportail 3 years ago
debian Mise à jour connecteur pour eportail 3 years ago
dicos Activation automatique des modules Apache 3 years ago
posttemplate Fix activation auto des modules Apache sur Apache 2.2.* 3 years ago
src/edubridge-1.0 Mise à jour connecteur pour eportail 3 years ago
sso/filtres Mise à jour filtres SSO 3 years ago
tmpl Mise en place load-balancer Apache2 3 years ago
.gitignore Base services 3 years ago
Makefile Initial commit 3 years ago
README.md Fix typo client 3 years ago
apps.mk Initial commit 3 years ago
edubridge.mk Initial commit 3 years ago
eole-sso.md Ajout dépendance git-core + note sur les fix eole-sso nécessaires 3 years ago
eole.mk Initial commit 3 years ago

README.md

eole-edubridge

Service d’agrégation de resources éducatives.

Installation du service

Via le dépôt Cadoles

  1. Ajouter le dépôt Cadoles dans les sourceslist bash wget -O - http://depot.cadol.es/cadoles.gpg.key|apt-key add - echo "deb http://depot.cadol.es/orange ./" > /etc/apt/sources.list.d/cadoles.list
  2. Installer les paquets eole-edubridge et edubridge-apps bash Query-Auto apt-eole install eole-edubridge edubridge-apps
  3. Se connecter à l’interface GenConfig https://[ip_serveur]:7000/genconfig avec le compte administrateur
  4. Dans la section “Applications Web”, passer “Activer edubridge” à oui. Enregistrer.
  5. Une nouvelle section est edubridge dans l’interface GenConfig, vous pouvez y personnaliser l’installation de edubridge, notamment les identifiants sur serveur LDAP à utiliser.
  6. Puis dans la console bash reconfigure
  7. A la fin de la procédure, le service edubridge devrait être disponible à l’adresse https://[ip_serveur]/edubridge/resources

Directement à partir des paquets Debian

  1. Télécharger/transférer les paquets eole-edubridge.deb et edubridge-apps.deb sur le serveur
  2. Dans la console, dans le répertoire où sont présents les 2 paquets, faire bash dpkg -i eole-edubridge*.deb dpkg -i edubridge-apps*.deb
  3. Continuer à l’étape 3 de l’installation via le dépôt Cadoles

Mettre à jour le service

Dans une console

Query-Auto # Au besoin, un passage dans l'iterface GenConfig peut être nécessaire après cette étape
reconfigure

Répertoires et fichiers notables

Répertoire Description
/etc/edubridge Fichiers de configuration
/var/run/edubridge Fichiers d’exécution (PID, Sockets Unix…)
/usr/share/eole/nodejs/edubridge Fichiers applicatifs
/var/log/edubridge Fichiers de journalisation

Configuration

La configuration du service est stockée dans le répertoire /etc/edubridge. Les modifications de cette configuration se font via l’interface GenConfig (https://[ip_serveur]:7000/genconfig).

** /!\ ** Les modifications manuelles seront supprimées à chaque reconfigure.

Création d’un nouveau client

La création d’un nouveau client se fait via la ligne de commande.

  1. Lancer l’utilitaire interactif et renseigner les différentes informations demandées bash /usr/share/eole/nodejs/edubridge/bin/add-user Exemple de sortie ``` ? Vous aller créer un nouveau client pour edubridge. Voulez vous continuer ? Yes ? Quel est le nom du client associé à cette clé ? (sera utilisé pour générer le nom de fichier) test-service

Nouvelle clé créée (/etc/edubridge/clients/test-service.json)

-> Client: test-service -> Clé API: 186e0daa-7f05-49b2-8d22-043bb590c1

2. Redémarrer le service `edubridge-apps`

/etc/init.d/edubridge-apps restart


## Services et création d'une nouvelle structure

Edubridge fait appel aux différents services associés à l'établissement de l'utilisateur afin de récupérer les ressources éducatives associées à son compte.

Voici actuellement les services interrogeables via Edubridge:

Service                             | Description                   | Type associé | Format Endpoint
------------------------------------|-------------------------------|--------------|--------------------------
[EPortail](http://ent-envole.com/)  | Portail web de l'ENT Envole   | `eportail`   | https://[ip_serveur]/eportail/json.php

La création d'une nouvelle structure se fait via la ligne de commande.

1. Lancer l'utilitaire interactif et renseigner les différentes informations demandées
```bash
  /usr/share/eole/nodejs/edubridge/bin/add-structure

Exemple de sortie

  ? Vous allez créer/modifier une structure pour edubridge. Voulez vous continuer ? Yes
  ? Quel est l'identifiant RNE de la structure ? test
  ? Voulez vous ajouter un service à votre nouvelle structure ? Yes
  ? Quel est le type du service à ajouter ? eportail
  ? Quelle est l'URL du service à appeler ? http://ent.orange.lan/eportail/json.php
  ? Voulez vous ajouter un service à votre nouvelle structure ? No

  Nouvelle structure créée (/etc/edubridge/structures/test.json)

  -> RNE: test
  -> Services:
    -> eportail:http://ent.orange.lan/eportail/json.php
  1. Redémarrer le service edubridge-apps /etc/init.d/edubridge-apps restart

API

Voir la documentation de l’application, section Description de l’API.

Tester l’API

Exemple d’appel avec PHP et la librairie EolePHPCas

<?php

    require_once 'CAS-1.3.1/eoleCAS.php';
    require_once 'configCAS/cas.inc.php';

    // Initialisation du client CAS en mode proxy
    eolephpCAS::proxy(CAS_VERSION_2_0, __CAS_SERVER, __CAS_PORT, '', true);
    // En développement uniquement, désactivation de la validation du certificat du serveur CAS
    eolephpCAS::setNoCasServerValidation();
    // Authentification CAS
    eolephpCAS::forceAuthentication();

    $apiKey='<clé_api_edubridge>';
    $service='<url_du_service_edubridge>';

    // Récupération du ticket proxy
    $proxyTicket= eolephpCAS::retrievePT($service);

    // Appel du service via CURL

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "$service/resources?ticket=$proxyTicket&service=$service");
    // On ajoute la clé API aux entêtes de la requête
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-KEY: '.$apiKey));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);

    // Affichage de la réponse du service Edubridge
    echo $output;