IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

ASP MVC - HTML5 Offline mode


Sujet :

ASP.NET MVC

  1. #1
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    84
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Par d�faut ASP MVC - HTML5 Offline mode
    Bonjour,

    je d�veloppe une application accessible en mode "hors ligne" en utilisant les diff�rentes fonctionnalit�s d'HTML5.

    Cette application se r�sume � une liste de clients avec un bouton permettant de cr�er une commande sur ce client.

    /app/customers => /app/customers/123/orders/create (123 �tant l'ID du client).

    Lorsque l'utilisateur se connecte je r�cup�re en ajax la liste des clients puis la met dans le localStorage.
    Lorsque le serveur est offline je r�cup�re la liste des clients � partir du localStorage.

    Jusque l� tout va bien .

    Mon est probl�me survient lorsque j'essaye de cr�er une commande pour un client en �tant hors ligne.
    Je tente d'acc�der � l'adresse /app/customers/123/orders/create mais cette page n'�tant pas sp�cifi�e dans le manifest, je n'y arrive pas.

    Ma question est donc que dois-je sp�cifier dans mon manifest pour pouvoir mettre en cache une ressource dont l'URI d�pend de l'ID du client.

    Merci pour votre aide !

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CACHE MANIFEST
     
    # Version 0.1
     
    CACHE:
    [...] (css, img, js)
     
    NETWORK:
    *
     
    FALLBACK:
    / offline.html
    Scripts/online.js Scripts/offline.js

  2. #2
    Membre �m�rite Avatar de bizet
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par d�faut
    Salut,

    je ne comprend pas ce que tu veux faire!
    Il semblerait que tu veuilles stocker en cache les pages de chaque client?
    Je ne pense pas que ce soit une bonne id�e.

    Je te conseillerai de plutot faire correspondre ton url � une action et dans celle ci tu recuperes les infos de ton client depuis ton localStorage.

    Bon courage.

  3. #3
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    84
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Par d�faut
    D�sol� pour mon manque de clart� !

    Je ne souhaite �videmment pas stocker les pages de chaque clients

    Je pense qu'il y a deux choses � mettre en cache. La liste des clients :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    [ 
    { id: 1, name: 'Client 1' },
    { id: 2, name: 'Client 2' },
    ]
    Et la page me permettant de cr�er une commande (dans laquelle j'irai chercher les infos du client dans le localStorage).

    En mode online la page me permettant de cr�er une commande a l'adresse suivante : /app/customers/123/orders/create (o� 123 est l'ID du client).

    Lorsque j'essaye d'acc�der � cette m�me page en mode offline, le navigateur me redirige vers /app/offline.html (FALLBACK du manifest) ce qui est normal car la page � laquelle j'essaye d'acc�der n'a pas �t� mise en cache.

    Donc je veux juste savoir comment mettre en cache cette page.

    Merci !

  4. #4
    Membre �m�rite Avatar de bizet
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par d�faut
    En fait en relisant, ton approche est pas bonne.
    Quand tu seras en offline, tu n'accedes pas au serveur donc tu n'accedes pas aux controlleurs!!

    Donc si tu veux vraiment une version offline, tu vas devoir tout ecrire en JS!


    Dans ton manifest tu definis normalement une page vers laquelle tu rediriges s'il y a un probleme de connexion. Si tu veux faire de la gestion d'Id et d'actions, il va falloir que tu r��crives tout en Javascript...
    Jene suis pas certain que ce soit une binne id�e.

  5. #5
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    84
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Par d�faut
    La logique m�tier est d�j� en partie �crite en javascript. Dans mon cas le controlleur est utilis� juste pour renvoyer � la vue les donn�es du client.

    La solution serait de modifier la fa�on dont j'acc�de � mes pages devant �tre mise en cache et la mani�re d'�changer des donn�es entre elles.

    Pour r�sumer :

    /app/customers/list (pour acc�der � la liste des clients)
    /app/customers/orders/create (pour cr�er une commande)

    Lorsque je clique sur un des clients de la liste, je sauvegarde dans le localStorage le client s�lectionn� puis je redirige vers la page de cr�ation de commande.

    Lorsque je charge la page de cr�ation de commande je r�cup�re dans le localStorage le client selectionn�.

    Ce qui m'emb�te c'est que les URL perdent de leur sens, mais puis-je faire autrement ?

    Quand tu dis que tu n'est pas certain que ca soit la bonne solution, tu parles du fait de tout r��crire en javascript ? Si oui quelle autre solution ai-je pour g�rer le mode offline de mon application.

    Merci de ton aide.

  6. #6
    Membre �m�rite Avatar de bizet
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par d�faut
    Citation Envoy� par redkan Voir le message
    Quand tu dis que tu n'est pas certain que ca soit la bonne solution, tu parles du fait de tout r��crire en javascript ? Si oui quelle autre solution ai-je pour g�rer le mode offline de mon application.

    Merci de ton aide.
    Une appli web se doit, amha, d'�tre et de rester connect�. Sinon il ne s'agit plus d'une application web...
    Je ne connais pas tes contraintes, mais je me serais plutot tourn� vers une appli lourde avec connexion � des services WCF.

    Une appli hors ligne c'est � dire? Genre la personne sur son ordi portable dans le train sans r�seau?
    Mais quand elle va faire appel � l'url, le navigateur va lui retourner une erreur comme quoi il n'est pas connect� au net...
    Et s'il y a du cache, c'est seulement le code g�n�r� qui est cach�!

    Dans ton cas, tu parles de cache. Soit, mais si ton utilisateur param�tre son navigateur pour vider le cacher a chaque fois qu'il ferme le navigateur.... Au prochain demarrage les pages ne seront plus accessibles.

    Tu vas avoir des pages / du code en cache que tu ne g�res pas. Tu ne sais pas si les diff�rentes parties seront toujours en cache...

    Enfin tu dois pouvoir tout g�rer depuis le JS, mais je pense que ca va etre une bonne usine a gaz

  7. #7
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    84
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Par d�faut
    Une appli web se doit, amha, d'�tre et de rester connect�. Sinon il ne s'agit plus d'une application web...
    Dans ce cas quel est l'int�r�t de l'API Offline d'HTML5 ? Il s'agit d'une application WEB � laquelle je veux donner la possibilit� de fonctionner en mode offline, comme peut l'�tre un Google Docs ou un Gmail.

    Je ne connais pas tes contraintes, mais je me serais plutot tourn� vers une appli lourde avec connexion � des services WCF.
    Je connais pas assez bien WCF mais je pense que les probl�mes auraient �t�s a peu pr�s les m�mes.

    Une appli hors ligne c'est � dire? Genre la personne sur son ordi portable dans le train sans r�seau?
    En gros c'est �a, c'est une application de prise de commandes pour des personnes itin�rantes. Ces personnes n'ont pas forc�ment de connexion et lorsqu'elles visitent leurs clients, elles doivent quand m�mes enregistrer leurs commandes.

    Et s'il y a du cache, c'est seulement le code g�n�r� qui est cach�!
    En effet mais le navigateur interprete quand m�me le code. D'o� l'int�r�t de d'�crire la logique m�tier en javascript, code qui sera aussi "cach�".

    Dans ton cas, tu parles de cache. Soit, mais si ton utilisateur param�tre son navigateur pour vider le cacher a chaque fois qu'il ferme le navigateur.... Au prochain demarrage les pages ne seront plus accessibles.
    Non car il y a deux types de caches qu'on pourrait appeler "Browser cache" et "Application cache". L'exemple que tu mentionnes fait r�f�rence au premier. Le second lui n'est pas supprimer quand l'utilisateur d�cide de supprimer le "Browser cache" et c'est celui l� (Application cache) qui est utilis� par l'API Offline d'HTML5 et par le localStorage.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Enfin tu dois pouvoir tout gérer depuis le JS, mais je pense que ca va etre une bonne usine a gaz
    Pourtant sur papier ca parrait simple : Je cache les pages, et la logique m�tiers. Lorsque je suis hors ligne j'affiche les pages en cache puis r�cup�re les infos et sauvegarde dans le localStorage. Lorsque je suis en ligne j'affiche les pages du serveur (si plus r�cente) r�cup�re les infos et sauvegarde via des appels ajax au serveur.

    La grosse difficult� je pense reste le manque d'exemples et de bonnes pratiques d� au fait que ce sont des technos assez r�centes.

Discussions similaires

  1. ASP.NET MVC 3 en mode 32bits (iis express)
    Par durnambule dans le forum D�veloppement Web avec .NET
    R�ponses: 0
    Dernier message: 11/10/2012, 13h12
  2. R�ponses: 1
    Dernier message: 17/11/2010, 10h53
  3. ASP MVC 2 personnalisation profile
    Par thesyd dans le forum ASP.NET MVC
    R�ponses: 0
    Dernier message: 16/11/2010, 16h45
  4. Update Pannel et ASP MVC 2
    Par litig dans le forum ASP.NET MVC
    R�ponses: 1
    Dernier message: 20/05/2010, 09h43
  5. [ASP MVC] Validation formulaire en 4 �tapes
    Par zax-tfh dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 30/11/2009, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo