OpenPlane

a marqué ce sujet comme résolu.

Je testerai plus tard pour le bug, je n'ai pas trop le temps la.

Pour lancer le programme, soit si python est configurer au lancement d'un fichier .py c'est bon. (Comme moi par exemple ça lance mon editeur), donc je le fait depuis le cmd (Avantage on voit en cas de bug la fenêtre de python …)

En faites je sais d’où vient le bug. Quand le carnet de vol fait référence à un avion supprimé, le programme cherche à ouvrir l'avion mais il n'existe plus.

De plus sur Windows, les liens dans la fenêtre about ne sont pas utilisable. (Mais sur le projet que je fais actuellement j'obtiens la même chose [Impossible d'afficher le lien / Aucune application n'est enregistré pour gérer ce fichier], donc je pense que ceci vient plutôt de Gtk.

Et quand j'aurai un moment je regarderai pour faire des captures un peu plus jolie, la j'ai fais vite fait mal fait…

Ah oui effectivement ! Je pensais que tu me disais que ce bug apparaissait quand tu supprimais un fichier de vol. Ce bug est désormais corrigé.

Je précise que des bugs comme ça, il doit y en avoir plein le programme. J'avoue que je ne vérifie jamais les entrées des utilisateurs (je part du principe que je fais confiance à mes utilisateurs).

Les liens de mon côté fonctionnent parfaitement. N'étant pas sous Windows, je n'ai pas de quoi tester pour voir où le problème est. Si tu trouves une solution, n'hésite pas à m'en faire part !

+1 -0

Incroyable ! Merci beaucoup !! :D Jamais je n'aurais pensé que mon projet irait si loin !


Pour vous faire un petit rapport sur l'avancé, je travaille en ce moment sur un script qui va chercher les informations sur tous les aérodromes de France et qui parse tout ça dans un fichier JSON par aérodrome. J'ai l'algorithme, j'ai plus qu'à l'implémenter en Python. Ces données vont être utilisées pour la carte interactive si il y a, mais aussi afin d'avoir un index des aérodromes et leurs caractéristiques (le logiciel vous diras si votre aéronef peut se poser sur telle piste ou telle piste en fonction du revêtement de la piste et des distances d'attérissages de votre appareil, de l'équipement qui l'équipe, etc.). Voilà le site sur lequel j’extrais mes données : https://www.sia.aviation-civile.gouv.fr/aip/enligne/FRANCE/AIRAC-2015-09-17/html/eAIP/FR-AD-1.3-fr-FR.html#AD-1.3 , et voici à quoi ressemble le fichier JSON de l'aérodrôme LFDA (troisième du site, 7ème ligne) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
    "Code": "LFDA",
    "Name": "AIRE SUR L'ADOUR",
    "MAG": -0.95,
    "GEO_ARP": "43°42'31\"N 000°14'50\"W",
    "ALT": 266,
    "Traffic": "NTL VFR P",
    "GUND": 159,
    "Status": "ouvert à la CAP",

    "Runways": {
        "Runway_1": {
            "Lenght": 1000,
            "Width": 30,
            "Surface": "revêtue",

            "Side_1": {
                "Code": "12",
                "Orientation": 115,

                "THR": {
                    "Position": "43°42'36.08\"N 000°15'11.85\"W",
                    "ALT": 258,
                },

                "DTHR": {
                    "Position": "43°42'33.89\"N 000°15'05.47\"W",
                    "ALT": 259
                },
                "Status": null
            },

            "Side_2": {
                "Code": "30",
                "Orientation": 295,

                "THR": {
                    "Position": "43°42'22.21\"N 000°14'31.51\"W",
                    "ALT": 265
                },

                "DTHR": {
                    "Position": "43°42'26.69\"N 000°14'44.52\"W",
                    "ALT": 263
                },
                "Status": null
            },
        },

        "Runway_2": {
            "Lenght": 978,
            "Width": 80,
            "Surface": "non revêtue",

            "Side_1": {
                "Code": "12L",
                "Orientation": 115,

                "THR": {
                    "Position": "43°42'37.36\"N 000°15'09.83\"W",
                    "ALT": 260,
                },

                "DTHR": {
                    "Position": "43°42'35.82\"N 000°15'05.30\"W",
                    "ALT": 261
                },
                "Status": null
            },

            "Side_2": {
                "Code": "30R",
                "Orientation": 295,

                "THR": {
                    "Position": "43°42'23.82\"N 000°14'30.46\"W",
                    "ALT": 266
                },

                "DTHR": {
                    "Position": "43°42'27.99\"N 000°14'42.58\"W",
                    "ALT": 264
                },
                "Status": null
            }
        }
    }
}

