Ceci est une ancienne révision du document !


API AlloCiné

La démarche

Depuis le temps qu'AlloCiné existe, aucune API n'a encore été faite, ce qui est quand même inadmissible pour ce site de référence.

Donc jusqu'à lors, quiconque voulait utiliser AlloCiné pour récupérer des données sur tel ou tel film était obligé de faire du parsing sauvage de leur site web. Mais c'était sans compter sur un peu de reverse engineering bonne volonté !

Pour y arriver, je me suis servi de l'application AlloCiné disponible sur l'Android Market. Je l'ai donc installé sur mon téléphone tout en lançant en parallèle un tcpdump afin de capturer l'activité réseau. Et oh, miracle, une certaine adresse api.allocine.fr était appelée. Bingo !

J'ai donc un peu navigué dans l'application afin de trouver les différents web services. En voici quelques exemples.

Le premier web service movie est très intéressant étant donné qu'il permet de récupérer l'intégralité des informations d'un film pour peu qu'on connaisse son identifiant.
Le second, movielist, permet quant à lui de récupérer une liste de films en fonction de critères particuliers.

Un problème subsiste tout de même : comment faire pour récupérer l'identifiant d'un film à partir de son titre ou bien de mots clés.
En effet, l'application Android ne gère pas encore la recherche, ce qui est bien dommage d'ailleurs.

La première étape fût de trouver le nom du web service dédié à la recherche. Avec un peu de logique, on le trouve en 2 secondes : search.

La seconde étape, un peu plus compliquée, fût de trouver le paramètre auquel on pouvait passer un critère de recherche. Pour cela, j'ai un peu fait le bourrin en utilisant un dictionnaire anglais d'environ 80000 mots et en les essayant un par un (avec un script bien sûr …). Quelques heures plus tard, j'obtenais une liste de paramètres :

  • count
  • declare
  • page
  • partner
  • profile

Pas mal ! Mais aucun de ces paramètres ne permettait de vraiment faire une recherche à partir d'un mot clé … :-(

Plan B : tester toutes les lettres de l'alphabet.
Et là, le miracle ! Je tombe sur la lettre q (comme query, logique …) et ça marche !

On a maintenant toutes les APIs nécessaire pour trouver des informations intéressantes à propos d'un film à partir de son nom.

Les APIs

Les différentes APIs s'appellent toutes en GET. Le POST ne semble pas fonctionner.

Recherche : search

  • Paramètres
    • q : chaîne à chercher (chaîne de caractères)
    • partner : schéma XML à utiliser en fonction des partenaires (1, 2, 3, 4)
    • json (optionnel) : renvoie le résultat au format JSON si json=1 (booléen)
    • count (optionnel) : nombre de résultats à renvoyer (entier)
    • profile (optionnel) : degré d'informations renvoyées (énumération : small, medium, large)
    • page (optionnel) : numéro de la page de résultats à afficher (10 résultats par page par défaut)
    • declare (optionnel) : aucune idée !?

Informations sur un film : movie

  • Paramètres
    • code : identifiant du film (entier)
    • partner : schéma XML à utiliser en fonction des partenaires (1, 2, 3, 4)
    • json (optionnel) : renvoie le résultat au format JSON si json=1 (booléen)
    • profile (optionnel) : degré d'informations renvoyées (énumération : small, medium, large)
    • format (optionnel) : format vidéo !? (h264, ???)
    • version (optionnel) : aucune idée !?

Liste de films : movielist

  • à compléter

Horaires des cinémas : showtimelist

  • zip : code postal de la ville
  • lat : coordonnée latitude du cinéma (uniquement si zip n'est pas précisé)
  • long : coordonnée longitude du cinéma (uniquement si zip n'est pas précisé)
  • radius : rayon autour de la ville en question (entre 1 et 500 km)
  • partner : schéma XML à utiliser en fonction des partenaires (1, 2, 3, 4)
  • json (optionnel) : renvoie le résultat au format JSON si json=1 (booléen)
  • movie (optionnel) : identifiant du film (si non préciser, affiche tous les films)
  • date (optionnel) : date au format YYYY-MM-DD

Bonus : liens direct des vidéos

En bonus, voici une autre API qui permet de récupérer les liens directs vers les vidéos (émission, bande-annonce, etc.). Il est possible de récupérer la vidéo en LD/MD/HD.

Cet identifiant peut être récupéré grâce à l'API movie par exemple. Il correspond à l'attribut code des <media class=“video”>.

Ils se servent de l'API

Si jamais vous tombez sur cette page et que vous vous servez de cette API, je me ferais une joie de lister votre application ici.

Contactez moi via le formulaire de contact ou bien directement sur mon mail jerome.groven@gmail.com

gentoo powered apache powered dokuwiki powered