Exploration des technologies web pour créer une

Transcription

Exploration des technologies web pour créer une
D 1.3.2 Rapport d’analyse
Exploration des technologies web pour
créer une interaction entre Mahara et
les plateformes professionnelles et
sociales
D 1.3.2 Rapport d’analyse
Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth
Relecteur(s) : Hervé Platteaux
Projet “Learning Infrastructure 2013”
Work Package 1.3 - Integration of 3rd party Environments with e-portfolios and institutional
services
20.12.2013
Learning Infrastructure 2013 - WP 1.3
1
D 1.3.2 Rapport d’analyse
Table des matières
Table des matières
Introduction
PARTIE I. Technologie
A. Sécurisation
Oauth
B. Protocol d’échange
REST
SOAP
HTTP(S)
C. Représentation des données
MICRODATA et MICROFORMAT
METADATA
D. WEB Sémantique RDF
RDFa
ATOM/RSS
EMAIL
PARTIE II. Technologies des plateformes sociales et professionnelles
A. Tableau récapitulatif des technologies
Conclusion
Learning Infrastructure 2013 - WP 1.3
2
D 1.3.2 Rapport d’analyse
Introduction
Dans le rapport “Identification des réseaux sociaux professionnels” complémentaires
à une démarche ePortfolio (Mahara)” [W.P.1.3.1], nous avons identifié les
plateformes professionnelles et sociales susceptibles de bénéficier d’un canal de
communication dédié avec le ePortfolio institutionnel.
Sur la base des plateformes identifiées, nous résumons dans ce document les
technologies nécessaires pour réaliser l’échange de données entre un ePortfolio
Mahara et les plateformes professionnelles et sociales (illustrée dans la figure cidessous).
Figure 1 - Plateformes professionnelles et sociales
Learning Infrastructure 2013 - WP 1.3
3
D 1.3.2 Rapport d’analyse
PARTIE I. Technologie
Nous explorons les différentes technologies nécessaires lors de l’échange de
données entre des applications Web. Nous différençons quatre couches
responsables pour l’échange de données définissant chacune des normes et des
protocoles: a) Sécurisation; b) Protocol d’échange; c) Représentation des données
et d) Web sémantique et RDF.
A. Sécurisation
Oauth
Permet la communication inter application. Oauth permet d’autoriser la
communication entre deux applications (serveurs) au nom de l’utilisateur. Oauth est
un système d’autorisation web. Il garantit que les comptes de l’utilisateur (login et
mot de passe) ne sont jamais échangés, car l’application soumettant une requête
reçoit uniquement un token. La validité du token peut être soit limitée à la transaction
courante soit persistante, évitant ainsi à l’utilisateur de devoir re-rentré son token. Il
est généralement nécessaire de posséder une clé applicative qui est fournie par le
service.
Oauth est souvent un prérequis pour accéder aux APIs fournies par un fournisseur
de services.
B. Protocol d’échange
REST
Le protocole REST fournit une API compatible avec les technologies du web qui
encourage l’exposition d’un modèle de données hiérarchique abstrait. Les données
retournées sont souvent au format XML ou JSON. Si l’usage principal consiste à lire
des données, il est également possible d’effectuer des opérations d’écriture (avec
les requêtes POST, PUT et DELETE). Les APIs fournies ne sont pas standardisées
(seul le protocole l’est). Il est donc nécessaire de se référer à la documentation. Les
appels sont généralement sécurisés avec Oauth.
SOAP
SOAP est un protocole d’appel similaire à REST pour ce qui concerne des
fonctionnalités de base. Il est toutefois plus compliqué. On préférera donc utiliser
REST à chaque fois que cela est possible.
Learning Infrastructure 2013 - WP 1.3
4
D 1.3.2 Rapport d’analyse
HTTP(s)
HTTP(s) permet la mise à disposition du contenu au travers d’une URL standard.
L’URL peut être secrète, limitée dans le temps et à usage unique (c’est le cas pour
l’échange simple de données entre applications). On associe les URLs
principalement avec du contenu HTML mais les données transmises peuvent être de
tous types: fichier, image, etc. Il est donc possible d’utiliser ce système pour
transférer des données formatées (par exemple LEAP2A) entre applications. Des
métadonnées supplémentaires peuvent être transmises au travers du protocole
HTTP (mime type, date, etc.).
C. Représentation des données
MICRODATA et MICROFORMAT
Permettent de rendre le contenu HTML compréhensible par un système informatique
(moteur de recherche, Zotero, etc.). Il s’agit d’ajouter dans le contenu de la page des
attributs et des classes qui permettent d’extraire les données spécifiques à chaque
objet décrit, pouvant aller du nom de l’objet, de sa date de création à l’adresse
postale d’un évènement. Les MICRODATA et les MICROFORMAT décrivent une
partie du document et non le document dans son entier. On peut donc lister
plusieurs éléments dans la même page. On pourra alors avoir une page de profil
d’un auteur ou l’ensemble de ses attributs personnels sera décrit et balisé (date de
naissance, employeurs, adresse postale). La même page pourra aussi contenir la
liste de ses publications. Ces derniers seront balisés de sorte à identifier les titres
des livres, les éditeurs du livre, leur prix, etc.
Les approches micros décrivent une approche pour interagir avec un
système externe, mais ne décrivent pas les schémas de données à utiliser. Pour
pouvoir décrire des entités connues (personnes, livres, etc.) il faut encore
sélectionner un schéma de données qui soit compréhensible par le plus grand
nombre. L’initiative de Google, Yahoo, Yandex et Bing est actuellement la plus
reconnue. Elle est décrite sur le site http://schema.org/.
METADATA
Comme son nom l’indique, les METADATAs permettent d’ajouter des métadonnées
dans l’en-tête de la page. Les métadonnées décrivent le contenu de la page dans
son entier. Ces métadonnées peuvent être utilisées pour extraire les données d’une
page et/ou exposer les données d’une page suivant le point de vue où l’on se place.
Learning Infrastructure 2013 - WP 1.3
5
D 1.3.2 Rapport d’analyse
On distingue plusieurs schémas de métadonnées. Parmi eux, nous pouvons citer:
DUBLIN CORE: métadonnées simples, il décrit des ressources numériques.
Ce schéma est utilisé par des organisations internationales.
● Open Graph Protocol (OGP): décrit principalement des ressources physiques
(évènements, groupe social, etc.). Ce schéma est entre autres utilisé par
Facebook, qui l’a créé en s’inspirant de DUBLIN CORE.
● OEMBED: décrit principalement des ressources multimédias pouvant être
“incluses” (vidéos, images, etc.). Les métadonnées fournissent le code HTML
nécessaire pour inclure une ressource externe ainsi qu’une représentation de
la ressource.
●
D. WEB Sémantique RDF
Mise à disposition du contenu d’un document HTML dans un format interprétable par
un système informatique. Le fichier décrivant le contenu peut être pointé depuis une
balise située dans l’en-tête (header) du document HTML. Le fichier descriptif du
contenu peut lui-même pointer vers d’autres fichiers descripteurs. Ainsi, elles
permettent de compléter le contenu des documents Web.
RDFa
Proche des microformats, RDFa permet de décrire du contenu à l’intérieur d’une
page web et permettre son utilisation par un système informatique (e.g. moteurs de
recherche tels que Google).
ATOM/RSS
Atom et RSS peuvent être utilisés pour extraire les données d’un flux, mais
également pour publier des articles si le système le permet avec Atom Publishing
Protocol. Les URLs peuvent inclure un token sécurisé et être individuels à
l’utilisateur ou être génériques.
EMAIL
Certains systèmes permettent de publier du contenu au travers d’emails. Les
adresses peuvent être génériques ou propres à l'utilisateur.
Il est maintenant question d’identifier ces technologies au sein des plateformes
professionnelles et sociales que nous avons identifiées dans le document précédent.
Learning Infrastructure 2013 - WP 1.3
6
D 1.3.2 Rapport d’analyse
PARTIE II. Technologies des plateformes professionnelles et
sociales
Après avoir identifié les technologies pouvant être utilisées pour l’échange de
données entre les plateformes professionnelles et Mahara, nous identifions pour
chaque plateforme les technologies misent à disposition des développeurs pour
interconnecter les services. Il est à noter que les technologies répertoriées cidessous sont issues d’une exploration des adresses web listées dans la colonne
“Ressources”1.
Figure 2 - Technologies des plateformes professionnelles et sociales
1
Informations retrouvées le 27.09.2013.
Learning Infrastructure 2013 - WP 1.3
7
D 1.3.2 Rapport d’analyse
A. Tableau
Plateformes
Technologies
Ressources
LinkedIn
Plugin, OAuth, API REST et
Javascript (XML, JSON)
http://developer.linkedin.com/
Academia.edu
NA
NA
Eduportfolio.org
NA
NA
Viadeo
Plugin, REST API (XML JSON)
http://dev.viadeo.com/
Xing
Plugin, REST API (XML JSON)
https://dev.xing.com/
Facebook
Plugin, REST API (XML JSON),
Facebook SDK Web, Android,
iOS
https://developers.facebook.co
m/
Blogger
Plugin, REST API (XML JSON)
https://developers.google.com/
blogger/
WordPress
Plugin, REST API (XML JSON)
http://developer.wordpress.co
m/docs/api/
ResearchGate.net
Plugin
https://www.researchgate.net/
developers/
Google Apps
Plugin, OpenID & SAML Single
Sign-On, 2-legged & 3-legged
OAuth
https://developers.google.com/
google-apps/?hl=fr
OpenBadge
API
http://community.openbadges.
org/
Tableau 1 - Récapitulatif des technologies responsables de l’interaction avec d’autres
plateformes
Nous constatons que la majorité des plateformes à l’exception d’Academia.edu et
eduportfolio.org mettent à disposition des APIs REST et des plugins d’intégration
simple (c.-à-d. badge, lien photo profil, etc.).
Learning Infrastructure 2013 - WP 1.3
8
D 1.3.2 Rapport d’analyse
Conclusion
En comparaison, LinkedIn semble être l’une des plateformes ayant le plus grand
potentiel en matière de transfert d’artefact (voir WP 1.3.1) et offrant une
documentation complète pour l’utilisation de leur API. Leur API est développée et
nous semble adaptée à la réalisation d’un prototype. Nous choisirons donc de
poursuivre notre projet par la réalisation d’un prototype permettant l’échange de
données entre Mahara et LinkedIn.
Les technologies pouvant être employées afin de créer des échanges de données
entre les ePortfolios et les plateformes professionnelles et sociales sont limitées par
l’état d’ouverture de ces dernières. Dans ce sens, la majorité des plateformes ne
restreignent pas l’accès en lecture aux informations de base telles que les profils,
mais l’accès en écriture est dans la majorité des cas limités.
Learning Infrastructure 2013 - WP 1.3
9