pied gauche

 

Site & Annonces

Forum > Site & Annonces > [Article] KITKIT

Article

Charly M.

08/04/13 (21:12)

avatar

nombre messages : 2156

Membre



~ Kraland Interactif ToolsKIT ~


I] Présentation

ITKIT est un logiciel développé en JAVA (Version 6) visant à proposer différents outils aux utilisateurs de Kraland Interactif.
Pour fonctionner cette application nécessite trois fichiers de données en entrée et permet uniquement de réaliser des traitements sur ces fichiers.
Ce logiciel est en cours de développement. La présentation qui va suivre est une présentation de la dernière version du logiciel.

II] Formalisme des fichiers d’entrée

Les trois fichiers sont au format XML et contiennent diverses informations propres à Kraland Interactif.

√ Le fichier « confContentBatiment.xml » contient tous les bâtiments du cybermonde et est hiérarchisé de la façon suivante :

Province → Ville → Bâtiment → Objet


1) Pour chaque province : (Balise <D>)
♦ ID de la province (Balise <D_ID>)
♦ Position en X de la province dans la carte générale (Balise <D_X>)
♦ Position en Y de la province dans la carte générale (Balise <D_Y>)
♦ Nom de la province (Balise <D_NAME>)
♦ ID de l'empire dans lequel se trouve la province (Balise <D_EMP>) - Ajouté à partir du 01/05
♦ La carte de la province (Balise <D_MAP>)
♦ Chaque ville de la province

2) Pour chaque ville : (Balise <C>)
♦ ID de la ville (Balise <C_ID>)
♦ Position en X de la ville dans la province (Balise <C_X>)
♦ Position en Y de la province dans la province (Balise <C_Y>)
♦ Nom de la ville (Balise <C_NAME>)
♦ Carte de la ville (Balise <C_MAP>)
♦ Chaque bâtiment de la ville

3) Pour chaque bâtiment : (Balise <B>)
♦ ID du bâtiment (Balise <B_ID>)
♦ Position en X du bâtiment dans la ville (Balise <B_X>)
♦ Position en Y du bâtiment dans la ville (Balise <B_Y>)
♦ Type de bâtiment (Balise <B_TYPE>)
♦ Niveau du bâtiment (Balise <B_LVL>) - Ajouté à partir du 21/07
♦ Nom du bâtiment (Balise <B_NAME>)
♦ Nom du propriétaire (Balise <B_OWNER>)
♦ Valeur du bâtiment (Balise <B_VALUE>)
♦ Si le bâtiment est fermé (Balise <B_CLOSE>)
♦ PdB du bâtiment (Balise <B_PDB>)
♦ Salaire du bâtiment (Balise <B_SAL>)
♦ Nombre de salaire dans le bâtiment (Balise <B_NBSAL>)
♦ Prix de vente du bâtiment (Balise <B_PRICE>)
♦ Si le bâtiment est réservé (Balise <B_RES>)
♦ Chaque objet du bâtiment

4) Pour chaque objet (Balise <M>)
♦ Nom de l’objet (Balise <M_NAME>)
♦ Prix d'achat de l'objet dans le bâtiment (Balise <M_BUY>)
♦ Prix de vente de l'objet dans le bâtiment (Balise <M_SOLD>)
♦ Stock du dit objet présent dans le bâtiment (Balise <M_STOCK>)
♦ Quantité maximale du dit objet dans le bâtiment (Balise <M_MAX>)


√ Le fichier « orga.xml » contient toutes les organisations commerciales et est hiérarchisé de la façon suivante :

Organisation → Personne


1) Pour chaque organisation commerciale : (Balise <O>)
♦ Nom de l’organisation (Balise <O_NAME>)
♦ Type de l’organisation (Balise <O_TYP>)
♦ Empire de l’organisation (Balise <O_EMP>)
♦ Chaque personne faisant partie de l’organisation

2) Pour chaque personne : (Balise <P>)
♦ Nom de la personne (Balise <P_NAME>)


√ Le fichier « priceInd.xml » contient toutes les prix indicatifs des différents objets du cybermonde et est hiérarchisé de la façon suivante :

Objet