Voilà, voilà, c'est de l'utilisation massive de BeautifulSoup, mais je m'en sort à peu près. :D

Merci à tous de votre soutient et de votre intérêt.

EDIT : il n'y aurait pas un moyen de mettre un grand bloc de code en balise secret sans mettre une | manuellement devant chaque ligne ?

+4 -0

Parait qu'un loup est passé par ici… :P

Incroyable ! Merci beaucoup !! :D Jamais je n'aurais pensé que mon projet irait si loin !

C'est pas le NY Times non plus ( :D ) mais plus sérieusement, c'est un projet intéressant. Le mettre en avant est une bonne chose.

+6 -0

Parait qu'un loup est passé par ici… :P

Incroyable ! Merci beaucoup !! :D Jamais je n'aurais pensé que mon projet irait si loin !

C'est pas le NY Times non plus ( :D ) mais plus sérieusement, c'est un projet intéressant. Le mettre en avant est une bonne chose.

Arius

Ça reste incroyable (pour moi) d'être en première page quand on voit le nombre de projet ici (et quand on sait qu'OpenPlane est parti d'un simple convertisseur) ! ;)
Merci !

+0 -0

J'ai toujours voulu faire du planeur ! :D
Donc oui, je compte les prendre en compte. Bien que je ne sais absolument rien d'eux. Je vais me renseigner et voir ce qu'il faut que j'ajoute. Pour le moment je suis concentré sur ce parseur, il me prend la tête. Mais une fois qu'il sera fait, je serais tranquille !

C'est vrai que ça fait rêver cette sensation de glisser dans l'air. On doit se sentir beaucoup plus libre que dans un avion et c'est tellement plus élégant. C'est vraiment un de mes objectifs de faire du planeur !


Le parseur est totalement terminé ! Quelques explications quand même :
Nodraak à fait le parseur qui prend les données depuis le site web et les mets dans un fichier JSON. Ça c'était la partie ch***te. Seulement les données était un peu entassées, comme vous pouvez le voir ici :

1
2
"Surface": "1250x23revêtue",
"THR_alt": "202202"

J'ai dû modifier un peu son parseur afin qu'il me sorte des chaînes comme ça :

1
2
"Surface": "1250:x:23:revêtue",
"THR_alt": "202:202"

Ça c'est le parseur de Nodraak. Il fait très bien son travail en 4.98 secondes.
Ensuite, j'ai dû créer un autre parseur qui va parser ce fichier. En gros, voici ce qui en ressort :

1
2
3
4
5
"Surface": "Revêtue",
"Width": 23,
"Length": 1250,
"THR_alt_1": 202,
"THR_alt_2": 202

Et si une valeur est vide/non précisé elle vaut alors null.

Je me concentre désormais sur le sélecteur d'aérodrome. Je me suis donc amusé à mettre une barre de recherche, je vais essayer de la faire fonctionner. Aussi, je pense qu'il faudrait un visualiseur des données de l'aérodrome.

Donc voilà le programme du week-end ! :)

EDIT : Du coup, je vais pouvoir mettre en place un petit gestionnaire de mise à jour !

