carnet de vol

Salut Marc, p’tit Juju et Pirk

Si vous vous comprenez ben tant mieux :trinq: moi je ne suis que simple parapenteux :ppte:

Bon courage Pirck, l’idée est bonne, j’ai toujours un peu peur que le site internet crash ou ne soit plus maintenu et que les données se perdent un jour…

T’inquietes, j’ai l’intention d’ecrire un manuel d’utilisation a l’intention des non-programmeurs des que j’aurais moi meme compris dans quels cas ca marche et dans quels cas ca marche pas :wink:
Pour l’instant c’est juste une version alpha (http://dictionnaire.phpmyvisites.net/definition-Alpha-version--6678.htm) pour justement determiner ces choses la.

Pour python 3 les sources sont par defaut codees en utf-8 (si c’est pas le cas il faut effectivement rajouter # -- coding: codec -- ).

La retro compatibilite entre python 2 et python 3 c’est super chiant a gerer. J’ai ecrit quelques programmes qui fonctionnent avec les deux versions mais ca limite fortement la syntaxe utilisable (faut rien mettre qui ait change entre les deux versions). Donc j’ai choisi de passer a la version 3 en esperant que la 2 creve rapidement et qu’on en parle plus.

C’est complique les histoires de codage, ca m’a pris des plombes pour comprendre comment coder mes donnees que j’envoie a Parawing sans que les accents soient remplaces par du Chinois.

Tu crois qu’il faut que j’encode aussi ce que l’utilisateur tape dans l’interface graphique ? Je me dis que tkinter doit gerer ca de maniere transparente pour le programmeur et fournir directement de l’unicode, mais j’en suis pas sur, il faudra que je fasse des tests sur ca aussi. Et sqlite3, il gere comment le texte que je lui demande d’ecrire ou de lire dans la BdD ?

Euh, mauvaise formulation sans doute. Python3 doit faire l’hypothèse que son source est en utf-8 si rien n’est spécifié. Mais de manière générale, c’est pas mal de rajouter cette ligne, ça aide aussi les éditeurs de texte à pas faire de la merde. Je ne vois aucune raison de ne pas mettre cette info, mais je n’ai sans doute pas imaginer tous les cas de figure !

désolé de te décevoir, mais la 2 est loin de mourir. D’ailleurs, c’est même pas au programme. Je te laisse lire cet entretient récent: http://linuxfr.org/news/entretien-avec-les-développeurs-python-francophones

Possible que tix fasse qqch pour toi, ou pas, pareil pour sqlite… faut vérifier. Lecture rapide du module sqlite3, visiblement, des efforts ont été fait pour travailler avec de l’unicode. Si tix te retourne de l’unicode, alors ça devrait tout bien fonctionner. S’il te retourne autre chose, tu peux avoir des surprises…

Bonjour,

Je suis intéressé par l’application et je trouve l’idée très séduisante.
Je suis sous mac et commencé a téléchargée l’application carnet, python, actice tcl
mais a l’execution de gui.py j’ai eu un souci avec les accents que j’ai enlevé du programme
ensuite j’ai ImportError: No module named tkinter.tix
J’ai oublié de faire quoi

merci de votre support
bon vol
Steeve

salut,

c’est ce qu’on disait plus haut, ajoute

-- coding: iso-8859-15 -- ( ou # -- coding: utf-8 -- pour etre en utf-8 comme suggerait marc) dans tous les .py ca t’evitera de faire la chasse aux accents

perso je n’utilise pas d’accents ca evite bien des soucis, mais j’ai commence l’info y’a +30 ans et a l’epoque on n’avait que des claviers qwerty sans accents (que j’utilise toujours, les claviers pas les accents hein faut suivre !), donc pas de probleme… c’etait le bon temps… mais bon je digresse

pour les erreurs suivantes tu dois avoir les memes problemes que j’ai a savoir des modules manquants ou installes pour des versions differentes de python

a ce propos PiRK, si le soft ne doit tourner que pour une version mini de python ce serait peut-etre mieux d’ajouter un check de l’interpreteur afin de stopper proprement le truc en disant “python3.x mini required” plutot que de laisser le script crasher, et eventuellement tester la presence des modules necessaires/d’indiquer lesquels sont manquants, ou d’inclure un configure pour tester les modules presents et les versions et patcher l’ensemble des fichiers a la volee si besoin selon l’environnement (je sais, je sais c’est pas moi qui code :stuck_out_tongue: )

pour en revenir a toi Steeve, ouvre un terminal (y’a un truc pour ca dans les menus du macos je sais plus ou) tape python -V pour avoir la version, ca devrait te renvoyer un truc du style:

python -V
Python x.x.x

c’est la version du python si c’est pas 3.x.x ca risque de pas le faire et je suis pas sur que ce soit un bonne idee de mixer des versions differentes de python si tu ne sais pas trop ce que tu fais (a supposer que macos accepte de jouer a ca…)

apres faut ajouter les modules qui manquent (et croiser les doigts), y’a un truc pour faire ca sous macos mais je sais plus comment ils ont appele ca, y’a ptet un truc avec du click-bouton plutot que de la commande mais la faut demander a un apple-addict ce qui n’est pas trop ma came

sur ce, bonne nuit les petits
julien.

Les programmes qui parlent français mais sans accent, ça fait un peu moche. Après, c’est sûr qu’il existe des méthodes pour ne pas mélanger texte et code, mais dans une première version non multi-langue, c’est mieux de mettre les accents dans les chaînes embarquées dans le code :smiley:

Je sais que sous windows au moins, il existe des programmes qui vont prendre toutes les dépendances d’un script python et enrober le tout (soft, interpr., déps) dans un .exe indépendant. Très pratique. Sans doute que ça existe aussi pour python 3 et win/mac osx :slight_smile:

Malheureusement je n’ai pas de mac a ma disposition pour determiner ce qu’il faut installer pour que ca marche. J’espere que dans le futur tout sera installe par defaut sur tous les OS, mais pour l’instant les vieilles versions de tkinter.tix et python 3 ne fonctionnent pas toujours bien ensemble. En attendant si quelqu’un arrive a lancer le carnet de vol sur un mac, ca m’interesserait de savoir avec quelles versions de tkinter et python.

Je suis pas sur que ca existe deja pour python 3. La derniere fois que j’ai cherche j’avais pas trouve pour python plus recent que 2.5.

Tu vas attendre longtemps.

Sur les unix un peu libristes sur les bords, tu trouvera toujours python installé (ou presque), mais en version 2 pour l’instant, 3 bientôt. Sur windows/mac, je doute. Et pour Tix, là, je doute encore plus. C’est très sympa, mais Tk, ça date d’un autre age !

Bonjour,
J ai avancé mais j ai du installer python 3.2
Mais tk. Fonctionne pas encore je cherche…
Sur Mac récent j avais python 2.7 installé
Bon vol

D’apres ce que j’ai compris, tkinter est la bibliotheque graphique “officielle” de python, c’est pour ca que j’ai bon espoir que ces problemes de compatibilite soient regles rapidement. Autrement j’aurais choisi d’utiliser un truc plus commun tel que pygtk ou pyqt (rien que pour avoir une meilleure documentation), mais c’est encore plus compliqué d’installer des versions de ces bibliotheques compatible avec python 3 a mon avis.

Peut être… J’ai jamais trop creusé… J’utilise très très rarement windows/mac, et sur les machines que j’utilise, installer tix ou pygtk est strictement identique (et immédiat).

Un avantage de GTK/QT par rapport à Tk, c’est une possible meilleure intégration avec le “look & feel” du bureau grâce aux moteurs de thèmes (et encore…). Tk, ça marche, mais ça fait un peu rustique quand même…

Sinon, un autre avantage de GTK/QT face à Tk, c’est la possibilité de créer ton interface graphique de manière indépendante du code (un peu comme en web, séparation contenu/présentation): l’interface graphique est dans un fichier externe que tu charges au lancement (glade pour gtk, qt intègre ça de base). Je ne sais pas pour Tk si ça existe… Ça allège grandement le code :slight_smile:

Je jeterais un coup d’oeil a tout ca quand j’aurais le temps. Mon plus gros soucis c’est que j’arrive pas a installer une version de gtk compatible avec python 3 sur ma machine du boulot (vieille version de Red Hat -> trop de problemes de dependances pour installer une librairie graphique recente, sans compter que j’ai pas trop le droit d’installer des choses). On en discutera de vive voix la semaine prochaine si tu veux.

Je pense finir de rajouter a mon programme tout ce que je voulais initialement puis faire un peu de debugging jusqu’a avoir quelque chose de stable, et apres je me pencherais sur les manieres d’ameliorer les details (interface graphique, presentation du code, peut-etre de l’internationalisation, messages d’erreurs plus faciles a comprendre si l’utilisateur n’a pas les bonnes librairies installees). Ca devrait encore me prendre deux ou trois semaines selon la meteo (si ca vole je code pas :wink: ) A ce moment la si quelqu’un a envie de participer au developpement il sera le bienvenu :trinq:

salut,

je +1 pour gtk/Qt

sinon niveau packages pour python3 il faut (au moins): py31-docutils py31-openssl py31-sqlite3 py31-tkinter

j’ai encore un probleme avec le module hashlib et ses dependances faut que je regarde ca (et ce qui viendra ensuite)

to be continued
julien.

hop, probleme de hashlib regle ca se lance (enfin) nickel

pour completer par rapport au message precedent, j’ai force la v3 de python et force le codage en utf-8 ca marche mieux que l’iso-8859 en fait (info pour les suivants qui veulent tenter)

reste plus qu’a rentrer mes vols now !

julien.

Gardez quand meme a l’esprit que le format de la base de donnees pourrait changer d’ici la version officielle et que tous ce que vous saisissez maintenant pourrait donc ne pas etre facilement importable (ca serait pas insurmontable mais il faudrait magouiller avec sqlite3). Ne vous fatiguez pas trop a saisir consciensieusement tous vos vols des maintenant.

c’est note !
cependant tu peux dumper assez facilement ta BdD ou en extraire le contenu pour le transformer donc ce ne serait vraiment pas tres complique a extraire/reformater/importer s’il le faut je pense

sinon j’ai trouve un petit bug, les infos de l’onglet statistiques ne sont pas reinitialisees a chaque fois qu’elles le devraient.

lance le script, regarde les stat c’est a zero
choisi un pilote, regarde les stats, c’est maj , jusque la ca va

cree un nouveau pilote (ou choisi un profil de pilote vide), change pour ce pilote, les stats de l’ancien pilote sont toujours presentes.
seul le nombre de vol est mis a zero, mais le reste des infos du pilote precedent non. (si tu choisis un pilote avec des infos existantes pour tous ces champs elles seront chargees/recalculees par contre)

et y’a 2-3 menus deroulants qui sont selectionnables mais grises, mais c’est un detail

continue et vivement une premiere version finale :trinq:

julien.

J’ai trouvé une minute pour corriger le problème de mise à jour des stats quand on change de pilote et que les données ne sont pas disponibles pour le nouveau pilote. Merci de l’avoir signalé :pouce:

Pour les menus déroulants grisés, là je sais pas comment faire. J’y avait passé un peu de temps, mais j’ai pas réussi à trouver comment faire un menu déroulant avec un fond blanc si je ne veux pas que l’utilisateur puisse écrire dans la case (les menus déroulants blancs sont éditables au clavier).

J’ai aussi eu le temps de faire d’autre petites modifs récemment : rajouter des annotations sur les axes des graphiques, rajouter un menu de saisie des classements CFD, rajout du graph de nombre de vols par mois (histogramme), rajout du header pour l’encodage utf-8. L’historique est ici : http://codingteam.net/project/carnet_de_vol/timeline

Prochaines modifs prévues dès que j’aurais le temps : meilleures annotations de l’axe des ordonnées (pas de nombres a virgule dans des graphiques représentant des entiers), message d’erreur plus user friendly quand on essaye de lancer le programme avec python 2, plus de graphiques (moyennes et sommes annuelles de distance, duree et vitesse, classement cfd), troisième onglet du programme avec le classement CFD de l’année en cours

Après ça je pense sortir une première version majeure . J’ai d’autres idées en tête, par exemple permettre de choisir plus finement les paramètres pour filtrer les vols avant d’afficher les stats (filtrage par durée et distance min et max, types de vols, dates…), mais c’est plus compliqué et ça sera pour une version ultérieure.

et la version la plus au jour du code est toujours là :
http://svn.codingteam.net/carnet_de_vol/trunk/

cool :slight_smile:

hmm je n’avais pas pense a cette restriction… il devrait y avoir une option pour ca si c’est bien concu, enfin c’est un detail !

j’ai recup les majs, j’vais tester ca si la meteo est mauvaise ce weekend sinon la semaine prochaine :wink:

julien.

Hop, voilà un aperçu du dernier onglet :

http://pirk.wiki-parapente.fr/images/carnet/onglet_cfd.png

Une version bêta “quasi-finale” ne devrait plus tarder maintenant.

On dit RC, comme release candidate :wink:

Beau boulot !