jOpenDocumentJOpenDocumentROLEZ Philippe24 Janvier 2012   IR3 - XPosé
Sommaire• Présentation  • Qu’est ce que jOpenDocument?                                              jOpenDocument  • Qui? ...
PrésentationQu’est ce que jOpenDocument?                                                         jOpenDocument• Librairie ...
PrésentationQui?                                              jOpenDocument•   ILM Informatique•   Entreprise Française•  ...
PrésentationHistorique                                                                  jOpenDocument• 2003 : développemen...
Présentation• Novembre 2008 : SUN récompense jOpenDocument d’un  Community Innovation Bronze Award                        ...
Open DocumentPrésentation                                                                          jOpenDocument• Norme dé...
Open Document Description du format • Archive Zip                                                                         ...
Open Document Description du format                                                                                 jOpenD...
Open Documentcontent.xml d’un fichier .odt                                                                                ...
jOpenDocumentLa librairie• http://www.jopendocument.org/downloads.html                                                    ...
jOpenDocumentReprésentation du document content.xml :: jDom                                                          jOpen...
jOpenDocumentReprésentation d’un fichier .ods :: jDom                                                                     ...
jOpenDocumentDiagramme de classes principal                                 jOpenDocument                                 13
jOpenDocumentOuverture d’un fichier :: ZipFile                                                jOpenDocument               ...
jOpenDocument  Accès à une cellule :: « A2 » sur la première feuille de  calcul                                           ...
jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul                                               ...
jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul                                               ...
jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul                                               ...
jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul                                               ...
Démonstration• Migrer des fichiers présents sur des serveurs partagés vers un  système de gestion de document électronique...
Démonstration• Document                                               jOpenDocumentSLIDE modifier pour cause de confidenti...
Démonstration       • Principe                                                                                            ...
Démonstration• Déroulement  • Choix d’un répertoire par l’utilisateur                                                     ...
Démonstration• Template d’une feuille de calcul                                                                          j...
Démonstration• La solution jOpenDocument*  • Lecture des cellules spécifiques pour chaque fichier analysé                 ...
Conclusion•   Manipulation des fichiers .ods                                                                         jOpen...
Références• http://www.jopendocument.org                                              jOpenDocument• http://fr.wikipedia.o...
QuestionsMerci de votre                 jOpenDocument attention                 27
Prochain SlideShare
Chargement dans…5
×

Xposé jopenDocument

1 987 vues

Publié le

