<commit_before>README
======
What is NavitiaComponent ?
---------------------------
Le composant Navitia permet de faire des appels à l'API __Navitia 2__
et de contrôler les paramètres.

NavitiaComponent est une librairie full-stack PHP 5.3.
Il peut être associé à un framework (Symfony, Zend, ...).

Requirements
------------
1. PHP: >=5.3.3 - NavitiaComponent utilise PHP 5.3.3 et plus.
2. Psr/Log: ~1.0 - Pour utiliser un logger, il faut qu'il implémente
l'interface LoggerInterface de Psr

Installation
------------
Pour installer NavitiaComponent il faut utiliser composer.

1. Ouvrir votre composer.json
2. Placer à la dernière ligne de vos require "canaltp/navitia": "dev-master"
(dev-master ou la dernière version stable)
3. Placer dans vos repositories le type et l'url de packagist

    {
        ...
        "require": {
            ...
            "canaltp/navitia": "dev-master"
        },
        "repositories": [
            {
                "type": "composer",
                "url": "http://packagist.canaltp.fr"
            },
            ...
        ],
        ...
    }


How to use NavitiaComponent ?
-----------------------------
NavitiaComponent propose une utilisation simple et une utilisation avancée.

### 1 - Utilisation simple ###

#### 1.1 - Configuration ####

##### 1.1.1 - Paramètres #####

La configuration est sous la forme d'un tableau (array).

| Parametres          | Type       |Explication              | Valeurs acceptées  | Valeur défaut |
| :------------------ | :--------- |:----------------------: | :----------------: | ------------: |
| url (obligatoire)   | string     | Url d'appel navitia     |                    |               |
| token (obligatoire) | string     | Token de l'api navitia  |                    |               |
| version (optionnel) | string     | Version de l'api navitia| v1                 | v1            |
| format (optionnel)  | string     | Format de la sortie     | 'json', 'object'   | object        |

##### 1.1.2 - Exemple d'utilisation #####

    // Configuration
    $config = array(
		'url' => 'http://navitia2-ws.ctp.dev.canaltp.fr',
		'format' => 'json',
		'token' => '<PASSWORD>'
    );

#### 1.2 - Appel Navitia ####

Nous supportons  deux API Navitia :

1. Coverage
2. Journeys

##### 1.2.1 - Paramètres #####

Pour ces deux API, nous pouvons passer les paramètres sous la forme d'un "String" ou d'un "Array".

###### 1.2.1.1 Journeys ######

| Parametres                | Type                  |Explication              | Valeurs acceptées  |
| :------------------------ | :-------------------- |:----------------------: | :----------------: |
| api (obligatoire)         | string                | api journeys de Navitia |journeys            |
| parameters (obligatoire)  | mixed (string, array) | parametres journeys     |                    |

###### 1.2.1.1.2 Exemple parameters (Array) ######

Pour Journeys, le passage des paramètres peut se faire de deux manières:

    // 1. Un tableau de paramètres
    $query = array(
        'api' => 'journeys',
    	'parameters' => array(
	    	'from' => 'stop_area:TAN:SA:COMM',
	    	'to' => 'stop_area:SCF:SA:SAOCE87481051',
	    	'datetime' => '20130819T153000',
	    	'datetime_represents' => 'departure'
    	)
    );


    // 2. Un tableau de paramètres contenant un tableau de paramètres
    $query = array(
        'api' => 'journeys',
    	'parameters' => array(
    		'parameters' => array(
    			'from' => 'stop_area:TAN:SA:COMM',
    			'to' => 'stop_area:SCF:SA:SAOCE87481051',
    			'datetime' => '20130819T153000',
    			'datetime_represents' => 'departure'
    		)
    	)
    );

###### 1.2.1.1.3 Exemple parameters (String) ######

    // parameters string avec Journeys
    $query = array(
        'api' => 'journeys',
    	'parameters' => '?from=stop_area:TAN:SA:COMM&to=stop_area:SCF:SA:SAOCE87481051&'.
        'datetime=20130819T153000&datetime_represents=departure'
    );
<commit_msg>Spaces on README file.<commit_after>README
======
What is NavitiaComponent ?
---------------------------
Le composant Navitia permet de faire des appels à l'API __Navitia 2__
et de contrôler les paramètres.

