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

Zend Framework PHP Discussion :

Zend et API Youtube


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut Zend et API Youtube
    Bonjour à tous.

    Je viens vers vous car il m'arrive un problème assez étrange.

    J'utilise l'API Google Data de zend (http://framework.zend.com/download/gdata) pour la recherche dynamique de vidéo sur YouTube.

    De temps en temps (dans 40% du temps), j'ai une erreur à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $response = $this->_httpClient->request($method);
    (dans Zend/Gdata/App.php), ce qui fait que j'ai une page quasi blanche car cet appel bloque tous le reste du chargement de la page.

    C'est assez génant car c'est une page de résultat de recherche, et donc dans 40% du temps, mes visiteurs voit une page semi blanche


    Cet appel est déclencher sur la ligne $feed = $yt->getVideoFeed($query->getQueryUrl()); de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $yt = new Zend_Gdata_YouTube();
    				    $query = $yt->newVideoQuery();
    				    $query->setQuery($searchTerm);
    				    $query->setStartIndex($startIndex);
    				    $query->setMaxResults($maxResults);
    $feed = $yt->getVideoFeed($query->getQueryUrl());
    En faisant du débuging, je suis ce parcours :

    • getVideoFeed() est appelé dans Gdata/YouTube.php. Il appel lui même la fonction getFeed();
    • getFeed(); est appelé dans /Gdata.php qui appel la méthode parente getFeed();
    • La méthode parente getFeed(); est appelé dans Gdata/App.php, et là ça plante.


    Si je décortique la ligne $this->_httpClient->request($method); je sais que $this->_httpClient est un objet instancié depuis Gdata/HttpClient.php qui lui même hérite de l'objet Http_Client du FrameWork de Zend.....


    Je suis complétement perdu et ne sais que faire pour éviter à mes visiteurs ce désagrément. Si vous avez des idées je suis plus que preneur !

    Merci d'avance,

    EDIT : Je suis sur un serveur mutualisé OVH et j'ai essayé de multiple version de l'API, sans succès.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Par défaut
    Hello,

    Bienvenu dans le web 2.0
    Ce que tu fait est en fait de basé une partie de l'affichage de ta page sur une requête à un serveur que tu ne maîtrise pas, ici google.

    Dans ce cas, sans même savoir pourquoi de temps en temps la requête échoue ton code doit absolument considérer que c'est une possibilité et gérer l'erreur.

    Pour cela, le mécanisme des exception est parfait, il te suffit de placer un bloc try … catch autours du code pouvant échouer et de prévenir gentillement l'utilisateur de ton site qu'un problème est survenu.

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut
    Merci de ta réponse patbator.

    Même en mettant gérant les exceptions, ma page ne se charge pas. J'ai beau mettre des try un peu partout, la page reste bloquée..

    La question que je me pose c'est que je ne suis assurément pas le seule à utiliser cette API, et donc potentielement il y aurai des milliers (millions?) de site qui, dans 40% du temps, offre une belle page semi-blanche ) leurs visiteurs?

    J'opte plus pour une erreur dans mon code ou configuration serveur mais je n'ai plus aucune piste d'exploration..

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Par défaut
    Hello,

    Donc là, si tu veux qu'on puisse t'aider il va falloir rentrer plus dans les détails de ton code.

    Montre-nous le controller incriminé ainsi que le model qui utilisi GDATA*si tu en as un.

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/03/2013, 15h06
  2. Erreur généré par Gdata de Zend en utilisation avec l'API youtube
    Par JohnBegood dans le forum Zend Framework
    Réponses: 3
    Dernier message: 27/11/2012, 13h13
  3. [Web Service] Api Youtube : Comment faire sans Zend ?
    Par Yorublaireau dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/01/2012, 13h58
  4. Implémentation de l'API Youtube
    Par floboss dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 07/12/2008, 17h19

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