1) Pour chaque objet : (Balise <M>)
♦ Nom de l’objet (Balise <M_NAME>)
♦ Prix indicatif courant de l’objet (Balise <M_IND>)
♦ Différence entre le prix initial et le prix indicatif courant de l’objet (Balise <M_DIFF>)


Afin de simplifier et limiter le poids des données à récupérer, les trois fichiers d'entrées sont compressés dans une archive au format "ZIP".

III] Mise à jour des fichiers d’entrée

Le fichier de données de l’application est mis à jour chaque jour. Le script de récupération d’informations dure une trentaine de minutes et se termine par un upload du fichier à cette adresse. La dernière version du fichier doit être disponible aux alentours de 3h45 du matin. Si vous ne voyez rien après 4h du matin, cela signifie qu'il y a eu un problème lors de la récupération d'informations. N’hésitez pas à me prévenir par kramail afin que je trouve la nature du problème et que je règle celui-ci rapidement.

A cette adresse on retrouve (cf. Figure 1) :
XXXXXXXXXXXXX_confContentBatiment.zip, qui contient un modèle, avec XXXXXXXXXXXXX le timestamp du modèle.
confContentBatiment.zip, qui contient la dernière version du modèle.
last, qui contient le timestamp de mise à jour du dernier modèle.
list, qui contient la liste de timestamp de tous les modèles.



Figure 1 – Arborescence du dossier confContentBatiment


Chaque archive .zip contient un fichier de configuration .xml.
- Une archive .zip fait aux alentours de ~ 1Mo.
- Les trois fichiers de configuration .xml font environ ~ 10Mo.

Remarques :

- A la base le script mettait deux minutes pour récupérer les informations mais afin de ne pas surcharger le site de requêtes dans un délai court le script a été ralenti.
- En fonction de l'usage que vous avez de l'outil, il ne vous est pas nécessaire de travailler avec le dernier modèle.
- Le poids des différents fichiers est amené à évoluer en fonction des jours. Un fichier de configuration qui contient un cybermonde avec 5000 bâtiments ne fait pas le même poids qu'un fichier n'en contenant que 4000.

IV] Installation du logiciel

Pour pouvoir utiliser l’application il est nécessaire d’installer JAVA sur votre machine (minimum Version 6)
Après avoir effectué ceci il vous suffit de télécharger la dernière version (stable) du logiciel qui vous est proposée sur cette page.

Télécharger l’archive du dernier logiciel et la dézipper. Positionner le fichier "KITKIT_V_X_Y.jar" obtenu là où vous le souhaitez.
Après avoir lancé l'application, appuyez sur F5 afin de télécharger le dernier modèle et de reconstruire automatiquement l'arborescence suivante au sein de votre machine :



Figure 2 – Arborescence des fichiers


Lancement de l’application :

√ Sous Windows :
Double-clic sur le fichier KITKIT_V_X_Y.jar

√ Sous Mac/Linux, ouvrir un invite de commande et taper les deux commandes :
cd chemin/du/dossier/ou/se/trouve/le/KITKIT
java –jar KITKIT_V_X_Y.jar


◊ Remarques :
- N’oublier pas de remplacer X et Y par vos indices de version afin de lancer le bon programme.
- A noter que pour les versions intermédiaires il est possible que le fichier soit nommé : KITKIT_V_X_Y_Z.jar

V] Description de l’outil

Lorsque vous lancez l’outil celui-ci va parcourir le fichier de données. La fenêtre ci-dessous indique l’avancement du chargement :



Figure 3 – Fenêtre de chargement


Lorsque le chargement est terminé, la fenêtre principale de l’application va s’ouvrir.




Figure 4 – Fenêtre principale de l’application


♦ Dans la barre de titre on retrouve l’indice de la version du logiciel
♦ Dans la partie bleue se trouve la barre d’outils, permettant de passer d’un outil à un autre. Pour le moment 4 outils sont proposés :
- Krac, parodiant le logo de la FNAC
- Cenkury 21, parodiant le logo de Century 21
- Pages Jaukes, parodiant le logo de Pages Jaunes
- Tam Tam, parodiant le logo de Tom Tom
Le fonctionnement de chaque outil est décrit un peu plus loin.
♦ Dans la partie rouge se trouve l’outil sélectionné
♦ Dans la barre des taches on retrouve :
- Un bouton permettant de récupérer le dernier modèle (cf. Remarques)
- Un bouton pour récupérer un ancien modèle (cf. Remarques)
- Une information afin d’afficher la date de mise à jour du modèle utilisé par l’application
- Un lien vers Kraland Interactif
- Un lien vers le site du KITKIT
- Un bouton permettant de mettre le logiciel en plein écran

