Arkadde Voir le profil de Arkadde
Posté le 25 novembre 2013 à 20:31:04 Avertir un administrateur
Techniquement oui on doit créer la navette en vrai
=> Alors il va falloir revoir vos exigences à la baisse, parce qu'on ne fait pas un projet embarqué aussi colossal que ça, sans avoir de connaissance en programmation... 
papy386 a donné les idées générales : il faut modéliser un graphe avec les arrêts et balancer du A* dessus à chaque demande d'itinéraire.
Vu que je bosse sur un projet sur le même thème en ce moment, je peux peut-être vous donner des idées. Pour vous faciliter la tâche y'a des usines à gaz open-source comme OpenTripPlanner qui peuvent éventuellement vous aider : vous créez un gros fichier au format GTFS (je vous laisse chercher ce que c'est, c'est un format universel utilisé un peu partout pour la représentation de flux de transport), dans lequel vous indiquez vos arrêts, leurs coordonnées GPS, les différents trajets qui passent par ces points, etc.
Vous donnez votre gros GTFS à OpenTripPlanner, qui sera installé sur un serveur distant. Vous lui passez aussi un bout de map au format OSM (y'a des sites qui génèrent automatiquement des bouts de map dans ce format, il suffit d'indiquer la ville qui vous intéresse et en gros il vous sort un gros fichier qui contient la représentation virtuelle de votre ville), que vous placez au bon endroit dans votre installation d'OpenTripPlaner. Avec le GTFS et la map OSM de votre ville, OpenTripPlanner vous construit automatiquement un graphe là-dessus et qui a déjà une implantation d'A*. Et il fait tourner un serveur web qui vous permet de l'interroger H24.
Ensuite avec votre programme C, vous envoyez une requête HTTP vers le serveur OpenTripPlanner, vous récupérez la réponse (i.e. le chemin optimal de votre position actuelle jusqu'à l'arrêt, tel que trouvé par OpenTripPlanner), et vous la parsez (soit en XML, soit en JSON sachant qu'OpenTripPlanner peut renvoyer les deux) selon le format qui vous arrange pour représenter ça avec des struct C par exemple.
L'étape d'après c'est de l'embarqué, c'est-à-dire faire comprendre tout ça à votre éventuelle machine, et c'est du niveau Bac+4-5 en informatique. Mais si vous arrivez déjà la première partie vous aurez déjà fait du gros boulot, sachant que vous avez visiblement pas de base en programmation, vous risquez d'en chier sévère pour arriver à avoir un truc qui marche.
C'est comme ça que je ferais personnellement parce que je sais que c'est open-source et que ça fait à peu près tout automatiquement. Maintenant il va falloir vous accrocher pour finir votre projet, alors bonne chance. 