Diapositive de l'Xposé IR3 sur jopendocument présenté par P. ROLEZ

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 987
Sur SlideShare
0
Issues des intégrations
0
Intégrations
70
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Xposé jopenDocument

  1. 1. jOpenDocumentJOpenDocumentROLEZ Philippe24 Janvier 2012 IR3 - XPosé
  2. 2. Sommaire• Présentation • Qu’est ce que jOpenDocument? jOpenDocument • Qui? • Historique• OpenDocument • Présentation • Description du format• jOpenDocument • Comment la librairie fonctionne t-elle?• Démonstration• Conclusion 1
  3. 3. PrésentationQu’est ce que jOpenDocument? jOpenDocument• Librairie libre permettant de manipuler des fichiers OpenDocument sans aucun éditeur de texte installé. • Créer • Modifier • Extraire des données• Sous licence GPL• Développé en JAVA• http://www.jopendocument.org 2
  4. 4. PrésentationQui? jOpenDocument• ILM Informatique• Entreprise Française• 7 développeurs• OpenConcerto : 400 Téléchargements/jour• http://www.ilm-informatique.fr/ 3
  5. 5. PrésentationHistorique jOpenDocument• 2003 : développement d’un Framework permettant de manipuler des fichiers OpenOffice .sxw (Avant la version 2.0)• 2005 : développement du Framework pour le format openDocument 1.0• Avril 2008 : version 1.0, le Framework prend le nom jOpenDocument et est rendu public sous licence GPL• Octobre 2008 : version 1.1, prise en charge de OpenDocument 1.1, la librairie est présentée à la JAVAOne de SUN 4
  6. 6. Présentation• Novembre 2008 : SUN récompense jOpenDocument d’un Community Innovation Bronze Award jOpenDocument• Novembre 2008 : SUN et IBM lancent odfToolKit• Mai 2009 : 10 000 Téléchargements, jOpenDocument est beaucoup plus utilisé que odfToolKit **(mail)**• Novembre 2010 : version 1.2 • La société commence openConcerto• De nos jours : • Plus le temps de s’y consacrer • Plus compatible avec la version 1.2 de Open Document(17/03/11) • Utilisé dans openConcerto pour créer des documents • odfToolKit est accepté par Apache Incubator et prend le large avec POI 5
  7. 7. Open DocumentPrésentation jOpenDocument• Norme développée par OASIS• Format ouvert de données pour les applications bureautiques• Pourquoi? • Qui dentre vous est sûr de posséder des documents auxquels il voudra pouvoir accéder dans dix ans ? Tout le monde • Qui dentre vous est sûr dutiliser la même application bureautique dans dix ans ? Euhhh! Cloud? MO 2020? LibreOffice? • « Bien, donc je vais vous parler dOpenDocument... »• Volonté de laisser le libre choix du logiciel pour utiliser ses documents• Plus d’informations : http://fr.wikipedia.org/wiki/OpenDocument 6
  8. 8. Open Document Description du format • Archive Zip jOpenDocument • Séparation entre le contenu, la mise en page et les métadonnéesFichier Descriptioncontent.xml Contient le contenu du document (texte)style.xml Semblable au css pour HTMLmeta.xml contient les métadonnées associées au document (auteur, langue, date de création…)Settings.xml Contient des informations ne faisant pas partie du document en tant que tel, comme la position du curseur ou le zoom courant (100% par exemple)mimetype contient le type MIME du document application/vnd.oasis.opendocument.(text/spreadsheet/…) 7
  9. 9. Open Document Description du format jOpenDocumentRépertoire DescriptionPictures Contient les images du documentBasic Contient les scripts Basic éventuellement utilisésMETA-INF/manifest.xml contient la liste des noms de fichiers (ainsi que leur type) présents dans larchive.Thumbnails Contient l’image miniature que l’on peut voir lors la navigation dans le système de fichier 8
  10. 10. Open Documentcontent.xml d’un fichier .odt jOpenDocument<text:h text:style-name="Heading_2">Ceci est un titre</text:h><text:p text:style-name="Text_body"/><text:p text:style-name="Text_body"> Ceci est un paragraphe. Linformation de mise-en-page est stockée àpart dans le style "Text_body" (Corps de texte). La balise vide text:p au-dessuscorrespond à un paragraphe vide, cest-à-dire à un saut de ligne.</text:p> 9
  11. 11. jOpenDocumentLa librairie• http://www.jopendocument.org/downloads.html jOpenDocument• jOpenDocument-1.2.jarLa Javadoc• http://www.jopendocument.org/docs/index.htmlLes exemples• http://www.jopendocument.org/start.htmlLa communauté• http://groups.google.com/group/jopendocumentDéveloppement• 41 100 lignes de codes, 49 639 lignes de commentaires 10
  12. 12. jOpenDocumentReprésentation du document content.xml :: jDom jOpenDocument• We want to provide a solution for using XML from Java that is as simple as Java itself.• Mappe le fichier en mémoire sous forme d’arbre• Accès • L’élément Root • Chaque élément connait ses fils 11
  13. 13. jOpenDocumentReprésentation d’un fichier .ods :: jDom jOpenDocument Document font auto body styles auto Spreadsheet 1 … Spreadsheet n row 1 row 2 row n … … … cell 1 cell 2 cell n text Cellule text vide 12
  14. 14. jOpenDocumentDiagramme de classes principal jOpenDocument 13
  15. 15. jOpenDocumentOuverture d’un fichier :: ZipFile jOpenDocument mimetype meta.xml settings.xml content.xml Thumbnails/thumbnail.png Styles.xml /META-INF/manifest.xml 14
  16. 16. jOpenDocument Accès à une cellule :: « A2 » sur la première feuille de calcul jOpenDocument • Récupération du SpreadSheet souhaité :: Main.java SpreadSheet ss = SpreadSheet.createFromFile(file); • Remplissage des objets • Récupération de l’élément body :: SpreadSheet.java Element body = this.getContent().getRootElement().getChild("body");final Document getContent() { return this.getPackage().getEntry("content.xml").getContent().getDocument(); 15}
  17. 17. jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul jOpenDocument• Récupération de la feuille de calcul :: Main.java Sheet s = ss.getSheetAtIndex(0);• Récupération de l’élément Sheet :: SpreadSheet.java public Element getSheetAtIndex(int index){ NodeList nl = body.getElementsByTagName("spreadsheet"); return (Element) nl.item(index); } 16
  18. 18. jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul jOpenDocument• Transformation de « A2 » en coordonnée : (0,1) 17
  19. 19. jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul jOpenDocument• Récupération de la ligne:: Sheet.java Point p = s.resolve("A2 "): Row r = s.getRowAtIndex(p.getX());• Récupération de la cellule Cell c = r.getCellAtIndex(p.getY());• Récupération de la valeur String val = c.getValue(); 18
  20. 20. jOpenDocumentAccès à une cellule :: « A2 » sur la première feuille decalcul jOpenDocument• Récapitulatif File file = new File("template/test.ods"); final Sheet sheet = SpreadSheet.createFromFile(file).getSheet(0); System.out.println(sheet.getCellAt(“A2").getValue()); 19
  21. 21. Démonstration• Migrer des fichiers présents sur des serveurs partagés vers un système de gestion de document électronique (GED) jOpenDocumentSLIDE modifier pour cause de confidentialité 20
  22. 22. Démonstration• Document jOpenDocumentSLIDE modifier pour cause de confidentialité 21
  23. 23. Démonstration • Principe jOpenDocument Outil de préparation Outil de migration Propriétaire Serveurs partagésde documents Journalisation Récupération des informations liées aux fichiers du propriétaire Outils de GED Base de données Journal de traitements Fichier pivot 22
  24. 24. Démonstration• Déroulement • Choix d’un répertoire par l’utilisateur jOpenDocument • Analyse du répertoire • Lecture des fichiers où l’utilisateur possède les droits de modifications • Récupération des informations liées aux fichiers (Depuis JDK 7) • chemin, date de création, date de dernier accès, date de dernière modification, propriétaire, lecteurs, modificateurs.• Problème • Il manque plusieurs informations pour le classer dans le système documentaire • Il faudrait pouvoir lire le contenu du fichier, et récupérer les informations 23
  25. 25. Démonstration• Template d’une feuille de calcul jOpenDocument• Il faudrait récupérer le « titre »(C:2), « la confidentialité »(C:9), « le commentaire »(C:12), « la version »(F:2), « le statut »(F:3) et « le type »(F:4).• L’utilisateur doit actuellement remplir à la main tous les champs dans l’outil de migration (Edition multiple Ouf!) 24
  26. 26. Démonstration• La solution jOpenDocument* • Lecture des cellules spécifiques pour chaque fichier analysé jOpenDocument 25
  27. 27. Conclusion• Manipulation des fichiers .ods jOpenDocument• Visualisation et impression de ceux-ci sans LibreOffice d’installé• Possibilité de fusionner des fichiers .odt• C’est Français!• Il n’y a plus de mise à jour• Non fonctionnel avec les versions récentes de LibreOffice• LibreOffice est peu utilisé dans les entreprises (voir POI)• Prise en charge de openDocument 1.2 26
  28. 28. Références• http://www.jopendocument.org jOpenDocument• http://fr.wikipedia.org/wiki/OpenDocument• http://www.ilm-informatique.fr/• http://docs.oracle.com/javase/7/docs/api/ 26
  29. 29. QuestionsMerci de votre jOpenDocument attention 27

×