Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stockage offline #117

Closed
nicosomb opened this issue Aug 9, 2013 · 22 comments
Closed

stockage offline #117

nicosomb opened this issue Aug 9, 2013 · 22 comments
Labels
Milestone

Comments

@nicosomb
Copy link
Member

nicosomb commented Aug 9, 2013

No description provided.

@bobmaerten
Copy link
Contributor

Tout dépend de ce que tu envisages en terme applicatif ?

  • stockage des articles pour consultation offline
  • fiabilisation des actions (mettre un article en poche dans un tunnel pour synchro online)
  • amélioration des performances (préchargement des assets)

Globalement, ce serait bête de pas s'en servir, mais faut savoir comment le placer dans l'architecture cible.

@nicosomb
Copy link
Member Author

première application : stockage des articles pour consultation offline.

Bêtement, j'utilisais localStorage, alors qu'il faut utiliser le cache manifest http://diveintohtml5.info/offline.html

@bobmaerten
Copy link
Contributor

Ok, je connais pas la techno, mais il faut un système avec un peu de JS pour que ça fonctionne non ?

@nicosomb
Copy link
Member Author

pour localStorage oui.

Pour le cache manifest, pas du tout. Juste un bête fichier poche.manifest à mettre à la racine de l'appli et on y référence toutes les ressource que l'on veut mettre en cache. Gros inconvénient : pas possible de mettre des patterns. Un répertoire d'images doit donc être entièrement listé par exemple.

@bobmaerten
Copy link
Contributor

Ok, à creuser en effet alors !

(comme quoi, on n'a jamais fini d'apprendre...)

Le 13 septembre 2013 13:35, Nicolas Lœuillet notifications@github.com a
écrit :

pour localStorage oui.

Pour le cache manifest, pas du tout. Juste un bête fichier poche.manifest
à mettre à la racine de l'appli et on y référence toutes les ressource que
l'on veut mettre en cache. Gros inconvénient : pas possible de mettre des
patterns. Un répertoire d'images doit donc être entièrement listé par
exemple.


Reply to this email directly or view it on GitHubhttps://github.com//issues/117#issuecomment-24388699
.

@nicosomb
Copy link
Member Author

par contre, vu comment poche est structuré, c'est pas pratique. Car chaque page affichée est en fait la page index.php avec les paramètres en GET ... et ça peut générer des pbms d'affichage.

Le mieux : tout changer :/
Autre solution : utiliser l'URL rewriting pour réécrire les URL...

@nicosomb
Copy link
Member Author

problème pour nos articles pochés : par défaut, si on ne va pas sur leur page, ils ne sont pas stockés localement.
Ce qu'il faudrait, c'est générer le fichier manifest dynamiquement je pense.
Un avis quelqu'un?

@bobmaerten
Copy link
Contributor

De toute façon, si tu veux faire évoluer, tu ne peux pas éternellement rétrocompatible.

@nicosomb
Copy link
Member Author

rétro compatible entre les différentes versions de poche 1.x ? Si, ça, il faut que ça le soit.

Par contre, c'est quasi sur que poche v2 ne sera pas rétrocompatible avec la v1.

@bobmaerten
Copy link
Contributor

Ca allait de soi.
Et c'est bien le souci de pas pouvoir ajouter trop de nouvelles features
dans 1.x qui va poser problème.

Le 13 septembre 2013 14:00, Nicolas Lœuillet notifications@github.com a
écrit :

rétro compatible entre les différentes versions de poche 1.x ? Si, ça, il
faut que ça le soit.

Par contre, c'est quasi sur que poche v2 ne sera pas rétrocompatible avec
la v1.


Reply to this email directly or view it on GitHubhttps://github.com//issues/117#issuecomment-24389744
.

nicosomb added a commit that referenced this issue Sep 13, 2013
@nicosomb
Copy link
Member Author

Pour info, la branche html5 peut être testée.

@tcitworld
Copy link
Member

Je confirme que ça marche sous Chromium mais pas sous le dernier Firefox (paramètres par défaut en tout cas).

@tcitworld
Copy link
Member

Et j'ai trouvé pourquoi !

D'après http://appcachefacts.info/

In Firefox, any resources served with Cache-control: no-store will not be cached, even if they're explicitly included in the manifest.

Or dans Chromium, quand je vais sur chrome://appcache-internals et que je vais voir un item caché (view entries), il est marqué :

Cache-Control: max-age=0, no-cache, no-store, must-revalidate, post-check=0, pre-check=0

Donc voilà, faut se débarrasser de ce mauvais en-tête avec header().

Si c'est pas déjà fait demain soir, je propose un commit. :)

@nicosomb
Copy link
Member Author

merci. je regarde ça et je te dis quoi !

@nicosomb
Copy link
Member Author

Tiens, dans Chromium, il ne m'affiche pas Cache-Control dans appcache-internals.

Comme je disais sur twitter, sous Firefox, la partie d'installation est mise en cache. Et après l'install, paf plus rien.

@tcitworld
Copy link
Member

Si je clique sur view-entries :
http://a.yfrog.com/img692/9409/t57g.png
et ensuite par exemple sur la première page :
http://a.yfrog.com/img268/1203/tg43.png
J'ai la version 27.
Peut-être une config Apache différente ?

De toute manière, il suffit de consulter les headers HTTP reçus.

@nicosomb
Copy link
Member Author

chromium 28 ici.

voici ce qu'il me retourne :

HTTP/1.1 200 OK
Date: Sat, 14 Sep 2013 19:30:50 GMT
Server: Apache/2.2.22 (Ubuntu)
X-Powered-By: PHP/5.4.9-4ubuntu2.3
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 1184
Content-Type: text/html

@tcitworld
Copy link
Member

L'outil réseau de Firefox me donne dans le header

Cache-Control : max-age=0, no-cache, no-store, must-revalidate, post-check=0, pre-check=0

Et le reste que tu as aussi. Mais j'ai plus de paramètres.

Tu peux aussi tester http://web-sniffer.net/ avec comme URL http://tcit.fr/poche-html5/ ou ton propre serveur.

@nicosomb
Copy link
Member Author

bon, je te laisse regarder si tu veux bien.
j'ai modifié un peu la génération, prends bien la dernière version.

@tcitworld
Copy link
Member

Houlà, c'est plus compliqué que prévu, sous Chromium y a en fait des gros soucis.

  • Avec PHP en mode debug, mais seulement sous Chomium, pas sous Firefox, j'ai Notice: Undefined index: sort in .../poche-html5/inc/poche/Database.class.php on line 144 au moment du login.
  • Toujours avec Chromium, une fois loggé, plus possible de quitter la session (lien logout n'a aucun effet).
  • Firefox s'en fiche totalement toujours.
  • Je n'arrive vraiment pas à passer ce Cache-control à autre chose que no-cache avec un fichier .htaccess. Peut-être que forcer le header à l'aide de php fonctionnera mais dans ce cas les ressources ne seront pas mise en cache.

@nicosomb
Copy link
Member Author

Bon courage.

@nicosomb
Copy link
Member Author

I think it's not the job of poche (I mean web version). Each third application has to manage offline.

I close this issue.

@nicosomb nicosomb modified the milestones: 2.0, 2.0.0-alpha Aug 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants