Article | |
---|---|
08/04/13 (21:12) ![]()
Membre | ![]() ~ Kraland Interactif ToolsKIT ~ I] Présentation ![]() 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 : 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 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() √ Le fichier « orga.xml » contient toutes les organisations commerciales et est hiérarchisé de la façon suivante : 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 ![]() ![]() √ Le fichier « priceInd.xml » contient toutes les prix indicatifs des différents objets du cybermonde et est hiérarchisé de la façon suivante : 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 ![]() 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 ![]() - 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 : ![]() ![]() ![]() ![]() ![]() ♦ Dans la partie rouge se trouve l’outil sélectionné ♦ Dans la barre des taches on retrouve : ![]() ![]() ![]() ![]() ![]() ![]() ◊ 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. ![]() ![]() ![]() 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 ![]() - 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 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, 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 ♦ 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) ♦ 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 ♦ 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 Modifications apportées par rapport à la version 1.0 : - Images inutiles retirées du jar (drapeaux des différents pays) => Poids de l'archive (fichier .jar) réduit de 4Mo. - Onglet Pages Jaukes : Recherche non sensible à la casse - Onglet Pages Jaukes : Activation de l’auto-complétion à deux caractères - Onglet Pages Jaukes : Affichage du nom de la personne avec smiley dans le tableau + fenêtre d’auto-complétion ✔ KITKIT V 1.0.2 - 20/05/2013 (01h06) Spoiler Modifications apportées par rapport à la version 1.0.1 : Au niveau de l'archive JAR de l'application : ♦ Application livrée sans modèle. Pour récupérer le modèle, deux solutions s'offrent à vous : ![]() ![]() Au niveau général de l'application : ♦ La barre d'outils n'est plus flottante ♦ Ajout d'un bouton dans la barre d'état de l'application. Ce bouton permet d'afficher l'application en pseudo plein écran. ♦ Possibilité d'ouvrir l'application sans fichier de configuration ♦ Possibilité de télécharger un modèle puis de le charger dans l'application sans devoir fermer l'application ♦ Ajout de raccourcis clavier ![]() ![]() ♦ Position de la barre de séparation entre la partie "résultat" et "configuration" commune à toutes les vues. ♦ Ajout d'un icône propre à l'application Onglet Tam Tam ♦ Sélection du type de map 3D modifiée (remplacement des boutons radios par une combo) et affichée uniquement lorsque la vue 3D de la map est sélectionnée ♦ Ajout de la map "Médiéval" ♦ Amélioration de l'algorithme de calcul par "Multithreading" ✔ KITKIT V 1.0.3 - 25/06/2013 (22h27) Spoiler Modifications apportées par rapport à la version 1.0.2 : Au niveau général de l'application : ♦ Ajout de la fonctionnalité de tri et de filtrage aux vues tabulaires ✔ KITKIT V 1.0.4 - 21/08/2013 (22h54) Spoiler Modifications apportées par rapport à la version 1.0.3 : Au niveau général de l'application : ♦ Niveau des bâtiments récupéré et affiché ; en partant du postulat que "niveau = nombre de pièces - 1" (Exemple : Donjon, niveau 100) ♦ Possibilité de télécharger un ancien modèle soit via le bouton soit via le raccourci F6 ♦ Ajout d'une barre de progression affichant la progression du téléchargement ♦ Possibilité d'afficher/cacher des colonnes (à noter que si un filtre est actif sur une colonne celui-ci sera bien appliqué même si la colonne est cachée) ♦ Ajout du filtre "Valeur KI" ♦ Possibilité de double-cliquer sur les cases "Nom", "Ville", "Province" afin d'ouvrir un navigateur affichant respectivement la page du "Bâtiment", de la "Ville", de la "Province" ♦ Affichage du Splash-Screen lors d'un rechargement de modèle ♦ Possibilité de changer de look and feel via le raccourci F2 ✔ KITKIT V 1.0.5 - 09/03/2014 (21h08) Spoiler Modifications apportées par rapport à la version 1.0.4 : Au niveau général de l'application : ♦ Lorsqu'on charge un ancien modèle, les résultats sont classés du plus récent au plus vieux ♦ Deux fichiers xml ont été ajouté au zip (Il est possible de charger d'ancien modèle ne disposant pas de ces deux fichiers, il vous faudra appuyer deux fois sur entrée lors du chargement) Onglet KRAC ♦ Ajout d'un critère "Quantité min. vendable". Si cette valeur est à 0 alors tous les résultats seront affichés. Si vous mettez cette valeur à 2, alors le batiment devra avoir en caisse (au minimum) l'équivalent de deux fois le prix d'achat de l'objet. Les données des caisses étant limités à 9 salaires il est possible que des batiments ne soit pas affichés alors qu'ils ont la capacité d'acheter l'objet... Onglet Cenkury21 ♦Ajout de deux colonnes : "Valeur indicative" et "PDB" Onglet Pages Jaukes ♦ Ajout d'une colonne : "Valeur indicative". ♦ La recherche du point de vue organisation a été implémentée. ♦ Ajout d'une case permettant de demander l'affichage de tous les bâtiments du cybermonde. ♦ Ajout de la partie "Valeur totale" permettant d’additionner la "Valeur indicative" des objets filtrés et du total. Onglet TamTam ♦ J'ai autorisé la sélection des voyages en avion. Pour l'instant je me base juste sur le niveau du batiment aéroport, en mettant de côté les aéroports de niveau 1. Pour la valeur indicative j'ai effectué mon calcul de la sorte : Prix indicatif des matériaux nécessaire pour construire le batiment + 50 * Nombre d'UT nécessaire pour construire le batiment + Prix indicatif du matériel à l'intérieur du batiment. Je ne tiens pas compte de la caisse, des matériaux en cours de construction, des données inaccessibles (installations...) [ce message a été édité par Charly M. le 12/06 à 22:00] |
Lien - Citer - Répondre |
© kraland.org