Remarques :

- Toutes les informations du site sont récupérées à un instant t. Il est possible qu’un prix de vente, une quantité, ou tout autre chose ne soit pas le même à l’instant t+1.

- En appuyant sur le bouton permettant de récupérer le dernier modèle le logiciel va regarder le contenu du fichier last. Le fichier last contient l’heure de mise à jour du dernier modèle. Si votre modèle est plus ancien, le logiciel vous proposera de télécharger le dernier modèle. En validant le choix, l’application va remplacer le fichier confContentBatiment.xml situé sur votre PC par le dernier disponible sur le site. Pour se faire, l'application va récupérer le zip, copier le zip dans votre dossier de travail, extraire le contenu de celui-ci dans votre dossier de travail puis supprimer le zip. Après le remplacement le modèle du logiciel se recharge.

- En appuyant sur le bouton permettant de récupérer un ancien modèle, le logiciel va regarder le contenu du fichier list. Le fichier list contient l’heure de mise à jour de tous les modèles. Il vous est donc possible de télécharger un ancien modèle. En validant le choix, l’application va remplacer le fichier confContentBatiment.xml situé sur votre PC par celui du modèle sélectionné. Pour se faire, l'application va récupérer le zip, copier le zip dans votre dossier de travail, extraire le contenu de celui-ci dans votre dossier de travail puis supprimer le zip. Après le remplacement le modèle du logiciel se recharge. A noter que, pour le moment, le fichier "list" est mise à jour de façon manuel, il est donc possible de ne pas visualiser la totalité des anciens modèles. De plus il est impossible de charger un modèle antérieur au 21 juillet.



Tam Tam est un GPS permettant d’optimiser vos trajets. Pour le moment Tam Tam est disponible dans son "packaging Hobbit", la corne sous vos pieds permettra d’attester que vous avez bien voyagé à pied. La photo ci-dessous est un aperçu de l’outil TamTam :



Figure 5 – Outil Tam Tam


Sur la partie gauche on retrouve la partie "configuration" alors que sur la partie droite on retrouve la partie "affichage"

La partie "configuration" va être décrite de haut en bas. Celle-ci :
✔ Permet de choisir son type d’affichage de la map : 2D ou 3D
✔ Permet de choisir l’échelle de la map : soit en pourcentage pour la map 3D, soit en pixel pour la map 2D
✔ Permet de choisir quelle map on veut utiliser (si on est en affichage 3D)
✔ Indique sur quelle case se trouve la souris (ici la souris se trouve sur la case "Herbe" en [2,9] en Moldavie)
✔ Permet de calculer le meilleur trajet
✔ Permet de sélectionner la ville de départ
✔ Permet de sélectionner la ville d’arrivée
✘ Permettra de sélectionner son facteur de déplacement dans les airs
✘ Permettra de sélectionner son facteur de déplacement dans la mer
✘ Permettra de sélectionner son facteur de déplacement sur la terre
✘ Permettra d’activer ou non l’utilisation de voyage en train
✘ Permettra d’activer ou non l’utilisation de voyage en bateau
✘ Permettra d’activer ou non l’utilisation de voyage en avion

La partie " affichage" va afficher la carte sélectionnée 2D/3D. Un clic droit permet de sélectionner le point de départ et d’arrivée. Et lorsque les deux sont sélectionnés il est alors possible de calculer la longueur du trajet. La roulette de la souris permet de monter ou de descendre dans l’image si l’image est plus grande que la fenêtre où elle est dessinée. Un ctrl + roulette souris permet de zoomer/dezoomer. Cela ne se fait pas forcément instantanément car l’application doit redessiner toute la partie affichage.

Remarques :

