Nous sommes le Dim 20 Juil, 2025 10:18
Supprimer les cookies

Page 1 sur 21, 2 SuivantFramaGenXML_NG => FramaWizard

Image Image Forum dédié à notre projet de clé USB nomade libre sous Windows

Mar 23 Juin, 2009 23:37

Bonjour les gens,

FramaGenXML de Léviathan, tout le monde connait.

Et bien FramaGenXML_NG c'est le même ... sans être le même :D
Je m'explique : les deux font très sensiblement la même chose et pourtant ils ne doivent pas partager la moindre ligne de code commune. En fait je n'en ai pas la moindre idée puisque je n'ai jamais regardé le code originel.

FramaGenXML_NG est une réécriture complète en script AutoHotkey. Mon premier objectif était d'arrêter de déranger Léviathan à chaque fois que j'avais une retouche à faire et le deuxième était de faciliter les modifications par tout un chacun, d'où le choix d'un langage de script relativement simple et libre qui plus est.

Pour ceux qui ne connaissent pas AutoHotkey, la notice Framasoft.
Similaire à AutoIt mais clairement annoncé comme libre (GNU/GPL).

Et pour ceux qui se poseraient la question, NG c'est pour "Nouilles au Gratin" :twisted:

L'archive au format zip est téléchargeable ici.

Et encore un grand merci à Léviathan pour l'idée originale.



EDIT :
FramaGenXML_NG change de nom et devient FramaWizard.

À force de faire des modifications, il m'a paru nécessaire de changer de nom puisque désormais FramaGenXML_NG est très éloigné de sa fonction de base.
Voici donc FramaWizard : http://dl.free.fr/hiczo25se

Le script NSIS default.nsi a été profondément remanié, quelques modifs cosmétiques sur les autres fichiers.
Les changements principaux sont dans FramaWizard. Il faudra que je fasse un tuto détaillé pour expliquer le tout.
Au programme : import à partir d'un dossier existant, récupération des infos ou depuis le XML ou depuis le site
Possibilité de générer les icones et images à partir de 2 fichiers : capture d'écran et logo en PNG
Export de la structure complète de l'appli, du code, des images, du fichier xml ... ou du tout
Lancement de l'éditeur associé via le fichier ini à partir de l'interface pour modifier le script NSIS
Compilation à partir de l'interface
Création de l'archive au format zip ou auto-extractible 7z à partir de l'interface avec un nom complet (incluant n° de version langue et numéro du lanceur).

Je n'ai pas tout testé en profondeur et il y a certainement des choses qui paraitront peu ergonomique à certains.
N'hésitez donc pas à faire remonter les remarques.
Dernière édition par fat115 le Dim 05 Juil, 2009 20:02, édité 3 fois au total.
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"
fat115

Avatar de l’utilisateur
Messages : 930
Géo : Ardèche ... du nord

Mer 24 Juin, 2009 00:13

Bon vent et longue vie à FramaGenXML_NG, en espérant que la nouvelle application reçoive plus de contribution que la précédente ;-)
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Mer 24 Juin, 2009 13:58

Merci.

Et à peine sortie, déjà corrigée.
J'avais oublié de faire les modifs pour les fichiers Lang que je t'avais demandé.
On va dire que c'est que j'étais fatigué :?

Lien ci-dessus mis à jour
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"
fat115

Avatar de l’utilisateur
Messages : 930
Géo : Ardèche ... du nord

Mer 24 Juin, 2009 17:06

Bravo,
C'est une très bonne idée de le reprogrammer (pas parce que la version de leviathan n'est pas bien, au contraire; mais j'avais essayé de modifier les sources, et il est programmé avec un logiciel propriétaire et payant il me semble).

