Historique du projet

Cyberrail est né dans mon esprit en 2005, à la suite de l’utilisation “intensive” de CATrain et l’essai de BAHN. Je cherchais alors un programme qui simule la circulation de trains sur un ensemble de voie dont la conception est faite par l’utilisateur. Mon passage à Linux1) introduisait un nouveau critère : le soft devait tourner sous un Unix…

Les origines

CATrain fût une très bonne expérience, mais de conception ancienne, il avait du mal à s’adapter aux tailles de réseau que j’envisageais. De plus, le modèle de signalisation s’y trouvant comportait un ou deux bugs et (à moins qu’il n’ai beaucoup évolué) est trop rudimentaire pour pouvoir faire des choses intéressantes. À l’époque CATrain était un programme pour Windows en 16 bits, et la taille de la fenêtre déterminait la taille du réseau. Cela dit, sans CATrain, je n’aurai probablement pas eu l’idée de me lancer dans l’aventure…

BAHN proposait une meilleur approche de simulation de réseau, même si son interface trahissait le poids des années. La mécanique de signalisation semblait beaucoup plus au point, et les possibilités étaient plus variées. L’exemple de la gare de triage avec une file d’attente pour les locomotives, ainsi que la recomposition des convois en direct, a achevé ma détermination de faire un système évolué de simulation ferroviaire. On peut également citer la planification possible des convois dans le temps. Ça ajoute beaucoup de réalisme. Par contre, là encore, il s’agit d’un programme pour Windows uniquement, avec des conditions d’utilisation pas forcément à mon goût.

La conception initiale

La conception initiale s’est faite en grande partie sur mon blog et dans ma tête, de façon peu structurée. Mes tentatives d’ouvrir un wiki correct chez SourceForge ne m’ont pas convaincu : il n’est pas facile de trouver un bon wiki qui fonctionne avec une base de donnée. La contrainte de l’époque, qui est peut-être encore vrai maintenant, est que le serveur web ne peut pas écrire sur le système de fichiers.

En l’absence d’outil, cette conception, bien qu’assez approfondie dans ma tête, n’a pas pu être correctement couché sur le papier (fut-il virtuel). J’ai tout de même commencé à imaginer ce que pourrait être un simulateur de réseau ferroviaire moderne, qui fonctionne sous Linux (et éventuellement sous Windows), libre (ce qui n’est pas vraiment à la mode dans le modélisme ferroviaire), modulaire (pour que d’autres puissent éventuellement rajouter de nouvelles fonctionnalités), et permettant une simulation proche de la réalité.

Les premières lignes de code

Malgré un manque flagrant d’outil, j’ai rapidement commencé à écrire du code, qui au final a très mal vieillit. Modèle de donné simpliste, écriture de certains modules sans reflexion approfondie sur leur communication avec le reste du monde, etc. De plus, l’attente des QGraphicsView de Qt, qui allaient me permettrent de faire un affichage propre, a considérablement ralenti l’implémentation de toute la partie graphique.

Mes études, et par la suite mon activité professionnelle parallèle me prenant de plus en plus de temps, je n’ai hélas pas pu me consacrer plus en profondeur à ce projet ces derniers mois.

L'état actuel

Ce premier jet m’a permis de voir les difficultés qui allaient m’attendre, et m’a décidé a structurer un peu mieux ce projet : investissement dans un serveur, mise en place d’un wiki, d’un svn public, reprise du code. Le projet repart sur de bonnes bases. Notamment, le wiki permet de réaliser un vrai travail de conception sur laquelle l’écriture du code pourra se baser.

Actuellement, le travail se porte surtout sur la conception des modèles de données, et l’écriture d’outils pour les manipuler, en commençant par la documentation de ces aspects. Voir également la feuille de route, pour les développements courants.

Compte rendu des réunions

1) Debian GNU/Linux Sid pour les experts
historique.txt · Dernière modification: 19/10/2011 17:36 par Emmanuel
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki