Bienvenue invité ( Connexion | Inscription )
etcher |
10 May 2014, 23:41
Message
#21
|
La frite Messages : 1,373 Inscrit : 17/01/14 Membre n° 4,062 |
Je ne vois pas le rapport entre ta manip qui est la fonctionnalite de base proposee par JSGME et le fait qu'il faille faire attention de desactiver les modules AVANT de faire un upgrade DCS... Je ne l'utilise pas encore et souhaites le faire rapidement, mais j'aimerais typiquement ne pas avoir de contraintes fortes genre : "desactiver tous les modules avant un upgrade DCS" DCS ecrase les fichiers lorsqu'il se met a jour, soit, et j'aimerais que JSGME detecte que le module s'est fait bourriner et propose donc de le redeployer de maniere propre (sans avoir a aller chercher a la mano dans le backup, les bons fichiers modifies.. ou que sais-je... juste redeployer les modules qui se sont fait bourriner). Si jamais vous ne desactivez pas vos modules AVANT l'update, quel est concretement le soucis ? JSGME fonctionne de façon simpliste. Vu du bas, il se contente de faire un "merge" d'une arborescence, en sauvant ce qui est écrasé, et en tenant à jour une liste de ce qui a été jouté/remplacé. La procédure de "désinstallation" d'un mod via JSGME consiste simplement à restaurer les écrasements et à supprimer les ajouts, pour revenir à ce que je JSGME considère comme l'état initial. Ca implique que toute modification effectuée entre l'installation et la désinstallation d'un mod par JSGME lui est totalement étrangère. Il n'y a aucun monitoring, aucune comparaison à postiori. Ces modifications peuvent être manuelles, ou automatiques dans le cas d'un upgrade/repair. JSGME permet d'ajouter ou d'enlever un ou plusieurs "diffs" sous forme d'arborescence ( = mod) en un clic de souris, mais c'est tout. Après ça, lors des upgrades, chacun sa méthode. Perso, je vire tout (un clic), et je fais un diff, mod par mod, via Beyond Compare, pour repérer par exemple les noms de fichiers qui ont changés, ou les lignes qui ont été ajoutées dans un fichier modifié (graphics.cfg, pour ne citer que lui), et ça me permet d'isoler immédiatement ceux qui ne sont plus ou pas encore compatible avec la nouvelle version, puis d'effectuer les changement très simplement (3 way merge dans le pire des cas). La méthode de Gilles est identique, mais il fait confiance au jeu pour trouver les différences, ce qui lui fait gagner du temps. Je mettrai une update des mods compatibles JSGME 1.2.8 sur le FTP quand je rentre, avec les "gros" mods en plus (textures), j'ai eu le feu vert juste avant de partir. |
Galevsky |
10 May 2014, 23:58
Message
#22
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Yes merci, pour info je suis en train de coder une nouvelle appli qui gère mieux les choses: elle stocke un sha1 de chaque fichier... Ainsi, quand on charge l'appli, on a un status activé ou pas pour chaque modules, mais aussi le status 'cassé' qui averti si jaMais un des fichiers du mods n'est plus conforme... 2 options sont alors possibles: désinstaller' ou reinstall'.
Reinstall' remet les fichiers d'origine du module et desinstall' vire les fichiers additionnels du module et remet le backup des fichiers écrasés par le module dont le sha1 n'a pas évolué. Compatible modules JGSME, 1 seul répertoire de modules dispos dans les fichiers du user, etc..... --------------------
|
lamule |
11 May 2014, 03:02
Message
#23
|
Caféinoman Indicatif : TH-44 Messages : 1,684 Inscrit : 19/11/08 Lieu : France, lot et garonne, agen, 47 Membre n° 3,203 |
Je me pose des questions voir des réflexions sur que tu écrits et l'objectif que tu as choisi.
elle stocke un sha1 de chaque fichier.. tu veux dire que ton appli va faire un backup de chaque fichiers et donc doubler l'espace occupé de DCS sur le disque dur ? Perso pas envie de bouffage de place Ainsi, quand on charge l'appli, on a un status activé ou pas pour chaque modules Encore une fois tu utilises le mot "Modules" donc je continue ma réflexion dans ce sens. Pourquoi utiliser une application externe qui indique l'état du module alors que la personne qui a DCS sait ou plutot connait les modules qu'elle a acheté et même si elle a oublié, DCS l'affiche dans le menu mais aussi le status 'cassé' qui averti si jamais un des fichiers du mods n'est plus conforme tiens tu parles maintenant de Mods ???? cela peux être appliquer sur un mod changant radicalement l'aspect complet de DCS ou sa propre codification. Concernant les skins appareils ou menu je ne vois pas l’intérêt. 2 options sont alors possibles: désinstaller' ou reinstall' JGSME l'offre déjà si tu parles de Mods Reinstall' remet les fichiers d'origine du module et desinstall' vire les fichiers additionnels du module et remet le backup des fichiers écrasés par le module dont le sha1 n'a pas évolué' encore une fois tu écrits "Modules". En gros j'aimerais savoir si pour toi Mods veux dire Modules dans ce cas je revois ma réflexion. Ensuite d'après ce que j'ai vu, JSGME n'est la que pour des mods et il reste simple. Connaissant DCS il te dira rapidement qu'il y a une erreur. La moindre modification d'une ligne de programme et DCS affiche une fenêtre d'erreur ou plante. A ce niveau la conclusion rapide. Ce message a été modifié par lamule - 11 May 2014, 03:04. --------------------
|
Azrayen' |
11 May 2014, 09:37
Message
#24
|
VALHALLA EXPRESS Indicatif : VK-01 Messages : 7,207 Inscrit : 1/03/05 Lieu : Forteresse de Lug Membre n° 90 |
Gal, mef à la compréhension :
- "module" = truc généralement payant diffusé par ED ou un tiers partie +/- officiel, 100% géré (ou au moins pas cassé) par les updates DCS. - "mod" = truc généralement gratos fourni pas un bidouilleur (éventuellement de génie) dans son coin, sans garantie de suivi au fil des versions DCS et sans prise en compte par l'updateur DCS (généralement parce que le dév du mod fonctionne "à l'ancienne" en remplaçant les fichiers du simu). Tu me fais rigoler avec "contrainte forte" pour les updates DCS. En effet on ne parle pas de désactivation des modules, mais de désinstall des mods. Pour rappel avec JSGME, la désinstall d'un ou plusieurs mods, c'est un clic. Et pareil dans l'autre sens. ++ Az' --------------------
|
Galevsky |
11 May 2014, 09:41
Message
#25
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Waow, il y en a des questions....
Oui, j'utilise mod ou module indépendamment l'un de l'autre. Et pas au sens 'module DCS', mais bien 'module de JGSME'. Je me fiche des fichiers qui sont ou qui ne sont pas des modules DCS, tous ne sont que de simple fichiers. Le SHA1, c'est un peu comme un MD5, ça doit plus te parler. L'idée est de pouvoir savoir si un fichier à été changé depuis la dernière action.... imaginons que ton module JSGME contiennent un pack additionnel de skins de F-15C, plus un fichier à écraser genre lights.lua L'idée c'est qu'a l'install, seul le fichier lights.lua sera back-upé, mais je vais stocker les SHA1 pour les 2 fichiers. Quand tu lances le soft, tu vois si l'ensemble de ton mod a un soucis... ou pas (si aucun des 2 fichiers n'a été modifié). Maintenant il se passe un DCS update... il te bourrine le lights.lua, le soft va te dire 'mod pété, tel fichier à changé (et même te montrer la diff si c'est sur des fichiers textes)' et là grâce au SHA1 je sais:
CITATION La moindre modification d'une ligne de programme et DCS affiche une fenêtre d'erreur ou plante. A ce niveau la conclusion rapide. Pas toujours.... pour preuve les bidouilles genre textures de missiles, qui modifiaient par exemple un fichier en rajoutant un path de textures, et même quand ce pqth n'était plus là, tu avais bô faire repair pour être sûr que les fichiers originels de DCS étaient les bons, j'ai volé un petit moment avec les missiles A/A oranges... on a bien galéré avec Gilles pour le virer Bref l'idée est de ne plus galérer, l'idée est de ne pas avoir a faire quoi que ce soit avant une MAJ, et l'idée et que ce soit compatible 'mods JSGME', tout en permettant de se passer au maximum des trucs et astuces manuels dont Gilles & Etcher parlent. Typiquement, si le mod dont je parle au-dessus (skin F-15C + lights.lua) qui se fait bourriner par un DCS Update, si jamais le lights.lua que remet l'update est le même que celui de la release précédente, en fait ton mod est 100% compatible avec la nouvelle release. Ben il te le dira.. car il détectera tout seul que le fichier lights.lua est le même que le fichier que tu avais back-upé à l'époque. Donc tu peux réinstaller direct. Maintenant si i ly a des diffs (et il te les affichera directement), tu sauras prendre la décision (soit désinstal' et attente d'une version compatible, soit modif's manuelles apres reinstall du module si tu t'en sens capable). --------------------
|
Azrayen' |
11 May 2014, 09:58
Message
#26
|
VALHALLA EXPRESS Indicatif : VK-01 Messages : 7,207 Inscrit : 1/03/05 Lieu : Forteresse de Lug Membre n° 90 |
Oui, j'utilise mod ou module indépendamment l'un de l'autre. Et pas au sens 'module DCS', mais bien 'module de JGSME'. Tu ne devrais pas, c'est paumatoire pour la majorité de tes lecteurs. Je me fiche des fichiers qui sont ou qui ne sont pas des modules DCS, tous ne sont que de simple fichiers. Certes, mais il y a une différence fondamentale que j'ai exposée plus haut : sont-ils ou non, vus de ED, légitimes (= conformes à l'install non moddée) ou pas ? Si pas, ils vont être "réparés" par l'auto-update, i.e. remis à l'état d'origine, non moddé. CITATION Pas toujours.... pour preuve les bidouilles genre textures de missiles, qui modifiaient par exemple un fichier en rajoutant un path de textures, et même quand ce pqth n'était plus là, tu avais bô faire repair pour être sûr que les fichiers originels de DCS étaient les bons, j'ai volé un petit moment avec les missiles A/A oranges... on a bien galéré avec Gilles pour le virer Saved Games je suppose ? Sinon je ne vois pas pourquoi le repair n'aurait pas donné le résultat attendu. Pour mémoire, l'auto-updater (donc les fonctions update et repair) ne touchent pas à Saved Games. CITATION Bref l'idée est de ne plus galérer, l'idée est de ne pas avoir a faire quoi que ce soit avant une MAJ, et l'idée et que ce soit compatible 'mods JSGME', tout en permettant de se passer au maximum des trucs et astuces manuels dont Gilles & Etcher parlent. L'idée d'un comparateur automatisé de fichiers via signature est séduisante. Ce serait un gain de temps pour ceux qui savent faire et prennent le temps de s'en occuper, de sécurité car ils n'oublieraient plus tel sous-répertoire planqué. Et pour les "pas fort en C'est à mon avis bien plus important que d'éviter une manip pré ou post MàJ DCS Dans l'idéal, il faudrait voir s'il y a toujours un développeur JSGME, et si oui s'il est prêt à une idée, un coup de main => toujours plus facile de construire sur un succès "établi" que de lancer un produit "concurrent". Et, j'ai pas encore regardé comment JSGME gère (ou pas) ce point là, mais il devrait y avoir moyen de gérer plusieurs installs de DCS (ne serait-ce que la release et l'open bêta) sachant que sauf erreur le chemin d'install n'est pas enregistré qque part (à par celui de l'install d'origine dans le registre) mais qu'en revanche chaque install "non release" sait où est "son" Saved Games via un suffixe stocké dans <rep_install>/dcs_variant.txt ++ Az' --------------------
|
etcher |
11 May 2014, 13:10
Message
#27
|
La frite Messages : 1,373 Inscrit : 17/01/14 Membre n° 4,062 |
@gal: nice! Dommage qu'on utilise un langage différent :/
|
Galevsky |
11 May 2014, 16:21
Message
#28
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Tu ne devrais pas, c'est paumatoire pour la majorité de tes lecteurs. Tant pis c'est fait J'ai mixé les deux en pensant même à autre chose que les définitions que tu donnes, les mods etant un module au niveau code ruby. Bref, vous avez saisi... CITATION Certes, mais il y a une différence fondamentale que j'ai exposée plus haut : sont-ils ou non, vus de ED, légitimes (= conformes à l'install non moddée) ou pas ? Si pas, ils vont être "réparés" par l'auto-update, i.e. remis à l'état d'origine, non moddé. mods JSGME = mods fait par des tiers, légitimes parce qu'ils sont du sens à exister, mais ne venant pas d'ED, et utilisé par chacun avec ses propres responsabilités et sans garantie aucune. CITATION Saved Games je suppose ? Sinon je ne vois pas pourquoi le repair n'aurait pas donné le résultat attendu. Pour mémoire, l'auto-updater (donc les fonctions update et repair) ne touchent pas à Saved Games. Ma mémoire va bien, mais tu peux loader des bidules avec des fichiers additionnels, tout en ayant besoin de mod(ificaitons) nécessaires dans des fichiers originaux, d'où le repair qui te casse qu'une partie des fichiers, et c'est le soucis. CITATION L'idée d'un comparateur automatisé de fichiers via signature est séduisante. Ce serait un gain de temps pour ceux qui savent faire et prennent le temps de s'en occuper, de sécurité car ils n'oublieraient plus tel sous-répertoire planqué. Et pour les "pas fort en C'est à mon avis bien plus important que d'éviter une manip pré ou post MàJ DCS En fait, le "contrainte forte", ce n'est pas de faire un clic, c'est de devoir le faire absolument avant de faire l'update sinon... (sinon quoi ? vous n'avez pas répondu à ma question..). Et moi ce qu'il me fait rigoler c'est de devoir penser à désactiver ses mods avant de faire la MAJ (ou repair) DCS car je ne vois pas pourquoi cette limitation existerait: le soft doit pouvoir activer/désactiver/valider que le mod est toujours conforme à ce qui a été installé/désinstaller proprement (en faisant gaffe aux fichiers qui doivent être restaurés depuis le back-up et ceux que non car ils sont dans une version différente à cause de l'update)/réinstaller proprement/dire si le mod peut être réinstaller car la version des fichiers originaux qui seront impactés par le mod est bien la même que lors de l'activation précédente. Et tout ça en un clic of course, je ne dis pas que JSGME est bon a jeter, je m'inspire très fortement des bonnes idées, mais j'ai senti plusieurs points d'améliorations à y appporter. Avec en plus un installeur propre comme pour DCS Cleaner, un répertoire centralisé pour y copier les mods (.zip renommés) et pas de dézippage à la mano dans le répertoire racine du jeu ou je-ne-sais-quoi qui pue. Sachant que l'utilisateur pourra toujours accéder manuellement aux fichiers back-upé si il souhaite etc etc... mais celui qui n'a pas envie de bidouiller doit pouvoir le faire en un clic. CITATION Dans l'idéal, il faudrait voir s'il y a toujours un développeur JSGME, et si oui s'il est prêt à une idée, un coup de main => toujours plus facile de construire sur un succès "établi" que de lancer un produit "concurrent". Bof, c'est un produit arrêté difficile d'accès (registration sur leur fofo de simu sous-marine, même pas un site dédié clair avec tout qui va bien) qui ne fait que de copier des fichiers, autant dire que c'est easy, là où en revanche il faut être futé, c'est la compatibilité des mods JGSME pour pouvoir béner aussi les mods existants. Sinon c'est tirage de balle dans le pieds direct. En revanche, j'ai toujours pas tranché si je lance un nouveau format de module propre, ou pas. CITATION Et, j'ai pas encore regardé comment JSGME gère (ou pas) ce point là, mais il devrait y avoir moyen de gérer plusieurs installs de DCS (ne serait-ce que la release et l'open bêta) sachant que sauf erreur le chemin d'install n'est pas enregistré qque part (à par celui de l'install d'origine dans le registre) mais qu'en revanche chaque install "non release" sait où est "son" Saved Games via un suffixe stocké dans <rep_install>/dcs_variant.txt En fait, le soft permettra de dire qu'il y a une installation de type 'DCS' ici, là et encore là c'est besoin, ensuite on sélectionne l'installation que l'on veut, et on affiche l'intégralité des mods 'DCS' et leur état (activé, désactivé, in trouble (avec explication, genre les fichiers bidules et machin ont été modifiés, vous pouvez: désactiver le mod, le réinstaller (attention: le fichier bidule impacté par le module est différent de la dernière install', il se pourrait que le mod ne fonctionne pas comme précédemment - a réserver aux experts)). Donc tu peux gérer X instances de type 'DCS' ... ce que je ne sais pas encore, c'est si je limite à DCS ou en fait un truc générique... @etcher: je te le fais pas dire.... bon, je te pardonne dans ton mauvais choix de langage , pour bien te dégoûter, voilà mon parser de fichier de mission en ruby: CODE def parse raise Exception.new('File \'' + @filename +'\' cannot be read !') unless File.file? @filename buffer = File.read @filename buffer = buffer.gsub /^\s*(mission)\s*=.*$/o, "{ [\"mission\"] =" buffer += '}' buffer = buffer.gsub(/=/, ':').gsub(/--.*$/,'' ).gsub(/,\s*}/, '}').gsub(/\[(.*)\] +:/) do |s| grp = $1 if (grp =~ /^".*"$/) then "#{grp} :" else "\"#{grp}\" :" end end @content = JSON.parse(buffer) end Et ça s'utilise comme ça: CODE mission = Mission.new('./mission') mission.parse val = mission.read '/forcedOptions/optionsView' puts val mission.write '/forcedOptions/optionsView', 'new_value' puts mission.read '/forcedOptions/optionsView' Donc générer des trucs dans la mission, c'est juste la suite de : CODE mission.write '/path/vers/variable', 'valeur' qui vont bien. Et la maintenance, quand ED change des trucs dans l'arbre lua, c'est easy comme tu vois Ce message a été modifié par Galevsky - 11 May 2014, 16:29. --------------------
|
lamule |
11 May 2014, 17:52
Message
#29
|
Caféinoman Indicatif : TH-44 Messages : 1,684 Inscrit : 19/11/08 Lieu : France, lot et garonne, agen, 47 Membre n° 3,203 |
merci Gal pour tes réponses
1er chose : je ne sais pas ce qu'est SHA1 et MAD5. 2eme chose : au vue de l'explication détaillée (pour moi) ton soft ne sera pas utile. je m'explique, chaque modification mineure quel qu’elle soit je fais immédiatement un test donc en cas d'erreur je le sais de suite au j'ai merdé. Ensuite, je suppose (a part des DEV ou gros programmeur) je n'ai que très peux de mods demandant l'installation par un tiers. donc, en cas d'update de DCS, connaissant mes mods, je réinstalle immédiatement les mods. Tout soft est surement intéressant mais pour être, il faut le sortir et attendre le retour des tests --------------------
|
Galevsky |
11 May 2014, 18:05
Message
#30
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Pour la 1ère chose, c'est juste une solution technique qui permet de garantir l'intégrité d'un fichier. Ça te calcule une sorte de clé, et si tu changes ne serait-ce qu'un espace dedans, la clé générée est différente. Du coup tu peux savoir a coup sûr si le fichier correspond -ou pas- à une clé donnée.
Tu aurais pu entendre parler du md5, il arrive que les gars qui mettent à dispo un fichier à télécharger sur le web donnent aussi la clé md5 dans un fichier à côté, et en une commande tu peux vérifier que le fichier que tu as récupérer est intègre. Pour la deuxième chose, tu me dis que JSGME ne te sert à rien car tu gère à la mano. Soit. Ce soft sera une sorte d'amélioration à JGSME (c'est comme ça que je le pense, maintenant on va voir si j'y arrive ). Perso je ne suis pas un modeur fou non plus, mais pour avoir fait le Package-3rd et vu la lourdeur de recompiler l'installeur pour intégrer de nouvelles choses, j'ai été convaincu par JSGME et souhaite plutôt faire des mods. Typiquement, même sans utiliser bcp de mods, j'aimerais au moins pouvoir déployer en quelques clics:
Donc mon soft il va au moins être intéressant pour moi, car j'en ai le besoin personnellement . Après, si comme pour DCS Cleaner ça intérèsse du monde, tant mieux Ce message a été modifié par Galevsky - 11 May 2014, 18:16. --------------------
|
Haut de page · Retour à l'accueil · Contacter le Webmestre | Nous sommes le : 26/05/24 - 09:53 |