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

Ext JS / Sencha Discussion :

Echanges entre le datastore et le serveur


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Par défaut Echanges entre le datastore et le serveur
    Bonjour,

    Etant débutant en Sencha, j'ai encore un peu de mal avec quelques concepts. Notamment la façon dont s'effectuent les échanges entre le datastore et le serveur de base de données.
    Comme indiqué dans la FAQ, "Un DataStore est un espace de stockage de données conforme à un modèle. Il permet la lecture et l'écriture de données. Associé à un proxy, il permet les échanges entre le client et le serveur."
    Ma question est à ce niveau : Comment s'effectue les échanges entre le client et serveur ? Je me doute qu'une brique en php (par exemple) doit se nicher quelque part, mais où et comment la configurer ?
    J'ai lu beaucoup dans la documentation de Sencha, mais je n'ai rien trouvé sur ce point précis. J'ai peut être mal lu ou zappé (surement) des passages. Des explications simples et claires sont les bienvenues.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Bonjour

    je te conseille de suivre la doc Datapackage
    http://docs.sencha.com/extjs/4.1.3/#!/guide/data
    et donc de mettre le proxy dans le modèle.
    en effet si tu gère des relation entre modèle ça ne fonctionne pas si tu le mets dans le datastore.

    je te conseille aussi de faire entièrement le tuto MVC
    http://docs.sencha.com/extjs/4.1.3/#...n_architecture

    il y a dedans une partie Saving to the server

    sencha te propose plusieurs type de proxy et donc plusieurs façon de discuter avec ton serveur.
    celle du tuto utilise JSON

    le plus simple est d'utiliser une url statique vers un fichier JSON qui contient la réponse attendue par sencha.

    lorsque ta partie ExtJS est au point tu peux définir sur ton serveur PHP des url qui corespondent au requête que t'envois ExtJS et produire le JSON correspondants.

    il ne te reste plus qu'a remplacer les url statique par les url dynamique.

    tu peux donc facilement faire développer la partie PHP par une autre équipe que la partie JS

    A+JYT

  3. #3
    Membre averti
    Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Par défaut
    @Sekaijin,

    Bonjour et Merci pour ta réponse.
    Je vais suivre tes conseils et faire entièrement le tuto MVC (ce que j'ai commencé à faire). J'ai cependant constaté comme une contradiction entre le doc Datapackage et l'exemple dans le tuto MVC. En effet, dans la doc on préconise de mettre le proxy dans le Model (c'est ce que tu expliques aussi). Par contre, dans l'exemple du tuto, le proxy qui permet d'échanger avec le serveur est modifié, certes, mais laissé dans le store.
    Il y a certainement différentes façons de faire. Si oui quelle est la meilleure.

    Merci.

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    logiquement je le mettrait dans le store car le proxy est bien un moyen de faire communiquer le store avec la source de donnée.

    mais en fait si tu as deux source de donnée qui ont une relation one-one, one-many, many-one, ou many-many si tu mets le proxy dans le store les relations ne fonctionnent plus automatiquement.

    je ne sais pas pour quoi. du coup maintenant je suis la doc du data package.
    Mais je trouve ça pas très logique.

    A+JYT

  5. #5
    Membre averti
    Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2012
    Messages : 29
    Par défaut
    Je suis en train de faire le tuto MVC avec Sencha Architect. Je constate que le code produit par Sencha Architect n'est pas exactement identique à celui du tuto. Je bute notamment sur les boutons Save et Cancel du formulaire Edit user. je n'arrive pas avec Sencha Architect à définir les propriétés "action:save" pour le bouton Save et "scope:this,handler:this.close" pour le bouton Cancel. Je ne peux pas non plus les rajouter manuellement car le code est en read only.

    Des explications sont les bienvenues.

    Merci.

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    je n'ai pas sencha architect et la version que j'ai eu était lors de sa phase de mise au point 0.xxb donc très loin de ce qu'il est aujourd'hui.

    je ne sais pas du tout comment il fonctionne aujourd'hui.
    sorry

    fans le form useredit du tuto le bouton sont ajouté dans la methode init
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    initComponent: function() {
            this.items = [
                {
                    xtype: 'form',
                    items: [
                        {
                            xtype: 'textfield',
                            name : 'name',
                            fieldLabel: 'Name'
                        },
                        {
                            xtype: 'textfield',
                            name : 'email',
                            fieldLabel: 'Email'
                        }
                    ]
                }
            ];
     
            this.buttons = [
                {
                    text: 'Save',
                    action: 'save'
                },
                {
                    text: 'Cancel',
                    scope: this,
                    handler: this.close
                }
            ];
     
            this.callParent(arguments);
        }
    Il y a un commentaire dans sencha architect qui dit d'utiliser un toolbar.
    Citation Envoyé par http://docs.sencha.com/architect/2/#!/guide/views_forms_extjs
    You can do without the buttons config of the form panel. To get buttons at the bottom of your form in Sencha Architect:

    Add a toolbar to your form panel
    Set dock property of toolbar to 'bottom'
    Set pack property of toolbar to 'end'
    Set ui property of toolbar to 'footer'
    Add Submit and Cancel buttons
    je ne sais pas si c'est la bonne solution mais c'est à essayer.
    A+JYT

Discussions similaires

  1. Echange de données entre application Android et un serveur web
    Par ykharroubi dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/09/2012, 11h47
  2. Réponses: 8
    Dernier message: 10/06/2011, 10h44
  3. echanges entre client et serveur
    Par sadatesso dans le forum Web & réseau
    Réponses: 0
    Dernier message: 23/08/2009, 14h57
  4. 9.2 Echange entre serveurs
    Par lunab54 dans le forum Oracle
    Réponses: 1
    Dernier message: 24/12/2005, 17h38
  5. [c-linux]echange entre 2 sockets
    Par .:dev:. dans le forum Développement
    Réponses: 2
    Dernier message: 11/06/2004, 19h13

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