Home

Rapport de projet - plateforme de certification de documents XML

image

Contents

1. 2U5 Opens nomtournoi match lt date gt 02 05 06 lt date gt Sjoueur gt lt nom gass lt nom gt lt prenom Andre lt prenom gt lt nationalite gt Am ncan lt nationalte gt lt datenaissance gt 16 07 1970 lt datenaissance gt lt fjoueur gt Svainqueur nom gassic nom vamqueur lt fmatch gt Svainqueurtournoi nom gassic nom lt vanquewtounoi gt lt tounoi gt lt annee gt lt ftennis gt cnomtoumoi nbreSet refPere 0 mveau 4 subst attribut refModele 1 refTeste 2 gt lt substitution lt msertion gt lt debut gt Le comparateur rep re une substitution d attributs Il y en autant d un cot que de l autre mais en effet l attribut set dans le fichier mod le a t remplac par l attribut nbreSet dans le fichier test 26 Test avec des noms de balises identiques avec un nombre d attributs diff rent mais avec des noms d attributs en commun Arbre mod le Stennis Sahnee nomannee22006 nomannee lt tournoi gt nomtoumol set 3 paysz USA MyID 1 2U Opens nomtournor match lt date gt 02 05 06 lt date gt Sjoueur nom Agassi nom prenom ndrec prenom nationalite m ncains nationalite datenaissance 16 07 1970 datenaissance lt fjoueur gt vainqueur nom gassis nom S vamqueur lt match gt Svainqueurtoumoi lt nom gassis nom lt fvanquewtournoi gt lt tounoi gt lt ann
2. rences sous forme de phrases explicatives 11 1 La pr sentation des r sultats en terme XML Pour un utilisateur qui a propos un fichier XML qu il a con u il peut tre int ressant de voir le r sultat interpr t en termes de n uds On entend par l que le fichier XSL va lui expliquer les endroits o il y a des erreurs dans son arbre s il a commis des insertions des d l tions ou des substitutions de n uds Pour chaque n ud de l arbre des diff rences on indiquera le n ud p re qui le contient afin de pouvoir le retrouver facilement son niveau dans l arbre et selon le type de l erreur la r f rence dans le fichier mod le et dans le fichier test Dans le cas d une insertion on indiquera la r f rence du n ud ajout dans le fichier test Dans le cas d une d l tion c est la r f rence du n ud oubli dans le fichier mod le qui sera affich e Et dans le cas d une substitution les deux r f rences affich es montreront que le noeud mod le a t remplac par le n ud test et vis versa Les substitutions Diff rence de nombre d attributs Dans le noeud nomtournoi situ au niveau 4 le nombre d attributs est diff rent de celui du mod le Voici les attributs du noeud mod le jeux 6 pays USA Voici vos attributs set 3 11 2 La pr sentation des r sultats avec transparence du XML Dans le cas de la certification C21 par exemple le XML doit tre compl tement transparent C es
3. Internet Ja validation de format des fiches de compte rendu de projet des tudiants en M1 de l IUP GMI d Avignon 3 L organisation du travail Un planning pr visionnel a t r dig lors de la premi re phase du projet pendant le premier semestre il aura t bien respect dans l ensemble Nous avons modifi et ajout quelques tapes comme la pr sentation des r sultats d une comparaison ou l int gration de l annuaire LDAP de l universit d Avignon Notre groupe tait compos de quatre personnes le travail a t reparti entre ces quatre membres Un des objectifs notamment tait que tout le monde congoive le comparateur de pr s ou de loin La conception du projet s est d coup e en deux grandes parties a r alisation de la plateforme Web e La r alisation du comparateur XML Une fois le projet fini diff rents rapports ont t r dig s comme les documentations techniques pour ceux qui reprendront ou utiliseront le projet un manuel d utilisateur qui explique le fonctionnement de la plateforme ainsi que ses fonctionnalit s et enfin un rapport reprenant l ensemble de ce qui a t fait ce semestre Planning du second semestre 4 La reprise de l existant 4 1 Introduction Il tait important avant de commencer r aliser notre comparateur de v rifier si des applications ne proposaient pas d j de comparer deux documents XML ou quelque chose qui s en approche Il tait en effet int ressant d
4. le document mod le auquel se r f re un document comparer poss de une date de limite de d p t celle ci doit tre pass e pour que la consultation puisse tre faite 6 2 Fonctionnalit s du r dacteur Le r dacteur poss de les droits de l utilisateur en plus des droits suivants 6 2 1 D p t d un fichier mod le Une fois connect la plateforme le r dacteur peut y charger un fichier mod le Etant donn que plusieurs mod les peuvent tre d pos s le r dacteur donne une d signation chaque mod le ajout pour l identifier Il doit de plus param trer plusieurs options e fixer ou non une date limite de d p t de document comparer e fixer ou non la comparaison du contenu des documents choisir si l utilisateur ayant d pos un fichier comparer a le droit de consulter le r sultat de la comparaison 6 2 2 Gestion des fichiers Le r dacteur peut modifier ou supprimer un fichier mod le supprimer des fichiers test s des fichiers r sultats ou des archives 6 2 8 R cup ration des fichiers Il est propos au r dacteur de t l charger sous forme d archive un ou plusieurs documents mod les ou l ensemble des documents comparer ou r sultats associ s un document mod le 6 3 Fonctionnalit s de l administrateur L administrateur poss de les droits de l utilisateur et du r dacteur en plus des droits d crits ci dessous 6 3 1 Ajout d un nouveau profil L administrateur peut ajouter un
5. msertion gt lt fdebut gt Le comparateur rep re une substitution de contenu il indique le niveau le type de la substitution ainsi que le n ud concern dans le fichier mod le et dans le fichier test On peut ainsi retrouver rapidement que US Open a t remplac par Rolland Garros 24 Test avec des noms de balises diff rents mais avec un nombre et des noms d attributs identiques Arbre mod le Arbre test Stennis lt tennis annee Sannee lt nomannee 2006 lt nomannee gt lt nomannee gt 2006 lt nomannee gt tournoi lt townoi MyID 0 gt lt nomtownoi set 3 Leu USA MyID T gt U Open lt nomtoumoi gt lt nomtownoi TP set 3 lieu 754A MyID 2 gt U Opens nomtoumoiATP match match lt date gt 02 05 06 lt date gt lt date gt 02 05 06 lt date gt Sjoueur Sjoueur lt nom Agassi lt nom gt lt nom Agass lt nom gt lt prenom Andre lt prenom gt lt prenom gt Andre lt prenom gt lt nationalite gt Am ncan lt nationalte gt lt nationalite gt Am ncan lt nationalte gt lt datenaissance 16 07 1970 lt datenaissance gt lt datenaissance 16 07 1970 lt datenaissance gt lt fjouewr gt lt fjoueur gt Syainqueur Svainqueur lt nom Agassis nom lt nom Agassi lt nom gt lt vamquewr lt vamqueur lt fimatch gt lt match Syainquewtourno Svamqueurtouno gt lt nom AgassSnom gt lt nom AgassiS nom gt lt fvanqueurtounoi gt lt fvanqueutouno S
6. nouvel profil utilisateur r dacteur ou administrateur la plateforme Web Celui ci sera inscrit dans la base de donn es interne 6 3 2 Modification des profils existants L administrateur peut modifier ou supprimer un profil Dans le cas de la modification il est possible de changer l identifiant et le mot de passe 7 Les donn es En cours de r alisation de la plateforme nous avons modifi certaines fonctionnalit s et ajout quelques options mineures et il a fallu modifier la base de donn es Nous avons jug que la table admin appli liant un administrateur une utilisation n tait plus n cessaire tant donn qu un administrateur l est pour toute l application Nous l avons donc supprim e Ensuite nous avons ajout ou supprim quelques colonnes dans certaines tables Par exemple l ajout de l option de comparaison du contenu pour un document mod le a eu pour cons quence l ajout du champ suppr contenu dans la table doc modele Le mod le physique de donn es tel que nous l avons con u au premier semestre n a tout de m me subi aucun changement majeur IDADMIN IDREDACTEUR IDREDACTEUR IDUTILISATEUR IBUTILISATEUR IDADMIN 3 IDADMIN IDREDACTEUR IDR DACTEUR IDAPPLI IDAPPLI 10 8 Le probl me de la s curit Il tait n cessaire d identifier les utilisateurs afin d assurer la s curit de la plateforme Cette derni re offre la possibilit de d poser des fic
7. tient pas compte de l ordre dans lequel il les cr e Par exemple si vous cr ez plusieurs styles dans les deux fichiers mais pas dans le m me ordre vous obtiendrez pour le style gras soulign la valeur P1 dans le fichier mod le et la valeur P3 dans le fichier test A partir de ce constat nous comparions des noeuds qui d s le d part n avaient rien en commun et donc n auraient pas d tre compar s Il s agit alors de rep rer le contenu d un style puis de chercher dans l autre fichier le style qui est appliqu au m me contenu I n tait pas pr vu au d part de travailler sur les contenus des noeuds En effet l objectif fix tait de ne comparer des fichiers XML que sur leur structure et non sur le contenu des n uds de type text On peut facilement imaginer que la comparaison puisse tre effectu e pour des styles mais pas pour du contenu si le contenu du n ud test ne contient ne serait ce qu une lettre de diff rence ou un espace vide le n ud qui lui est associ ne sera jamais trouv De plus lorsque qu un style a t cr mais n est plus utilis dans le document il est tout de m me g n r lors de la transformation en arbre ce qui pose de grosses difficult s tant donn que le nombre de n uds d un c t est diff rent de l autre Cela peut donc loigner deux fichiers qui ont pourtant le m me contenu 10 2 La ressemblance des noeuds et le choix du meilleur Lors de comparaisons dans ce
8. tounoi lt ftoumoi gt lt lanee gt z annee S tennis S tennis R sultat dans l arbre des diff rences debut gt c deletion gt lt substitution gt cnomtourno1ATP set 3 lieu USA refPere 0 mveau 4 subst nom refModele 1 refTeste 2 gt substitution msertion 7 debut Le comparateur rep re une substitution Il indique une substitution de nom car le nombre et le nom des attributs sont identiques A l aide des r f rences on peut alors voir que nomTournoi a t remplac par nomTournoiATP 25 Test avec des noms de balises identiques avec un nombre d attributs identique mais avec des noms d attributs diff rents Arbre mod le Stennis Sannee lt nomannee gt 2006 lt nomannee tournoi nomtournol set 3 MyID 1 2U Openc nomtournoi match lt date gt 02 05 06 lt date gt joueur nom gassic nom lt prenom gt Andre lt prenom gt nationalite Am rican lt nationalite gt datenaissance 16 07 1970 datenaissance lt joueur gt vainqueur nom gassic nom lt vanqueur gt lt match gt vainqueurtournoi lt nom gt Agassi lt nom gt vamqueurtournoi lt itournoi gt lt annee gt tennis R sultat dans l arbre des diff rences lt debut gt lt deletion gt lt substitution gt Arbre test lt tenms Sannee lt nomannee gt 2006 lt nomannee tournoi MyID 0 gt nomtournol nbreSet MyID
9. Comparaison des attributs appel de compareAttributes listAttl listAtt2 Test si Noeudl et Noeud2 ont des fils e Si aucun des deux Sortie fonction e Siundes fils et l autre non ERREUR e Si les deux ont des fils Continue On r cup re le premier fils de chaque n ud Boucle sur les fils de Noeud1 e ncr mentation de fils2 o Sifils2 nul ERREUR e Appel r cursif de compare sur filsi et fils2 A la fin de la boucle s il y a encore des fils2 ERREUR o Type texte CDATA Test si Noeudl et Noeud2 sont des cha nes de caract res Comparaison des valeurs de Noeudl et Noeud2 o Type Commentaire V rification que les commentaires sont gaux o Type Entit Non trait ERREUR o Type diff rent inconnu Non trait ERREUR Fonction compareAttributes ListAttl ListAtt2 Etapes e Comparaison du nombre d attributs e Parcours des attributs par rapport ListAtt1 o Test si ListAtt2 poss de l attribut correspondant ListAttl indice Sinon ERREUR o Test de l galit des valeurs de ListAttl indice et ListAtt2 indice 4 8 Notre algorithme de comparaison Fonction parcoursArbre NoeudModele NoeudTeste Etapes e Test si les deux n uds sont nuls e Sinon test si le n ud mod le est nul Alors insertion e Sinon test si le n ud test est nul Alors d l tion e Sinon les deux n uds ne sont pas nuls Compare noeudModele noeudTeste qui effectue une comparaison sur les types et noms de n uds et s
10. UNIVERSIT IU GI D AVIGNON D AVIGNON R mi Godard Vivian Perez Florian P rugini Bertrand Vitrant Professeur responsable du projet Mr Fabrice LEFEVRE Rapport de projet R alisation d une plateforme Web de certification de documents XML projet lt titre Plateforme Web de certification XML lt titre gt etudiant nom R mi c nom lt nom gt Florian lt nom gt lt nom gt Vivian lt nom gt lt nom gt Bertrand lt nom gt lt etudiant gt departement Informatique departement lt ann e 2007 2008 ann e lt projet gt Universit d Avignon Ann e 2007 2008 D partement Informatique SOMMAIRE Tv Anrodiction eden mn rad m ttes EE ea 3 2 SC oM P LEE US 3 3 L organisation du travail anni UA SERA ENA URS R ANS EUR dune 4 4 baeprise le T existant udo p et eate aie asse oe adde di did ias 4 4 1 IntFOOdUCHOTT coa doeet dette MED bes ef toa n E etate mise cba ENERE 4 4 2 Algorithme de comparaison de XyDiff ss 5 4 3 Notre algorithme de comparaison ss 6 T4 vCOHCIUSIQEH e Contes ipso RL e edge le idee Ped cet dl dote cada 6 D LesoteHntatlons CHOISIS oem ebore usd caf edt Le d d 7 5 1 LES choix d langages occae e eie estote a E es AS EEK E Re 7 5 2 Uncomparateur un niveau eec eco tnit gen ERI P QUIS dE ii a iS 7 5 3 Tc repart tos du Sp VOLL neci ooe tetto as o ra atat RM ca at 7 0 C Ees f
11. aide de tests a t effectu e afin de garantir le bon fonctionnement de ces derniers Une suite de tests a t r alis e pour s assurer de la conformit des r sultats obtenus 12 1 La validation de la plateforme Afin de garantir la conformit et la compatibilit de la plateforme Web nous avons test cette derni re sur le site du W3C World Wide Web Consortium jusqu la validation en respectant la norme XHTML 1 1 et la norme CSS C est pourquoi les logos du W3C sont apparents sur les pages du site 12 2 La validation du comparateur Des s ries de tests ont t faites sur le comparateur afin de v rifier les r sultats retourn s Nous vous en pr sentons une partie ci dessous 18 Test sur des fichiers identiques lt tenms gt annee lt nomannee gt 2006 lt nomannee tournoi lt nomtownoi US Openc nomtournoi lt match gt lt date gt 02 05 06 lt date lt joueur gt lt nom gt gassi lt nom gt lt prenom gt Andre lt prenom gt lt nationalite gt Am ricain nationalite lt datenaissance gt 16 07 1970 lt datenaissance lt fjoueur gt lt joueur gt lt nom gt Sampras lt nom gt lt prenom gt Pete lt prenom lt nationalite gt Am ricain lt nationalite gt lt datenaissance 13 05 1969 lt datenaissance lt fjoueur gt lt vainqueur gt lt nom gt gassi lt nom gt lt fvamqueur gt lt fmatch gt vaimmqueurtournoi lt nom gt Agassi lt nom gt lt fvam
12. d l tion Il reste un dernier cas qui consiste d terminer la ressemblance entre deux noeuds car il peut y avoir un niveau donn autant de noeuds d un cot que de l autre et qui pr sentent des ressemblances dans ce cas on indiquera une substitution On distingue diff rentes substitutions entre deux n uds e Substitution de nom e Substitution d attributs le nom ou la valeur e Substitution du nombre d attributs e Substitution de contenu 14 10 Les difficult s rencontr es et leurs solutions 10 1 Les documents XML g n r s par OpenOffice Lors de la conception du comparateur nous avons commenc avec des cas tr s simple et qui fonctionnaient tr s bien Au fur et mesure nous avons tent de complexifier les fichiers XML puis nous en sommes arriv s tester des fichiers de traitement de texte fichiers l extension odt d OpenOffice Pour des fichiers tr s simples cela n a pas pos de difficult particuli re mais pour des fichiers plus complexes les r sultats se sont av r s moins satisfaisants En analysant l arbre de diff rence les r sultats retourn s taient justes le probl me ne venait donc pas de la comparaison Il s agit en fait d une g n ration particuli re des fichiers XML par OpenOffice En effet lors de la cr ation d un style g n r lorsque l on associe une mise en forme un contenu par exemple mettre un mot en gras OpenOffice incr mente sa liste de styles mais ne
13. du comparateur XML Nous pr senterons la mission r aliser l organisation au sein du groupe les solutions choisies ainsi que celles qui auraient pu tre envisag es les fonctionnalit s de l application les mod les de donn es la s curit de la plateforme la reprise de l existant la r alisation du projet ainsi que les difficult s que nous avons rencontr es puis la pr sentation des r sultats et les tests de validation 2 Lamission Le but de ce projet a t de r aliser une plateforme Web permettant de certifier des documents XML Afin de permettre l utilisation distance nous avons choisi de mettre disposition le comparateur XML sur une plateforme Web Le document test sera compar un document mod le qui aura t pr alablement d pos Le comparateur doit tre g n rique afin de comparer divers documents partir du moment o leur structure est bas e sur le langage XML Par exemple les fichiers au format OpenDocument de la suite OpenOffice sont en r alit des archives qui contiennent des fichiers XML d crivant le document Ils peuvent donc tre compar s Cette plateforme permet essentiellement selon le profil de l utilisateur de d poser un fichier mod le ou de comparer un document Deux cas ont t choisis afin de tester la compatibilit des documents avec notre comparateur XML e la correction des examens rendus par les tudiants passant l valuation C2I Certification Informatique et
14. e la comparaison d une s quence de n uds En effet notre comparateur s arr te un niveau Le probl me est que dans l outil XyDiff la comparaison ne se faisant que sur le contenu il est suppos que la structure 4 l arborescence des noeuds XML soit la m me pour les deux fichiers compar s Ce qui loigne beaucoup cet outil du n tre Nous avons quand m me voulu observer le fonctionnement de XyDiff pour savoir si nous pouvions nous inspirer de certaines parties Ceci n a pas t facile car l outil n cessite d tre param tr et bien qu il soit complexe il n existe pourtant aucune documentation Le principe de XyDiff consiste cr er un fichier XML puis cr er al atoirement un patch de mise jour et l appliquer sur une copie de ce fichier Ces deux fichiers sont donc ressemblants ont la m me structure et peuvent tre compar s Il est en th orie galement possible de comparer deux fichiers XML de notre choix mais ceci ne fonctionne pas et sans documentation nous avons renonc tenter de corriger l erreur Nous avons donc tudi l algorithme de comparaison de deux arbres XML utilis par XyDiff et l avons compar au n tre 4 2 Algorithme de comparaison de XyDiff Classe XMLCompareEngine Fonction compare Noeudl Noeud2 Etapes e Test si les deux n uds sont nuls si oui gt ERREUR e Tests sur les types de n uds si diff rents gt ERREUR o Type l ment Comparaison des noms de n uds
15. e le n ud suivant s il est toujours diff rent on consid re que tout le sous arbre est diff rent Sinon on recommence comparer partir de ce noeud Une solution pour optimiser cette comparaison serait de travailler sur des s quences de n uds mod les et d effectuer des recherches dans tout l arbre test Nous n avons pas impl ment cette m thode par manque de temps 5 3 Lar partition du travail Afin d avancer efficacement le projet nous avons d cid de d couper le projet en deux phases de r alisation e Ja plateforme Web e Je module de comparaison Ces derni res n avaient rien en commun et pouvaient tre d velopp es en parall les Une fois les deux parties termin es le comparateur a t int gr la plateforme Ceci a pris plus de temps que ce que nous avions pr vu mais s est pass dans de bonnes conditions Cette solution nous a permis d optimiser le rendement et de prendre de l avance d s le d but du second semestre 6 Les fonctionnalit s La plateforme Web propose diff rentes fonctionnalit s selon le type de profil connect On distingue trois profils e Administrateur e r dacteur e utilisateur 6 1 Fonctionnalit s de l utilisateur 6 1 1 D p t de fichier comparer Une fois connect la plateforme l utilisateur choisit le mod le de comparaison puis d pose son fichier 6 1 2 Consultation des r sultats L utilisateur peut consulter les r sultats d une comparaison Si
16. ee gt lt ftennis gt R sultat dans l arbre des diff rences lt debut gt lt deletion gt lt substitution gt Arbre test tennis annee nomannee22006 nomannee tournoi MyID 0 gt nomtournol set 3 MyID 2 2U Opens nomtournoi match date202 05 06 date Sjoueur nom gassic nom lt prenom gt Andre lt prenom gt lt nationalite gt Am ncan lt nationalite gt lt datenaissance gt 16 07 1970 lt datenaissance gt lt fjoueur gt vainqueur nom gassic nom lt fvamqueur gt lt match gt lt vamqueurtouno1 gt lt nom gassic nom lt vamqueurtounoi gt lt tournoi gt lt annee gt lt tennis gt lt nomtoumnoi set 3 refPere 0 mveau 4 subst nbAttribut refModele 1 refTeste 2 gt lt substitution lt imsertion 7 lt debnt gt Le comparateur indique une substitution mais cette fois avec un nombre d attributs diff rents A l aide des r f rences on peut retrouver les n uds et voir que le n ud nomtournoi a comme attributs dans le fichier mod le set et pays tandis que dans le fichier test il n a que set 27 Test avec des noms de balises identiques avec un nombre d attributs diff rent et des noms d attributs diff rents Arbre mod le Arbre test tennis tennis Sannee Sannee lt nomannee gt 2006 lt nomannee gt nomannee 2006 nomannee tournoi tournoi MyID 0 gt lt nomtournoi
17. ensions l tudier pour r ussir comparer une s quence de noeuds 5 Les orientations choisies Durant la r alisation du projet il a fallu faire un certain nombre de choix que ce soit pour la conception ou l organisation Nous vous pr sentons les principaux ci dessous 5 1 Les choix de langages La plateforme Web a t d velopp e l aide du langage PHP Nous sommes bas s sur la norme XHTML 1 1 pour diter les pages Web Le langage JavaScript a t utilis galement pour un certain nombre de scripts associ s parfois la m thode AJAX Quant au comparateur XML nous avons choisi de le d velopper en PHP pour des raisons de facilit d int gration la plateforme celle ci tant en PHP De plus PHP5 propose les APIs DOM et XSL n cessaires au d veloppement de notre comparateur Il aurait t possible de d velopper le comparateur en Java qui propose galement diff rentes solutions pour les fichiers XML comme l API JAXP 5 2 Un comparateur un niveau Lors de notre avancement nous avons r alis la difficult comparer des fichiers assez diff rents Une fois que le noeud compar est diff rent de celui test le but est de regarder si les fils de ceux ci sont identiques ou non S ils le sont le n ud test doit tre associ au mod le afin de raccrocher dans les arbres C est pourquoi nous avons choisi de faire la comparaison sur un seul niveau si une diff rence est rep r e on regard
18. hiers mod les ou encore de consulter des r sultats il est donc vident qu un simple utilisateur ne puisse pas acc der ces fonctionnalit s Dans le cadre de l universit il nous est possible de faire une connexion l annuaire LDAP qui est un annuaire recensant toutes les personnes de l universit S1 l utilisateur ne fait pas partie de la facult alors on recherche s il fait partie de la base de donn es interne de la plateforme 8 1 Identification l aide du LDAP Dans le cadre de la certification C2I les utilisateurs sont des tudiants il tait donc n cessaire de faire une identification par rapport ce dernier Apr s identification dans le LDAP on retrouve diverses informations sur l utilisateur e Sonnom Son pr nom Son profil Son adresse email La donn e la plus importante pour la plateforme est le profil car c est elle qui d termine quelles fonctionnalit s seront disponibles pour l utilisateur qui se connecte Par exemple un utilisateur authentifi student ne pourra que d poser des fichiers comparer et consulter les r sultats d une comparaison Il existe cinq profils dans le LDAP e student attribu aux tudiants connect en tant qu utilisateur employee attribu aux professeurs connect en tant que r dacteur faculty attribu au personnel administratif connect en tant que r dacteur researcher attribu aux doctorants connect en tant qu utilisateur affiliate at
19. ian F R mi R Tous T tapes Jours Groupe A Mise en place des outils n cessaires serveur local etc 2 T B Tests de fonctionnement des outils et des librairies 5 T C Conception des diff rentes fen tres de la plateforme Web g n rique 60 F R D Cr ation de la base de donn es 40 V B E Mise en relation de la plateforme et de la base de donn es 25 V F F R alisation du module comparateur XML 15 T Premier niveau identique ou non G Second niveau rep rer les diff rences 20 T H Troisi me niveau lister les diff rences et exposer les probl mes 15 T Tests du comparateur XML 10 B R J V rification du fonctionnement pour tout type de mod le 3 B R K Tests des fonctionnalit s de la plateforme 2 F R L Int gration du module comparateur XML sur la plateforme Web 7 V F M Pr sentation des r sultats d une comparaison 3 B R N Tests de l application g n rique 10 T O Mise en forme de la plateforme pour l utilisation c2i 3 R P Mise en forme de la plateforme pour l utilisation GED 1 R Q Int gration de l annuaire LDAP de l UAPV dans la plateforme 2 V F H Tests de l application pour le c2i 7 B R S Tests de l application pour la GED 7 V F T Correction de bugs sur le comparateur 3 V B U Nouveaux tests du comparateur 3 V B V R daction du manuel d utilisation de la plateforme 3 R W R dac
20. jeux 6 pays USA MyID 1 gt US Openz nomtournoi nomtournoi set MyID 2 gt U5 Opens nomtournoi match match lt date gt 02 05 06 lt date gt lt date gt 02 05 06 lt date gt Sjoueur Sjoueur nom Agassis nom lt nom gassi lt nom gt lt prenom gt Andre lt prenom gt lt prenom Andre lt prenom gt lt nationalite gt Am nicain lt nationalite gt nationalite Am ncain nationalite lt datenaissance gt 16 07 1970 lt datenaissance gt lt datenassance gt 16 07 1970 lt datenaissance gt lt fjouewr gt lt joueur gt Svaimqueur Svaimqueur nom gassis nom nom gassi lt nom gt lt fvainqueur gt lt fvainqueur gt lt imatch gt lt imatch gt Svainqueurtournoi lt valqueurtournol gt nom gassiz nom lt nom Agassic nom Sivainqueurtournoi zlvamqueurtourmnol lt ftounoi gt lt tournoi gt lt fannee gt lt Jannee lt ftennis gt lt ftennis gt R sultat dans l arbre des diff rences lt debut gt lt deletion 7 lt substitution gt cnomtournol set 3 refPere mveau 4 subst nb tiibut refModele 1 refTeste 2 7 substitution lt imsertion 7 fdebut gt M me si les attributs n ont rien en commun le comparateur indique qu il y a une substitution de nombre d attributs 28 13 Conclusion Notre comparateur de documents XML fonctionne pour les fichiers XML en g n ral que ce soient des fichiers XML traditionnels ou ceux issus de la suite Ope
21. la lecture L application est donc pr te tre utilis e et un manuel a t r dig pour expliquer pas pas son fonctionnement cf Manuel utilisateur de la plateforme Web Il est galement ais de lui ajouter de nouveaux cas d utilisations car ceux ci sont s par s de l application elle m me Enfin la maintenabilit est assur e car nous avons r dig une documentation technique cf Documentation technique plateforme Web Le comparateur quant lui fonctionne de mani re satisfaisante m me si nous savons qu il n est pas encore optimal notamment au niveau de la comparaison de deux s quences n uds ou de l interpr tation de diff rences entre deux fichiers XML issus d OpenOffice Mais nous avons fait en sorte qu il puisse tre am lior en cr ant une documentation technique cf Documentation technique du comparateur XML et en le d veloppant de mani re claire et tr s comment e 9 2 Lacr ation de la plateforme Web 9 2 1 Lar alisation de toutes les fonctionnalit s Les diverses fonctionnalit s ont t r alis es avant d int grer le graphisme La premi re tape a t de r aliser tous les formulaires avec leur traitement puis de faire une authentification avec la possibilit de choisir une application TP de c2i ou comptes rendus de r union de projet Une fois les fonctionnalit s r alis es il tait n cessaire de pr senter le site de fa on ce qu il s int gre aux divers m
22. lt fjoueur gt joueur MyID 1 gt lt nom gt Sampras lt nom gt lt prenom Pete lt prenom gt nationalite Am ncan lt nationalite gt lt datenaissance gt 13 05 1969 lt datenaissance gt lt fjoueur gt lt valnqueur gt lt nom gt gassi lt nom Sivamqueur lt fmatch gt cvamqueurtournoi nom gassiz nom Sivamqueurtournoi tournoi lt lannee gt tennis Arbre test tennis annee lt nomannee gt 2006 lt nomannee gt ctournoi nomtournor US Openc nomtournoi match lt date gt 02 05 06 lt date gt lt joueur gt lt nom Agassi lt nom gt lt prenom gt ndre lt prenom gt nationalite Am ncan lt nationalte gt datenaissance 16 07 1970 datenaissance fjoueur cvamqueur nom gassi lt nom gt Sivamqueur lt fmatch gt cvamqueurtournol lt nom Agassi lt nom gt lt fvamqueurtounoi gt lt tournoi gt lt fannee gt lt jtenms gt 22 R sultat dans l arbre des diff rences lt debut gt lt deletion gt lt joueur refPere Q mveau 5 refModele 1 gt lt nom gt Sampras lt nom lt prenom gt Pete prenom cnationalite gt Am ricain fnationalite lt datenaissance gt 13 05 1969 fdatenaissance joueur fdeletion lt substtution gt lt msertion gt fdebut gt Le comparateur indique une d l tion d un n ud joueur ainsi que les caract ristiques de ce n ud Effectivement il y a un joueu
23. nOffice Cependant ce comparateur pourra tre am lior en favorisant les aspects plus particuliers d OpenOffice et en interpr tant de facon plus large les r sultats Ce projet nous a appris une fois de plus g rer notre temps de travail et travailler en groupe C tait la premi re fois pour nous quatre que nous avions r aliser un projet sur toute une ann e et cette exp rience a t tr s b n fique dans le sens o elle nous a permis de prendre plus de recul sur notre travail et de ne pas d marrer trop tard En ce sens les r unions avec notre tuteur de projet peu pr s tous les mois nous ont aid s garder un rythme de travail r gulier Nous nous sommes galement perfectionn s dans la ma trise du langage XML avec diff rentes variantes XSL XPath et sa recommandation DOM l ayant utilis intens ment Notre objectif ayant t de r aliser une application g n rique et r utilisable nous nous sommes aussi appliqu s fournir un outil clairement cod comment et avons r dig des documents facilitant son utilisation et sa maintenance en cas d am lioration Ces documents sont les suivants e Documentation technique du comparateur XML e Documentation technique de la plateforme Web e Manuel utilisateur de la plateforme Web ANNEXES Annexe 1 Planning du second semestre Planning second semestre Les diff rentes tapes r alis es au second semestre L gende Vivian V Bertrand B Flor
24. nts de pages superflus Une fois termin e nous avons valid la plateforme en respectant la norme W3C pour le CSS et XHTML 1 1 13 9 8 Lacr ation du comparateur XML 9 3 1 Les diff rentes tapes dans l avancement La premi re tape a consist en cr er un comparateur qui d termine si le document soumis tait strictement identique au mod le ou non les diff rences n taient pas rep r es et le comparateur retournait O ou 1 Dans un second temps nous avons essay de rep rer des diff rences en avangant dans les deux arbres et en indiquant l endroit ainsi que le noeud concern L tape suivante a consist en une fois la diff rence trouv e continuer la comparaison et indiquer toutes les diff rences rep r es Les diff rences tant rep r es le but a t de les organiser afin de les interpr ter efficacement 9 3 2 Le choix de l architecture de l arbre des diff rences Le but tant de pr senter les diff rences entre les deux arbres un utilisateur il tait n cessaire de stocker ces informations Elles ont t class es en trois cat gories dans un arbre de diff rence Ces cat gories sont insertion d l tion et substitution Les n uds qui apparaissent dans le document test mais pas dans le document mod le sont rang s dans insertion Lorsque l on arrive sur un n ud du document mod le qui n appara t pas dans le document test celui ci est stock dans
25. odules de l UAPV 9 2 2 La mise en forme CSS Javascript Ajax Pour la mise en forme nous avons utilis le langage CSS et cr deux styles graphiques e Je premier est bas sur le style du site de la plateforme p dagogique de l universit d Avignon http e uapv univ avignon fr et concerne l application de pr correction de TP pour la certification C2I 12 e le second est bas sur le style du site de l IUP GMI d Avignon et concerne l application de validation de format des fiches de comptes rendus de r union de projet de master premi re ann e L impl mentation de la plateforme a t pens e de mani re ce que si on voulait lui ajouter une application il suffirait alors de cr er un r pertoire pour cette application et de respecter l arborescence existante Une banni re pourrait tre red finie ainsi que le style complet m me si l architecture resterait identique Une fonction JavaScript appliqu e sur le menu permet de montrer ou cacher deux fonctionnalit s la mani re de sous menus Certaines fonctionnalit s comme le changement des droits utilisent des fonctions JavaScript et des requ tes AJAX Cela permet de configurer en temps r el les profils utilisateurs sans avoir recharger une page ce qui est beaucoup plus agr able pour l utilisateur Les autres fonctions JavaScript d velopp es sont toutes destin es rendre plus agr able la navigation sur la plateforme en vitant des chargeme
26. onctionnalit s s erse ae de ea odubMu S Ge A nn auds 8 6 1 Fonctionnalit s de l utilisateur eee een te tesa anh Ie esa eae teens 8 6 1 1 D pot de Tichier COIRIDBfer nets etate Sous bee der qu io go i 8 6 1 2 Consult aon des TOU dE S ici r a SAN ne E tae sine Ud 8 6 2 Fonctionnalit s du TEdaCteuf uc oodd use I RU LIE bob RE UNS STAR aS siie 8 6 2 1 D p t d un fichier modele sten eta I exte ea ares pe EE OM Pede ete 8 6 2 2 Gestion des fichiers 2 oer UR EUREN MNA TA EATEN INESSE TRE Sae PERS a ehe 8 6 2 3 R tcuperauonm des dTe BIetss edo oleo b do a aei a ee ur 8 6 3 Fonctionnalit s de l admitmistEabeuE uoo ipee e ORO aa uina vadit ted cues 9 6 3 1 Ajout d un nouveau Profil sistema hist 9 6 3 2 Modification des profils existants esesessesseeeeeeeeeeee enne enne enne 9 T DOSUODDeS Sem dostetniduata t ne A n e M Nr en Saltem d 10 D beprobleme dela SCCIUIe e ee ES sene v cat estu ei 11 8 1 Identification dade du BAPE mnt en tei ert ue Ute Bus esset ig Etes 11 8 2 Identification selon le profil ss 5 et et eden RU Een antenne 11 9r Lar alisation du pEOIeb ses costi umor neu me ad uas tib O E a dan 12 9 1 TOUCHENT SN Ne a Mime AA dass ofer D des tou Hee 12 92 La cr ation de la plateforme Websense 12 9 2 1 La r alisation de toutes les fonctionnalit s esseeeee 12 9 22 La mise en forme CSS Javascript AIX RAR RES NS 12 9 3 La cr ation du comparateur XML ibd eben n
27. queurtournoi lt itownoi lt jannee gt lt itenms gt R sultat dans l arbre des diff rences lt debut gt lt deletion gt lt substitution gt lt insertion gt lt debut gt Le comparateur indique qu il n a pas rep r de diff rence 19 Insertion d un joueur Arbre mod le tennis Sannee nomannee22006 nomannee Stournoi nomtournol US Opens nomtournol match lt date gt 02 05 06 lt date gt lt joueur gt lt nom gt Agassi lt nom lt prenom Andre lt prenom gt lt nationalite gt Am nican lt nationalite gt lt datenassance gt 16 07 1970 lt datenaissance gt jjoueur Sjoueur lt nom gt Sampras lt nom lt prenom Pete lt prenom gt lt nationalite gt Am nican lt nationalite gt datenaissance 13 05 1969 datenalssance lt joueur gt Syainqueur lt nom gt Agassi lt nom lt vamqueur gt lt match gt Svamqueurtourmoi nom gassic nom S vamqueurtournol lt tounoi gt annee S tennis Arbre test tennis lt annee lt nomannee gt 2006 lt nomanneez tournol nomtournoi1 US Open lt nomtownoi gt match MyID 0 date702 05 06 date joueur nom Agassic nom lt prenom gt ndrec prenom nationalite m ricain lt nationalite gt lt datenaissance gt 16 07 1970 lt datenaissance gt lt fjoueur gt joueur nom Samprasc nom lt prenom gt Pete lt prenom gt na
28. r en plus dans le fichier mod le 23 Test avec des noms de balises identiques mais avec des contenus textes diff rents Arbre mod le tennis Sannee lt nomannee gt 2006 lt nomannee gt Stoumor nomtournoi My lt match gt lt date gt 02 05 06 lt date gt Sjoueur lt nom gt gassi lt mom gt lt prenom gt Andre lt prenom gt nationalite m ncan lt nationalte datenaissance 16 07 1970 datenaissance joueur Svainqueur nom gassis nom Sivamqueur lt match gt lt vamquewtownoi gt nom gassis nom vamqueurtournol S tournoi lt lannee gt tennis 2US Openz nomtournoi R sultat dans l arbre des diff rences lt debut gt lt deletion gt lt substitution gt Arbre test tennis annee lt nomannee gt 2006 lt nomannee gt tournoi MyID 0 gt nomtournoi MyID 2 gt Rolland Garross nomtournoi lt match gt lt date gt 02 05 06 lt date gt lt joueur gt lt nom gt gassi lt nom gt lt prenom gt Andre lt prenom gt nationalite m ricanz nationalite datenaissance 16 07 19 70 datenaissance ljoueur Svamqueur lt nom gt gassi lt nom gt lt vainqueur gt lt fmatch gt vainqueurtoumoi lt nom gt gassi lt nom ivaimqueurtournoi lt ftournoi lt lannee gt lt itenms gt lt nomtoumnoi refPere mveau 4 subst contenu refModele 1 refTeste 2 gt substitution lt
29. rtains cas certains n uds mod le et test se ressemblent mais ne sont pas identiques C est pourquoi nous avons choisis d associer des noeuds selon certains crit res sinon seulement deux cas auraient pu tre trait s noeuds identiques ou non Les n uds mod le et test s sont associ s en fonction de leur type leur nom leurs attributs nombre et valeur ainsi que leur contenu Le choix d un n ud test plut t qu un autre est assez d licat Nous avons d cid de donner des degr s d importances aux similitudes Le n ud test qui poss de le degr le plus lev est celui qui est s lectionn pour tre compar avec le n ud mod le Bien entendu sur un m me niveau le n ud test qui vient d tre choisi ne pourra plus l tre par le n ud mod le suivant 15 11 La pr sentation des r sultats Pour la pr sentation des r sultats nous avons choisi d utiliser le langage XSL Il permet de pr senter sous forme HTML les n uds d un document XML et de modifier des n uds volont l aide des transformations XSLT et du langage XPath Pour chaque type de n ud insertion d l tion ou substitution un template est appel et propose une mise en forme Deux mises en forme ont t retenues la premi re consiste interpr ter l arbre des diff rences dans le cas o l utilisateur souhaite voir les probl mes de n uds et la seconde o la notion de XML ne doit pas tre visible et o il faut pr senter les diff
30. s na dre 14 9 3 Les diff rentes tapes dans l avancement 14 9 3 2 Le choix de l architecture de l arbre des diff rences ssus 14 10 Les difficult s rencontr es et leurs solutions essere 15 10 1 Les documents XML g n r s par OpenOffice 15 10 2 La ressemblance des n uds et le choix du meilleur esses 15 11 La presentation des t6Sulldls 5 oues eite oe io ede uda i Dus e oe ki Pani e ee 16 11 1 La pr sentation des r sultats en terme XML 16 11 2 La pr sentation des r sultats avec transparence du XML 16 12 La validation des programmes Tests 18 12 1 La validation de la plateforme esee annual 18 12 2 La validation du Comparateur oii sen Es toam quta ex al epus ec b tepH t eso ers 18 3 CONCIUSIOM o beu ER nn ne nt Stola Lomo 29 ANNEXES inienn siistii a an e E ATE datent 30 1 Introduction Durant l ann e nous avons d r aliser un projet qui se d composait en deux parties principales La premi re phase consistait r aliser un cahier des charges de notre projet ainsi que pr voir les outils n cessaires au d veloppement et faire un planning pr visionnel De plus une pr vision de la r partition du travail devait tre fournie La seconde tape consistait concevoir ce projet qui s intitule R alisation d une plateforme Web de certification de documents XML Ce rapport traitera donc de la conception de la plateforme et
31. t pourquoi les diff rences rep r es doivent tre expliqu es l aide de phrases le plus simple possible Par exemple dans le cas d une substitution on doit indiquer que le stylel a t appliqu sur le contenu XXX au lieu du style 2 16 Les substitutions Substitutions de texte Diff rence de nombre d attributs Substitutions d attributs Pour le contenu suivant Gras et pas gras Vous avez appliqu les styles suivants fo font weight normal style font weight asian normal style font weight complex normal Dans le mod le les styles suivants sont appliqu s fo font weight bold style font weight asian bold style font weight complex bold Pour le contenu suivant italique souligne ou juste italique Vous avez appliqu les styles suivants fo font style italic style font style asian italic style font style complex italic Dans le mod le les styles suivants sont appliqu s fo font style italic style text underline style solid style text underline width auto style text underline color font color style font style asian italic style font style complex italic Pour le contenu suivant Police diff rente Vous avez appliqu les styles suivants style font name Roman Dans le mod le les styles suivants sont appliqu s style font name Tahoma Voir annexe pour une meilleure visibilit 17 12 La validation des programmes Tests Une validation de la plateforme et du comparateur l
32. tion de la documentation technique du comparateur 4 V X R daction de la documentation technique de la plateforme Web 5 F Y Rapport 5 T Z Pr paration de la soutenance diaporama r p titions 4 T AA Rendu du projet 1 T AB Soutenance 1 T 31 Annexe 2 Solutions pr sent es pour les documents OpenOffice woye L 3umu juoyspKas sanbidde wos S3ueAms sapis Sa aapaw a SUEQ U ul0y 3Ueu 1u0ps A s sjueAms Sap sa anblidde Zane sno 330313 p 32104 3utAms nuajuo 3 nog 3ip3r 2x3 duo2 355 300j 3 25 PU ue 15 3 435 300 2 A15 40 03 300J 210 02 3u1 13pUn 1xX33 3 A15 one uipra 3u13pun 1x33 3 A 15 pos 3 A05 3u143pun 3X3Y 3 A15 31831 23 435 300 0J Sanbijdde 3u05 s3ugAms 5 5 saj a 8POU af 5ueq OR x3 dwu03 31 35 300 3 A15 PU Ue 15 3 35 300J 9 05 Me 3145 300 0 Syura sais saj anbijdde Zane noA anbyey asni no a2ufinos anbipey 3ueAms nua3un3 a nod PI0q xajduo2 306128 3u0J 2 A15 pIOq ueise 3uDm28 2u0 3 15 pI0q 3u6138 3u0 0 sanbijdde 3005 syueAms 53 35 Sal aapaw sue Jewo x3jdu03 1u8128 1u0j 2 A15 ewou ue1se 3uD128 300 3 A15 ewou 1u01288 3100J 0 suens sas sa anbijddg zane snop sses sed je 5815 3ueAins husju03 a nog sinqine p suonnidsqng sinaune p gwon 3p 330313JJid 31x31 3p suonninsqns suanninsqns sa
33. tionalite m rican nationalite datenaissance 13 05 1969 datenaissance Sfjoueur lt joueur MyID 1 gt lt nom gt Duf lt nom gt lt prenom gt John lt prenom gt nationalite Anglais lt nationalite gt lt datenaissance gt 17 08 1907 lt datenaissance gt Sfjoueur vainqueur nom gassic nom Slvamqueur lt fmatch gt lt valnquewtowunoi gt nom gassic nom Sivamqueurtournoi lt ftournoi gt lt fannee gt lt itennis gt R sultat dans l arbre des diff rences debut gt lt deletion 7 substitution gt lt insertion gt joueur refPere Q mveau 4 refTeste 1 gt lt nom gt Duff lt nom gt prenom gt John lt prenom lt nationalte gt Anglais fnationalite lt datenaissance gt 17 08 1907 fdatenaissance joueur lt insertion f debut gt Le comparateur a rep r des insertions de n uds Il indique qu un n ud joueur a t ajout du cot du fichier test Il indique galement toutes les caract ristiques du joueur tant donn qu elles n apparaissent pas dans le fichier mod le 21 D l tion d un joueur Arbre mod le ctennis Sannee Znomannee22006z nomannee tourmnol nomtournoi US Openc nomtournoi match MyID gt date202 05 06 date joueur nom gassis nom prenom ndrec prenom lt nationalite gt Am ncanc nationalite datenaissance 16 07 19 70 datenaissance
34. tribu aux invit s connect en tant qu utilisateur 8 2 Identification selon le profil Dans le cas o l utilisateur qui se connecte est inscrit sur l annuaire LDAP et si c est sa premi re connexion la plateforme son profil sera enregistr dans la base de donn es interne pour qu il puisse d poser des documents de quelque type qu ils soient Dans le cas contraire on recherche s il fait partie de la base de donn es interne de la plateforme Dans cette base de donn es il existe aussi diff rents profils que l on a d taill s ci dessus ainsi que les fonctionnalit s qui leur sont associ es 11 9 La r alisation du projet Pour la r alisation du projet on distingue deux grandes parties e Ja cr ation de la plateforme Web e Ja cr ation du comparateur 9 1 Introduction Nous avons cr cette application dans l optique qu elle soit r ellement utilis e et nous nous sommes donn s les moyens pour arriver cette fin Premi rement la plateforme Web a t d velopp e de fa on tr s structur e L arborescence des r pertoires de l application suit une logique en tant compos e d une partie g n rique et d autres parties propres chaque cas d utilisation pour les graphismes et les fichiers d pos s et g n r s pour plus d information cf Documentation technique plateforme Web Le code a t comment et respecte la norme W3C pour le XHTML 1 1 ce qui donne de la clart et de l harmonie dans
35. tudier une application ressemblante la n tre pour plusieurs raisons e Gagner en visibilit ce qui permet d am liorer la compr hension voire la mod lisation et viter des erreurs classiques e Gagner du temps sur des aspects sur lesquels on bloque e S inspirer de ce qui a d j t fait et viter de faire une partie qui a d j t trait e Fabrice Lef vre nous a inform s de l existence d une application permettant de contr ler diff rentes versions d un document OpenOffice Office Version Control En th orie celle ci permet de distinguer les diff rences entre deux versions d un document OpenOffice d appliquer un patch correspondant une mise jour sur un document ou au contraire d inverser un patch correspondant au r tablissement d une version ant rieure En r alit cette application ne fonctionne pas avec des documents OpenOffice mais seulement avec des fichiers XML purs De plus la documentation est tr s mauvaise le projet a t arr t il a donc t difficile d tudier Office Version Control L aspect le plus int ressant est qu il utilise XyDiff XyDiff est un outil d velopp par l INRIA Institut National de Recherche en Informatique et Automatique qui permet de comparer plusieurs versions d un document XML ou de comparer deux documents XML ayant la m me structure Nous pensions donc au d but que l tudier pourrait nous aider am liorer notre comparateur notamment et surtout au sujet d
36. ur le nombre et la valeur de leurs attributs Elle indique s il y a substitution insertion d l tion ou si les noeuds sont identiques Si le n ud mod le a des fils et l autre non D l tion de tous les fils Si le n ud test a des fils et l autre non nsertion de tous les fils Si les deux n uds ont des fils On cr les listes des fils des n uds mod le et test On cr une boucle afin de parcourir tous les fils mod les Pour chacun d entre eux tous les fils test s pr sents dans la liste sont parcourus et celui qui est le plus ressemblant est choisi La fonction parcoursArbre est rappel e param tr e du noeud mod le et du n ud test s lectionn Lorsque tous les noeuds mod les on t parcourus on regarde s il reste des noeuds test s Si c est le cas il y a une insertion 4 4 Conclusion L algorithme utilis par XyDiff est donc plus simple et moins performant que le n tre l exception au d part des diff rents types de n uds qui taient mieux g r s Nous avons donc int gr notre comparateur cette approche par type Le temps de calcul du comparateur est devenu gr ce cette approche beaucoup moins important Nous avons donc r ellement am lior notre comparateur XML gr ce l tude de l outil XyDiff m me si ce n est pas sur l aspect que nous pensions avant l tude En effet nous nous sommes inspir s de XyDiff pour la comparaison par type de noeud alors que nous p

Download Pdf Manuals

image

Related Search

Related Contents

ロールマーカー 取扱説明書  CMS200 User Manual VERSION 2.4.0.0 (Build 100831    Hotte de cuisinière en acier inoxydable  MANUEL D`AIDE  CableWholesale 30R1-03260  PCG-R600HMP - Sony Europe  User`s Manual  View/Open - Calhoun: The NPS  PRIMERGY P200 取扱説明書 追記・訂正事項  

Copyright © All rights reserved.
Failed to retrieve file