wpmovielibrary / wpmovielibrary-trailers

Add Trailers support to WPMovieLibrary
http://wpmovielibrary.com/wpmovielibrary-trailers
4 stars 1 forks source link

Recherche sur Allociné #5

Open lesurfeur opened 10 years ago

lesurfeur commented 10 years ago

Bien souvent les bandes-annonces sont présentes sur le site Allociné mais le plugin ne trouve rien et mouline sans cesse. Je ne sais pas comment la recherche s'effectue via le plugin, je ne me suis pas encore penché sur le code, mais sinon la class d'étienne gauvin était pas mauvaise, je l'ai utilisé pendant un moment, cela vaudrait peut être le coup d'y jetter un oeil.

caercam commented 10 years ago

Ça, ça veut très probablement dire une erreur JavaScript. Quel(s) film(s) par exemple ?

La recherche se fait en utilisant l'URL qu'Allociné utilise pour son autocomplétion dans la barre de recherche ; je connais la classe d'Étienne Gauvain, j'avais joué un peu avec au début du développement du plugin, mais Allociné n'a pas d'API publique et documentée, je préfère éviter d'utiliser une API non-officielle et donc potentiellement problématique. C'est d'ailleurs pour cette raison que le plugin utilise TMDb et non IMDb ou Allociné : TMDb est officielle et documentée, gage de meilleure fiabilité.

lesurfeur commented 10 years ago

Alors trois situations, (avec les exemples cités, mais cela vaut pour la plupart des titres)

capture1

sur le site Allociné : capture5

sur le site Allociné : capture4

caercam commented 10 years ago

Parfait, là on va pouvoir regarder ce qui cloche. Merci !

lesurfeur commented 10 years ago

Il y a peut être d'autres cas, mais pour le moment j'ai relevé ces trois la, pour faire avancer le schmilblick :wink:

caercam commented 10 years ago

Réglé pour l'erreur avec Le vent se lève : pour je ne sais quelle raison, une variable JavaScript qui s'affiche parfaitement via console.log() déclenche une erreur car vaut undefined… Incompréhensible. On continue les recherches pour les autres films.

lesurfeur commented 10 years ago

On va dire oui et non. Il trouve bien les vidéos (pas toutes d'ailleur) mais pas la bande-annonce : Le Vent se lève Bande-annonce VF qui est à cette adresse : http://www.allocine.fr/video/player_gen_cmedia=19539872&cfilm=197176.html

caercam commented 10 years ago

En fait le plugin n'utilise pas la page « Bandes-annonces » d'Allociné, il récupère les vidéos présentent sur la page principale du film ; le but est de ne pas avoir à télécharger successivement deux pages d'Allociné (il faut d'abord récupérer la page principale pour pouvoir trouver le lien vers la page bandes-annonces…). Une alternative serait d'utiliser la page http://www.allocine.fr/videos/fichefilm-197176/toutes/, mais là on ne peut pas vraiment filtrer uniquement les bandes-annonces, donc surcharge de vidéos…

lesurfeur commented 10 years ago

Réglé pour le vent se lève mais cela persiste pour d'autre titre ex: Think Like a Man Too qui est également "undefined" et pourtant il y a bien un BA.

caercam commented 10 years ago

Problème différent : ça se produit apparemment avec les films qui n'ont qu'une seule vidéo disponible, c'est aussi le cas pour The Angriest Man in Brooklyn. J'y travaille :)

lesurfeur commented 10 years ago

ok

caercam commented 10 years ago

Changé la page utilisée pour les bandes-annonces par http://www.allocine.fr/videos/fichefilm-movie_id/toutes/ ; du coup on récupère toutes les vidéos ou presque, ce qui n'est pas terrible, mais il y a une grosse difficulté pour récupérer les images d'aperçu qui fait que seules les bandes-annonces ont une miniature, ce qui tout bien réfléchis n'est pas une mauvaise chose.

Le problème des aperçus peut-être plus embêtant quand il n'y a qu'une seule vidéo, mais en même temps dans ce cas précis le choix est vite fait :P

caercam commented 10 years ago

Et possible solution aux titres « undefined », a priori ça se produit quand il n'y a pas de titre français donné dans le résultat de recherche Allociné. Dans ce cas, on utilise le second titre donné.

lesurfeur commented 10 years ago

Ma fois, c'est pas trop mal. Cela fonctionne bien je trouve.

lesurfeur commented 10 years ago

Une petit message serait bien pour nous dire qu'il n'a pas trouvé de BA. Exemple avec "Golgotha", il trouve bien le film avec la recherche allociné, on clique sur l'affiche mais hop rien, normal puisqu'il n'y a pas de BA.

lesurfeur commented 10 years ago

Bon bin, cela fonctionne pas a tout les coups.

Exemple avec le titre "Pépé le Moko", il ne trouve rien et il y a bien une BA. il me sort : Les petits mouchoirs Harry Potter et les reliques de la mort - partie 2 Harry Potter et les reliques de la mort - partie 1 No Country for Old Men - Non, ce pays n'est pas pour le vieil homme Ne le dis à personne Le Secret de Brokeback Mountain

caercam commented 10 years ago

Effectivement, pour Pépé le Moko la recherche rapide Allociné ne renvoie pas les bon résultats… Du coup je ne vois aucun moyen direct de corriger ça, c'est le résultat de recherche qui est erroné, pas son traitement :(

Bonne idée pour le message si pas de bande-annonce, par contre, je pensais l'avoir fait mais apparemment non :flushed:

lesurfeur commented 10 years ago

Pépé le moko est juste un exemple, plus de 60% des titres que j'ai testé sont dans ce cas la. Et pour Youtube le problème n'est pas le même mais le pourcentage augmente encore plus.

caercam commented 10 years ago

Je crois que ça va être la limite du plugin dans l'immédiat malheureusement… La recherche rapide Allociné n'est pas très efficace pour les vieux films / films peu connus ou reconnus, et leur page de recherche est un bordel incroyable à analyser par un script PHP sans faire appel à une librairie type DOMDocument, ce que j'envisage pour la suite une fois bouclée la version en cour du plugin principal et quelques autres plugins prévus.

Pour YouTube effectivement c'est différent, c'est l'API TMDb qui est utilisée, les fiches sont parfois incomplètes pour ce qui est de la bande-annonce. À terme je pense tester d'autres API supplémentaires comme http://trailersapi.com/ ou http://www.traileraddict.com/trailerapi.