- Lorsqu’on reste sur un thème, les images 3D qui ont été affichées sont stockées dans un tableau de la mémoire. Ainsi si vous restez dans un thème et que vous demandez un affichage à 15%, 30%, 45% et 60%, chacune des images sera stockée. Si vous dézoomer/zoomer vers une image stockée l’action se fera instantanément. Par contre, dès que vous changez de thème, le tableau sera vidé. J’ai remarqué un petit problème lorsque je passe d’un thème à un autre en 90% sur mon EEPC linux (configuration minimaliste). L’application demande trop de ressources et l’application n’arrive pas à switcher. Par contre je ne rencontre pas ce problème sur mon PC fixe. Si vous rencontrez ce même problème, switcher de thème à 75%.

- Pour le calcul de chemin, l’action sera plus ou moins longue. Néanmoins, le calcul étant maintenant en parallèle la différence devrait moins se ressentir (maximum 3 secondes).

- L’indice sur la terre est bloqué à 1. Si vous disposez d’un véhicule, il vous est toutefois possible de diviser le résultat par le coefficient de déplacement de votre véhicule. Le résultat ne sera pas exact, mais approchant.



Cenkury 21 est un outil permettant de lister les bâtiments en vente. Il vous indiquera le prix de vente et si le bâtiment est réservé ou non. La photo ci-dessous est un aperçu de l’outil Cenkury 21 :



Figure 6 – Outil Cenkury 21


Sur la partie gauche on retrouve la partie "configuration" et sur la partie droite on retrouve la partie "résultats".

La partie "configuration" est décrite de haut en bas. Celle-ci :
- Permet de sélectionner la province autour de laquelle on souhaite effectuer la recherche
- Permet de choisir le rayon de la recherche
- Permet de lancer la recherche (on indique le rapport résultats filtrés / résultats trouvés)
- Permet de configurer les des filtres (cf. § "Vue tabulaire")

Remarques :

Dans le cas ci-dessus l’utilisateur a effectué une recherche sur les provinces :
♦ Caraïbes
♦ Lexpagie (situé à 1 province des Caraïbes)
♦ Palladium City (situé à 1 province des Caraïbes)
♦ Hélénie (situé à 1 province des Caraïbes)
♦ Lantenac (situé à 1 province des Caraïbes)
♦ Dogma (situé à 1 province des Caraïbes)

L’icône représentant un ! indique que le bâtiment est réservé. A contrario, si il y n'en a aucun, cela signifie que le bâtiment n'est pas réservé.



Krac est un outil permettant de lister les différents objets qu’on peut retrouver dans n’importe quel bâtiment. Il permet d’effectuer une recherche pour voir où il est plus avantageux d’acheter ou de vendre un type d’objet dans une zone géographique. La photo ci-dessous est un aperçu de l’outil Krac :



Figure 7 – Outil Krac


Sur la partie gauche on retrouve la partie "configuration" et sur la partie droite on retrouve la partie "résultats".

La partie "configuration" est décrite de haut en bas. Celle-ci :
- Permet de sélectionner la province autour de laquelle on souhaite effectuer la recherche
- Permet de choisir le rayon de la recherche
- Permet de choisir un objet
- Permet de lancer la recherche (on indique le rapport résultats filtrés / résultats trouvés)
- Permet de configurer les des filtres (cf. § "Vue tabulaire")



Pages Jaukes est un outil permettant de lister les différents bâtiments d’une personne ou d’une organisation. La photo ci-dessous est un aperçu de l’outil Pages Jaukes :



Figure 8 – Outil Pages Jaukes


Sur la partie gauche on retrouve la partie "configuration" et sur la partie droite on retrouve la partie "résultats".

La partie "configuration" est décrite de haut en bas. Celle-ci :
- Permet de sélectionner si on recherche un particulier ou une organisation commerciale
- Permet de choisir le nom de la personne ou de l’organisation qu’on recherche
- Permet de lancer la recherche (on indique le rapport résultats filtrés / résultats trouvés)
- Permet de configurer les des filtres (cf. § "Vue tabulaire")

Remarques :

- La liste des organisations commerciales et de leurs membres n'est pas récupérée. Il est donc impossible de connaitre directement le parc immobilier d’une organisation commerciale : un parc qui se résume par l’addition du parc immobilier de chaque membre.



Chaque outil (Krac, Cenkury 21, Pages Jaukes) proposant une fonctionnalité de recherche tabulaire fonctionne de la même manière et leur affichage est commun.

Sur la gauche une partie "configuration" au sein de laquelle on retrouve :
- Une partie "Critères"
- Une partie "Filtres"

