data.musiques-incongrues.net

Ananas

Documentation de la collection "links"

Présentation de la collection

Cette collection regroupe tous les liens postés sur le forum.

Comment constituer une requête ?

Choix du segment

La première chose à faire est de choisir le segment à requêter. Cela permet d'obtenir l'URL de requêtage. Par exemple, l'URL de requêtage du segment images est

GET http://data.musiques-incongrues.net/collections/links/segments/images/get

Définition de la forme de la réponse

Limitation du nombre d'enregistrements

Par défaut, le service renvoie 50 enregistrements. Il faut utiliser le paramètre limit. Par exemple, pour récupérer trois enregistrements :

GET http://data.musiques-incongrues.net/collections/links/segments/images/get?limit=3

Définition du mode de tri

Le tri est conditionné par les paramètres sort_field et sort_direction. Par défaut, les enregistrements sont triés par date de contribution croissante. Ainsi, pour trier les enregistrement par identifiant de discussion décroissant :

GET http://data.musiques-incongrues.net/collections/links/segments/images/get?limit=3&sort_field=discussion_id&sort_direction=desc

Définition du format de réponse

C'est le paramètre format qui permet de définir le format de la réponse. Le format par défaut est HTML. Pour obtenir la réponse au format JSON :

GET http://data.musiques-incongrues.net/collections/links/segments/images/get?limit=3&sort_field=discussion_id&sort_direction=desc&format=json

Filtrage en fonction des attributs

Il est enfin possible de restreindre le jeu d'enregistrements retourné en fonction de valeurs de leurs attributs schema. Par exemple, pour limiter les enregistrements retournés au images contribuées par l'utilisateur "mbertier" :

GET http://data.musiques-incongrues.net/collections/links/segments/images/get?limit=3&sort_field=discussion_id&sort_direction=desc&format=json&contributor_name=mbertier

La réponse à cette requête :

  

Il est possible d'ajouter de requêter plusieurs attributs. Dans ce cas la requête est de type ET.

Exemples

Récupération de 5 liens vers des MP3, par ordre décroissant de date de contribution, au format XSPF

Requête

GET http://data.musiques-incongrues.net/collections/links/segments/mp3/get?limit=5&sort_direction=desc&sort_field=contributed_at&format=xspf

Réponse

<?xml version="1.0"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
  <trackList>
    <track>
      <location>http://marc.arette.free.fr/RADIO/ThisIsRadioclash_SPORT_Teaser.mp3</location>
    </track>
    <track>
      <location>http://www.glafouk.com/dlz/radioclash_astrotease.mp3</location>
    </track>
    <track>
      <location>http://www.morning-glories.net/freshpoulp/FPR047/02_Djose.mp3</location>
    </track>
    <track>
      <location>http://www.morning-glories.net/freshpoulp/FPR047/04_Space_Screwdriver.mp3</location>
    </track>
    <track>
      <location>http://www.morning-glories.net/freshpoulp/FPR047/07_Plan_americain.mp3</location>
    </track>
  </trackList>
</playlist>

Récupération du premier lien posté vers une vidéo Youtube par l'utilisateur "mbertier", au format Json

Requête

GET http://data.musiques-incongrues.net/collections/links/segments/youtube/get?limit=1&sort_direction=asc&sort_field=contributed_at&contributor_name=mbertier&format=json

Réponse

[
  {
    "url":                 "http:\/\/www.youtube.com\/watch?v=LKu_QA8Bn9o",
    "domain_parent":       "youtube.com",
    "domain_fqdn":         "www.youtube.com",
    "mime_type":           null,
    "contributed_at":      "2007-05-09T21:22:05Z",
    "contributor_id":      2,
    "contributor_name":    "mbertier",
    "comment_id":          3088,
    "discussion_id":       299,
    "discussion_name":     "Mitch a un coup dans le nez"
  }
]

Récupération de toutes les vidéos du topic "Des clips, des clips, rien que des clips", au format PHP sérialisé

Requête

GET http://data.musiques-incongrues.net/collections/links/segments/youtube/get?limit=-1&discusion_id=1679&format=php

Réponse (tronquée)

a:6:{
  i:0;a:10:{
    s:3:"url";s:42:"http://www.youtube.com/watch?v=0a1VMkeGkZs";
    s:13:"domain_parent";s:11:"youtube.com";
    s:11:"domain_fqdn";s:15:"www.youtube.com";
    s:9:"mime_type";N;
    s:14:"contributed_at"; s:20:"2006-09-19T19:20:36Z";
    s:14:"contributor_id";i:1;
    s:16:"contributor_name";s:5:"Johan";
    s:10:"comment_id";i:103;
    s:13:"discussion_id";i:26;
    s:15:"discussion_name";s:66:"Xerak - Clip Vidéos (Pixel Monster, People Want My Sex, ...)";
  }
  i:1;a:10:{
    s:3:"url";
    s:42:"http://www.youtube.com/watch?v=rquumljYtSQ";
    s:13:"domain_parent";s:11:"youtube.com";
    s:11:"domain_fqdn";s:15:"www.youtube.com";
    s:9:"mime_type";N;
    s:14:"contributed_at";s:20:"2006-09-19T19:20:36Z";
    s:14:"contributor_id";i:1;
    s:16:"contributor_name";s:5:"Johan";
    s:10:"comment_id";i:103;
    s:13:"discussion_id";i:26;
    s:15:"discussion_name";s:66:"Xerak - Clip Vidéos (Pixel Monster, People Want My Sex, ...)";
  }
  {s:4:snip}
}

