< retour à la page précédente

1.navitia.io

Zoom sur navitia-explorer et navitia-checker

Si vous utilisez navitia au quotidien, vous devez sûrement parler couramment json et être un pro du jonglage entre les différentes API proposées et la manipulation de liens.

Mais, pour un plus de confort, sachez qu'on a un outil : navitia-explorer.

Il permet de faire tout le jonglage, et présente le résultat sous une forme plus facile à lire que le json pour nous les humains : des cartes, des listes et des tableaux.

 Par exemple, il permet de répondre à toutes ces questions existentielles que l'on peut se poser au quotidien :

  • Quels sont les réseaux que j'ai ?

  • Est-ce que j'ai du trolleybus dans mes données ? 

Oui, j'ai du trolleybus !

  • Quelles sont les lignes de métro de la RATP ?

 

  • Mais par où passe la ligne de ferry du Frioul ?

  • Comment sont réparties mes stations de VLS ?

  • Où sont les différents points d'arrêts physiques de ma zone d'arrêt ?

  •  Qu'est-ce qu'il y autour de l'arrêt « Hôpital d'Aix-en-Provence » ?

sans grande surprise, un hôpital

  • Dans combien de temps mes données seront-elles périmées ?

  •  Et, bien sûr, est-ce que mes données couvrent la rue Notre-Dame de la Brosse à Bains-lesBains ?

Et plein d'autres choses ! Par exemple, on s'en sert aussi pour débugger finement nos itinéraires ou pour suivre nos mises à jour de données.
Car, vous l'avez sûrement constaté si vous utilisez un peu navitia, les données sont vivantes, et il faut donc les mettre à jour régulièrement.
Pour s'assurer qu'une mise à jour ne dégrade pas trop la qualité globale du service, que ce soit des données transport, des données cartographiques ou même du paramétrage de la vitesse de vélo libre service par défaut, on a un autre outil : navitia-checker !

Il s'agit d'un script, en python, qui lance un certain nombre de tests et vérifie les résultats obtenus par rapport aux résultats attendus.
Il se fonde sur le langage de tests Gherkin et le BDD (Behaviour-driven development), largement utilisé dans nos équipes pour écrire les tests d'acceptation. 

C'est un test en trois étapes : 

  1. on y indique les paramètres et configurations spécifiques de ntore scénario de test (précédé de Given)

  2. on indique ensuite les actions à réaliser (précédées de When) : là, il s'agit en général de faire un appel à navitia

  3. puis on indique les résultats attendus (précédés de Then) : et là, ça doit planter si le résultat attendu n'est pas retrouvé

Par exemple
Given je teste le coverage « fr-idf »

When je demande les réseaux

Then on doit m'indiquer un total de "122" éléments

 

On testera notamment la stabilité du référentiel (nombre de réseaux, nombres de lignes, nom des lignes) mais aussi quelques itinéraires simples d'une stabilité à toute épreuve, ou même des recherches de POIs à proximité :

On peut alors suivre la tendance de ces tests au fil des mises à jour et détecter plus rapidement les choses qui ne vont pas :

Bref, un outil du quotidien pour tous ceux qui aiment leurs données ;)

Les deux applicatifs présentés ici sont open-source et utilisables avec navitia.io / navitia avec des données navitia.io / navitia avec des données privées. Les contributions et les remontées d'anomalies sont bien sûr les bienvenues sur Github ;)

Tous les fonds de cartes présentés dans cet article sont © OpenStreetMap contributors.

 

 

 

Par Noémie Lehuby, le 07 January 2016