Documentation technique du produit I-Map I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 1 / 30 Table des matières Les options avancées de l’application....................................................................................... 4 Comment accéder aux options avancées ? ...................................................................................... 4 Définition des options........................................................................................................................ 4 carte.font.default ............................................................................................................................................ 4 carte.temp.path .............................................................................................................................................. 5 documentation.fichier .................................................................................................................................... 5 documentation.path ....................................................................................................................................... 5 etiquette.cartouche.couleur ............................................................................................................................ 5 etiquette.flux.couleur ..................................................................................................................................... 5 flux.couleur.actif............................................................................................................................................ 5 flux.couleur.passif ......................................................................................................................................... 5 general.font .................................................................................................................................................... 6 general.police................................................................................................................................................. 6 general.taille .................................................................................................................................................. 6 icone.default .................................................................................................................................................. 6 images.repertoire ........................................................................................................................................... 6 item.biblio.default.......................................................................................................................................... 6 item.biblio.path .............................................................................................................................................. 6 lang.default .................................................................................................................................................... 7 lang.package .................................................................................................................................................. 7 lang.repertoire ................................................................................................................................................ 7 lang.variable .................................................................................................................................................. 7 menu.config ................................................................................................................................................... 7 outils.arriereplan ............................................................................................................................................ 7 outils.creerflux ............................................................................................................................................... 7 outils.normal .................................................................................................................................................. 8 outils.premierplan .......................................................................................................................................... 8 outils.supprimer ............................................................................................................................................. 8 rule.connector ................................................................................................................................................ 8 rule.enabled ................................................................................................................................................... 8 Fonctionnement interne de l’application ................................................................................. 9 Les packages ...................................................................................................................................... 9 fr.imap.itin.app .............................................................................................................................................. 9 fr.imap.itin.calque .......................................................................................................................................... 9 fr.imap.itin.carte ............................................................................................................................................ 9 fr.imap.itin.config .......................................................................................................................................... 9 fr.imap.itin.flux .............................................................................................................................................. 9 fr.imap.itin.interfaces ..................................................................................................................................... 9 fr.imap.itin.item ............................................................................................................................................. 9 fr.imap.itin.temps ......................................................................................................................................... 10 fr.imap.itin.tools .......................................................................................................................................... 10 fr.imap.itin.window ..................................................................................................................................... 10 fr.imap.itin.window.apropos ................................................................................................................... 10 fr.imap.itin.window.boiteoutils ............................................................................................................... 10 fr.imap.itin.window.configuration .......................................................................................................... 10 fr.imap.itin.window.creationCarte .......................................................................................................... 10 fr.imap.itin.window.dictionnaire ............................................................................................................. 10 I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 2 / 30 fr.imap.itin.window.flux ......................................................................................................................... 10 fr.imap.itin.window.graphisme ............................................................................................................... 10 fr.imap.itin.window.item ........................................................................................................................ 10 fr.imap.itin.window.menu ....................................................................................................................... 11 fr.imap.itin.window.splash ...................................................................................................................... 11 fr.imap.itin.xml ............................................................................................................................................ 11 Description des classes .................................................................................................................... 11 Package app ................................................................................................................................................ 11 Package calque ........................................................................................................................................... 11 Package carte .............................................................................................................................................. 11 Package config ........................................................................................................................................... 12 Package flux ............................................................................................................................................... 12 Package interfaces ...................................................................................................................................... 12 Package item .............................................................................................................................................. 13 Package tools .............................................................................................................................................. 14 Package window ......................................................................................................................................... 15 Package xml ............................................................................................................................................... 20 Description des ressources.............................................................................................................. 20 Package documentation .............................................................................................................................. 20 Package images .......................................................................................................................................... 20 Package items ............................................................................................................................................. 20 Package lang ............................................................................................................................................... 20 Package menu ............................................................................................................................................. 20 Package temps ............................................................................................................................................ 21 Le fichier imap.properties .......................................................................................................................... 21 Fonctionnement du menu ............................................................................................................... 21 Présentation ................................................................................................................................................. 21 Mise en place d’un menu ............................................................................................................................. 21 Fonctionnement de la sauvegarde ................................................................................................. 23 Principe de la sauvegarde ............................................................................................................................ 23 Les fichiers .imp ..................................................................................................................................... 23 Exemple de fichier .imp .......................................................................................................................... 26 La sauvegarde d’une bibliothèque .......................................................................................................... 27 Les fichiers .ximp ................................................................................................................................... 27 Gestion des Id .............................................................................................................................................. 27 Installation d’Eclipse pour la lancement de l’outil I-MAP ................................................... 28 Installation du JDK 1.5 ........................................................................................................... 28 I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 3 / 30 Les options avancées de l’application Comment accéder aux options avancées ? 1. Lancez l’application. 2. Cliquez sur le menu « Aide », comme l’illustre l’image ci-dessous. 3. Poursuivez en cliquant sur le bouton « Paramètres avancés » de la fenêtre « A propos ». La fenêtre de gestion des paramètres avancés apparaît : Définition des options carte.font.default Vous pouvez indiquer les cartes de font qui seront proposées lors de la création d’une nouvelle carte. Les images doivent obligatoirement être séparer par « :: » et doivent être présentes dans le répertoire des images (défini par la clé « images.repertoire »). Exemple : carte.font.default ile.png::sable.png::terre.png I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 4 / 30 carte.temp.path Répertoire temporaire où se trouvent toutes images utilisées par l’export. Exemple : carte.temp.path temps documentation.fichier Fichier web où se trouve la documentation utilisateur d’I-Map. Exemple : documentation.fichier Documentation_Utilisateur.htm documentation.path Répertoire où se trouve la documentation utilisateur. Exemple : documentation.path documentation etiquette.cartouche.couleur Code couleur HTML de la cartouche. Exemple : etiquette.cartouche.couleur #66FFCC etiquette.flux.couleur Code couleur HTML des flux. Exemple : etiquette.flux.couleur #0099FF flux.couleur.default Code couleur HTML par défaut des flux. Exemple : flux.couleur.actif #000000 flux.couleur.actif Code couleur HTML des flux actifs. Exemple : flux.couleur.actif #000000 flux.couleur.passif Code couleur HTML des flux passifs. Exemple : flux.couleur.passif I-MAP #000000 Auteurs : Julien BERNARDO – Christelle CHAN Page 5 / 30 general.font Police d’écriture pour les libellés d’I-Map. Exemple : general.font Times New Roman general.police Police de caractère des différents libellés posés sur la carte. Exemple : general.police Times New Roman general.taille Taille de la police de caractère des différents libellés posés sur la carte. Exemple : general.taille 12 icone.default Chaque fenêtre de l’application I-Map dispose d’une icône qu’il est possible de paramétrer grâce à cette clé. La clé « icone.default » représente donc le chemin vers le fichier image de l’icône depuis le répertoire des images (défini par la clé « images.repertoire »). Exemple : icone.default icone.png images.repertoire Répertoire où se trouvent toutes les images de l’application. Exemple : images.repertoire images item.biblio.default Nom de la ou des bibliothèques qui seront chargées au démarrage de l’application. Si plusieurs bibliothèques doivent être chargées au démarrage, les noms des différentes bibliothèques doivent être séparées par « :: ». Exemple : item.biblio.default (default)::mabiblio item.biblio.path Répertoire où sont contenues les différentes bibliothèques. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 6 / 30 Exemple : item.biblio.path items lang.default La langue qui sera prise en compte au démarrage de l’application. Exemple : lang.default fr lang.package Le package où se trouvent les différents fichiers de langue. Exemple : lang.package lang. lang.repertoire Répertoire où sont stockées les fichiers de langue. Exemple : lang.repertoire lang lang.variable Nom de la clé qui contient le nom de la langue en cours dans le fichier de langue. Exemple : lang.variable lang menu.config Fichier de configuration de la barre de menu Exemple : menu.config menu/menu.xml outils.arriereplan Icône de la boite à outils correspondant à l’action : passer les items en arrière plan. Exemple : outils.arriereplan icon-arriereplan.png outils.creerflux Icône de la boite à outils correspondant à l’action : créer un flux. Exemple : outils.creerflux icon-flux.png I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 7 / 30 outils.normal Icône de la boite à outils correspondant à l’action : désélectionner tout. Exemple : outils.normal icon-normal.png outils.premierplan Icône de la boite à outils correspondant à l’action : passer les items au premier plan. Exemple : outils.premierplan icon-premierplan.png outils.sauvegarder Icône de la boite à outils correspondant à l’action : enregistrer la carte. Exemple : outils.sauvegarder save.png outils.supprimer Icône de la boite à outils correspondant à l’action : supprimer la sélection. Exemple : outils.supprimer icon-supprimer.png rule.connector Nom de la classe permettant à une interface graphique de commander le moteur de règle. Exemple : rule.connector fr.imap.utec.Connector.RuleConnector rule.enabled Variable permettant d’activer ou de désactiver le moteur de règle. Exemple : rule.enabled true I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 8 / 30 Fonctionnement interne de l’application Les packages Les packages de l’application sont divisée en deux grandes familles : - les packages rattachés au graphique et à l’IHM : ‘fr.imap.itin’ - les packages appartenant au moteur de règles : ‘fr.imap.utec’ Dans cette documentation, nous nous contenterons de décrire les packages rattachés à l’interface graphique, soit le contenu du package ‘fr.imap.itin’. fr.imap.itin.app Contient le lanceur de l’application et c’est dans ce package qu’est géré le Splash Screen. fr.imap.itin.calque Contient toutes les classes métiers se rapportant aux calques. fr.imap.itin.carte Contient la classe métier carte. fr.imap.itin.config Contient la classe qui gère le dictionnaire, la langue de l’application ainsi que la classe permettant la gestion du fichier de configuration de l’application ‘imap.properties’ fr.imap.itin.flux Contient toute la classe métier flux. fr.imap.itin.interfaces Contient les classes permettant de lier le moteur de règles à la gestion graphique de la carte. fr.imap.itin.item Contient toutes les classes métiers se rapportant aux items. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 9 / 30 fr.imap.itin.temps Contient toutes les classes métiers se rapportant aux imports et exports. fr.imap.itin.tools Contient toutes les classes utiles au bon déroulement de l’application : les classes de mise en forme les classes de gestion des filtres d’items les classes de gestion des guid les exceptions les classes de gestion de fichiers et d’images fr.imap.itin.window Ce package contient tous les packages liés directement à l’IHM. Voici la liste des packages qu’il contient. fr.imap.itin.window.apropos Contient la gestion de la fenêtre ‘à propos de’. fr.imap.itin.window.boiteoutils Contient les classes utiles pour afficher la boite à outils. fr.imap.itin.window.configuration Contient les fenêtres de gestion des paramètres (avancées et simples) fr.imap.itin.window.creationCarte Contient les classes permettant de créer une carte, d’ouvrir une carte existante ou d’en enregistrer une. fr.imap.itin.window.dictionnaire Contient les classes permettant de traduire un dictionnaire. fr.imap.itin.window.flux Contient les classes permettant d’ajouter ou de modifier un flux. fr.imap.itin.window.graphisme Contient toutes les classes permettant de gérer les objets sur la carte (le déplacement des items, l’ajout de point sur les flux, l’ajout d’un item, etc..) ; fr.imap.itin.window.item Contient toutes les classes se rapportant à la gestion d’un item, le tout contenu dans différents packages : ‘boiteitemsource’ : gère la boite à outil où sont affichées les différentes bibliothèques ‘item’ : gère l’ajout d’un item sur la carte et sa modification ‘itemSource’ : qui permet de gérer les bibliothèques (création, modification, suppression) I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 10 / 30 fr.imap.itin.window.menu Contient toutes les classes utiles dans la gestion de la barre de menu fr.imap.itin.window.splash Contient les classes qui gèrent le splash screen de démarrage. fr.imap.itin.xml Contient la gestion d’erreur des fichiers xml. Description des classes Cette partie de la documentation vous donne une petite description de chaque classe contenu dans les sources d’I-Map (Imap/src/main/java/fr/map/itin). Package app IMap.java : C’est la classe lanceur du programme I-Map. Elle initialise le logiciel. Package calque Calque.java : C’est une classe abstraite dont héritent toutes les autres classes de calques. CalqueFlux.java : C’est une classe héritière de Calque.java. Elle représente une liste de flux associée à un libellé et à un état. CalqueItems.java : C’est une classe héritière de Calque.java. Elle représente une liste d’items. Package carte Carte.java : Cette classe permet de la gestion d’une carte et son contenu (items, flux et Calques) I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 11 / 30 Package config Config.java : Cette classe permet de charger le fichier de configuration d’I-Map. Dictionnaire.java : Cette classe permet de gérer l’application en multi-langues. Package flux Flux.java : Cette classe permet la gestion des flux. Package interfaces Gui.java : C’est une interface qui permet de relier l’interface graphique de l’application à un moteur de règles externe au projet. InterfaceGui.java : Cette classe implémente l’interface Gui.java. Elle permet la connexion entre le moteur de règles et l’interface graphique de l’application. NoCaracteristiqueFoundException.java : C’est une classe lanceur d’exceptions générées par des classes liées aux caractéristiques. NoFluxFoundException.java : C’est une classe lanceur d’exceptions générées par des classes liées aux flux. NoItemFoundException.java : C’est une classe lanceur d’exceptions générées par des classes liées aux items. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 12 / 30 Package item BibliothequeItems.java : Cette classe permet la gestion des ItemSource en mémoire et enregistrée dans le fichier configuration. Caracteristique.java : Cette classe permet la gestion des caractéristiques. Item.java : Cette classe permet de la gestion des items. ItemBase.java : C’est une classe abstraite dont héritent les classes ItemSource.java et Item.java. Elle définit un item basique avec les propriétés qui lui sont liées. ItemNoFoundException.java : C’est une classe lanceur d’exceptions générées par des classes liées aux items. ItemSource.java : C’est une classe qui permet de créer des modèles d’items avec des valeurs prédéfinies. Obligation.java : Cette classe propose une liste de constante définissant le type d’obligation d’un élément. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 13 / 30 Package tools Package layout : CellStyle.java : Cette classe permet la gestion des styles pour les boîtes de dialogue. XGridBag.java : Cette classe propose des méthodes permettant de simplifier l’utilisation de la classe GridBagConstraints (classe de java.awt) ColorUtil.java : Cette classe permet la gestion des couleurs HTML : conversion d’une couleur HTML en objet Color et conversion d’un objet Color en couleur HTML. FileUtils.java : Cette classe propose un panel d’outils permettant la gestion des fichiers. Filtre1Extension.java : Cette classe permet de filtrer les fichiers acceptés par un JFileChooser. FiltrePlusieursExtensions.java : Cette classe permet de filtrer des fichiers avec plusieurs extensions acceptés par un JFileChooser. FormatIncorrectException.java : C’est une classe lanceur d’exceptions générées par des classes liées à la gestion des fichiers. Guid.java : Cette classe permet la gestion des guid unique en se basant sur le hashcode de l’objet passé. JPanelImage.java : Cette classe hérite de JPanel. Elle s’utilise exactement de la même façon qu’elle. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 14 / 30 Package window Package apropos : Apropos.java : Cette classe permet de créer la fenêtre « A propos » d’I-Map. Package boiteoutils : BoiteOutils.java : Cette classe permet la création de l’interface graphique de la boîte à outil Actions (création flux, suppression flux, suppression item, arrière-plan, premier plan et désélectionner tous les objets). Package configuration : ConfigJTableModel : Cette classe permet d’afficher le contenu imap.properties (contenu dans src/main/resources) dans un JTable. GestionConfiguration.java : Cette classe permet de modifier directement le fichier de configuration. GestionParametre.java : Cette classe permet de configurer les options de démarrage du programme. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 15 / 30 Package creationCarte : CarteCreer.java : Cette classe permet la création de l’interface graphique qui gère la création de la carte. CarteExporterXIMP.java : Cette classe permet la création de l’interface graphique de l’export au format .ximp. CarteImporter.java : Cette classe permet la création de l’interface graphique de l’import au format .ximp. CarteMenu.java : Cette classe permet la création de l’interface graphique de la boîte de dialogue à l’ouverture de I-Map (Ouvrir une carte existante ou créer une nouvelle carte). CarteOuvrir.java : Cette classe permet d’ouvrir une carte au format .imp existante. CarteSauvegarder.java : Cette classe permet la gestion de la sauvegarde. LaCarte.java : C’est la classe conteneur de tous les objets déposés sur la carte. UnZip.java : Cette classe permet de dézipper un fichier au format .ximp. Zip.java : Cette classe permet de zipper un fichier au format .ximp. Package dictionnaire : GestionDictionnaire.java : Cette classe permet création de l’interface graphique du dictionnaire. Package etiquette : Etiquette.java : Cette classe permet la gestion du libellé des flux et des items. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 16 / 30 Package flux : CalqueFlux.java : Cette classe permet la gestion de l’interface graphique permettant l’ajout d’un nouveau calque. GestionCalqueFlux.java : Cette classe permet la création de la boîte à outil Calques de flux. GestionFlux.java : Cette classe permet la gestion des flux. Package graphisme : EcouteClic.java : C’est une classe qui surveille tous les clics de souris sur la carte et effectue les actions adéquates. Panneau.java : C’est le support graphique de la carte (ajouter un item, ajouter un flux, redessiner la carte, …). Point.java : Cette classe permet la création des poignées pour le redimensionnement des items. Package item : ImagesListeur.java : Cette classe permet de lister des images. SaisieCaracteristique.java : Cette classe permet la création de l’interface graphique contenant le formulaire pour remplir une caractéristique. Package boiteitemsource : BibliothequeListeur.java : Cette classe permet d’éditer la liste des bibliothèques d’items. BoiteItemSource.java : Cette classe permet la création de la boîte à outil Items Source. ChoixBibliothequeItemSource.java: Cette classe permet la création de l’interface graphique où l’utilisateur peut choisir les I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 17 / 30 bibliothèques qu’il désire charger dans sa boîte à outil Items Source. Package item : CreationItem.java : Cette classe permet la création de l’interface graphique contenant le formulaire pour remplir les informations d’un item. EnfantComboBoxModel.java : Cette classe permet d’avoir un modèle de ComboBox. Elle permet ainsi de placer des objets de type Item dans une ComboBox. (Utilisé par CreationItem). EnfantJTableModel.java : Cette classe permet de créer un modèle de JTable contenant des objets de type Item. (Utilisé par CreationItem). Package itemSource : CaracteristiqueJTableModel.java : Cette classe permet de créer un modèle de JTable contenant des objets de type Item. GestionBibliothequeItemSource.java: Cette classe permet la gestion des bibliothèques d’Items Source. ItemSourceJTableModel : Cette classe permet de créer un modèle de JTable contenant des objets de type ItemSource. SaisieBibliothequeItemSource.java : Cette classe permet la création de l’interface graphique pour la saisie d’une nouvelle bibliothèque d’Item Source. SaisieItemSource.java : Cette classe permet la création de l’interface graphique pour l’ajout d’un Item Source. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 18 / 30 Package menu : Menu.java : Cette classe permet de construire tous types de menus en fonction d’un modèle. Package action : Action.java : C’est une classe abstraite dont toutes les classes d’actions sur le menu héritent (Aide.java, Calque.java, etc). Aide.java : Cette classe gère toutes les actions du menu Aide de l’application. Calque.java : Cette classe gère toutes les actions du menu Calque de l’application. Dictionnaire.java : Cette classe gère toutes les actions du menu Dictionnaire de l’application. Edit.java : Cette classe gère toutes les actions du menu Edition de l’application. File.java : Cette classe gère toutes les actions du menu Fichier de l’application. Option.java : Cette classe gère toutes les actions du menu Option de l’application. Outils.java : Cette classe gère toutes les actions du menu Outils de l’application. View.java : Cette classe gère toutes les actions du menu Vues de l’application. Package view : View.java : C’est une classe abstraite qui permet de gérer des modèles de menus. Package MenuBar : MenuBarView.java : Cette classe permet de générer un menu à partir d’un fichier XML (menu.xml dans notre cas qui se trouve dans src/main/ressources/menu/menu.xml). I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 19 / 30 Package splash : SplashScreen.java : Cette classe permet de lancer l’écran de démarrage avec la barre de progression. GeneralWindow.java : Cette classe permet d’accéder à tous les objets de l’application (classe manager). Package xml XMLException.java : C’est une classe lanceur d’exceptions générées par des classes liées à la gestion du XML. Description des ressources Cette partie de la documentation vous donne une petite description des packages contenus dans les ressources d’I-Map (Imap/src/main/ressources/). Package documentation Ce package contient les documentations d’I-Map. Package images Ce package contient toutes les images d’I-Map ainsi que les images temporaires. Package items Ce package contient toutes les images des bibliothèques classées par sous-packages de bibliothèque ainsi que leur fichier description.xml. Cette dernière contient les propriétés de chaque bibliothèque. Package lang Ce package contient les fichiers properties pour la gestion multi-langues. Il y aura autant de fichiers properties que de langues rajoutées par l’utilisateur dans I-Map. Chaque fichier properties sera nommé sous la forme : langue.properties (exemple : en.properties, fr.properties, etc). Chaque fichier contient toutes les clés du dictionnaire avec leur correspondance dans leur langue. Package menu Ce package contient des fichiers xml pouvant servir de modèles pour la barre de menu d’I-Map. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 20 / 30 Package temps Ce package contient des fichiers temporaires servant pour l’export et l’import. Le fichier imap.properties Ce fichier contient les données qui seront chargées par défaut lors du lancement d’IMap. Fonctionnement du menu Présentation Le menu de l’application se base sur le fichier identifié par la clé « menu.config » dans les paramètres avancées ou dans le fichier ‘imap.properties’. Ce fichier, par défaut ‘menu/menu.xml’ contient l’ensemble de l’arborescence du menu. Ce dernier permet, entre autre, de paramétrer les raccourcis clavier ou de modifier l’ordre d’affichage des différentes options. Mise en place d’un menu La structure d’un fichier xml utilisé pour gérer un menu est : <?xml version="1.0" encoding="UTF-8" ?> <menu> <submenu id="" label="" i18n="" class=""> <item id="" label="" i18n="" action="" accelerator="" /> <separator /> </submenu> </menu> Pour un submenu ou un item: id : est une clé qui doit être unique label : correspondant à la clé du dictionnaire ou au texte a afficher i18n : est un boolean (true ou false) - true : on va rechercher la valeur du label dans le dictionnaire - false : on l’affiche tel quel class : nom de la classe que l’on désire utilisé accelerator : permet de configurer un raccourci clavier exemples : ctrl-O ou encore ctrl-F … Pour un item, il existe un autre attribut : I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 21 / 30 action : correspond au nom de la fonction à exécuter lors d’un clique sur ce lien. Cette fonction doit être contenue dans la classe renseignée dans l’attribut class sinon le champ sera désactivé. Enfin la balise <separator/> permet d’afficher un séparateur. Par défaut, dans I-Map toutes les fonctions gérant les actions du menu se trouvent dans le packages « fr.imap.itin.window.menu.action ». Ci-dessous un exemple de menu. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 22 / 30 Fonctionnement de la sauvegarde Principe de la sauvegarde IMap utilise différent format de fichier pour ses sauvegardes : o les fichiers .imp pour la sauvegarde des cartes o les fichiers .ximp pour les exports de carte avec leurs bibliothèques o les fichiers description.xml utilisés dans la gestion des bibliothèques o les fichiers .rmp sont utilisés. Les fichiers .imp Commençons par les fichiers .imp. Ce sont de simples fichiers de sauvegarde d'une carte. Ils contiennent toutes les informations liées à l'utilisation de la carte (taille, fond, auteur, ..). Ces fichiers contiennent aussi toutes l'arborescence d'une carte. Plus précisément, ils permettent de sauvegarder l'ensemble des informations rattachées aux flux, item et calques. Ce n'est pas la classe 'carte' qui gère toute la sauvegarde des objets qu'elle contient. En effet, chaque classe sauvegarde elle-même ses propres informations. La sauvegarde d’une carte se divise en plusieurs étapes : - on fait une demande de sauvegarde à la carte. - la carte lance sa sauvegarde : o La carte enregistre toutes les informations qui la concerne o Puis elle appelle la méthode de sauvegarde du calque items : Le calque items sauvegarde ses informations Et pour chaque items qu’il contient il demande à l’item de se sauvegarder - … De cette façon l’on est sûr de sauvegarder toutes les informations liées à la classe que l’on veut sauvegarder. le schéma ci-dessous résume cette sauvegarde. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 23 / 30 : Utilisateur : Carte : CalqueItems : CalqueFlux : Item : Flux : RegleItems : RegleFlux SauvegarderCarte(sCheminFichier) SauvegarderCalque( ) LOOP SauvegarderItem( ) Items sauvegardes FIN LOOP LOOP SauvegarderRegle( ) Regl e sauvegardee FIN LOOP Calque Items sauvegardes LOOP SauvegarderCalque( ) LOOP SauvegarderFlux( ) SauvegarderRegle( ) regle sauvegardee Flux sauvegardes FIN LOOP Calque flux sauvegardes FIN LOOP Carte sauvegardee I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 24 / 30 Le chargement suit le même principe de fonctionnement chaque classe charge sa partie. Exemple : - la carte charge le fichier xml. - Ensuite lorsqu’elle rencontre un nœud qui ne correspond pas à ces données : par exemple un calque. Le nœud est transmis à la classe calque qui charge ces données et transmet les nœuds qui ne la concerne pas … I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 25 / 30 Exemple de fichier .imp I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 26 / 30 La sauvegarde d’une bibliothèque Les bibliothèques suivent le même principe de fonctionnement pour la sauvegarde et le résultat est stocké dans le fichier « items/<nom de votre bibliothèque>/description.xml ». Les images rattachées à cette bibliothèque sont stockées dans le répertoire « items/<nom de votre bibliothèque>/images/ ». Le nom de la bibliothèque est le même que le nom donné au répertoire contenant le fichier description.xml. Ainsi, vous pouvez renommer une bibliothèque en renommant le répertoire qui lui correspond. Vous pouvez importer une bibliothèque en copiant le répertoire de la bibliothèque que vous voulez importer dans le répertoire de vos bibliothèques. Les fichiers .ximp Les fichiers .ximp sont des fichiers d’export. Plus précisément, ces fichiers ne sont pas une simple sauvegarde de la carte. Ces fichiers permettent d’ouvrir la carte depuis n’importe quelle application IMap. Les fichiers .ximp sont des fichiers zip. Ces fichiers contiennent une sauvegarde simple de la carte (.imp) et l’ensemble des bibliothèques utilisées sur la carte. Lors d’un import on charge en premier, les bibliothèques contenu dans l’import. Ensuite, on les charges dans la boite à outil puis l’on charge la carte. Lorsqu’on importe des bibliothèques dont le nom est déjà présent dans nos bibliothèques, la bibliothèques est renommer de cette façon : <nom de la bibliothèque>(<itération>). Gestion des Id Les Id (identifiants) sont utilisés pour caractériser un objet contenu dans la carte. Cette identifiant est unique dans toute l’application. Il se présente sous la forme d’un entier de type : 7756310. La génération et l’unicité des Id sont gérés par la classe ‘Guid.java’ contenu dans le package « fr.imap.itin.tools ». Les Id sont générés à l’aide du hashcode de l’objet à qui l’on attribue un id. I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 27 / 30 Installation d’Eclipse pour la lancement de l’outil I-MAP Eclipse est un environnement de développement. Il ne nécessite pas d’installation particulière sur le système d’exploitation. Il suffit de récupérer le répertoire contenant tous les outils utilisés par Eclipse. Pour cela : 1) Décompressez le ZIP contenant Eclipse (la version Eclipse 3.2 est conseillée). 2) Copier le dossier dans un endroit de votre disque local (par exemple dans : C:\Program Files\). 3) Eclipse est à présent disponible sur votre système. Il peut être lancer à partir de l’exécutable : eclipse.exe (dans notre cas accessible par : C:\Program Files\eclipse3.2\eclipse.exe) représentée par l’icône suivant : 4) Pour un accès plus rapide et aisé d’Eclipse, vous pouvez créer un raccourci sur votre bureau ou au endroit de votre choix : a. Clique droit sur eclipse.exe b. Sélectionner Créer un raccourci c. Couper le raccourci eclipse qui vient d’être créé à l’endroit de votre choix (par votre bureau) d. Eclipse peut à présenter être lancer à partir de ce raccourcis. Installation du JDK 1.5 Le kit de développement Java appelé JDK est nécessaire pour pouvoir travailler avec ou sur IMAP. L’installation de JDK ne pose ne générale pas de problème particulière : 1) Décompressez le ZIP contenant le JDK (la version JDK1.5.0_03 est conseillée). 2) Double-cliquer sur l’exécutable. 3) JDK s’installera alors automatiquement (notez bien l’emplacement où vous l’avez installé). 4) Une fois, l’installation du JDK terminé, faites un clic droit sur le poste de travail puis cliquer sur Propriétés. 5) Cliquez sur l’onglet Avancés puis sur le bouton Variables d’environnement : I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 28 / 30 6) Sur la nouvelle fenêtre et dans la partie Variables système, cliquez sur la ligne contenu la variable Path. 7) Puis cliquez sur le bouton Modifier. 8) Ajouter à la suite (suivi au préalable d’un point virgule), le chemin sur lequel se trouve le répertoire \bin de votre JDK. Ce répertoire se trouve à l’endroit où vous aviez installé votre JDK. Exemple : C:\Program Files\Java\jdk1.5.0_03\bin I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 29 / 30 I-MAP Auteurs : Julien BERNARDO – Christelle CHAN Page 30 / 30