Accueil
Accueil

Bienvenue invité ( Connexion | Inscription )

5 Pages V < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Tuto JSGME
etcher
post 10 May 2014, 23:41
Message #21



 
La frite

Messages : 1,373
Inscrit : 17/01/14
Membre n° 4,062

CITATION(Galevsky @ 29 Apr 2014, 12:28) *
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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Galevsky
post 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.....

--------------------
Image IPB Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
lamule
post 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.


CITATION(Galevsky @ 11 May 2014, 00:58) *
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

CITATION(Galevsky @ 11 May 2014, 00:58) *
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

CITATION(Galevsky @ 11 May 2014, 00:58) *
mais aussi le status 'cassé' qui averti si jamais un des fichiers du mods n'est plus conforme


tiens tu parles maintenant de Mods blink.gif ???? 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.

CITATION(Galevsky @ 11 May 2014, 00:58) *
2 options sont alors possibles: désinstaller' ou reinstall'


JGSME l'offre déjà si tu parles de Mods

CITATION(Galevsky @ 11 May 2014, 00:58) *
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.

--------------------
Image IPB


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Azrayen'
post 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'

--------------------
Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Galevsky
post 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.... cowboy.gif

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:
  • Soit désinstaller proprement le module, en virant simplement les fichiers additionnels du module (donc ici les skin de F-15C) et restaurer du back-up les fichiers dont le SHA1 n'a pas évolué... sinon c'est que l'update à mis une version plus récente, et il ne faut pas remettre le vieux fichier back-upé.
  • Soit tenter de réinstaller le module, il va donc remettre les skins F-15C et le lights.lua tels que dans le mods.... et si ça marche pas car le mod est incompatible avec la nouvelle version, et bien DCS repair, puis choisisr de désintaller le mod.
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 gap.gif

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).



--------------------
Image IPB Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Azrayen'
post 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

CITATION(Galevsky @ 11 May 2014, 10:41) *
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.

CITATION(Galevsky @ 11 May 2014, 10:41) *
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 gap.gif

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 maths info" ça donnerait une aisance, une sécurité et un côté user-friendly assez génial si c'est bien fait.

C'est à mon avis bien plus important que d'éviter une manip pré ou post MàJ DCS smile.gif

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'

--------------------
Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
etcher
post 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 :/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Galevsky
post 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

CITATION(Azrayen' @ 11 May 2014, 10:58) *

Tu ne devrais pas, c'est paumatoire pour la majorité de tes lecteurs.

Tant pis c'est fait tongue.gif

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... gap.gif

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 maths info" ça donnerait une aisance, une sécurité et un côté user-friendly assez génial si c'est bien fait.

C'est à mon avis bien plus important que d'éviter une manip pré ou post MàJ DCS smile.gif


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 jesors.gif , 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 cowboy.gif






Ce message a été modifié par Galevsky - 11 May 2014, 16:29.

--------------------
Image IPB Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
lamule
post 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



--------------------
Image IPB


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Galevsky
post 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 laugh.gif ). 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:
  • skins de tous les escadrons 3rd
  • cockpit A-10C Ricardo
  • Amélioration visuelle de Harke
  • Les emports standards de certains escadrons
  • Mod désert
  • 2/3 modifs que je fais moi-même dans des luas et qui me brisent les -bip- de le refaire à la mano à chaque update/install from scratch, genre le patch qui désactive les textes 'bidules a decollé de Sochi' ou encore le truc qui me vire les textes et les sons de l'ATC IA qui interdisent le roulage en MP.
Après, si tu veux tout te refaire à la mano tout le temps, libre à toi, moi j'en ai ma claque. Un peu comme les fichier Tracks, ACMI etc.. a supprimer qui m'ont poussé à faire DCS Cleaner.
Donc mon soft il va au moins être intéressant pour moi, car j'en ai le besoin personnellement cowboy.gif .

Après, si comme pour DCS Cleaner ça intérèsse du monde, tant mieux cowboy.gif




Ce message a été modifié par Galevsky - 11 May 2014, 18:16.

--------------------
Image IPB Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

5 Pages V < 1 2 3 4 5 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
 

Haut de page · Retour à l'accueil · Contacter le Webmestre Nous sommes le : 26/05/24 - 09:53