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

Dynamique Discussion :

Optimiser les liaison Flash/PHP/XML


Sujet :

Dynamique

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Optimiser les liaison Flash/PHP/XML
    Bonjour à tous

    Voila j'ai développé un petit jeu en flash, et celui ci gère un classement, dans un petit fichier XML (scores.xml) et je passe par un script PHP pour le mettre à jour.

    Jusque là rien d'extraordinaire.

    Mais j'aimerais savoir si il n'existe pas des méthodes + évolués pour faire cette "mise à jour".

    Actuellement mon code flash utilie loadvar() et SendandLoad(), et mon code PhP utilise fopen/fputs .

    Mon classement comporte 5 "entrées", les 5 meilleurs scores, mon script flash gére déjà une nouvelle entrée dans le cas ou un score le mérite (via des boucles avec un Array et une comparaison sur le score).

    Mais n'existe t'il pas une méthode + adaptée n'obligeant pas a chaque fois d'écraser mon XML pour le re-écrire, mais simplement de mettre à jour les propriétés de chaque Node ?

    genre un Childnote.attribute.score.update(variable) sous Flash ou PhP

    J'ai chercher sur le web mais je trouve peu d'infos la dessus, pourtant il me semble que PhP 5 integre une meilleure gestion du XML non ?

    Derniere question, dans le cas ou vous devriez mettre a jour plusieurs lignes d'un fichiers XML, quelle méthode utiliseriez vous ? un boucle ? (ce qui demanderais donc de pouvoir identifier les Node dans PHP non ?)
    ou un basique envoie d'une seul chaine comprenant tout le fichier XML ?

    Merci d'avance a ceux qui me répondront

    ps : il me semble que la seule solution est de créer moi meme un "parser", estce vraiment le cas ?

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    eup !

  3. #3
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Bonjour,

    Quelle version d'actionscript utilisez-vous ?

    Si vous souhaitez absolumment passer par php pour la gestion du xml, je vous conseille d'aller voir :
    http://eusebius.developpez.com/php5dom/
    http://baptiste-wicht.developpez.com/tutoriel/php/rss/

    Vous pouvez aussi gerer le XML du coté d'actionscript et ensuite le passer à php pour que celui-ci se charge juste de l'enregistrer sur le serveur par exemple.

  4. #4
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Pour la gestion des xml, je te conseille le parseur du framework pixlib (la classe XmlToObject) qui est très puissante.

    Ensuite pour communiquer de flash vers php et inversement sans te prendre la tête, le flash remoting est la solution de facilité, avec par exemple amfphp.
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Utilise que PHP-mySQL seulement
    Salut,

    L'écriture du score est effectivement laborieuse pour le serveur, à chaque fois réécrire le fichier quand un seul score est à mettre à jour, c'est long.

    Je serais toi je stockerais les scores dans la base mySql avec un update et je récupérerais uniquement les scores avec un sendAndLoad vers un mini script php, dans une seule variable.
    La réponse serait du style :
    scores=125,146,1500,325,524...etc

    Salut
    Chris

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Bonjour

    Je me joins à vous car je ne connais pas amfphp. Jusqu'à maitenant j'ai toujours utilisé du xml avec sendAndLoad entre Flash (MX ou 8) et PHP pour lire ma base de données Mysql.

    Si je comprends bien avec amfphp tout ceci se simplifie? c'est ça? Si quelqu'un peut m'aiguiller pour savoir s'il faut changer de méthode.

    Merci !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Bonjour,

    En effet l'utilisation de amfphp simplifie et est plus naturel que l'utilisation d'un fichier xml l'intermédiaire.
    Pour t'en faire une idée, rien ne vaut un essai, fais un test sur une page simple avec les 2 cas (avec amfphp et sans).

    Après souvent on a nos habitudes et c'est difficile de s'en défaire

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    et pourquoi ne pas utiliser tous simplement les webservice qui sont directement implementer dans flash ??

    exemples :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
     
    import mx.services.*;
       var wsdlURI = "http://www.monsite.fr/web-services/monwsdl.wsdl";
       // create the service    
       monService = new WebService(wsdlURI);
       // Handle the WSDL loading event.    
       monService.onLoad = function(wsdl) 
       { trace("--- onLoad");
         callphotos();
         trace("--- end onLoad");
       };
       // si le chargement du WSDL echou l'evenement onFault est declanché.    
       monService.onFault = function(fault) 
       { trace("--- rateService onFault");
          trace( fault.faultstring );
          trace("--- end rateService onFault");
       };
     
      function callphotos()
      { var 
           callback:PendingCall 
           callback = monService.searchphotos(); 
     
        // Handle a successful result. This is the important bit :-)    
        callback.onResult = function(result) 
        {  trace("--- Result");
    	createGalerie(result);
     	trace("--- end Result");
         };
     
       // Handle an error result.    
        callback.onFault = function(fault)
        {  trace("--- callback onFault");
           trace( fault.faultstring );
           trace("--- end callback onFault");
         }
       }
     
     //Création de la galerie
       function createGalerie(noeuds) //liste des images
       {   //On parcours la liste
    	 for (var i = 0; i<noeuds.length; i++) 
    	 { //nom de l'image
    	   var nom = noeuds[i].NOMFIC;
    	   //On crée un clip vide et le positionne
    	   var img = this.createEmptyMovieClip("img"+i, i);
    	    img._x = (i%5)*55+400;
    	   //On charge la miniature
              var mclListener:Object = new Object();
              mclListener.onLoadInit = function(target_mc:MovieClip) 
    	   { trace("--- mclListener onLoadInit");
    	      target_mc._height = 50; 
                  target_mc._width = 50;
    	      trace(target_mc._parent._name);
                 trace("--- end mclListener onLoadInit");  
              };
         var 
            view:MovieClip = img.createEmptyMovieClip("view", getNextHighestDepth());
    	var 
               mcLoader:MovieClipLoader = new MovieClipLoader();
               mcLoader.addListener(mclListener);
               mcLoader.loadClip("thumb/"+nom, view);
               img.onRelease = function() 
    	   { popup(this.nom, this.width, this.height); };
    	 }
       }
     
     //Lance une popup
       function popup(url, width, height) 
       { var lalargeur = Math.min(Number(width)+20, System.capabilities.screenResolutionX);
    	 var lahauteur = Math.min(Number(height)+20, System.capabilities.screenResolutionY);
    	 var t = (System.capabilities.screenResolutionY-lahauteur)/2;
    	 var l = (System.capabilities.screenResolutionX-lalargeur)/2;
    	 var propriete = "width="+lalargeur+",height="+lahauteur+",top="+t+",left="+l;
    	 if (lalargeur == System.capabilities.screenResolutionX || lahauteur == System.capabilities.screenResolutionY) 
    	 { propriete += ",scrollbars=1"; }
         getURL("javascript:void(window.open('"+url+"','image"+width+"','"+propriete+"'));");
       }
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  9. #9
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    J'utilise les classes remoting du framework pixlib car elles sont optimisées ce qui n'est pas toujours le cas des composants flash.

    De plus ce framework apportent tout un tas de fonctionnalités très intéressantes (parser les xml en objet, modèle mvc front controller...).

    En AS2 je te conseille d'essayer ce framework.
    En AS3, le framework laura est encore plus performant, car basé sur le design pattern IOC (en gros : le xml construit les objets et appelle les fonctions correctes).
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

Discussions similaires

  1. problème sur la galerie dynamique flash php xml
    Par poliakov27 dans le forum Flash
    Réponses: 3
    Dernier message: 16/02/2009, 15h15
  2. Aide sur AMFPHP liaison liaison flash/php ! Urgent !
    Par DjangoSwing dans le forum Flash
    Réponses: 2
    Dernier message: 17/04/2008, 11h49
  3. Réponses: 3
    Dernier message: 15/02/2008, 18h19
  4. Réponses: 6
    Dernier message: 08/02/2005, 17h50

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