API et modules

API rimas - Mode d'emploi

L'API rimas vous permet d'obtenir les mots en occitan qui riment avec un mot que vous indiquez.

L'URL d'entrée

L'URL de base de l'application est http://api.locongres.org/rhymes.php. Vous devez y ajouter les paramètres obligatoires et vous pouvez y ajouter un paramètre facultatif. Si vous ne savez pas ajouter des paramètres à un URL, nous vous renvoyons à ce tutoriel.

Les paramètres obligatoires

Il vous faut obligatoirement indiquer les paramètres suivants :

  • Votre clé API : pour utiliser les API du Congrès, il vous faut indiquer une clé API personnelle que nous pouvons vous fournir sur la page dédiée. Vous l'indiquez avec le paramètre "key".
  • Le mot : indiquez le mot dont vous voulez rechercher les rimes avec le paramètre "term".

Par exemple, si vous voulez chercher des mots qui riment avec "tastar" dans toutes les variétés de l'occitan, vous pouvez utiliser l'URL http://api.locongres.org/rhymes.php?key=[votre_clé_API]&term=tastar. Vous obtenez le résultat suivant :

{
    "query":[
        {
            "orth": "abastar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "postar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "prestar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "pretextar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "protestar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "quistar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "rabastar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "rajustar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "reconquistar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "respostar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "restar",
            "PoS": "V00005000000000",
            "var": "oc-lengadoc"
        },
        {
            "orth": "questar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "quistar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "rabostar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "reajustar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "reconquistar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "resistar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "respostar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "restar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "riostar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "ripostar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "rostar",
            "PoS": "V00005000000000",
            "var": "oc-gascon"
        },
        {
            "orth": "refutar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "regentar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "regitar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "reglamentar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "regostar",
            "PoS": "N11100",
            "var": "oc-provenc"
        },
        {
            "orth": "regretar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "rementar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "remontar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "repintar",
            "PoS": "V00005000000000",
            "var": "oc-provenc"
        },
        {
            "orth": "vantar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "vegetar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "ventar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "vesitar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "violentar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "visitar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "votar",
            "PoS": "V00005000000000",
            "var": "oc-vivaraup",
        }
    ]
}

Les paramètres facultatifs

La variété

