Publication : Mobile et Embarqué, du spatial au transport public

La couverture du numéro 118 d'interface
J'ai publié un article dans le dernier numéro du magasine Interface (le magasine des INSA). Le thème de ce numéro est : "Les nouveaux sujets de l'ingénierie informatique: cloud, sécurité informatique, mobilité, protection de la vie privée".

Les articles devaient prendre la forme de témoignages d’ingénieurs INSA travaillant dans ce domaine à destination de nos collègues et élèves-ingénieurs.

Cela a été pour moi l’occasion d’écrire un article de vulgarisation sur l’informatique dans le transport avec une coloration un peu plus personnelle que ce que je fais habituellement sur le blog. J’ai notament donné 3 conseils aux jeunes ingénieurs qui souhaitent s’orienter dans cette activité.

Aperçu de mon article dans le magasine

Voici le contenu intégral de l'article : (avec l'aimable autorisation de l'INSA)

Mobile et Embarqué : du spatial au transport public


Issu de la filière Modélisation Numérique du département GMM, je me suis spécialisé dans le développement Informatique. Après un cursus dans le spatial (Mecano ID) puis dans l’aéronautique (EADS), j’ai bifurqué depuis 2010 dans le domaine du transport public en entrant chez Tisséo. Si les domaines applicatifs ont changés, mes activités sont toujours restées centrés autour des logiciels de calculs. « Des logiciels de calcul dans le transport public ? » Est généralement la première remarque des élèves ingénieurs à qui j’apprends mon employeur actuel. Dans cet article, je vais donc répondre à cette question en faisant un focus particulier sur les aspects mobiles.

Description du contexte


Chez Tisséo, je suis responsable de toutes les applications « grand public » et de l'infrastructure qui les sert :
  • site internet : www.tisseo.fr
  • site mobile : mobi.tisseo.fr
  • applications iOS & Android (en cours de développement)
  • écrans IV (Information Voyageur) dans certaines stations
Ces applications sont alimentés par un système serveur dit «Système d'Aide à l’Exploitation et à l’Information Voyageur» (SAE-IV). Ce système délivre des services à trois catégories d’utilisateurs :
  • Les usagers
  • Les chauffeurs des bus et tram (à Toulouse le métro est automatique)
  • Les régulateurs de trafic
Aux usagers en situation de mobilité le système offre les services suivants :
  • Horaire de passage à l’arrêt en temps réel
  • Calcul d’itinéraire
  • Représentation cartographique du réseau
  • Information trafic (perturbation, déviation, état des ascenseurs, …)
  • Réservation des bus TAD (Transport A la Demande)
Aux chauffeurs de bus, il permet de
  • suivre le tracé de la ligne (même en cas de déviation temporaire)
  • réguler l’avance retard
  • pour les lignes TAD : prendre en compte les réservations
Aux régulateurs de la centrale de trafic, il permet :
  • de contrôler les écarts entre le théorique et le réel
  • d’agir sur le réseau en cas d’incident ou de saturation (par injection de véhicules supplémentaires par exemple)
L’architecture du système est composée d’un serveur central (généralement plusieurs) et d’une multitude de périphériques mobiles et fixes.
Figure 1 : Architecture d’un système temps réel de transport public
Pour que le système fonctionne, il faut lui fournir préalablement les données suivantes :
  • Les horaires théoriques des lignes
  • Les tracés de ligne
  • La position des arrêts
  • Le graphe des rues de la ville
Ces données sont chargées dans une phase d'initialisation (généralement en fin de service vers 3h30). Puis lorsque les véhicules commencent à sortir des dépôts, un flux continu d'information temps réel doit se répercuter sur tous les affichages clients. Dans le cas du mobile, la satisfaction de l'usager dépendra de deux qualités :
  • la précision / pertinence des informations (géolocalisation)
  • la vitesse de mise à jour des informations
Comment adresse-t-on ces problématiques ? C'est ce que je vais présenter maintenant.

Synchronisation des données : contraintes des réseaux mobiles