Une recherche est effectuée :
- Lorsqu'un critère change
- Lorsqu'un filtre est activé/désactivé ou si sa configuration est modifiée

Une colonne peut-être triée par valeur alphabétique ou entier (en fonction du contenu de la colonne).
Pour trier une colonne il suffit de cliquer sur l'en-tête de celle-ci.

La partie "filtrage" est propre à chaque outil et se trouve dans la partie "Configuration" de l'outil, sur la gauche.


Figure 9 - Outil Filtrage replié



Figure 10 - Outil Filtrage déployé


Cette partie "filtrage" peut être déployée (cf. Figure 9) ou repliée (cf. Figure 10). Pour déployer ou replier celle-ci, il suffit de cliquer sur la flèche située à droite du mot "Filtres :"

Dans ces deux cas de figure, si au moins un filtre est activé, une icône "attention" est affichée à gauche du mot "Filtres :". En cliquant sur cette icône, tous les filtres propres à l'outil seront désactivés.

Lorsque l'outil de filtrage est déployé, celui-ci liste les différents filtres disponibles pour l'outil ainsi que leur état. Un filtre actif est précédé d'une boule orange. Un filtre inactif est précédé d'une boule grise.

Le clic gauche permet d'activer ou de désactiver un filtre et le clic droit permet d'ouvrir une fenêtre pour configurer un filtre (cf. ci-dessous)

Il existe cinq types de filtres :


Figure 11 – Filtre de booléen


Chaque fenêtre de configuration de filtre contient :
- En haut, un bouton permettant d'activer ou de désactiver le filtre
- Au milieu, une partie permettant de configurer le filtre
- En bas, un bouton "Annuler" fermant la fenêtre de configuration sans mémoriser les changements éventuels
- En bas, un bouton "Valider" fermant la fenêtre de configuration tout en mémorisant les changements éventuels

i] Filtre de liste définie de chaîne de caractères :

Figure 12 – Filtre de liste définie de chaîne de caractères


On retrouve ce filtre au sein de l'onglet :
- Krac [Type, Ville, Province]
- Cenkury 21 [Type, Ville, Province]
- Pages Jaukes [Type, Ville, Province]

◊ Configuration :
Tous les possibilités sont listées dans la partie centrale. Pour en choisir une ou plusieurs, il suffit de cocher la case.
A noter qu'il est possible de cocher/décocher toutes les cases via le bouton situé en bas à gauche de la partie centrale.

ii] Filtre de chaine de caractères :

Figure 13 – Filtre de chaîne de caractères


On retrouve ce filtre au sein de l'onglet :
- Krac [Nom]
- Cenkury 21 [Proprietaire]
- Pages Jaukes [Proprietaire, Orga. Comm.]

◊ Configuration :
La partie centrale contient un encart dans lequel on peut écrire le filtre à appliquer.
A noter que la recherche n'est pas sensible à la casse.

iii] Filtre d'entiers :

Figure 14 – Filtre d'entiers


On retrouve ce filtre au sein de l'onglet :
- Krac [Prix Vente, Prix Achat, Quantité, Quantité Max.]
- Cenkury 21 [Prix Vente]
- Pages Jaukes [Valeur KI]

◊ Configuration :
La partie centrale permet de configurer un entier minimum et maximum.

iv] Filtre de cases :

Figure 15 – Filtre de cases


On retrouve ce filtre au sein de l'onglet :
- Krac [Case]
- Cenkury 21 [Case]
- Pages Jaukes [Case]

◊ Configuration :
La partie centrale permet de configurer la case en X et/ou en Y.

v] Filtre de booléen:

Figure 16 – Filtre de booléen


On retrouve ce filtre au sein de l'onglet :
- Krac [Fermé]
- Cenkury 21 [Vente Réservée]

◊ Configuration :
La partie centrale permet de choisir entre la valeur "Vraie" ou "Fausse".

VI] Autres