Vous pouvez indiquer dans quelle variété de l'occitan vous recherchez des rimes avec le paramètre "var". Pour le moment, il accepte les valeurs "auvern" (pour l'occitan auvergnat), "gascon" (pour l'occitan gascon), "lengadoc" (pour l'occitan languedocien), "lemosin" (pour l'occitan limousin), "provenc" (pour l'occitan provençal) et "vivaraup" (pour l'occitan vivaro-alpin).

Par exemple, si vous voulez chercher des mots qui riment avec "trobat" en occitan vivaro-alpin, vous pouvez utiliser l'URL http://api.locongres.org/rhymes.php?key=[votre_clé_API]&term=trobat&var=vivaraup. Vous obtenez le résultat suivant :

{
    "query": [
        {
            "orth": "bac",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "bas",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "bas",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "abat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "bab\u00e0",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "sabat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "inachabat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "acabat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "inacabat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "escarabat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "grabat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "tabat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "debat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "rebat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "rebat",
            "PoS": "N1210",
            "var": "oc-vivaraup"
        },
        {
            "orth": "crebat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "aqu\u00ed-bas",
            "PoS": "AV0000",
            "var": "oc-vivaraup"
        },
        {
            "orth": "celibat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "ribas",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "destibat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "combat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "catacombas",
            "PoS": "N1220",
            "var": "oc-vivaraup"
        },
        {
            "orth": "tombat",
            "PoS": "N1110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "barbat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "corbat",
            "PoS": "AJ0110",
            "var": "oc-vivaraup"
        },
        {
            "orth": "ubac",
            "PoS": "N1110"
        }
    ]
}

Le type de rime

Vous pouvez indiquer si vous voulez chercher uniquement des rimes riches ou uniquement des rimes pauvres avec le paramètre "type" qui prend comme valeurs "r" (rimes riches) et "p" (rimes pauvres).

Par exemple, si vous voulez chercher des rimes riches pour le mot "nenet" en occitan provençal, vous pouvez utiliser l'URL http://api.locongres.org/rhymes.php?key=[votre_clé_API]&term=nenet&var=provenc&type=r. Vous obtenez le résultat suivant

{
    "query": [
        {
            "orth": "net",
            "PoS": "AJ0110",
            "var": "oc-provenc"
        },
        {
            "orth": "anet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "nanet",
            "PoS": "AJ0110",
            "var": "oc-provenc"
        },
        {
            "orth": "nanet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "senec",
            "PoS": "AJ0110",
            "var": "oc-provenc"
        },
        {
            "orth": "omenet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "momenet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "penet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "gabinet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "robinet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "minet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "caminet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "ninet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "bonet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "guionet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "lionet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "molonet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "monet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "quasernet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "cornet",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "torneg",
            "PoS": "N1110",
            "var": "oc-provenc"
        },
        {
            "orth": "maunet",
            "PoS": "AJ0110"
        }
    ]
}

Le format de sortie

Par défaut, le format de sortie est JSON. Mais vous pouvez obtenir une sortie au format XML en ajoutant "format=xml" à l'URL.

Par exemple, si vous voulez afficher des mots en occitan languedocien qui riment avec "amic" au format XML, vous pouvez utiliser l'URL http://api.locongres.org/rhymes.php?key=[votre_clé_API]&term=amic&var=lengadoc&format=xml. Vous obtenez le résultat suivant

<query>
    <form id="1">
        <orth>balsamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="2">
        <orth>adamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="3">
        <orth>criptogamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="4">
        <orth>islamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="5">
        <orth>dinamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="6">
        <orth>aerodinamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="7">
        <orth>idrodinamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="8">
        <orth>electrodinamic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="9">
        <orth>ceramic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="10">
        <orth>panoramic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="11">
        <orth>protoplasmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="12">
        <orth>sismic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="13">
        <orth>osmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="14">
        <orth>cosmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="15">
        <orth>racemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="16">
        <orth>septicemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="17">
        <orth>academic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="18">
        <orth>epidemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="19">
        <orth>endemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="20">
        <orth>eufemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="21">
        <orth>polemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="22">
        <orth>anemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="23">
        <orth>enemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="24">
        <orth>enemic</orth>
        <PoS>N1110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="25">
        <orth>totemic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="26">
        <orth>quimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="27">
        <orth>bioquimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="28">
        <orth>cacoquimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="29">
        <orth>fisico-quimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="30">
        <orth>electroquimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="31">
        <orth>fotoquimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="32">
        <orth>mimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="33">
        <orth>sinonimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="34">
        <orth>toponimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="35">
        <orth>paronimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="36">
        <orth>metonimic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="37">
        <orth>timic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="38">
        <orth>oftalmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="39">
        <orth>ritmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="40">
        <orth>aritmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="41">
        <orth>logaritmic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="42">
        <orth>vomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="43">
        <orth>somic</orth>
        <PoS>N1110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="44">
        <orth>comic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="45">
        <orth>comic</orth>
        <PoS>N1110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="46">
        <orth>tragi-comic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="47">
        <orth>taxonomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="48">
        <orth>fisionomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="49">
        <orth>economic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="50">
        <orth>astronomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="51">
        <orth>gastronomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="52">
        <orth>gnomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="53">
        <orth>cromic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="54">
        <orth>atomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="55">
        <orth>monoatomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="56">
        <orth>diatomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="57">
        <orth>anatomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="58">
        <orth>tricotomic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="59">
        <orth>dermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="60">
        <orth>epidermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="61">
        <orth>ipodermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="62">
        <orth>termic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="63">
        <orth>atermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="64">
        <orth>antitermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="65">
        <orth>exotermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="66">
        <orth>endotermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="67">
        <orth>isotermic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
    <form id="68">
        <orth>formic</orth>
        <PoS>AJ0110</PoS>
        <var>oc-lengadoc</var>
    </form>
</query>

Les erreurs

S'il y a des erreurs dans l'URL ou si la requête ne retourne aucune forme, l'API retourne une erreur avec un code et un texte d'erreur en anglais. Vous trouverez ci-dessous, pour chaque code d'erreur, la traduction de son texte en français :

  • 1 : Vous devez indiquer une clé API
  • 2 : Clé API invalide
  • 3 : Format incorrect ("json" et "xml" acceptés)
  • 4 : Il vous faut indiquer un mot
  • 5 : Il vous faut indiquer une variété
  • 6 : Variété incorrecte ("auvern", "gascon", "lemosin", "lengadoc", "provenc" et "vivaraup" acceptés)
  • 7 : Type incorrect ("p" et "r" acceptés)
  • 8 : Nous n'avons trouvé aucune rime avec vos spécifications

Les informations en sortie

En sortie, vous obtenez une liste de mots avec un identifiant unique. Pour chacun est donné :

  • Son orthographe
  • Sa catégorie grammaticale
  • Sa variété de l'occitan : "oc-auvern" (occitan auvergnat), "oc-gascon" (occitan gascon), "oc-lemosin" (occitan limousin), "oc-lengadoc" (occitan languedocien), "oc-provenc" (occitan provençal), "oc-vivaraup" (occitan vivaro-alpin)

Les catégories grammaticales sont indiquées avec la norme Eagles. Vous trouverez une explication sur comment Lo Congrès utilise la norme Eagles au chapitre 5 de ce document.

JSON schema

{
    "type": "object",
    "properties": {
        "error": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "The unique identifier for an error",
                    "type": "integer"
                },
                "text": {
                    "description": "A description of the error",
                    "type": "string"
                }
            },
            "required": ["code", "text"]
        },
        "query": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "orth": {
                        "type": "string"
                    },
                    "PoS": {
                        "type": "string"
                    },
                    "var": {
                        "type": "string"
                    },
                },
                "required": ["orth", "PoS", "var"]
            },
            "minItems": 1
        }
    }
}

DTD XML

<! ELEMENT query (form) >

<! ELEMENT error (#PCDATA) >
<! ATTLIST error code ID #REQUIRED >

<! ELEMENT form (orth, PoS, var) >
<! ATTLIST form id ID #REQUIRED >

<! ELEMENT orth (#PCDATA) >

<! ELEMENT PoS (#PCDATA) >

<! ELEMENT var (#PCDATA) >

© Lo Congrès Permanent de la Lenga Occitana, 2017, tous droits réservés - Contacter Lo Congrès