apis.bdfci.info : la substitution à Allociné

Discov62a demandé le 06-05-2013 à 12:00 
Un grand merci à lenono pour avoir fait évoluer son API.
Depuis peu, l'API d'a------é n'est plus utilisable, nombreux développeurs se sont retrouvés sur le carreaux avec leur applications car il n'est actuellement plus possible de récupérer des informations sur des films depuis leur API.

Mais c'était sans compter sur lenono qui a fait évoluer son API afin de nous faire partager sa base de donnée de film, le tout en français.
Grâce à la nouvelle version (0.8) de l'API BDFCI il est possible d'effectuer des recherches sur le nom d'un film, de récupérer les résultats en JSON ou XML, et d'ensuite accéder au détail d'un film toujours en JSON ou XML.

Pour ceux que ça intéresse, voici comment procéder pour récupérer une liste de film en AJAX :

PORTION DE CODE :

function(){
        nomDuFilm = document.getElementById('name').value; // On récupère le nom du film recherché
        $.ajax({
          url: "http://apis.bdfci.info/0.8/request.php",
          type: "GET",
          data: { format: "json", ask: nomDuFilm, key : "[VOTRE CLEE]", results : "10" },
          dataType: "json",
          success: function(json) {
                $.each(json.Resultat.result.films, function(index,value) { // pour chaque noeud JSON on alimente une liste déroulante (vous pouvez aussi écrire directement dans votre page WEB
if(value.film.titre != null) $departements.append(''+ value.film.titre +'');
                });
          },
          // Gestion des erreurs (mais il n'y en a jamais)
          error : function(xhr, ajaxOptions, thrownError) {
            //alert("Une erreur est apparue lors de la recherche du film sur le site Allociné");
            alert("Une erreur : "+xhr.responseText +""+ajaxOptions+" est apparue lors de la recherche du film sur le site bdfci n Détails : "+thrownError);
          }
        });


Et comment récupérer les informations d'un film (toujours en AJAX) :
PORTION DE CODE :

        function(){
              IdDuFilm =  $("#departements option:selected").val(); // On récupère l'ID du film
        $.ajax({
          url: "http://apis.bdfci.info/0.8/film.php",
          type: "GET",
          data: { format: "json", id: IdDuFilm, key : "[VOTRE CLEE]", media : "mp4", full : "y" },
          dataType: "json",
          success: function(json) { // On alimente nos champs dans la page WEB
             if(json.Resultat.synopsis)$("#Synopsis").val(json.Resultat.synopsis);  
             if(json.Resultat.annee) $("#sortie").val(json.Resultat.annee);
             if(json.Resultat.duree)$("#duree").val(json.Resultat.duree);
             if(json.Resultat.affichette)$("#imageAffiche").attr("src",json.Resultat.affichette);
             if(json.Resultat.affichette)$("#lienAffiche").val(json.Resultat.affichette);
             if(json.Resultat.categories){// Lister les catégories
                $.each(json.Resultat.categories, function(index,value) {
                      $("#genre").val($("#genre").val() +" "+value.categorie.categorie);
                });
             }
          },// Gestion des erreurs
          error : function(data) {
            alert("Une erreur est apparue lors de la recherche du film sur le site BDFCI");
          }
        });


Voilà, j'espère en avoir aidé plus d'un qui n'en peu plus de galérer avec l'API d'A------é, et je compte sur vous pour aider lenono à alimenter la base de donnée de BDFCI

Si vous avez d'autres questions n’hésitez pas à me soliciter
lenonoa répondu le 06-05-2013 à 12:20 
Bonjour,

oui, évolution normale et légitime, mais n'ayant rien à voir avec le site dont tu parlais, j'ai volontairement mis des ---- à la place du nom.
L'objectif n'est pas de concurrencer cette grosse entreprise, mais bien de partager une ressource cinématographique avec vous, parce que c'est vous qui l'enrichissez.

"Une base de données cinéma par vous et pour vous !"

CQFD.

lenono