ter gestionnaires de contenu en ligne par maxime lamure, damien mandrioli, mario di miceli et romain...
TRANSCRIPT
TER Gestionnaires de TER Gestionnaires de contenu en lignecontenu en ligne
Par Maxime Lamure, Damien Mandrioli, Mario Di Miceli et Romain RaugiPar Maxime Lamure, Damien Mandrioli, Mario Di Miceli et Romain Raugi
2
SommaireSommaire
1- Présentation1- Présentation
1.1- Présentation de TWiki1.1- Présentation de TWiki1.2- Historique du projet1.2- Historique du projet1.3- Objectifs1.3- Objectifs
2- Éditeur WYSIWYG2- Éditeur WYSIWYG
2.1- Existant2.1- Existant2.2- Objectifs2.2- Objectifs2.3- Planification2.3- Planification
3- Outil de refactoring3- Outil de refactoring
3.1- Existant3.1- Existant3.2- Objectifs3.2- Objectifs3.3- Planification3.3- Planification
4- Communications4- Communications
4.1- Description4.1- Description4.2- Pourquoi un service web ?4.2- Pourquoi un service web ?4.3- Implémentations serveur4.3- Implémentations serveur4.4- Planning4.4- Planning
5- Conclusion5- Conclusion
3
Présentation du TERPrésentation du TER> Présentation de TWiki
•Site web dynamique dont tout visiteur peut modifier les pages à volontéSite web dynamique dont tout visiteur peut modifier les pages à volonté
=> Permet la collaboration au sein d’un groupe en facilitant l’échange => Permet la collaboration au sein d’un groupe en facilitant l’échange de donnéesde données
•Composition des pages à l’aide d’une syntaxe simpleComposition des pages à l’aide d’une syntaxe simple
Exemple d’une page
TWiki :
4
Présentation du TERPrésentation du TER> Historique du projet
Projet initial : Projet initial :
•TWiki + Editeur HTML existant et intégré au navigateur (javascript, java ou ActiveX)TWiki + Editeur HTML existant et intégré au navigateur (javascript, java ou ActiveX)
•TWiki + Editeur MathMLTWiki + Editeur MathML
2ème version : 2ème version : Editeur WYSIWYG TWikiML en Java + Java Web StartEditeur WYSIWYG TWikiML en Java + Java Web Start
Version définitive :Version définitive :
•Editeur HTML en Java + Traducteur HTML-TWikiML fourni (intégration par Java Web Editeur HTML en Java + Traducteur HTML-TWikiML fourni (intégration par Java Web Start)Start)
•Outil de refactoring pour TWiki (Java et Java Web Start)Outil de refactoring pour TWiki (Java et Java Web Start)
•WebService pour communication entre nos clients et le serveur TWiki WebService pour communication entre nos clients et le serveur TWiki
Projet en collaboration avec ILOG (Sophia-antipolis) Projet en collaboration avec ILOG (Sophia-antipolis)
5
Présentation du TERPrésentation du TER> Objectifs
6
Éditeur WYSIWYGÉditeur WYSIWYG> Introduction
Existant : Existant :
•Traducteur HTML-TWikiML réalisé par F. Luddeni (MIAGE)Traducteur HTML-TWikiML réalisé par F. Luddeni (MIAGE)
•PowerEditPlugin : Applet d’édition TwikiML (rudimentaire)PowerEditPlugin : Applet d’édition TwikiML (rudimentaire)
Edition WYSIWYG
What You See Is What You Get---+ Edition WYSIWYG
What *You* _See_ Is What *You* _Get_
Edition textuelle
Edition graphique
7
Éditeur WYSIWYGÉditeur WYSIWYG> Objectifs
•Développement d’un éditeur sur mesure pour les besoins minimaux exprimés par Développement d’un éditeur sur mesure pour les besoins minimaux exprimés par ILOGILOG
•Intégration dans une logique WebServiceIntégration dans une logique WebService
=> Choix du langage Java + Opportunité offerte par Java Web Start=> Choix du langage Java + Opportunité offerte par Java Web Start
•Préparer les développements futurs du logiciel (par la communauté TWiki par Préparer les développements futurs du logiciel (par la communauté TWiki par exemple)exemple)
•Privilégié la qualité sur la quantitéPrivilégié la qualité sur la quantité
8
Éditeur WYSIWYGÉditeur WYSIWYG> Planification
Phases de développement de l’éditeur WYSIWYG :Phases de développement de l’éditeur WYSIWYG :
1.1. Mise en place de l’IHM et prototypage Java Web StartMise en place de l’IHM et prototypage Java Web Start
2.2. Mise en place des traitements concernant le texte (titres, gras, italique, …)Mise en place des traitements concernant le texte (titres, gras, italique, …)
3.3. Mise en place des traitements sur les tableaux (création, fusion de cellules, Mise en place des traitements sur les tableaux (création, fusion de cellules, dimensionnement, …)dimensionnement, …)
4.4. Mise en place des traitements dynamiques notamment à partir des variables Mise en place des traitements dynamiques notamment à partir des variables TWikiTWiki
5.5. Intégration et tests avec les autres parties du projet en fonction de l’avancement Intégration et tests avec les autres parties du projet en fonction de l’avancement du projetdu projet
9
RefactoringRefactoring> Introduction
Existant : outil de base de TWiki
Refactoring :
Opérations élémentaires sur une arborescence de fichiers
10
RefactoringRefactoring> Objectifs
- Développer une application graphique simple
- Documentation des sources pour une extension future
- Ajouter des fonctionnalités
11
RefactoringRefactoring> Planification
1. Étude des interfaces XML pour la communication avecles 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
12
CommunicationsCommunications> DescriptionCommunicationsCommunications> Description
Application qui tourne sur
la plateforme X et développé avec
le langage K
XML
XML
Application qui tourne sur
la plateforme Y et développé avec
le langage Z
Internet
Protocole HTTP
Web Service
13
CommunicationsCommunications> Pourquoi un service web ?CommunicationsCommunications> Pourquoi un service web ?
Interface entre les applications clientes et le Serveur Twiki
Facilité intégration
Interopérabilité
Principe de fonctionnement
14
CommunicationsCommunications> Implémentations serveur
Choix Techniques :Choix Techniques :
• Langage : PerlPerl
• Homogénéité avec TWiki
• Interfaçage transparent
• Communication : Services Web SOAPServices Web SOAP
• Recommandation W3C
• Beaucoup de suivi
• Toolkit : SOAP:LiteSOAP:Lite
• Simple
• La plus régulièrement mise à jour
15
CommunicationsCommunications> Implémentations serveur
Architecture :Architecture :
16
CommunicationsCommunications> Planning
17
ConclusionConclusionConclusionConclusion
Projet Intéressant
Apprentissage de Nouvelles technologies
Première approche de l’entreprise
Travail collaboratif
Challenge