<commit_before>## -*- coding: utf-8 -*-


## OpenFisca -- A versatile microsimulation software
## By: OpenFisca Team <<EMAIL>>
##
## Copyright (C) 2011, 2012, 2013, 2014 OpenFisca Team
## https://github.com/openfisca
##
## This file is part of OpenFisca.
##
## OpenFisca is free software; you can redistribute it and/or modify
## it under the terms of the GNU Affero General Public License as
## published by the Free Software Foundation, either version 3 of the
## License, or (at your option) any later version.
##
## OpenFisca is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU Affero General Public License for more details.
##
## You should have received a copy of the GNU Affero General Public License
## along with this program.  If not, see <http://www.gnu.org/licenses/>.


<%!
import urlparse

from openfisca_web_site import conf, urls
%>


<%inherit file="/page-avec-nav.mako"/>


<%def name="h1_content()" filter="trim">
API
</%def>


<%def name="page_content()" filter="trim">
        <h2 id="presentation">Présentation de l'API web</h2>

        <p>L'API web OpenFisca est constituée de quelques fonctions principales :</p>
        <ul>
            <li><a href="#fields"><code>fields</code></a> retourne la liste des variables et formules socio-fiscales</li>
            <li><a href="#field"><code>field</code></a> permet de connaître le détail d'une variable ou formule</li>
            <li><a href="#default-legislation"><code>default-legislation</code></a> retourne les paramètres socio-fiscaux utilisés par défaut dans les formules</li>
            <li><a href="#simulate"><code>simulate</code></a> lance la simulation sur un cas type</li>
        </ul>
        <p>
            L'API web utilise le format JSON, aussi bien en entrée qu'en sortie et est compatible avec la plupart des langages de programmation.
        </p>
        <p>
            Chaque fonction de l'API a sa propre URL, dont le chemin prend la forme :
            <code>b<b>/api/</b><i>(integer: version)</i><b>/</b><i>(string: fonction)</i></code>.
        </p>
        <div class="alert alert-success">
            <p>
                <span class="glyphicon glyphicon-info-sign"></span> Etalab héberge et propose une version publique de cette
                API, ouverte à tous, à l'URL <code>http://api.openfisca.fr/</code>.
            </p>
            <p>
                Pour l'utiliser, il suffit d'ajouter le préfixe <code>http://api.openfisca.fr</code> devant les chemins des
                fonctions ci-dessous.
            </p>
        </div>

        <h2 id="detail">Détail des fonctions de l'API web</h2>

        <ul>
            <li>
                <h3 id="default-legislation"><code>/api/1/default-legislation</code></h3>

                <p>Retourne les paramètres socio-fiscaux utilisés par défaut dans les formules.</p>

                <h4>Paramètres de la requête</h4>
                <table class="table">
                    <tbody>
                        <tr>
                            <th>Méthode</th>
                            <td><code>GET</code></td>
                        </tr>
                    </tbody>
                </table>

                <h4>Exemple d'appel</h4>
                <p>Requête :</p>
                <pre><code>${u"""
GET /api/1/default-legislation HTTP/1.1
Host: api.openfisca.fr
                 """.strip()}</code></pre>
                <p>Réponse :</p>
                <pre><code>${u"""
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
                """.strip()}</code></pre>

                <pre><code data-language="javascript">${u"""
{
  "@context": "http://openfisca.fr/contexts/legislation.jsonld",
  "@type": "Node",
  "from": "2006-01-01",
  "to": "2013-12-31",
  "children": {
    "al": {
      "@type": "Node",
      "description": "Allocations logement",
      "children": {
        "R1": {
          "@type": "Node",
          "description": "R1 (% du RMI)",
          "children": {
            "taux1": {
              "@type": "Parameter",
              "description": "Taux pour 1 adulte",
              "format": "rate",
              "values": [
                {
                  "from": "2002-01-01",
                  "to": "2014-12-31",
                  "value": 0.88
                }
              ]
            },
            ...
            "taux5": {
              "@type": "Parameter",
              "description": "Taux par enfants supplémentaires",
              "format": "rate",
              "values": [
                {
                  "from": "2002-01-01",
                  "to": "2014-12-31",
                  "value": 0.4
                }
              ]
            }
          }
        },
        ...
      }
    }
  }
}
                """.strip()}</code></pre>
            </li>
            <li>
                <h3 id="field"><code>/api/1/field</code></h3>

                <p>Retourne le détail d'une variable ou formule.</p>

                <h4>Paramètres de la requête</h4><commit_msg>In legislations, rename "from" & "to" to "start" & "stop".<commit_after>## -*- coding: utf-8 -*-


