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