TER Gestionnaires de contenu en ligne Par Maxime Lamure, Damien Mandrioli, Mario Di Miceli et Romain Raugi Sommaire 1- Présentation 1.1- Présentation de TWiki 1.2- Historique du projet 1.3- Objectifs 2- Éditeur WYSIWYG 2.1- Existant 2.2- Objectifs 2.3- Planification 3- Outil de refactoring 3.1- Existant 3.2- Objectifs 3.3- Planification 4- Communications 4.1- Description 4.2- Pourquoi un service web ? 4.3- Implémentations serveur 4.4- Planning 5- Conclusion 2 Présentation du TER > Présentation de TWiki •Site web dynamique dont tout visiteur peut modifier les pages à volonté => Permet la collaboration au sein d’un groupe en facilitant l’échange de données •Composition des pages à l’aide d’une syntaxe simple Exemple d’une page TWiki : 3 Présentation du TER > Historique du projet Projet initial : •TWiki + Editeur HTML existant et intégré au navigateur (javascript, java ou ActiveX) •TWiki + Editeur MathML 2ème version : Editeur WYSIWYG TWikiML en Java + Java Web Start Version définitive : •Editeur HTML en Java + Traducteur HTML-TWikiML fourni (intégration par Java Web Start) •Outil de refactoring pour TWiki (Java et Java Web Start) •WebService pour communication entre nos clients et le serveur TWiki Projet en collaboration avec ILOG (Sophia-antipolis) 4 Présentation du TER > Objectifs 5 Éditeur WYSIWYG > Introduction Existant : •Traducteur HTML-TWikiML réalisé par F. Luddeni (MIAGE) •PowerEditPlugin : Applet d’édition TwikiML (rudimentaire) Edition textuelle Edition graphique Edition WYSIWYG ---+ Edition WYSIWYG What You See Is What You Get What *You* _See_ Is What *You* _Get_ 6 Éditeur WYSIWYG > Objectifs •Développement d’un éditeur sur mesure pour les besoins minimaux exprimés par ILOG •Intégration dans une logique WebService => Choix du langage Java + Opportunité offerte par Java Web Start •Préparer les développements futurs du logiciel (par la communauté TWiki par exemple) •Privilégié la qualité sur la quantité 7 Éditeur WYSIWYG > Planification Phases de développement de l’éditeur WYSIWYG : 1. Mise en place de l’IHM et prototypage Java Web Start 2. Mise en place des traitements concernant le texte (titres, gras, italique, …) 3. Mise en place des traitements sur les tableaux (création, fusion de cellules, dimensionnement, …) 4. Mise en place des traitements dynamiques notamment à partir des variables TWiki 5. Intégration et tests avec les autres parties du projet en fonction de l’avancement du projet 8 Refactoring > Introduction Refactoring : Opérations élémentaires sur une arborescence de fichiers Existant : outil de base de TWiki 9 Refactoring > Objectifs - Développer une application graphique simple - Ajouter des fonctionnalités - Documentation des sources pour une extension future 10 Refactoring > Planification 1. Étude des interfaces XML pour la communication avec les services Web 2. Développement des fonctionnalités élémentaires : • Suppression • Déplacement • Ajout de liens • Changement de nom 3. Développement des fonctionnalités secondaires : • Annulation des modifications apportées • Mise en évidence des nouveaux topics • Mise en évidence des derniers topics lus • Mise en evidence des cycles 11 Communications > Description Web Service XML Application qui tourne sur la plateforme X et développé avec le langage K Internet Protocole HTTP Application qui tourne sur la plateforme Y et développé avec le langage Z XML 12 Communications > Pourquoi un service web ? Interface entre les applications clientes et le Serveur Twiki Facilité intégration Interopérabilité Principe de fonctionnement 13 Communications > Implémentations serveur Choix Techniques : • Langage : Perl • Homogénéité avec TWiki • Interfaçage transparent • Communication : Services Web SOAP • Recommandation W3C • Beaucoup de suivi • Toolkit : SOAP:Lite • Simple • La plus régulièrement mise à jour 14 Communications > Implémentations serveur Architecture : 15 Communications > Planning 16 Conclusion Projet Intéressant Apprentissage de Nouvelles technologies Première approche de l’entreprise Travail collaboratif Challenge 17