Skip to content
Romibuzi edited this page Apr 15, 2013 · 7 revisions

API Publique

Données en JSON, structure d'un mot (aka word):

{
     "occurrences": <nombre_d_apparitions_du_mot>,
     "rank": <position_du_mot_dans_le_classement>,
     "forms": [
       <listes_des_differentes_formes_du_mot>
     ]
}

Quand un paramètre n'est pas présent dans le motif d'une URL, il doit être ajouté comme query parameter.

Quand le paramètre limit est utilisé, il peut être retourné moins de résultats que demandé : i.e. GET /api/words/pomme/preceding?limit=20 peut retourner seulement 12 résultats.

GET /api/words (implémenté)

Récupère un ensemble de mots.

Paramètres:

  • q: Critère de recherche, expressions régulières autorisées (string, optionnel, ne doit pas être vide) (implémenté)
  • limit: Limiter le nombre de résultats (nombre entier, optionnel, défaut à 10, maximum à 100) (implémenté)
  • offset: écarte les n premiers résultats de la réponse, permet la pagination en combinant avec limit (nombre entier, optionnel, défaut à 0) (non implémenté)

Exemple:

GET /api/words?q=caca*&limit=20

{
     "caca": {
         "occurrences": 2,
          "rank": 75,
          "forms": {
            "caca",
            "Caca",
          }
     }
     "cacahuete": {
          "occurrences": 31,
          "rank": 24,
          "forms": {
            "cacahuete",
            "Cacahuete",
          }
     },
     "cacao": {
         "occurrences": 12,
          "rank": 51,
          "forms": {
            "cacao",
            "Cacao",
          }
     }
}

GET /api/words/<word> (implémenté)

Récupère un mot (avec ses statistiques)

Paramètres:

  • word: Le mot à récupérer, en minuscule (string, obligatoire)

Exemple:

GET /api/words/pirouette

{
     "occurrences": 3,
     "rank": 187,
     "forms": [
       "français",
       "Français"
     ]
}

GET /api/words/<word>/preceding (non implémenté)

Classement des mots qui précèdent le plus souvent un autre mot.

Paramètres:

  • word: Le mot concerné, en minuscule (string, obligatoire)
  • limit: Limiter le nombre de résultats (nombre entier, optionnel, défaut à 10, maximum à 20)

Exemple:

GET /api/words/alsacienne/preceding?limit=2

{
     "choucroute": {
          "occurrences": 27,
          "rank": 187,
          "forms": {
            "choucroute",
            "Choucroute",
          }
     },
     "saucisse": {
          "occurrences": 76,
          "rank": 2,
          "forms": {
            "saucisse",
            "Saucisse",
          }
     }
}

GET /api/words/<word>/following (non implémenté)

Classement des mots qui suivent le plus souvent un autre mot.

Fonctionnement identique à /api/words/<word>/preceding

GET /api/top (implémenté)

Obtenir le classement des mots les plus récurrents.

Paramètres:

  • limit: Limiter le nombre de résultats (nombre entier, optionnel, défaut à 10, maximum à 100)

Exemple:

GET /api/top

{
     "ninja": {
          "occurrences": 125,
          "rank": 1,
          "forms": {
            "ninja",
            "Ninja",
          }
     },
     "saucisse": {
          "occurrences": 76,
          "rank": 2,
          "forms": {
            "saucisse",
            "Saucisse",
          }
     }
}