Une plus grosses contraintes du développement mobile est l'accès réseau. En effet, si le débit est généralement correct en 3G, la latence peut être catastrophique. Il arrive parfois de mettre plusieurs secondes avant de recevoir le premier octet de la réponse ! Le développement sur mobile marque donc le retour du besoin d'optimisation. Nombre de requêtes HTTP, poids des transactions, mise en cache : tout compte. La mise en cache de nos arrêts est l'un des défis de nos applications mobile. En effet, il y en a trop pour les transférer quotidiennement, et pourtant il y a des petites modifications tous les jours. Nous mettons donc en place un système d'envoi de différences suivant la date de dernier démarrage de l'application. Un tel mécanisme doit être sans faille, car sinon, des incohérences d'affichage surviennent très vite. Par exemple, lorsque la communauté urbaine inaugure une nouvelle ligne de tram, il y a intérêt à ce qu'elle apparaisse le jour J sur tous les téléphones !

Qualité de l'information : fortes exigences sur mobile


La précision de géolocalisation et de géocodage (le fait de remplacer un nom par des coordonnées ou inversement) croît avec les affichages suivants :
  • vue textuelle non mobile
  • vue textuelle non mobile avec carte partielle
  • un plan interactif
  • mobile géolocalisé
  • mobile en réalité augmenté
En effet, si vous ne remarquerez probablement pas une correspondance placée de manière approximative sur un résultat de calcul d'itinéraire, vous ne comprendriez pas pourquoi les deux abris de bus d'un arrêt semblent être sur le même côté du trottoir sur une carte détaillé.
Figure 2 : « plan interactif » sur tablette
Pour notre « plan interactif » (http://www.tisseo.fr/plan-interactif) nous avons reconstruit entièrement le système de positionnement des arrêts ainsi que de construction des tracés de lignes. De même nous avons tous constaté que parfois un calcul d'itinéraire sur un mobile ou un GPS nous indiquais un point de départ erroné. Cela n'est pas forcément du à un mauvais positionnement GPS, mais cela peut être un problème de géocodage : Lorsque votre téléphone communique votre position au calculateur, celui-ci projette votre position sur son modèle de voirie. Si son modèle de voirie est incomplet, pas à jour ou mal positionné, il vous dira : « Vous partez de XXX » qui ne correspond pas à votre position. Pour être réactif face à ce genre de problème, nous utilisons un modèle de voirie communautaire (OSM) que nous pouvons donc corriger et que nous réimportons quotidiennement. Un cran plus loin, nous avons fait des essais de « réalité augmenté » sur smartphone, et il nous est apparu, que nous n'étions pas encore prêt car pas assez précis.
Figure 3 : Un arrêt de bus en « augmenté » d'informations transport
En effet, une erreur de 2 mètres peut faire disparaître un arrêt parce que situé derrière vous. L'information temps réel de positionnement des bus est aussi très sensible : Sur de grand arrêts, le système doit détecter que le bus est parti avant qu'il ne quitte la zone d’arrêt. Avant que nous corrigions cela, il y avait des bus affichés au départ qui était déjà parti. Et les gens qui courraient pour rien en sortant du métro n'était pas ravis !

3 conseils:


A ceux qui voudraient travailler dans le domaine de la mobilité, j'ai tout d'abord une bonne nouvelle : « L'avenir sera de plus en plus mobile ». La question, qui se pose n'est donc pas « Vais-je réussir à travailler dans la mobilité ? » mais « Comment décrocher les postes les plus intéressants ? »
  1. Restez dans la technique : L'expertise technique permet de vous distinguer. Notre monde se complexifie, et le besoin en expertise va croissant : par contre vous devrez vous maintenir à niveau en permanence.
  2. Toute expérience est valorisable : Entre des domaines très différents il y a parfois besoin de compétences similaires. Avant un entretien, vous devez les avoir identifiés dans vos expériences précédentes. Pour moi, ça a été le calcul, mais vous devez trouver la(les) votre(s).
  3. Faites preuve de stratégie et de cohérence dans votre cursus : Vous ne parviendrez peut-être pas directement à intégrer le domaine qui vous attire. Vous devrez alors trouver un autre domaine qui fait appel aux mêmes types de compétences. Vous pouvez même annoncer cette stratégie lors d'un entretien, cela soulignera votre recul et votre détermination.

Conclusion:


Je travaille sur des applications à très forte visibilité qui rendent des services très concrets. C'est extrêmement gratifiant, mais cela génère aussi une forte pression. Lorsque quelque chose ne marche pas, cela se voit beaucoup et cela pénalise beaucoup de monde. On se sent investi d'une grande responsabilité, mais on expose aussi son travail à la critique. Cela a aussi des répercutions sur le plan personnel : je ne passe plus une seule soirée à Toulouse sans que quelqu'un me dise : « Ce serait bien de faire ça » ou « Je ne comprend pas pourquoi vous avez fait ça comme ça » :-)