NavitiaComponent est une librairie full-stack PHP 5.3.
Il peut être associé à un framework (Symfony, Zend, ...).

Requirements
------------
1. PHP: >=5.3.3 - NavitiaComponent utilise PHP 5.3.3 et plus.
2. Psr/Log: ~1.0 - Pour utiliser un logger, il faut qu'il implémente
l'interface LoggerInterface de Psr

Installation
------------
Pour installer NavitiaComponent il faut utiliser composer.

1. Ouvrir votre composer.json
2. Placer à la dernière ligne de vos require "canaltp/navitia": "dev-master"
(dev-master ou la dernière version stable)
3. Placer dans vos repositories le type et l'url de packagist

    {
        ...
        "require": {
            ...
            "canaltp/navitia": "dev-master"
        },
        "repositories": [
            {
                "type": "composer",
                "url": "http://packagist.canaltp.fr"
            },
            ...
        ],
        ...
    }


How to use NavitiaComponent ?
-----------------------------
NavitiaComponent propose une utilisation simple et une utilisation avancée.

### 1 - Utilisation simple ###

#### 1.1 - Configuration ####

##### 1.1.1 - Paramètres #####

La configuration est sous la forme d'un tableau (array).

| Parametres          | Type       |Explication              | Valeurs acceptées  | Valeur défaut |
| :------------------ | :--------- |:----------------------: | :----------------: | ------------: |
| url (obligatoire)   | string     | Url d'appel navitia     |                    |               |
| token (obligatoire) | string     | Token de l'api navitia  |                    |               |
| version (optionnel) | string     | Version de l'api navitia| v1                 | v1            |
| format (optionnel)  | string     | Format de la sortie     | 'json', 'object'   | object        |

##### 1.1.2 - Exemple d'utilisation #####

    // Configuration
    $config = array(
		'url' => 'http://navitia2-ws.ctp.dev.canaltp.fr',
		'format' => 'json',
		'token' => '<PASSWORD>'
    );

#### 1.2 - Appel Navitia ####

Nous supportons  deux API Navitia :

1. Coverage
2. Journeys

##### 1.2.1 - Paramètres #####

Pour ces deux API, nous pouvons passer les paramètres sous la forme d'un "String" ou d'un "Array".

###### 1.2.1.1 Journeys ######

| Parametres                | Type                  |Explication              | Valeurs acceptées  |
| :------------------------ | :-------------------- |:----------------------: | :----------------: |
| api (obligatoire)         | string                | api journeys de Navitia |journeys            |
| parameters (obligatoire)  | mixed (string, array) | parametres journeys     |                    |

###### 1.2.1.1.2 Exemple parameters (Array) ######

Pour Journeys, le passage des paramètres peut se faire de deux manières:

    // 1. Un tableau de paramètres
    $query = array(
        'api' => 'journeys',
    	'parameters' => array(
            'from' => 'stop_area:TAN:SA:COMM',
            'to' => 'stop_area:SCF:SA:SAOCE87481051',
            'datetime' => '20130819T153000',
            'datetime_represents' => 'departure'
    	)
    );


    // 2. Un tableau de paramètres contenant un tableau de paramètres
    $query = array(
        'api' => 'journeys',
    	'parameters' => array(
    		'parameters' => array(
    			'from' => 'stop_area:TAN:SA:COMM',
    			'to' => 'stop_area:SCF:SA:SAOCE87481051',
    			'datetime' => '20130819T153000',
    			'datetime_represents' => 'departure'
    		)
    	)
    );

###### 1.2.1.1.3 Exemple parameters (String) ######

    // parameters string avec Journeys
    $query = array(
        'api' => 'journeys',
    	'parameters' => '?from=stop_area:TAN:SA:COMM&to=stop_area:SCF:SA:SAOCE87481051&'.
        'datetime=20130819T153000&datetime_represents=departure'
    );

{'fraction_non_alphanumeric': 0.19319470699432892, 'fraction_numerical': 0.02948960302457467, 'mean_word_length': 1.795350475519549, 'pattern_counts': {'":': 12, '<': 5, '<?xml version=': 0, '>': 43, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 6, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6825829', 'n_tokens_mistral': 2688, 'n_tokens_neox': 2553, 'n_words': 641}