Une nouvelle version de l'API est disponible.
Vous la trouverez sur cette page : API AlloCiné v3.
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 :
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 différentes APIs s'appellent toutes en GET
. Le POST
ne semble pas fonctionner.
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 !?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 !?zip
: code postal de la villelat
: 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-DDEn 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.
media
: identifiant du média vidéo (entier)
Cet identifiant peut être récupéré grâce à l'API movie
par exemple. Il correspond à l'attribut code
des <media class=“video”>
.
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