Hello !
Je suis Wizix, ado de 17 ans en Terminale S à Rennes. Depuis tout petit j'ai trois passion, l'aéronautique, la programmation et le piano (qui ne nous intéressera pas pour ce sujet ). Je suis vraiment touche-à-tout, j'ai fais du C++, Ruby, HTML/CSS, PHP, JavaScript, C#, Perl, Ada, C… Mais le langage qui me branche beaucoup en ce moment c'est le Python. Et je pense qu'il est bien parti pour le rester. Bref, laissez-moi vous raconter ce qu'est OpenPlane.
Genèse
Depuis la quatrième je suis des cours d'aéronautique. Je possède mon BIA et je suis entrain de passer mon PPL. En aéronautique on utilise un logiciel très complet et totalement génial, Navigation. Le principal problème de celui-ci est qu'il ne tourne que sous Windows (et pour cause, il est codé en Visual Basic).
Étant un Linuxien, je dois l'émuler avec Wine. Et c'est lent, trop lent. Voici donc quelque temps que je me dis qu'il serait bien d'avoir un logiciel semblable sous Linux. Et ne trouvant pas de solution satisfaisante, j'ai pris la décision la plus débile que j'aurais pu prendre : faire cet équivalent moi-même.
Technologies
OpenPlane est entièrement codé en Python 3, il utilise (pour le moment) deux librairies externe :
- PyGObject pour l'interface graphique en GTK+
- matplotlib pour faire des beaux graphiques
Ce logiciel est et restera open source. Il est publié sur mon Github, à cette adresse : https://github.com/boopr/OpenPlane
C'est mon premier vrai projet, donc forcément l'organisation des fichiers n'est pas la meilleure qui soit mais je m'y retrouve. Mon code est sûrement dégoûtant notamment les fichiers openplane/gui/gui_plane_manager.py
et openplane/gui/gui_weight.py
qui sont affreusement répétitifs, mais j'avoue ne pas trop savoir comment faire autrement. Si quelqu'un se sent d'attaque pour me donner des conseils, je suis preneurs ! Toute aide est la bienvenue !
Screenshots
Je précise que j'apprends PyGobject à travers ce projet et le peu de ressource disponible sur Internet. Donc l'interface est voué à des changements (notamment le gestionnaire d'avion qui est actuellement une fenêtre qui va sûrement devenir une fenêtre modale).
En haut à gauche : la fenêtre principale, dessous : le convertisseur, dessous : le hangar et à droite : le gestionnaire d'avion, qui est sur l'onglet centrage de l'avion F-BTBB.
La fenêtre de masse et de centrage. Le graphique se met à jour automatiquement quand des valeurs sont entrées et il peut-être exporté grâce au bouton Enregistrer.
Ce qu'il reste à faire
Beaucoup de choses. Petite liste de ce que j'ai en tête :
Un logoMerci à Blackline !La licence, GPLv2 ou GPLv3 ?GPLv3 me semble correspondre.- Gestion des METARS et TAF, partie qui semble compromise car je ne sais absolument pas où me les procurer. C'est soit payant, soit pas à jour.
- Les NOTAMS
- Si, par le plus grand des miracles, je trouverais comment faire, une carte aéronautique interactive comme dans Navigation. Mais je ne pense pas que ce sera implémenté.
- Et autres
Voilà le projet sur lequel je bosse en ce moment. C'est vraiment un projet qui me tient à cœur, et j'en suis vraiment très fier.
Si vous avez toutes remarques, conseils, suggestions ou voir même un retour d'utilisation (si il y a des pilotes dans la salle, pourriez-vous me dire ce qu'il faut absolument que j'ajoute ?) n'hésitez pas.
Lien Github : https://github.com/boopr/OpenPlane
Je vous remercie de votre lecture, de vos retours et je vous souhaite une bonne journée !