## OpenFisca -- A versatile microsimulation software
## By: OpenFisca Team <<EMAIL>>
##
## Copyright (C) 2011, 2012, 2013, 2014 OpenFisca Team
## https://github.com/openfisca
##
## This file is part of OpenFisca.
##
## OpenFisca is free software; you can redistribute it and/or modify
## it under the terms of the GNU Affero General Public License as
## published by the Free Software Foundation, either version 3 of the
## License, or (at your option) any later version.
##
## OpenFisca is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU Affero General Public License for more details.
##
## You should have received a copy of the GNU Affero General Public License
## along with this program.  If not, see <http://www.gnu.org/licenses/>.


<%!
import urlparse

from openfisca_web_site import conf, urls
%>


<%inherit file="/page-avec-nav.mako"/>


<%def name="h1_content()" filter="trim">
API
</%def>


<%def name="page_content()" filter="trim">
        <h2 id="presentation">Présentation de l'API web</h2>

        <p>L'API web OpenFisca est constituée de quelques fonctions principales :</p>
        <ul>
            <li><a href="#fields"><code>fields</code></a> retourne la liste des variables et formules socio-fiscales</li>
            <li><a href="#field"><code>field</code></a> permet de connaître le détail d'une variable ou formule</li>
            <li><a href="#default-legislation"><code>default-legislation</code></a> retourne les paramètres socio-fiscaux utilisés par défaut dans les formules</li>
            <li><a href="#simulate"><code>simulate</code></a> lance la simulation sur un cas type</li>
        </ul>
        <p>
            L'API web utilise le format JSON, aussi bien en entrée qu'en sortie et est compatible avec la plupart des langages de programmation.
        </p>
        <p>
            Chaque fonction de l'API a sa propre URL, dont le chemin prend la forme :
            <code>b<b>/api/</b><i>(integer: version)</i><b>/</b><i>(string: fonction)</i></code>.
        </p>
        <div class="alert alert-success">
            <p>
                <span class="glyphicon glyphicon-info-sign"></span> Etalab héberge et propose une version publique de cette
                API, ouverte à tous, à l'URL <code>http://api.openfisca.fr/</code>.
            </p>
            <p>
                Pour l'utiliser, il suffit d'ajouter le préfixe <code>http://api.openfisca.fr</code> devant les chemins des
                fonctions ci-dessous.
            </p>
        </div>

        <h2 id="detail">Détail des fonctions de l'API web</h2>

        <ul>
            <li>
                <h3 id="default-legislation"><code>/api/1/default-legislation</code></h3>

                <p>Retourne les paramètres socio-fiscaux utilisés par défaut dans les formules.</p>

                <h4>Paramètres de la requête</h4>
                <table class="table">
                    <tbody>
                        <tr>
                            <th>Méthode</th>
                            <td><code>GET</code></td>
                        </tr>
                    </tbody>
                </table>

                <h4>Exemple d'appel</h4>
                <p>Requête :</p>
                <pre><code>${u"""
GET /api/1/default-legislation HTTP/1.1
Host: api.openfisca.fr
                 """.strip()}</code></pre>
                <p>Réponse :</p>
                <pre><code>${u"""
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
                """.strip()}</code></pre>

                <pre><code data-language="javascript">${u"""
{
  "@context": "http://openfisca.fr/contexts/legislation.jsonld",
  "@type": "Node",
  "start': "2006-01-01",
  "stop": "2013-12-31",
  "children": {
    "al": {
      "@type": "Node",
      "description": "Allocations logement",
      "children": {
        "R1": {
          "@type": "Node",
          "description": "R1 (% du RMI)",
          "children": {
            "taux1": {
              "@type": "Parameter",
              "description": "Taux pour 1 adulte",
              "format": "rate",
              "values": [
                {
                  "start': "2002-01-01",
                  "stop": "2014-12-31",
                  "value": 0.88
                }
              ]
            },
            ...
            "taux5": {
              "@type": "Parameter",
              "description": "Taux par enfants supplémentaires",
              "format": "rate",
              "values": [
                {
                  "start': "2002-01-01",
                  "stop": "2014-12-31",
                  "value": 0.4
                }
              ]
            }
          }
        },
        ...
      }
    }
  }
}
                """.strip()}</code></pre>
            </li>
            <li>
                <h3 id="field"><code>/api/1/field</code></h3>

                <p>Retourne le détail d'une variable ou formule.</p>

                <h4>Paramètres de la requête</h4>
{'fraction_non_alphanumeric': 0.14942973129711967, 'fraction_numerical': 0.019717765319930407, 'mean_word_length': 1.7467480753915583, 'pattern_counts': {'":': 55, '<': 235, '<?xml version=': 0, '>': 235, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1785770', 'n_tokens_mistral': 3320, 'n_tokens_neox': 3120, 'n_words': 842}