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 :

Ext Js et Codeigniter


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Par défaut Ext Js et Codeigniter
    Bonjour,

    Je cherche à développer une application web métier avec une ergonomie sympa basée sur une interface utilisateur à base de javascript et des requêtes de type ajax pour éviter le reload de toute la page à chaque fois que l'utilisateur fait une action. Côté serveur je compte utiliser PHP et Mysql.

    J'aimerai avoir votre avis avant de me lancer dans mon projet de dev sur le fait d'utiliser ExtJS 4 pour l'interface et Codeigniter pour la partie PHP.

    J'ai étudié les tutos des 2 frameworks et j'avoue avoir un peu de mal à voir comment les 2 vont pouvoir cohabiter.

    Mon idée de base est d'avoir un framework javascript pour ne pas avoir à tout coder au niveau de l'interface utilisateur et un framework php pour profiter des fonctions qu'il apporte comme la gestion simplifiée des requêtes à la base, la génération d'image, etc..

    Est ce que l'un d'entre vous à déjà utilisé cette combinaison ?

    Est ce que vous avez une autre combinaison à me proposer ?

    Merci d'avance pour votre retour d'expérience.

  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
    je ne connais pas le fonctionnement de Codeigniter mais j'ai adopté cette démarche avec Zend_Framework.

    la première chose je n'ai qu'une seule page HTML car mon but est d'avoir une appli et non un site
    (on ne définit pas une url pour chaque action que l'on fais dans notepad++)


    l'appli démarre donc comme n'importe quelle appli Zend MVC

    l'url invoqué démarre le front controller qui trouve le ou les controllers adéquat charges les modèles et retourne une page construite par une vue.

    ici comment la première étape de l'intégration Zend_Extjs la vue est un banale page html qui contient
    les reférence au divers css
    import de ext-all.js l'import du fichier locale en fonction de la langue de l'utilisateur.
    un block perso.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    globalInfos=<?php echo(json_encode($globalInfos); ?>;

    cette petit ligne magique va définir une variable globale dans javascript appelée globalInfos
    c'est un objet js qui contient diverses entrée comme le nom de l'utilisateur sa langue et quelques infos que le serveur possède et dont peut avoir besoin extjs. c'est très libre.
    en suite vient une référence au fichier js de l'application app.js.
    et pour finir un corps vide.
    (pour les très grosses applis je mets une image splashscreen pour faire patienter qui sera enlevée par app.js lorsque le code js démarre.)

    lorsque l'apli a démarée j'ai l'IHM qui est en place côté ExtJs j'utilise MVC aussi et mes différent modules via ajax invoque le serveur pour obtenir des données en json.

    pour chaque url (ajax) j'ai une action dans un controller Zend je me base donc là encore sur la structure MVC de Zend.

    pour la mise au point je traite ces controlleurs comme si je n'avais pas ExtJS je pas donc pas le mécanisme de model et ma vue est un simple
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <pre><?php print_r($response);?></pre>
    du coup je peux invoquer mon url via le navigateur et faire la mise au point tranquillement.
    Lors le cycle MVC pour cette url ets OK je supprime la vue et j'indique à mon controleur ne plus produire de vue mais de retourner avec les entête adéquat
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo utf8_encode(json_encode($response));

    C'est fait les deux sont branchés.

    Les avantage avec cette approche sont les suivants
    • séparation de la partie javascript de la partie php (aucun code java n'est généré en php)
    • utilisation au mieux des capacité MVC de Zend
    • utilisation au mieux des capacité MVC de ExtJS
    • Possibilité de travailler en deux équipes
    • définition claire du contrat de service entre le client ExtJS et le serveur Zend
    • des perfs très bonnes (utilisations optimale des caches réseau et serveur.
    • possibilité de définir des bouchons json pour le client.
    • [possibilité de changer de techno côté serveur (une appli est passé de Zend à tomcat sans modifier une ligne de javascript)
    • Utilisation de Zend en conservant la philosophie du framework
    • utilisation de ExtJS en conservant la philosophie du framework
    • Présentation de prototypes d'interface interactive sans avoir besoin d'un serveur (un index.hml remplaçant la page généré par le serveur.
    • Pas une seul concaténation de chaine pour obtenir un bout de code HTML ou js ou css
    • Aucun problème de mélange de " et autre ' et \' ou \" une chaine js reste dans js et une chaine php dans php.


    A ce jour la plus grosse appli développé de la sorte fait environ 26 000 lignes de JS et 30 000 lignes de php.
    les seules fois ou elle s'est montrée lente fut lorsqu'un "dirigeant" a exigé que dans un arbre certain utilisateur ait tous les objets de la base. (alors qu'un filtre modifiable par l'utilisateur obligeait d'en avoir qu'une partie) Il fut impossible de lui faire admettre que ça ne pourrait jamais fonctionner. lorsque php à déversé via json les millions de lignes dans l'arbre IE6 à généré un coredump si j'ose dire, firefox semblait tourner sur un 8086 à 0.5MHz. par test on c'est amusé à attendre que FF rende la main et au bout de plus d'une heure lorsque cela était. nous avons remis un filtre et il repartit vaillamment au bout d'une heure environ. il est ensuite redevenu réactif. en fait chargé tant d'objet avait saturé la mémoire mais il a résisté.
    le "dirigeant" exigeant a baissé sa garde et à fait comme tout le monde choisit un filtre pour ne voir que quelque centaine d'entre dans l'arbre.

    A+JYT

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Par défaut aide zend et extjs
    Bonjour, j'essaye de développer une application avec zend et extJS, mais je suis bloquée, je ne sais pas comment structurer mon projet suivant le modèle MVC des deux applications ? pouvez vous me dire a quoi ressemble l'architecture du projet avec les deux framworks en même temps. merci d'avance pour votre aide.

  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
    suivre la procédure de zend pour créer un projet Zend avec un controleur index et une vue index
    Code text : 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
    root
    |-- application
    |   |-- Bootstrap.php
    |   |-- configs
    |   |   `-- application.ini
    |   |-- controllers
    |   |   |-- ErrorController.php
    |   |   `-- IndexController.php
    |   |-- models
    |   `-- views
    |       |-- helpers
    |       `-- scripts
    |           |-- error
    |           |   `-- error.phtml
    |           `-- index
    |               `-- index.phtml
    |-- library
    `-- public
        |-- .htaccess
        `-- index.php]

    suivre le tutorel MCV de ExtJS en prenant pour racine le dossier public du projet zend

    le tutoriel sencha défini un fichier index.html
    reporter le contenu de ce fichier dans la vue index.phtml et supprimer le fichier.

    démarrer l'appli zend avec son url de base
    et l'appli ExtJS démarre

    A+JYT

  5. #5
    Nouveau candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Par défaut
    ca fonctionne bien. merci sekaijin

Discussions similaires

  1. MSXML4 - <!DOCTYPE> Problème avec <!ENTITY> exte
    Par trent94 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 11/07/2005, 17h20
  2. Drag and Drop inter process entre delphi et une appli. ext.
    Par protheus dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/06/2005, 22h36
  3. Configuration d'une imprimante réseaux accessible de l'ext
    Par Tartenpion dans le forum Développement
    Réponses: 1
    Dernier message: 20/03/2005, 21h47
  4. récupérer des nom de fichiers en utilisant *.ext
    Par drinkmilk dans le forum ASP
    Réponses: 11
    Dernier message: 15/12/2004, 09h21
  5. [68000] EXT nombre négatif
    Par fastzombi dans le forum Autres architectures
    Réponses: 2
    Dernier message: 02/05/2004, 12h17

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