Référence

Schéma

Cette collection expose les attributs suivants :

availability

Ce paramètre correspond à la disponibilité du lien.

Valeurs possibles
unknown : On ne sait pas si l'URL est accessible ou non
available : L'URL est accessible
unavailable : L'URL n'est pas accessible

Par défaut, les liens avec une URL non accessible ne sont pas retournés.

comment_id

C'est l'identifiant du commentaire sur le forum dans lequel à été contribué le lien. Par exemple :

15336

contributed_at

C'est la date à laquelle a été contribué le lien. Par exemple :

2007-05-09T21:22:05Z

contributor_name

C'est le nom sur le forum de l'utilisateur ayant contribué le lien. Par exemple :

mbertier

contributor_id

C'est l'identifiant sur le forum de l'utilisateur ayant contribué le lien. Par exemple :

34

Les URL pour accéder au profil d'un utilisateur sur Musiques Incongrues ont la forme http://www.musiques-incongrues.net/forum/account/contributor_id/

discussion_id

C'est l'identifiant de la discussion dans laquelle a été contribué le lien. Par exemple :

5455

Les URL pour accéder à une discussion sur Musiques Incongrues ont la forme http://www.musiques-incongrues.net/forum/discussion/discussion_id/

discussion_name

C'est le titre de la discussion dans laquelle a été contribué le lien. Par exemple :

Des clips, des clips, rien que des clips

domain_fqdn

C'est le nom de domaine complet de l'URL vers la ressource. Par exemple :

data.musiques-incongrues.net

domain_parent

C'est le domaine parent de l'URL vers la ressource. Par exemple :

musiques-incongrues.net

Les deux URLs http://www.musiques-incongrues.net et http://data.musiques-incongrues.net ont un domaine parent identique.

mime_type

C'est le type MIME de la ressource. Cet attribut n'est pas toujours définit. Il l'est toujours pour les fichiers binaires (mp3, image, etc). Par exemple :

audio/mpeg

url

C'est l'URL vers la ressource. Par exemple :

http://www.glafouk.com/dlz/radioclash_astrotease.mp3

Paramètres transverses

Ces paramètres sont communs à toutes les collections et permettent d'influer sur la forme de la réponse à la requête.

limit

Ce paramètre permet de définir le nombre d'enregistrements maximum retourné par la requête. Par exemple :

GET http://data.musiques-incongrues.net/collections/link/segments/all/get?limit=5
Caractéristiques
Type : Entier
Valeur par défaut : 50
Valeurs spéciales
-1 : Tous les enregistrements sont retournés

sort_field

C'est le paramètre qui détermine quel attribut du schéma sera utilisé pour trier les enregistrements.

Caractéristiques
Type : Chaîne de caractères
Valeur par défaut : contributed_at
Valeurs spéciales
random : Les enregistrements sont triés aléatoirement

sort_direction

Ce paramètre conditionne la direction du tri des enregistrements.

Caractéristiques
Type : Chaîne de caractère. asc ou desc
Valeur par défaut : asc

format

Ce paramètre détermine le format de la réponse à la requête.

Caractéristiques
Type : Chaîne de caractères
Valeur par défaut : html

Formats

Chaque requête peut renvoyer une réponse dans un des formats suivants.

html

Les résultats sont renvoyés au format HTML. Ce format est principalement destiné à la consultation des ressources par des êtres humains et au déboggage.

Caractéristiques
Type MIME : text/html

json

Les résultats sont renvoyés au format JSON.

Caractéristiques
Type MIME : application/json

plain

Les résultats sont renvoyés au format plein texte, une URL par lige.

Caractéristiques
Type MIME : text/plain
Utilisation
Ce format se combine facilement avec des outils en ligne de commande. Par exemple, pour télécharger les dix dernières images postées par l'utilisateur "mbertier" :

wget `GET "http://data.musiques-incongrues.net/collections/links/segments/images/get?contributor=mbertier&limit=10&format=plain"` | xargs

php

Les résultats sont renvoyés au format PHP sérialisé.

Caractéristiques
Type MIME : application/vnd.php.serialized

rss

Les résultats sont renvoyés au format RSS.

Caractéristiques
Type MIME : application/rss+xml

xspf

Les résultats sont renvoyés au format XSPF.

Caractéristiques
Type MIME : application/xspf+xml

Segments

all

Ce segment est constitué de tous les liens, sans exception.

URL de requête :

GET http://data.musiques-incongrues.net/collections/links/segments/all/get

mp3

Ce segment est constitué de tous les liens pointant vers des fichiers MP3.

URL de requête :

GET http://data.musiques-incongrues.net/collections/links/segments/mp3/get

images

Ce segment est constitué de tous les liens pointant vers des images.

URL de requête :

GET http://data.musiques-incongrues.net/collections/links/segments/images/get

youtube

Ce segment est constitué de tous les liens pointant vers des vidéos sur youtube.

URL de requête :

GET http://data.musiques-incongrues.net/collections/links/segments/youtube/get

Vanilla Miner 0.14.0 est développé par Constructions Incongrues et est hébergé par Pastis Hosting.

Le code source du service est distribué sous licence GNU Affero GPLv3.

Ce service utilise (notamment) symfony, Doctrine et Solr.

Contact : contact @ musiques-incongrues . net