Nous sommes le Ven 19 Avr, 2024 15:33
Supprimer les cookies

Page 8 sur 12Précédent 1 ... 5, 6, 7, 8, 9, 10, 11, 12 Suivant[Developpement] Modification de AppSnap

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

Sam 23 Août, 2008 15:22

Je reviens sur les bugs de AppSnap, et principalement sur le problème d'affichage du téléchargement pour le moment.
Avec le db.ini de FramaKey, on se retrouve avec toujours un téléchargement "xxx/0.34 KB".
C'est à dire avec un total faux.

J'ai fait des tests à partir de mon hebergeur Free, et je n'ai aucun soucis.

De plus le problème ne vient pas vraiment de AppSnap, mais plutot de la librairie utilisé par AppSnap, qui se nomme PycURL.

Bon je me suis bien arraché les cheveux pour trouver ces infos, il est donc difficile pour moi d'en assurer l'exactitude.
Je me base sur ces logs pour dire que ça vient de l'hebergeur FramaKey le problème :

les logs de PycURL (je crois, car à travers AppSnap) :

ceux de FramaKey en essayant de télécharger cafe :
Code: Tout sélectionner
* About to connect() to www.framakey.org port 80 (#0)
*   Trying 88.191.60.57... * connected
* Connected to www.framakey.org (88.191.60.57) port 80 (#0)
> GET /Portables/CAFE HTTP/1.1

User-Agent: PycURL/7.18.2

Host: www.framakey.org

Accept: */*

Accept-Encoding: deflate, gzip



< HTTP/1.1 200 OK

< Date: Sat, 23 Aug 2008 14:48:09 GMT

< Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11

< X-Powered-By: PHP/5.2.0-8+etch11

< Expires: Tue, 01 Jan 2002 00:00:00 GMT

< Cache-Control: no-store, no-cache, must-revalidate

< Transfer-Encoding: chunked

< Content-Type: text/html; charset=ISO-8859-1;

<

* Connection #0 to host www.framakey.org left intact
* About to connect() to download.framakey.org port 80 (#1)
*   Trying 88.191.60.57... * connected
* Connected to download.framakey.org (88.191.60.57) port 80 (#1)
> GET /apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: download.framakey.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 302 Found

< Date: Sat, 23 Aug 2008 14:48:15 GMT

< Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11

< Location: http://files.framasoft.org/framakey/apps/CAFE-1.zip

< Content-Length: 340

< Content-Type: text/html; charset=iso-8859-1

<

* Ignoring the response-body
* Connection #1 to host download.framakey.org left intact
* Issue another request to this URL: 'http://files.framasoft.org/framakey/apps/CAFE-1.zip'
* About to connect() to files.framasoft.org port 80 (#2)
*   Trying 91.121.143.121... * connected
* Connected to files.framasoft.org (91.121.143.121) port 80 (#2)
> GET /framakey/apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: files.framasoft.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 404 Not Found

< Date: Sat, 23 Aug 2008 13:59:33 GMT

< Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g mod_fastcgi/2.4.6

< Content-Length: 353

< Content-Type: text/html; charset=iso-8859-1

<

* Connection #2 to host files.framasoft.org left intact
* Re-using existing connection! (#1) with host download.framakey.org
* Connected to download.framakey.org (88.191.60.57) port 80 (#1)
> GET /apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: download.framakey.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 302 Found

< Date: Sat, 23 Aug 2008 14:48:20 GMT

< Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11

< Location: http://files.framasoft.org/framakey/apps/CAFE-1.zip

< Content-Length: 340

< Content-Type: text/html; charset=iso-8859-1

<

* Ignoring the response-body
* Connection #1 to host download.framakey.org left intact
* Issue another request to this URL: 'http://files.framasoft.org/framakey/apps/CAFE-1.zip'
* Re-using existing connection! (#2) with host files.framasoft.org
* Connected to files.framasoft.org (91.121.143.121) port 80 (#2)
> GET /framakey/apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: files.framasoft.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 404 Not Found

< Date: Sat, 23 Aug 2008 13:59:38 GMT

< Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g mod_fastcgi/2.4.6

< Content-Length: 353

< Content-Type: text/html; charset=iso-8859-1

<

* Connection #2 to host files.framasoft.org left intact
* Re-using existing connection! (#1) with host download.framakey.org
* Connected to download.framakey.org (88.191.60.57) port 80 (#1)
> GET /apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: download.framakey.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 302 Found

< Date: Sat, 23 Aug 2008 14:48:25 GMT

< Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11

< Location: http://files.framasoft.org/framakey/apps/CAFE-1.zip

< Content-Length: 340

< Content-Type: text/html; charset=iso-8859-1

<

* Ignoring the response-body
* Connection #1 to host download.framakey.org left intact
* Issue another request to this URL: 'http://files.framasoft.org/framakey/apps/CAFE-1.zip'
* Re-using existing connection! (#2) with host files.framasoft.org
* Connected to files.framasoft.org (91.121.143.121) port 80 (#2)
> GET /framakey/apps/CAFE-1.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: files.framasoft.org

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://www.framakey.org/Portables/CAFE



< HTTP/1.1 404 Not Found

< Date: Sat, 23 Aug 2008 13:59:42 GMT

< Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g mod_fastcgi/2.4.6

< Content-Length: 353

< Content-Type: text/html; charset=iso-8859-1

<

* Connection #2 to host files.framasoft.org left intact


On peut voir dans ce logs qu'il y a des choses incorrects, mais difficile de savoir quoi. Donc si pyg tu as une bonne connaissance du serveur FramaKey et des URL utilisés, tu pourrais peut etre pigé le problème

Et maintenant le logs sur mon hebergeur où tout se passe bien :
Code: Tout sélectionner
* About to connect() to phpmouss.free.fr port 80 (#0)
*   Trying 212.27.63.161... * connected
* Connected to phpmouss.free.fr (212.27.63.161) port 80 (#0)
> GET /DL/PortableAppSnap_v0.0.4.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: phpmouss.free.fr

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://phpmouss.free.fr/joomla/index.php?option=com_content&view=category&layout=blog&id=42&Itemid=58



< HTTP/1.1 200 OK

< Date: Sat, 23 Aug 2008 13:51:31 GMT

< Server: Apache/ProXad [Aug  9 2008 02:45:09]

< Last-Modified: Tue, 19 Aug 2008 21:15:27 GMT

< ETag: "20a906c-5ece91-48ab37ef"

< Connection: close

< Accept-Ranges: bytes

< Content-Length: 6213265

< Content-Type: application/zip

<

* Callback aborted
* Callback aborted
* Closing connection #0
* About to connect() to phpmouss.free.fr port 80 (#0)
*   Trying 212.27.63.161... * connected
* Connected to phpmouss.free.fr (212.27.63.161) port 80 (#0)
> GET /DL/PortableAppSnap_v0.0.4.zip HTTP/1.1

User-Agent: PycURL/7.18.2

Host: phpmouss.free.fr

Accept: */*

Accept-Encoding: deflate, gzip

Referer: http://phpmouss.free.fr/joomla/index.php?option=com_content&view=category&layout=blog&id=42&Itemid=58



< HTTP/1.1 200 OK

< Date: Sat, 23 Aug 2008 13:51:34 GMT

< Server: Apache/ProXad [Aug  9 2008 02:45:09]

< Last-Modified: Tue, 19 Aug 2008 21:15:27 GMT

< ETag: "20a906c-5ece91-48ab37ef"

< Connection: close

< Accept-Ranges: bytes

< Content-Length: 6213265

< Content-Type: application/zip

<

* Callback aborted
* Callback aborted
* Closing connection #0


Les principales différences pour moi :

FramaKey : < Cache-Control: no-store, no-cache, must-revalidate
mon serveur : < Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Framakey : < Transfer-Encoding: chunked
mon serveur : rien

FramaKey : < Content-Type: text/html; charset=ISO-8859-1;
mon serveur : < Content-Type: text/html; charset=utf-8

Framakey : passe sur
< HTTP/1.1 302 Found
puis sur
< HTTP/1.1 404 Not Found

mon serveur reste sur < HTTP/1.1 200 OK

FramaKey : < Content-Length: 340 avec < HTTP/1.1 302 Found
et c'est la que ça coince et qu'il récupère la mauvaise taille du fichier, et toujours la meme taille : 0.34KB
mon serveur : < Content-Length: 6213265 (soit 6Mo environ, j'avais pris AppSnap en DL)

DONC LA JE SUIS SUPER MAL BARRE POUR DEBUGGE CE TRUC !!!! :twisted:
Pyg, faut changer de serveur lol :wink:
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Sam 23 Août, 2008 16:28

pyg a écrit:A priori, on a juste besoin des extensions et de raccourci.
Le seul pb que j'anticipe, c'est le cas ou plusieurs applis souhaitent gérer la même extension/raccourci (ex: .doc pour pOOo et pAbiword) mais bon, on en est pas là.
J'y ai aussi pensé ce sera par choix dans cafeCong. Si l'association existe déjà. Je ne sais pas comment je vais faire. Je sais comment j'aimerai le faire mis c'est trop compliqué à faire en AutoHotKey: une liste avec checkbox.

[purée]j'en ai mare des limites d'AutoHotkey. je veux programmer avec un vrai langage.[/purée]
Sauf mention contraire, le message ci-dessus, ses erreurs et ses fautes d'orthographes n'engagent que son auteur.
Tuxmouraille

Messages : 1044

Sam 23 Août, 2008 16:54

Tuxmouraille a écrit:[purée]j'en ai mare des limites d'AutoHotkey. je veux programmer avec un vrai langage.[/purée]

Tu m'étonnes :P
Bon courage Tux :wink:
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Sam 23 Août, 2008 22:39

@Mouss : 99% de chances que ça vienne de la redirection mise en place entre download.framakey.org et files.framasoft.org (que j'ai fait pour soulager le serveur).
Quand CURL teste la taille du fichier, il tombe en fait sur un .htaccess...
Je vais voir ce que je peux faire... J'ai déjà ma petite idée...

@Tux : OK. Je te propose de faire simple : pour le moment, la dernière application/extension qui a parlée à raison. Et on explique aux utilisateurs comment faire l'adaptation en cas de conflit.
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Dim 24 Août, 2008 00:16

Bon c'est bien ce que je pensais, ça me rassure. J'espère que tu vas pouvoir trouver une solution simple sans casser ce que tu as fait au préalable :(
Du coup je vais me reconcentrer sur les autres points.
A++
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Dim 24 Août, 2008 03:25

J'ai un petit cadeau pour toi pyg :D
http://phpmouss.free.fr/joomla/index.ph ... &Itemid=67

ça m'a pris comme une envie de ch*** :? et du coup j'ai passé ma nuit dessus. Donc maintenant vais faire un gros dodo.

A++ Mouss
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Dim 24 Août, 2008 13:34

pyg a écrit:Cependant, apres reflexion ces derniers jours, je pense que plutôt que de livrer les infos *dans* chaque appli, il vaudrait mieux les avoir dans le fichier db.ini.
C'est beaucoup plus souple que de repackager toutes les applications.


Oups j'avais raté un peu ça, j'avais pas fait gaffe que ça concernait aussi le backup.
Je peux bien sûr modifier très rapidement FramaKeyBackup pour lire dans le db.ini
Par contre ça veut dire qu'il faut lui indiquer aussi le nom de l'application en paramètre sinon je vois pas comment faire.
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Dim 24 Août, 2008 14:12

pyg a écrit:Lorsque tu a viré le bouton "mise à jour", ça a supprimé une fonctionnalité que je trouve utile et importante : la mise à jour du db.ini depuis un site distant.

Ainsi, l'idée ça serait :
- de remettre le bouton "mise à jour"
- de l'appeler "synchronisation"
- de commenter tout ce qui est procédure de mise à jour d'appsnap, mais de laisser la partie mise à jour du db.ini

C'est possible, chef ?


Voilà j'ai fini pour ça :wink: Je refais le tour de nos posts pour voir si j'ai pas oublié autre chose avant de refaire une petite version.
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Dim 24 Août, 2008 14:23

J'allais te répondre ;)

D'abord merci d'avoir grillé qq heures de sommeil de ton WE pour FramakeyBackup :)

Ensuite, oui, je pense qu'il est préférable de se référer en permanence à une seule base (le db.ini) plutôt que de chercher dans le fichier "appinfo.ini" de chaque applications portable.

Ca a des inconvénients, je le reconnais, mais j'y vois plein d'avantages :
- d'abord, on n'invente pas un nouveau format de package ! Ma grande frustration, c'est de n'avoir pas pu développer le moteur FK2 suffisament rapidement pour que l'on puisse utiliser la norme définie dans le PortableKiosk.xml. Aujourd'hui, il faut être réaliste : PortableApps.com a pris de l'ampleur, et le fait d'être anglophone leur donne un poids infiniment plus important. Donc, soit on colle à leur norme, soit on va créé un format qui ne sera utilisé que par nous et peu intéropérable (techniquement, ça le serait, mais qui prendrait l'energie nécéssaire à faire des convertisseurs FK <=> PortableApps et pour quels réels intérêts ?)

C'est pourquoi la partie du moteur qui détecte les nouvelles applications fonctionne même si l'application s'appelle, par exemple, "GimpPortable". L'entrée sera quand même proposée à l'ajout dans la Framasuite (on n'est pas sectaire ;) )

- à terme, j'anticipe que *beaucoup* d'applications seront nativement développées pour être portable. Et je ne parle même pas du jour ou Java sera *vraiment* libre...
Du coup, si je peux me permettre une critique envers portableApps, c'est de faire la même erreur que nous : vouloir "reformatter" les applis de façon importante (changement/déplacement de dossiers, ajout du appinfo, packaging spécial avec NSIS, liaison à un moteur donné (portableApps Suite), etc)
Ca ne me plait pas, car l'utilisateur pourrait se sentir enfermé. Et surtout, ça prends beaucoup de temps pour repackager l'appli et maintenir le portail.

Je préfère qu'on fasse au plus simple :
-- si l'appli n'est pas propre (base de registre, conf dans docs & settings, etc) : il faut écrire et motiver le développeur original plutôt que de chercher à bidouiller le travail à sa place
-- on conserve l'appli originale, telle quelle (avec parfois juste des différences dans les fichiers de confs ou de langues).
-- on la diffuse au format .zip, que tout le monde sait utiliser aujourd'hui (et qui fait prendre conscience au passage qu'une appli *peut* fonctionner n'importe où)
-- Framakey ne se charge que de valider le fait que l'appli soit propre, et ne propose qu'une modif mineure : ajout d'un lanceur "PortableXyz.exe" à la racine. Le lanceur peut d'ailleurs utiliser n'importe quel langage

Bref, utiliser le moteur Framakey, ça sera avoir plus de facilité, mais les applis fonctionneront très bien par ailleurs, sans ajout de fichiers ou un repackaging particulier.

- enfin, en terme de mise à jour : imaginons que pour PortableFirefox, on ait oublié d'ajouter qu'il fallait sauvegarder le dossier "/profile".
Si on part avec un fichier .ini par appli, il faut :
-- refaire PortableFirefox avec un nouveau .ini dedans. A faire par l'équipe Framakey.
-- changer le n° de version de PortableFirefox. A faire par l'équipe Framakey.
-- publier la nouvelle version en ligne. A faire par l'équipe Framakey.
-- modifier la page web de PortableFirefox. A faire par l'équipe Framakey.
-- mettre à jour le db.ini. A faire par l'équipe Framakey.
-- mettre à jour le db.ini pour que les utilisateurs le voient (et encore, il faut qu'ils le demande). A faire par l'utilisateur.
-- qu'ils mettent à jour portableFirefox (et en plus, le backup n'aura pas lieu !). A faire par l'utilisateur.
-- une fois leur portableFirefox à jour, il pourront lancer le backup, qui trouvera le fichier .ini, et saura faire le backup de /profile .A faire par l'utilisateur.
Complexe, long, casse-bonbon... :|

Si par contre on se contente de l'ajouter au db.ini
- mettre à jour le db.ini sur Framakey.A faire par l'équipe Framakey.
- l'utilisateur synchronise son db.ini à celui (plus récent) de Framakey, qui vient écraser son db.ini local. Opération automatique (optionnelle) au lancement de Framabackup.
- l'utilisateur lance Framabackup, qui se basant sur db.ini, trouve dans [PortableFirefox] qu'il faut sauvegarder /profile. Opération automatique
- le backup se lance, et se fait. Opération automatique.
Nettement plus simple !!!
Et infiniment plus rapide.

Bref, oui pour moi, Framabackup :
- récupère le db.ini distant et écrase le db.ini local (après approbation de l'utilisateur)
- prend en paramètre s'il s'agit d'un backup ou d'une restauration
- prend en paramètre optionnel un nom d'application
-- si pas de nom d'application, il récupère la liste des appli du /Apps local et propose un liste de cases à cocher pour sauvegarder/restaurer les applications en masse (plus tard, pas urgent)

Donc par rapport à ce que tu as fait, la modif est relativement simple : plutôt que d'aller chercher un .ini donné, il récupère en paramètre le nom de l'appli et va chercher son entrée dans le db.ini

Edit :
Voilà j'ai fini pour ça

Cool merci...

Pour info, message et réponse de Ganesh (le développeur d'appsnap)
Hello Pierre,
Congrats on the improvements you put into AppSnap for your needs. Sorry that I could not be of much help to you. I will go through your changes and integrate some of them when I get a chance.

Best regards,
Ganesh
- Hide quoted text -


On Thu, Aug 21, 2008 at 9:16 PM, pyg <pyg@framasoft.net> wrote:

Hi Ganesh,
as we were quite in a hurry, we made a small fork of Appsnap for our
Framakey 2.0

http://www.framakey.org/Pack/Pack20

(the page is in french, but if you download, you'll find a
"content.txt" file into the root dir in (bad) english)

Main modifications are :
- cacheTimeout = 0 -> empty cache
- add some system path variables to get appsnap truly portable
(installed.ini was always Docs & settings)
- hide some buttons
- option : do not open app dir when installation complete
- hide "removable" category

Of course, it will be released under GPL, but maybe you'll be
interested in viewing the source to integrate some of this
modifications ?

Regards,
Pierre-Yves
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Dim 24 Août, 2008 14:41

pyg a écrit:Ensuite, oui, je pense qu'il est préférable de se référer en permanence à une seule base (le db.ini) plutôt que de chercher dans le fichier "appinfo.ini" de chaque applications portable.

Ok ça marche pour moi, je vais modifier.
C'est clair que c'est 1000x plus simple que de tout repackager !!!
pyg a écrit:Ca a des inconvénients, je le reconnais, mais j'y vois plein d'avantages :

Non ça n'a pas d'inconvénients, d'ailleurs je ne vais pas brider FramaKeyBackup, c'est à dire que l'on pourra l'utiliser d'une manière ou d'une autre ;)
pyg a écrit:C'est pourquoi la partie du moteur qui détecte les nouvelles applications fonctionne même si l'application s'appelle, par exemple, "GimpPortable". L'entrée sera quand même proposée à l'ajout dans la Framasuite (on n'est pas sectaire ;) )

Ne pas oublié qu'on a mis une condition dans PortableAppSnap qui ne crée pas un dossier avant de dézziper si "Portable" se trouve dans le nom. Alors il peut s'appeler PortableGimp ou GimpPortable mais c'est tout. Ou alors on change pour autre chose.
pyg a écrit:Du coup, si je peux me permettre une critique envers portableApps, c'est de faire la même erreur que nous : vouloir "reformatter" les applis de façon importante (changement/déplacement de dossiers, ajout du appinfo, packaging spécial avec NSIS, liaison à un moteur donné (portableApps Suite), etc)
Ca ne me plait pas, car l'utilisateur pourrait se sentir enfermé. Et surtout, ça prends beaucoup de temps pour repackager l'appli et maintenir le portail.

J'ai pas tout pigé lol On a rien fait de tout ça dans PortableAppSnap ? ou tu veux parler de FramaKeyBackup ?

pyg a écrit:Bref, oui pour moi, Framabackup :
- récupère le db.ini distant et écrase le db.ini local (après approbation de l'utilisateur)
- prend en paramètre s'il s'agit d'un backup ou d'une restauration
- prend en paramètre optionnel un nom d'application
-- si pas de nom d'application, il récupère la liste des appli du /Apps local et propose un liste de cases à cocher pour sauvegarder/restaurer les applications en masse (plus tard, pas urgent)

Je me demande si on doit mélanger FramaKeyBackup avec la récupération automatique de db.ini....
C'est le role de AppSnap
FLtune -> Paramètrez le menu de votre FramaKey ! http://phpmouss.free.fr/FLtune.php
Mouss

Messages : 492
Géo : Nantes (La Haie Fouassiere)

Qui est en ligne ?

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