EDIT 2 : Il semblerais que le sélectionneur d'aérodrome ait été plus simple à faire que prévu. Voici une petite preview :
sélectionneur d'aérodrome d'OpenPlane
Petite anecdote : j'avais oublié de mettre les ascenseurs à cette fenêtre… Du coup je me suis retrouvé avec une liste de 500 aérodromes. C'était trop pour Cinnamon qui a planté en beauté… J'ai dû tout refaire >_<

+3 -0

Salut à tous !
Heureusement que ce n'était qu'une petite fenêtre, ça aurait été une bien garnie, j'aurais hurlé !

En parlant d'évolution, il est temps d'en faire une importante je pense. Tout d'abord présentation de ce que j'ai fait cet après-midi.

Le sélecteur d'aérodrome :

La recherche ne fonctionne qu'avec les codes OACI pour le moment, je ne sais toujours pas pourquoi. Il faudra que je m'y penche plus sérieusement un ces quatre.

Le gestionnaire de mises à jour :

Bon le design est vraiment temporel, en attendant de trouver mieux (et surtout de trouver d'autres choses à mettre à jour). J'ai essayé de mettre une barre de progression mais je ne sais pas comment estimer le temps qu'il reste au parseur avant d'avoir finit… Donc pour le moment, le bouton se fige tant que le parseur n'a pas finit son job.

Et c'est là où ça cloche. Regardez moi cette fenêtre d'accueil d'OpenPlane :

Ça ne ressemble plus à rien ! Conclusion, il faut absolument que j'ajoute cette foutue carte interactive et que je mette tous ces boutons dans des menus. Faut que je regarde comment je peux faire ça. Peut-être qu'OpenStreetMap pourrais être une solution…

Aussi, j'essaye actuellement de faire le visualiseur d'aérodrome (accessible avec le bouton ouvrir du sélecteur d'aérodrome). Seulement, ce serait beaucoup trop simple d'afficher seulement les données renvoyé par le parseur. Je me suis donc mis en tête d'afficher la carte VAC (disponible à cette adresse) correspondante. Le problème est que le module pour afficher du PDF dans GTK, Poppler, ne fonctionne pas chez moi. J'ai comme erreur à l'importation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
>>> from gi.repository import poppler
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2158, in _find_spec
AttributeError: 'DynamicImporter' object has no attribute 'find_spec'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/gi/importer.py", line 53, in find_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name poppler, introspection typelib not found

Est-ce que quelqu'un peut me confirmer que ça ne viendrais pas juste de moi ? Et connaîtriez-vous une alternative à Poppler ?

Et je crois que c'est tout ce que j'avais à vous dire.
Bonne soirée et merci de votre lecture !

+3 -0

Rassure-moi, c'est juste une typo au recopiage, ou t'avais bien fait import poopler avec deux O ?

Je vois pas ce qui te gêne avec la fenêtre d'accueil sinon, certes une carte c'est mieux mais ça doit être pénible à faire.

EDIT: Je modifierais le texte du bouton "Mettre à jour" pour "Recharger aérodromes".

+2 -0

Ouhlà oui petite erreur. Je commence à fatiguer moi, merci de l'avoir remarqué ! Mais l'erreur reste la même…

Une carte, c'est n'est pas juste qu'une grande image ? :D Je vais voir ce que je peux faire. Même si ce n'est qu'une carte aéronautique sans aucunes options, ce n'est pas grave selon moi. Mais bon, me connaissant, je me sentirais obliger de lui mettre des options et des boutons partout.

Le truc gênant pour la carte c'est que c'est pas aussi smple qu'il n'y paraît, surtout si tu veux du zoom et des zones cliquables.

Pour poppler on dirait que c'est Poppler qu'l faut importer: SO

EDIT: Cadal, ça pourrait être utile. Sinon je viens de regarder pour OSM, ça serait génial de l'intégrer vu que les bases aériennes y sont déjà avec toutes les informations, comme ceci par exemple.

+3 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte