Slides

publicité
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
Téléchargement