![Page 1: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/1.jpg)
1
Projet de Master première année 2007 / 2008
Plateforme de certification de documents XML
Tuteur : M. Fabrice Lefèvre
![Page 2: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/2.jpg)
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
![Page 3: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/3.jpg)
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
![Page 4: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/4.jpg)
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)
![Page 5: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/5.jpg)
5
Orientations choisies
• Choix des langages– PHP (librairies DOM, XSL)– Autres solutions (JAVA)
• Module comparateur :– Un niveau de comparaison
![Page 6: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/6.jpg)
6
Comparateur - Présentation
• Comparaison entre deux documents XML :– Un modèle– Un testé
• But : retourner les différences entre les deux documents
![Page 7: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/7.jpg)
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é
![Page 8: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/8.jpg)
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)
![Page 9: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/9.jpg)
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)
![Page 10: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/10.jpg)
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)
![Page 11: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/11.jpg)
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)
![Page 12: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/12.jpg)
12
Plateforme Web – Présentation (2)
• Architecture des répertoires
![Page 13: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/13.jpg)
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
![Page 14: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/14.jpg)
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
![Page 15: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/15.jpg)
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
![Page 16: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/16.jpg)
16
Plateforme Web – Fonctionnalités (2)
• Fonctionnalités communes aux trois profils-types– Dépôt de documents à comparer
– Consultation des résultats
![Page 17: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/17.jpg)
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)
![Page 18: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/18.jpg)
18
Présentation des résultats (2)
![Page 19: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/19.jpg)
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
![Page 20: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/20.jpg)
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
![Page 21: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/21.jpg)
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
![Page 22: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/22.jpg)
22
Conclusion
• Application terminée mais évolutive
• Reprise facilitée par les documentations complètes et précises
![Page 23: 1 Projet de Master première année 2007 / 2008 Plateforme de certification de documents XML Tuteur : M. Fabrice Lefèvre](https://reader036.vdocuments.mx/reader036/viewer/2022062622/551d9dbc497959293b8df3ec/html5/thumbnails/23.jpg)
23
Démonstration
Nous vous proposons maintenant une démonstration de notre application…