ISICIL SWEETDEKI Intégration du logiciel Mindtouch Core dans la plate-forme ISICIL Guillaume HUSSON
ISICIL SWEETDEKI21/01/2011 Plan I. Présentation de Mindtouch I.1. Fonctionnalités I.2. Architecture I.3. Où peut-on intervenir ? II. Intégration dans ISICIL II.1. Authentification II.2. Dialogues avec Sprean-Server II.3. Templates II.4. Injection RDFa II.5. WebScraps Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 01 / 10
ISICIL SWEETDEKI21/01/2011 Présentation de Mindtouch Fonctionnalités : Capacités dun Wiki « classique » Edition collaborative, gestion des droits Hiérarchie : pages, sous-pages… Editeur WYSIWYG Langage de script : DekiScript Interface administrateur Orientation Web-Services REST Interopérabilité API très riche Une page = une application Web Pages Spéciales, extensions… Côté Web Sémantique : le néant ! Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 02 / 10
ISICIL SWEETDEKI21/01/2011 Présentation de Mindtouch Architecture Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Serveur Clients Slide : 03 / 10
ISICIL SWEETDEKI21/01/2011 Architecture DReAM Mindtouch DReAM, pour Distributed REST Application Manager Framework (.NET, Mono, C#) fournissant les web services REST Délivre lAPI Mindtouch via ces web services MySQL Extensions DekiPlug + DreamPlug Front End Special Pages / Hooks Apache ServeurClients HTTP Navigateur Applications tierces Côté client Navigateurs Applications tierces officielles Applications tierces dialoguant via web services Apache Serveur HTTP Vampirise comme un proxy toutes les requêtes entrantes, pour les rediriger Front End Majoritairement PHP, CSS et JavaScript Classes PHP correspondant aux objets manipulés et à leur rendu HTML MySQL Système de Gestion de Bases de Données DekiPlug & DreamPlug Fait le pont entre front-end et back-end Extensions HTML, JavaScript, DekiScript Fichier de configuration XML, enregistrement via linterface administrateur Pages Spéciales Code PHP, mêlant front-end et back-end Possibilité dautomatisation grâce aux hooks
ISICIL SWEETDEKI21/01/2011 Où peut-on intervenir ? DReAM MySQL DekiPlug + DreamPlug Apache Front End Extensions Special Pages / Hooks Navigateur Présentation de Mindtouch Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion DReAM MySQL DekiPlug + DreamPlug Front End Apache ServeurClients HTTP Navigateur Applications tierces ServeurClients HTTP Applications tierces Extensions Special Pages / Hooks Slide : 04 / 10
ISICIL SWEETDEKI21/01/2011 Intégration dans ISICIL Authentification OpenID Module additionnel « amateur » CAS Supporté nativement Configuration via interface administrateur Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 05 / 10
ISICIL SWEETDEKI21/01/2011 Intégration dans ISICIL Dialogues avec Sprean-Server Web Services permettant lajout et la consultation des annotations RDF dISICIL. Depuis Mindtouch accès via PHP (curl). A la sauvegarde dune page wiki, envoi des métadonnées concernant cet update. Même chose pour lajout de tags à une page. A la consultation dune page, les tags affichés proviennent dISICIL, plus de Mindtouch. Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 06 / 10
ISICIL SWEETDEKI21/01/2011 Intégration dans ISICIL Templates Rédaction dun document formaté Formulaire encapsulé dans une page spéciale Appel à un template pour la mise en forme des données issues du formulaire. Enregistrements des données et métadonnées dans Sprean Server possible. Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 07 / 10
ISICIL SWEETDEKI21/01/2011 Intégration dans ISICIL Injection de données RDFa A laffichage dune page wiki : Récupération des métadonnées provenant de Sprean-Server Injection de ces données dans une section invisible de la page Métadonnées sur le contenu ? Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 08 / 10
ISICIL SWEETDEKI21/01/2011 Intégration dans ISICIL Webscraps Sauvegarde statique dune page ou dune partie de page Utilisation dune extension Firefox cliente de Mindtouch Sauvegarde du fichier.maf Envoi du fichier sur le wiki, accompagné dune description Côté Mindtouch : Traitement du fichier.maf Création dune page dédiée au webscrap Une page recense tous les scraps uploadés, grâce à une routine DekiScript Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 09 / 10
ISICIL SWEETDEKI21/01/2011 Conclusion Mindtouch Linteropérabilité est un plus pour ISICIL Architecture assez complexe, parfois inconfortable (gestion des Tags). Ajout de contenu dynamique à une page, mais pas au skin. Hooks peu nombreux. Perspectives Reporting, traces… Optimiser la gestion du tagging : suggestion de tags, listing des ressources taggées (internes ou externes au wiki) « Sémantisation » des webscraps et du document ADEME Plan Présentation de Mindtouch Fonctionnalités Architecture Où peut-on intervenir ? Intégration dans ISICIL Authentification Dialogues Sprean-Server Templates Injection RDFa WebScraps Conclusion Slide : 10 / 10