Le code source de l’application de traitement (KITKIT) sera disponible ici à chaque livraison de version stable (ou alors sur github).
- Pour le consulter, en l'ouvrant depuis linux il y aura surement des soucis avec l'affichage des accents. (Problème d'encodage)
- Pour compiler l'application il est nécessaire d'avoir les images des différents boutons dans un dossier de ressources rattaché au projet. (Reprendre les images dans le fichier .jar de la version)

Le code source de l’application de récupération d’informations (créant le fichier de données) peut-être fourni si le staff donne son aval. Cette application permettant de parcourir et récupérer les informations de 4500 pages en deux minutes (sans la ralentir) il n’est pas forcément utile que plusieurs exemplaires se promènent dans la nature...

Si vous comptez vous lancer dans un outil en ligne hrp-gratuit (par exemple un GPS) et que vous avez besoin d’informations (par exemple : fichier de mapping) ou que vous avez des questions, n’hésitez pas...
Si vous avez un souci en rapport avec le logiciel (bug, difficultés de lancement/installation) n'hésitez pas à me contacter par kramail.
Vous pouvez aussi me transmettre vos propositions d'évolutions. Dans tous les cas (bug, évolutions, FAQ), jetez un œil aux chapitres ci-dessous.

VII] Bugs connus

♦ Outil TAM TAM, si départ = arrivée, le calcul renvoie 0,8 PdV
♦ Outil TAM TAM, problème de switch entre les types de map, dans les grands %, pour les PC n'ayant pas de configuration top
♦ Outil Pages Jaukes - Fenêtre d’auto-complétion peut rester affichée lorsqu’on change d’outil (Sera corrigé dans la V1.0.5)
♦ Possibilité de perte du focus rendant les raccourcis non fonctionnels

VIII] Évolutions

♦ Mettre a jour le modèle sans quitter l'application
♦ Vue tabulaire - Possibilité de filtrer chaque colonne
♦ Enregistrer la configuration de l'application, pour pouvoir la relancer dans le même état que lorsqu'on a quitté l'application => Refusé
♦ Récupérer le niveau des bâtiments
♦ Pouvoir télécharger un ancien modèle
♦ Ajout d'une barre de progression du téléchargement
♦ Récupérer les membres des organisations commerciales (Sera implémenté dans la V1.0.5)
♦ Récupérer la valeur indicative des objets (Sera implémenté dans la V1.0.5)
♦ Récupérer les impôts => Refusé
♦ Automatiser la mise à jour du fichier list
♦ Rendre la dernière version compatible de tous les anciens modèles
♦ Garder l'ordre d'affichage des colonnes quand on cache/affiche une colonne
♦ Bloquer les actions utilisateurs lors du chargement du modèle
♦ Vue tabulaire - Possibilité d'afficher ou non chaque colonne
♦ Vue tabulaire - Filtre propre à la colonne "Valeur KI"
♦ Outil Krac - Pouvoir configurer la différence "Stock Max - Stock" comme critères de recherche (Sera implémenté dans la V1.0.5)
♦ Outils Cenkury 21 et Pages Jaukes - Calculer la valeur indicative des bâtiments de façon plus précise (Sera implémenté dans la V1.0.5)
♦ Outil Tam Tam - Gérer les transports en commun
♦ Outil Tam Tam - Gérer les autres milieux (air, mer)
♦ Outil Tam Tam - Gérer les coefficients des vitesses
♦ Outil Pages Jaukes - Améliorer le temps de recherche de la fenêtre d’auto-complétion


IX] FAQ

♦ Je comprends pas, y'a un truc qui cloche, je comprends tout. ([:=])

X] Téléchargements

Listes des versions (n'hésitez pas à vérifier que l'heure indiquée ci-dessous, correspond exactement à celle affichée ici) :
✔ KITKIT V 1.0 - 08/04/2013 (20h06)
✔ KITKIT V 0.1 - 20/01/2013 (04h57)

Version opérationnelle, mais en cours de modification...

✔ KITKIT V 1.0.1 - 14/04/2013 (01h32)

Spoiler

✔ KITKIT V 1.0.2 - 20/05/2013 (01h06)

Spoiler


✔ KITKIT V 1.0.3 - 25/06/2013 (22h27)

Spoiler


✔ KITKIT V 1.0.4 - 21/08/2013 (22h54)

Spoiler


✔ KITKIT V 1.0.5 - 09/03/2014 (21h08)

Spoiler


[ce message a été édité par Charly M. le 12/06 à 22:00]

Forum > Site & Annonces > [Article] KITKIT