Si tu as le temps et le courage, quelques idées (je n'ai pas le temps en ce moment, mais je jetterait peut-être un coup d'oeil dans le code):
  • Permettre l'ajout de paramètres en ligne de commande et de variables dans le fichier .ini
  • Créer un version pour les webapps (peut-être vaut-il mieux attendre, puisque c'est encore en version bêta).
Roromis

Messages : 228
Géo : Nord

Mer 24 Juin, 2009 19:24

Roromis a écrit:Permettre l'ajout de paramètres en ligne de commande et de variables dans le fichier .ini
Tu peux détailler, je ne suis pas sûr de voir ce que tu veux dire :?

Créer un version pour les webapps (peut-être vaut-il mieux attendre, puisque c'est encore en version bêta).
Et à priori elles resteront en bêta si j'ai bien compris. Mais ça n'empêche pas, il faudra que je jette un oeil un peu plus approfondi pour voir comment on peut automatiser un poil le processus de création. enfin à mon avis il restera pas mal de boulot à faire à la main.
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"
fat115

Avatar de l’utilisateur
Messages : 930
Géo : Ardèche ... du nord

Mer 24 Juin, 2009 20:10

fat115 a écrit:
Roromis a écrit:Permettre l'ajout de paramètres en ligne de commande et de variables dans le fichier .ini
Tu peux détailler, je ne suis pas sûr de voir ce que tu veux dire :?

Par exemple, Firefox portable, si tu regarde le fichier PortableFirefox.ini, tu as:
Code: Tout sélectionner
ProfileDirectory=profile

et dans la source du lanceur, firefox est lancé par la commande
Code: Tout sélectionner
firefox.exe -profile $PROFILEDIRECTORY

Grâce à cette commande, le dossier du profil n'est pas celui par défaut ("C:\Document&Settings\..."), mais celui que tu choisit (en l'occurrence "profile").
(je ne sais pas si j'ai été clair)

Il serait pratique de pouvoir ajouter des parametres après l'executable, pour pouvoir portabiliser des programmes non portables sans devoir mettre le nez dans le code.

Tu peut par exemple mettre à la ligne 206 du fichier default.ini:
Code: Tout sélectionner
ExecWait "$ExecString %%parametres%%"

Il faudrait ensuite rajouter un champ Paramètres dans ton formulaire.

Pour les variables du fichier .ini, il faudrait rajouter après la ligne 135 une lignes pour chaque variable contenant:
Code: Tout sélectionner
ReadINIStr "$profile" "$IniPath\${NAME}.ini" "MachinPortable" "Profile"

et après la ligne 150
Code: Tout sélectionner
StrCpy "$profile" "(valeur par défaut)"

si tu as
Code: Tout sélectionner
[MachinPortable]
Profile=profile

Sa permettra d'utiliser la variable $profile dans les paramètres de ligne de commande (en expliquant, je me rend compte que sa a l'air compliqué à mettre en œuvre)


J'ai proposé ces idée parce qu'elles me sont passées par la tête, je n'en aurait pas réellement besoin personnellement ;) .
Roromis

Messages : 228
Géo : Nord

Mer 24 Juin, 2009 22:35

Ce n'est malheureusement pas aussi simple.

Le fichier PortableMachin.ini est utilisé pour outrepassé des valeurs par défaut qui sont données par le script NSIS.
Modifier le fichier ini veut dire que le script Nsis a également été largement modifié.
Et honnêtement je ne vois pas comment faire ça de manière automatique, chaque cas étant différent.

Un exemple : j'ai developpé pour mon boulot une version spécifique portable de Firefox tout en gardant la possibilité d'avoir le comportement par défaut (et d'autres en fonction de paramètres passés à l'ini).
Voilà le fichier ini tel qu'il est maintenant utilisé (la base est FF en version 3.0.10 de PortableApps):
Code: Tout sélectionner
[FirefoxPortable]
FirefoxDirectory=App\firefox
*ProfileSettingsAreAbsolute=true
ProfileDirectory=P:\Profile\Firefox\profile
SettingsDirectory=P:\Profile\Firefox\settings
*CopyCustomProfile=true
PluginsDirectory=\Data\plugins
FirefoxExecutable=firefox.exe
AdditionalParameters=
LocalHomepage=
DisableSplashScreen=false
AllowMultipleInstances=false
DisableIntelligentStart=false
SkipCompregFix=false
RunLocally=false

Les modifs sont précédées d'un *
Et bien pour ces 2 paramètres, il a fallu que je modifie de manière lourde le script Nsis. Et d'une manière qui n'est pas automatisable.
En gros, si ProfileSettingsAreAbsolute est à true, les chemins sont traités comme des chemins absolus, relatifs sinon.
Et CopyCustomProfile à true implique une copie d'un profil de base modifié au lieu de celui qui est fourni par défaut.

Je suis pas sûr d'être très clair non plus :)

Quant à portabiliser une appli non portable en ajoutant un simple paramètre, ça serait génial mais si le fait de passer un paramètre fait qu'elle ne va plus ni écrire dans la base de registre ni dans APPDATA ou autre alors on considère qu'elle est portable :wink:
Sont considérées comme non portables les applis dont le comportement par défaut fait soit de smodifs dans la BDR soit dans un quelconque répertoire. Le seul moyen de les portabiliser est alors de faire faire des choses infâmes au lanceur (backup des clés, backup des préférences existantes, remplacement puis restauration à la sortie). C'est faisable (voir une discussion récente sur 7Zip) mais c'est pas propre (que se passe t-il en cas d'arrachage brutal de la clé ? )
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"
fat115

Avatar de l’utilisateur
Messages : 930
Géo : Ardèche ... du nord

Jeu 25 Juin, 2009 07:13

fat115 a écrit:Quant à portabiliser une appli non portable en ajoutant un simple paramètre, ça serait génial mais si le fait de passer un paramètre fait qu'elle ne va plus ni écrire dans la base de registre ni dans APPDATA ou autre alors on considère qu'elle est portable :wink:
Sont considérées comme non portables les applis dont le comportement par défaut fait soit de smodifs dans la BDR soit dans un quelconque répertoire. Le seul moyen de les portabiliser est alors de faire faire des choses infâmes au lanceur (backup des clés, backup des préférences existantes, remplacement puis restauration à la sortie). C'est faisable (voir une discussion récente sur 7Zip) mais c'est pas propre (que se passe t-il en cas d'arrachage brutal de la clé ? )

Ça dépend, de nombreuses applications ne laissent qu'une dossier "profil" dans la configuration sur le pc hôte, et certaines permettent de le changer avec un paramètre en ligne de commande (en effet, ce n'est pas forcément "-profile" que j'ai pris pour l'exemple, mais on peut par exemple portabiliser aTunes en ajoutant "use-config-folder=..." après l'executable et k-meleon en ajoutant "-profilesDir ...").
Ce sont des cas particuliers, tous les programmes n'ont pas ça, mais c'est (à mon avis) la manière la plus propre de portabiliser un application.

fat115 a écrit:Et bien pour ces 2 paramètres, il a fallu que je modifie de manière lourde le script Nsis. Et d'une manière qui n'est pas automatisable.

Je sais bien, mais certaines variables peuvent êtres utilisées sans trop de modifications (par exemple pour aTunes, on peut ajouter une variable ConfigFolder que l'on pourra ensuite utiliser dans "use-config-folder=$ConfigFolder", ce n'est pas la peine de modifier le reste (à la limite on pourrait vérifier que le dossier $ConfigFolder existe, mais le programme e fait en général)).

Encore une fois, ne te casse pas la tête pour ça, c'est juste une idée qui m'est passée par la tête, et qui sera compliquée à inclure dans ton programme alors que sa peut se faire assez rapidement à la main. :wink:
Roromis

Messages : 228
Géo : Nord

Jeu 25 Juin, 2009 08:01

Roromis a écrit:mais on peut par exemple portabiliser [...] k-meleon en ajoutant "-profilesDir ...").


Chose qui a été faite d'ailleurs. Je me suis pour cela baser sur le lanceur de PortableFirefox et je n'ai presque rien eu à modifier. En fait, j'ai juste modifié la ligne de lancement de l'application en rempaçant -profile par -profilesDir. Le reste était de la configuration de k-meleon. Mais c'est un cas particulier, il ressemble beaucoup à Firefox et utilise un système de profile similaire. Je doute qu'on puisse refaire la même chose sur n'importe quelle application. Je pense que pour beaucoup d'applications utilisant un profil, il faudra modifier assez lourdement le fichier nsi.
takshil

Messages : 302
Géo : Brest

Mar 30 Juin, 2009 19:10

Mise à jour en V1.1.0.4 (lien principal modifié)

Modification principale : possibilité d'import à partir d'un dossier avec récupération des valeurs à partir du site.

J'envisage prochainement de rajouter un onglet "Icones/Vignettes" pour traiter séparément tout ce qui touche aux fichiers png et ico.

Si vous avez des remarques sur l'ergonomie, n'hésitez pas
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"
fat115

Avatar de l’utilisateur
Messages : 930
Géo : Ardèche ... du nord

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit