1 projet de master première année 2007 / 2008 plateforme de certification de documents xml tuteur...
Post on 04-Apr-2015
106 Views
Preview:
TRANSCRIPT
1
Projet de Master première année 2007 / 2008
Plateforme de certification de documents XML
Tuteur : M. Fabrice Lefèvre
2
Sommaire
• Mission• Organisation du travail• Orientations choisies• Comparateur de documents XML• Plateforme Web• Présentation des résultats• Intégration du comparateur à la plateforme• Tests• Évolution de l’application• Conclusion• Démonstration
3
La mission
• Comparateur de documents XML• Intégration du comparateur sur une plateforme
Web• Généricité de l’application• Finalité : comparer des documents XML, dont
ceux générés par OpenOffice• Deux cas d’utilisation concrets :
– Correction de TP de c2i– Validation de fiches de compte-rendu de Projet M1
4
Organisation du travail
• Séparation de la conception en trois parties :– Développement de la Plateforme Web– Développement du Comparateur XML– Présentation des résultats d’une comparaison
• Répartition des tâches– Suivi du planning (cf. page 31 du rapport)
5
Orientations choisies
• Choix des langages– PHP (librairies DOM, XSL)– Autres solutions (JAVA)
• Module comparateur :– Un niveau de comparaison
6
Comparateur - Présentation
• Comparaison entre deux documents XML :– Un modèle– Un testé
• But : retourner les différences entre les deux documents
7
Comparateur - Reprise de l’existant
• Étude de l’outil XyDiff– Concept : comparaison de versions de
documents XML– Ce que XyDiff a apporté à notre projet :
• Approche de la comparaison par type de nœud• Diminution de la complexité
8
Comparateur – Fonctionnement (1)
• Trois étapes de développement– Fichiers identiques ou non
– Repérage des différences (affichage)
– Stockage des différences (arbre des différences)
• Filtres– Suppression des commentaires avant comparaison
– Non comparaison du contenu texte
– Ajout des namespaces (fichiers au format OpenDocument)
9
• Association XSL– Liaison de l’arbre des différences XML avec un
fichier XSL
– Création d’une page HTML de présentation des résultats
Comparateur – Fonctionnement (2)
10
Comparateur – Problèmes rencontrés
• Comparaison d’un nœud modèle avec tous les nœuds testés d’un même niveau:– Choix du nœud identique ou le plus
ressemblant au modèle
• Ajout d’un nœud fils :– DomNode::appendChild(DomNode) => faux– DomNode ::appendChild(DomElement)
11
Plateforme Web – Présentation (1)
• Application générique• Deux cas d’utilisation du comparateur
– Correction de TP de c2i– Validation de fiches de compte-rendu
• Trois profil-types– Administrateur– Rédacteur– Utilisateur
• Modèle de données (cf. MPD, page 10 du rapport)
12
Plateforme Web – Présentation (2)
• Architecture des répertoires
13
Plateforme Web – Mise en forme
• CSS :– Correction de TP de c2i– Validation de fiches de compte-rendu de projet
• JavaScript :– Menus– Modification de profil-type
• AJAX :– Saisie semi-automatique
14
Plateforme Web - Sécurité
• Authentification– Tentative de connexion à la base de données
interne– Tentative de connexion à l’annuaire LDAP de
l’UAPV– Démarrage d’une session lors de la connexion
15
Plateforme Web – Fonctionnalités (1)
• Fonctionnalités réservées aux administrateurs– Ajout de nouveaux profil-types
– Modification ou suppression de profils-types existants
• Fonctionnalités communes aux administrateurs et aux rédacteurs– Dépôt de documents modèles
– Récupération de fichiers
– Gestion des fichiers
16
Plateforme Web – Fonctionnalités (2)
• Fonctionnalités communes aux trois profils-types– Dépôt de documents à comparer
– Consultation des résultats
17
Présentation des résultats (1)
• Deux types de présentation :– En termes techniques XML (pour les
documents XML)– Avec transparence du XML (pour les
documents OpenOffice)
• Harmonisation de la mise en forme avec celle de la plateforme (CSS)
18
Présentation des résultats (2)
19
Intégration du comparateur
• Intégration facile du Comparateur car:– Comparateur et Plateforme développés dans le
même langage : PHP– Un appel de la fonction principale() du
Comparateur permet de faire la comparaison et la mise en forme des résultats
– Plateforme développée de manière à ce qu’un module soit intégrable facilement
20
Tests
• Tests du comparateur XML– Validation pour chaque type de différence– Validation pour des fichiers plus complexes
• Tests de la plateforme Web :– Test unitaire pour chaque fonctionnalité– Par des testeurs différents– Tests de non régression
21
Évolution de l’application
• Plateforme Web– Méthode SSO pour centraliser
l’authentification
• Comparateur XML– Comparaison d’une séquence de nœuds
• Présentation des résultats– Amélioration de la présentation pour les
fichiers OpenDocument
22
Conclusion
• Application terminée mais évolutive
• Reprise facilitée par les documentations complètes et précises
23
Démonstration
Nous vous proposons maintenant une démonstration de notre application…
top related