Je suis en train d'écire une version open source de RIHO, le logiciel des horaires des trains de la SNCF (actuellement uniquement disponible sous windows et mac osx).
Ce logiciel, "horails" (merci à https://linuxfr.org/~termitor/ pour le nom), utilise pour le moment les mêmes fichiers que RIHO (ceux où sont sauvegardé les horaires de tous les trains). Il est actuellement ecrit en C++ et l'interface, très sommaire, utilse GTK.
Il y a encore quelques bugs "connus" (les périodes de circulations, les transitions sur Paris...), mais qui ne saurait durer, grâce à la communauté open source :)
L'aide de quiconque est bienvue :)
Page principale: http://horails.arthy.org/
Sourceforge: http://sourceforge.net/projects/horails
Forum: http://horails.arthy.org/forum/
# je trouve pas le lien
Posté par teddyber . Évalué à 1.
[^] # Re: je trouve pas le lien
Posté par Michael Rao (site web personnel) . Évalué à 2.
svn co https://horails.svn.sourceforge.net/svnroot/horails horails
Il faut aussi la base de donnée de riho ( http://lwdr.free.fr/doc/horaires-pc.zip )
C'est les fichiers dans le répertoire ETE-GL (apres 3 coup de unzip...)
[^] # Re: je trouve pas le lien
Posté par liberforce (site web personnel) . Évalué à 2.
[^] # Re: je trouve pas le lien
Posté par liberforce (site web personnel) . Évalué à 2.
Autre conseille, pour du développement GTK, installe devhelp, tu auras tout la doc nécessaire sous la main, la compétion en plus.
[^] # Re: je trouve pas le lien
Posté par Michael Rao (site web personnel) . Évalué à 1.
J'ai utilisé gtk car j'avais deja bidouillé un peu. Mais je la trouve trop lourde...
[^] # Re: je trouve pas le lien
Posté par liberforce (site web personnel) . Évalué à 2.
[^] # Re: je trouve pas le lien
Posté par liberforce (site web personnel) . Évalué à 2.
# De quelle aide as-tu besoin ?
Posté par Tristram . Évalué à 5.
Tu cherches quel type d'aide ? (Je teste le programme ce soir même)
[^] # Re: De quelle aide as-tu besoin ?
Posté par Michael Rao (site web personnel) . Évalué à 5.
Sinon, il y a des trucs que j'ai pas trop compris dans la base de donnée de RIHO (de l'information qui doit bien servir à quelque chose...)..
Enfin, si quelqu'un à une idée géniale pour un algorithme de recherche de plus court chemin :). Pour le moment, j'ai une sorte de Dijsktra modifié, avec un ordre partiel sur les scores (en gros, il garde tous les chemins possibles qui ne sont pas "moins bons" qu'un autre chemin deja connu). Après, tout est dans ce qu'on entend par "moins bon"...
[^] # Re: De quelle aide as-tu besoin ?
Posté par Tristram . Évalué à 3.
Niveau interface graphiques j'ai seulement fait du Qt4 et du Swing (malgré mon aversion pour Qt, j'ai bien aimé l'API et le code dans l'ensemble); je regarderait gtk pour voir à quoi ça ressemble.
Pour ce qui est de Dijsktra, ça m'intéresse d'en savoir un peu plus (je suis en tout début de thèse en informatique/recherche opérationnelle).
[^] # Re: De quelle aide as-tu besoin ?
Posté par Michael Rao (site web personnel) . Évalué à 5.
Pour dijsktra, c'est du "fait maison". En fait avec Disjktra, tu visites une et une seule fois chaque noeud. Le problème c'est qu'avec ca, il te sort qu'un chemin qui minimise "quelquechose", qur lequel on a un ordre total (par exemple, minimiser le temps d'arrivé, le temps de parcours, le nombre de correspondances). Maintenant, si tu mets un ordre partiel, et que tu t'assures qu'il n'y aura jamais trop d'elements minimums, tu peux faire un peu pres la meme chose.
Après, il est possible d'améliorer en pratique le rercherche. Avec disjktra, on a grosso modo du linéaire. Mais quand il y a beaucoup de trains et de gares, ca prend quelque secondes. On peut utiliser des "heuristiques" à la A* pour deviner plus rapidement quel chemin va le mieux marcher, et abandoner le plus tot possible les chemins qui partent pas dans la meme direction.
(J'ai fait une these en algo de graphes :) )
[^] # Re: De quelle aide as-tu besoin ?
Posté par djibb (site web personnel) . Évalué à 7.
tu fais un programme une seule fois pour toutes les plateformes... c'est pas mal comme argument non ?
[^] # Re: De quelle aide as-tu besoin ?
Posté par Michael Rao (site web personnel) . Évalué à 2.
[^] # Re: De quelle aide as-tu besoin ?
Posté par Guillaume Denry (site web personnel) . Évalué à 6.
Programme un peu en GTK.
Puis ensuite, programme en Qt4.
Tu vas comprendre.
[^] # Re: De quelle aide as-tu besoin ?
Posté par Calve . Évalué à 1.
Je test dès que je comprend le fonctionnement de svn, et que j'ai le temps :)
[^] # Re: De quelle aide as-tu besoin ?
Posté par goernil . Évalué à 1.
Bon je sais
-------->[]
[^] # Re: De quelle aide as-tu besoin ?
Posté par Michael Rao (site web personnel) . Évalué à 1.
Il ne faut le dire à mes étudiants :)
# facile
Posté par Jack ze . Évalué à 9.
ça ne va pas te prendre bien longtemps à pondre un soft pareil :
#include <stdio.h>
void main(void)
{
int train, h, m;
char horaire[1000]={"0H12", "0H27", ..... , "23H56", "23H59"};
for (train=0;train<=999;train++)
for (h=0;h<24;h++)
for (m=0;h<60;m++)
if (horaire[train]==sprintf("%dH%d",h,m))
printf("Train numéro %d à %dH%d : annulé\n", train, h, m);
}
[^] # Re: facile
Posté par Bruno Michel (site web personnel) . Évalué à 3.
[^] # Re: facile
Posté par briaeros007 . Évalué à 5.
:P
Voir il a fait son propre compilo (qui suis pas la norme) qui sais les faires sans problèmes.
:P
[^] # Re: facile
Posté par Guillaume Denry (site web personnel) . Évalué à -1.
[^] # Re: facile
Posté par thedidouille . Évalué à -2.
char horaire[1000]={"0H12", "0H27", ..... , "23H56", "23H59"};
2/ il y a une erreur dans la ligne "for (m=0;h<60;m++)"
3/ l'indentation est à chier
4/ Pourquoi tu utilises tes deux boucles? elles ne servent à rien.
# L'intérêt ?
Posté par liberforce (site web personnel) . Évalué à 3.
[^] # Re: L'intérêt ?
Posté par Tristram . Évalué à 4.
[^] # Re: L'intérêt ?
Posté par fyah . Évalué à 1.
[^] # Re: L'intérêt ?
Posté par liberforce (site web personnel) . Évalué à 0.
[^] # Re: L'intérêt ?
Posté par Michael Rao (site web personnel) . Évalué à 3.
De plus, on a pas toujours acces au web (par exemple, sur son portable dans le train). On peut aussi vouloir faire beaucoup d'accès à la base, sans à chaque fois passer par le site (ex: calculer le temps min entre une gare et le 'reste du monde')
[^] # Re: L'intérêt ?
Posté par LeMagicien Garcimore . Évalué à 3.
# Et pour les mises à jour ?
Posté par windu.2b . Évalué à 2.
Ces fichiers sont gracieusement mis à disposition ? Comment cela se passerait-il ?
[^] # Re: Et pour les mises à jour ?
Posté par Michael Rao (site web personnel) . Évalué à 1.
Dans le futur, on peut imaginer avoir notre propre liste de train sur un serveur, et que l'appli la mette à jour à chaque démarrage.
[^] # Re: Et pour les mises à jour ?
Posté par BohwaZ (site web personnel, Mastodon) . Évalué à 1.
Pour info, l'URL appelée est http://www.services.dsit.sncf.fr/horaires/majsncf/majhor.asp(...)
Faudrait avant tout que la SNCF ait une politique d'ouverture, et ça c'est pas gagné.
Michael, ça te dirais de documenter un peu tes investigations sur le format RIHO ? c'est très intéressant et on pourrait imaginer faire un site web qui donne les horaires, histoire de pas toujours devoir galérer sur voyages-sncf.com (probablement l'un des pires sites que je connaisse !).
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: Et pour les mises à jour ?
Posté par Michael Rao (site web personnel) . Évalué à 1.
Mais bon, on peut imaginer que l'appli se connecte à bahn.de pour vérifier que les trains choisis n'ont pas étés modifiés, et dans le cas contraire, qu'elle mette à jour une base de donnée "ouverte" partagée...
Je vais faire une petite doc, dès que j'ai le temps, sur ce que j'ai compris du format de fichier de RIHO.
[^] # Re: Et pour les mises à jour ?
Posté par fyah . Évalué à 1.
Mentions légales: ce logiciel est distribué sur ce site sous licence SNCF à portée limitée dont voici les principaux extraits:
<< L'autorisation de téléchargement du logiciel RIHO est strictement limitée aux besoins personnels des internautes. Elle ne saurait être étendue aux titulaires d'autres sites internet ou éditeurs de logiciels, désireux d'en faire la commercialisation. >>
<<Le téléchargement ne pourra se faire qu'à titre gratuit.>>
<<La SNCF se réserve le droit de modifier à tout moment les informations contenues dans le logiciel RIHO qu'elle exploite personnellement, sans en informer au préalable le licencié et sans être tenu de communiquer à celui-ci les mises à jour engendrées par les modifications intervenues.>>
- Aucune assistance n'est prévue pour cette application, en interne comme en externe. (© DSIT-EC/A3 - PBT) -
Ce qui voudrait dire que si tu fait un site/soft gratuit, cela doit être possible...
[^] # Re: Et pour les mises à jour ?
Posté par Michael Rao (site web personnel) . Évalué à 2.
Dans tous les cas, même si on peut pas diffuser directement les fichiers, on peut toujours les faire chercher automatiquement.
[^] # Re: Et pour les mises à jour ?
Posté par Michael Rao (site web personnel) . Évalué à 2.
# C++ / GTK ??
Posté par daggett . Évalué à 2.
[^] # Re: C++ / GTK ??
Posté par Michael Rao (site web personnel) . Évalué à 1.
[^] # Re: C++ / GTK ??
Posté par plic . Évalué à 2.
La faculté de citer est un substitut commode à l'intelligence -- Somerset Maugham
# Horaires SNCF
Posté par Ekx27 . Évalué à 1.
J'ai un pote qui l'avais installé, ca marchais bien (je n'ai pas de Mac...) dommage qu'il ne soit pas open source...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.