Transports public de la région lausannoise (TL)

Brief

Le projet Caltar, une initiative des Transport Public Lausannois, est le système de tarification utilisé par les membres de la CTV (Communauté Tarifaire Vaudoise). Régulièrement, le réseau subit des changements et il est nécessaire de maintenir les données du système de tarification à jour.

Le réseau (ligne de bus, métro, train, etc) est segmenté en zone tarifaire. Afin que les automates puissent facturer le bon prix aux voyageurs, le système calcule automatiquement les itinéraires les plus probables ainsi que leur prix. Toutefois ce système automatique ne prend pas en compte tous les facteurs (astuces du réseau, habitudes des voyageurs, taux d’occupation, etc) et il nécessaire d’ajouter certaines relations manuellement. Ce travail était fastidieux et sujet à de multiples erreurs.

Year:
2013
Client:
Transport public lausannois
Skills: Backend PHP Symfony 2 technologies

Solution

Une application permettant uniquement la consultation des données du réseau existait déjà. Antistatique a été mandaté pour enrichir cette application en lui ajoutant des fonctionnalités d’édition et d’import/export de données.

Utilisation du micro-framework PHP Silex

Afin d’intégrer l’application existante au mieux tout en développant sur des bases saines, nous avons choisi d’utiliser le micro-framework PHP Silex pour les raisons suivantes:

  • Structure simple et adaptative, très utile pour travailler avec du legacy code qui permet un refactoring en douceur. Le code actuel peut (presque) être intégré en l’état et réécrit au fur et à mesure
  • Séparation entre la logique et les vues
  • Testable
  • Utilisation des composants Symfony 2 (sécurité, routing, formulaire, etc)

Base de données Oracle

Le système de gestion de base de données utilisé par ce projet est Oracle. Nous avons, à ce sujet, rédigé un rapide guide d’installation de l’extension PHP Oracle pour OSX.

Système d’Information Géographique

Le projet utilise l’API de Google Maps pour visualiser les données géographique (zones, lignes, etc).

Un gain de temps considérable

...et réduction du nombre d’erreurs humaines !

  • Remplace un processus manuel (fichier excel + manipulation SQL) sujet à l’erreur humaine
  • création automatique des relations intermédiaires
  • Import / Export d’une période réseau à une autre
  • Validation des relations