La création des lignes
La création de lignes est le point noir actuel de l’application. Il n’y a pour le moment en base qu’une branche du RER A, la ligne 1 et le T2. Je les ai rentrés à la main en utilisant des feuilles Excel mais il est nécessaire de développer un outil permettant de créer et d’éditer des lignes. Par ailleurs, comme je vise toute la France (dans un premier temps) il m’est impossible de rentrer les lignes entièrement par moi même.
Ancienne approche
Mon approche originelle était de dire : l’utilisateur rentrera lui même sa ligne. Mais arriver à rendre ergonomique cette fonctionnalité est un vrai casse tête. Créer une ligne doit prendre en compte les paramètres suivants :
- Il faut Géolocaliser chaque arrêt de façon précise
- Un arrêt est associé à une station. l’utilisateur ne fait pas la différence entre station et arrêt mais c’est pourtant bien différent. Un arrêt est associé à une seule ligne. une station peut contenir plusieurs arrêts de plusieurs lignes. (par exemple Chatelet-les-halles est une station composée de nombreux arrêts de différentes lignes. La ligne 4 possède même 2 arrêts associés à cette station ayant pour l’un le nom “chatelet” et pour l’autre le nom “les halles”)
Le cas le plus généralement utilisé est pourtant que l’arrêt et la station soient confondus et qu’une station ne possède qu’un seul arrêt. - Le cas le plus simple est juste d’avoir une ligne composée d’une branche sur laquelle le moyen de transport fait l’aller retour. Il y a toutefois de nombreuses exceptions: La ligne peut se scinder en plusieurs branches, un trajet aller peut être différent du trajet retour (c’est très fréquent dans les bus qui passe par une rue à sens unique à l’aller et une autre rue à sens unique au retour).
- Si on se base sur du communautaire, on s’expose à des erreurs et des sabotages. Il faut donc mettre en place un système de modération.
Mon approche d’il y a encore quelques jours était de chercher à créer cette fonctionnalité dans l’application. Or rentrer une ligne et ses arrêts sur un aussi petit écran de façon ergonomique et en gérant toutes les exceptions citées plus haut est un véritable casse tête.
Nouvelle approche
Suite à la soirée SFR, il m’a été soufflé une idée que j’avais éludé trop vite à l’époque de mes premières reflexions :
Ne pas créer cette fonctionnalité dans l’application android et le faire en version WEB. En effet, sur un écran d’ordinateur, la gestion de toutes ces exceptions sera beaucoup plus facile.
Je vais donc retirer cette fonctionnalité de la première version de l’application et la créer en version WEB (en GWT vraissemblablement)
Une fois cet outil web créé, j’aurai besoin de volontaires pour m’aider à remplir les différents réseaux des différentes villes de France. (des volontaires ?)
Autre approche
Utiliser un système d’insertion totalement automatisé en me basant sur des bases de données libres de droit.
Cette approche ne me permettra probablement jamais de tout couvrir d’un coup et nécessitera surement quelques ajustements avec l’outil web mais un préremplissage d’une grosse partie des données est une approche que je continue de creuser.
Je recherche à ce titre des gens qui pourraient m’indiquer où trouver de telles bases de données (API google??) Si vous avez des infos n’hésitez pas à commenter ce billet ou à m’écrire directement par mail.
#1 by Jayce at May 15th, 2009
| Quote
Pour l’insertion automatique des arrêts, le lien suivant pourrait t’aider :
http://code.google.com/intl/fr/apis/maps/documentation/geocoding/#GeocodingRequests
Un exemple qui retourne les coordonnées du métro “porte de pantin” :
http://maps.google.com/maps/geo?q=metro%20porte%20de%20pantin
Il faut d’abord que tu es la liste des arrêts.
Après c’est clair qu’il faut vérifier que les coordonnées sont exactes, mais je pense que dans beaucoup cas ça devrait aller.
Concernant ton futur site web, tu peux essayer l’asp.net et silverlight, c’est pas mal aussi