Bon j'ai casi fini de recoder FramaKeyBackup
"hé bé, tsa chome po", comme on disait par chez moi

mais je me heurte à un autre casse tete chinois
La commande preinstall de AppSnap ne fonctionne correctement que pour le bouton "Installer".
Et dans ce cas mon programme marche et crée un zip avant l'installation. (En fait d'installation, il supprime le dossier et le réécrit)
Par contre pour le bouton "Mettre à jour" je comprends pas grand chose. Il fait tout pareil que le bouton "Installer" sauf qu'il efface, à priori, le contenu avant de faire la commande preinstall. Du coup forcément ça ne marche plus.
Alors pour nos cher ZIP, je me demande bien à quoi il sert de toute façon le bouton "Mettre à jour". On le supprime ?

Effectivement, on va résoudre les problèmes un par un.
Déjà, c'est très très bien d'avoir un Framabackup

, alors pour l'instant on va en rester là.
Je te propose de mettre le bouton "Mettre à jour" en commentaire, on le ressortira plus tard si besoin.
Autre solution : clic sur "Mise à jour" = alerte "Cette fonction sera bientôt disponible." Un peu de teasing ne fait de mal à personne.
EDIT :
au fait voici le code dans db.ini que ça donne par exemple :
(pour le moment qui marche pour le bouton "Installer" et FramaKeyBackup au meme endroit que PortableAppSnap, en tout cas pour le moment) :
- Code: Tout sélectionner
preinstall = FramaKeyBackup.exe -b db.ini -n PortableCoolplayer -i #INSTALL_DIR#
fk_backupdir = ../Backup
fk_backupfiles = PortableCoolplayerCode/*.*,Skins/*.*
-b pour backup (-r pour restore) suivi du fichier db.ini
-n pour le nom de la section dans le db.ini (soit le nom de l'appli)
-i pour le répertoire d'installation de l'application
fk_backupdir pour le répertoire au l'on stock les zip de backup
fk_backupfiles pour les fichiers que l'on veut backuper, séparés par des virgules
Cool !
Quelques subtilités qui permettront d'être encore plus effficaces à mon avis :
- fk_backup_dir est une excellente idée, et doit pouvoir être précisé, mais on devrait partir du principe que si la variable est vide, alors le chemin par défaut est "..\Data\Backup" (ça pourrait d'ailleurs être une option dans le conf.ini
- idem pour l'option "-i" : si on ne précise rien, -i devrait systématiquement correspondre à "..\Apps\PortableXyz\" où PortableXyz = valeur de l'option -n
l'idée, c'est de conserver la souplesse de ce que tu as écrit, sans surcharger le db.ini (car avec +100 applications, plus il restera petit, léger et lisible, mieux on se portera)
Sinon, question :
- Code: Tout sélectionner
fk_backupfiles = PortableCoolplayerCode/*.*,Skins/*.*
Ca backupe bien les sous dossiers récursivement aussi ?
Bon, ben en tout cas, merci beaucoup !
Dès que c'est prêt, je passe à une alpha 2

Dans le changelog, on aurait donc :
- le bouton "Mettre à jour" renvoie une alerte "Cette fonction sera bientôt disponible." (Mouss)
- FramakeyBackup

(Mouss) Fait un backup en preinstall ou preuninstall des dossiers importants de l'appli. Fait une restauration... dans l'idéal en postinstall ou à la demande (on verra plus tard)
- FramakeyUpdate : récupère le db.ini distant avant le lancement de pAppsnap si on est connecté (pyg, en attendant de voir si on fait cela dans appsnap)
- db.ini : ajout de champs au db.ini (pyg)
- Code: Tout sélectionner
fk_parent_website = http://www.7-zip.org/ ;optionnel : site de l'appli originale, sera utilisé plus tard
fk_backup_dir = dir1 ; optionnel : dossier de backup. Default = ..\Data\Backup\AppName
fk_backupfiles = file1.txt, dir2\file2.txt ; optionnel : noms des fichiers pour le backup. Accepte les joker. fonctionnement récursif.
fk_cafe_ext = 7z,zip,rar ; optionnel : liste des extensions à associer au cafe.ini
fk_longdesc = Ici une longue description pour 7zip ; optionnel : description longue. Sera utilisé plus tard
fk_icon = code\portable7zip.ico ; optionnel : chemin de l'icone (relatif au chemin de l'application). Default = code\AppName.ico. Sera utilisé plus tard
fk_screenshots = http://www.framakey.org/Portables/Portable7zip/screenshot.png ; optionnel : chemin de la capture écran. Sera utilisé plus tard
fk_size_compressed = 1 ; optionnel : Taille compressée. Sera utilisé plus tard
fk_size_uncompressed = 4 ;optionnel : Taille decompressée. Sera utilisé plus tard
fk_local_version = version.txt ;optionnel : chemin relatif à l'appli installée contenant le n° de version. Default = version.txt. Sera utilisé plus tard
- FramakeyUpdate : si leur catégorie existe, les applications nouvellement détectées se placent dedans (pyg)
- FramakeyUpdate : ajout d'une alerte signalant les applications obsolète (en démo) (pyg)
- correction d'un bug de l'affichage de la taille du fichier à télécharger (Mouss/pyg)
- renommage (voire suppression) de la catégorie "Applications en test" afin d'éviter les confusions (pyg)
- ajout de quelques contenus libres dans le db.ini (un Framabook et un peu de musique libre) pour démontrer que ça marche

(pyg)
- correction mineures dans le tutoriel (pyg)
j'oublie des choses ?