Pages : 1
#1 Le 24/11/2007, à 16:11
- kib2
bseoin de testeurs
Salut,
j'aurai besoin de testeur pour un nouvel éditeur de scripts LaTeX, Asymptote, reStructuredText, etc.
Il s'agit d'une pré-version, donc pas taper
Je suppose que vous lisez un peu l'Anglais (du moins aussi mal que je l'écris) :
http://kib2.free.fr/PyEdit/
Vous aurez besoin de Python 2.5 mini et de PyQt 4.3.1.
Je ne l'ai testé que sur Ubuntu, mais ça devrait tourner sous les autres plateformes (attention à encoder vos fichiers en UTF8 cependant).
J'attend vos retours et suggestions:
Kib.
#2 Le 24/11/2007, à 21:19
- aleph
Re : bseoin de testeurs
Petit retour, w2k + sp4, Python 2.5.1, pyQt 4.3.0
J'ai téléchargé, dézippé dans un répertoire, lancé via main.py.
Aucun problème. Bon point pour Python et pyQt.
> ...(attention à encoder vos fichiers en UTF8 cependant).
C'est cet aspect qui m'a incité à jeter un oeil à cette application. Ici, plus de problèmes.
Petit bilan
- écriture d'un texte, sauvegarde, le fichier est encodé probablement en cp1252. Je dis probablement car c'est possible que pyQt le fasse en iso-8859-1 ou utilise les "locales".
-ouverture d'un fichier créé dans mon éditeur favori encodé en utf-8. PyEdit ne le lit pas correctement (ou ne l'affiche pas correctement, peu probable car ... voir ci dessous).
-ouverture d'un fichier créé dans mon éditeur favori encodé en utf-8 avec BOM. PyEdit le lit correctement.
-ouverture d'un fichier créé dans mon éditeur favori encodé en iso-8859-1, pas correct.
-ouverture d'un fichier ascii, correct.
Un petit tour dans main.py montre que la gestion des encodages est gérée par pyQt et non pas par du code Python (ce qui serait peut être préférable). N'étant pas un spécialiste de pyQt, je ne peux en dire plus.
Je te rends attentif au fait que dans une application de ce type, il est très important que les opérations de lecture/écriture se fassent correctement. C'est embêtant, cela demande beaucoup de boulot mais c'est obligatoire.
Python étant transcendant des systèmes d'exploitation, un utilisateur Python n'a pas besoin et ne doit pas avoir à se soucier de savoir sous quel OS un script a été écrit, si tant est qu'on le sache !
Bonne continuation.
#3 Le 25/11/2007, à 12:43
- kib2
Re : bseoin de testeurs
Salut aleph,
merci du retour, très sympa d'avoir testé.
J'ai tenu compte de tes remarques et j'ai amélioré tout ça. Il est maintenant possible de choisir son codec.
On peut le faire de deux manières en fait, soit comme tu le suggérais avec Python et le module codecs, soit avec PyQt4, ce que conseillent les utilisateurs de ce toolkit. J'ai donc choisi cette dernière solution et les changements devraient apparaà®tre bientà´t sur la page.
Ce qui me gêne le plus, c'est la détection de l'encodage d'un fichier...comment-faire ?
#4 Le 25/11/2007, à 14:08
- Link31
Re : bseoin de testeurs
Ce qui me gêne le plus, c'est la détection de l'encodage d'un fichier...comment-faire ?
Autant que je sache, ce n'est pas vraiment possible, puisqu'un fichier texte peut très bien contenir des caractères non-"standards" que l'utilisateur a lui-même insérés. Tu peux essayer de détecter des séquences d'octets correspondant à des lettres accentuées, puis faire quelques statistiques... sans garantie de résultat.
Hors ligne
#5 Le 25/11/2007, à 18:25
- aleph
Re : bseoin de testeurs
> kib2
Il y plusieurs aspects distincts à prendre en considération.
> Ce qui me gêne le plus, c'est la détection de l'encodage d'un fichier
Ici, la réponse est claire, nette, sans équivoque. C'est impossible. (Malgré les gazillions d'à¢neries que l'on trouve sur la toile).
> ...comment-faire ?
Comme tous les bons éditeurs. Proposer à l'utilisateur des options de choix pour l'ouverture d'un fichier. Un utilisateur est censé connaà®tre l'encodage d'un fichier avec lequel il travaille.
Malgré cela, le problème n'est pas complètement règlé. Si tu souhaites faire une application multiplatforme, il faut que les lectures/écritures soient faites de façon adhoc. Tu ne peux pas supposer qu'un utilisateur emploie exclusivement ton application pour éditer des fichiers. Je pense ici au problème du BOM dans le encodages utf-8. Tu as des outils qui lisent correctement du utf-8 avec ou sans BOM mais qui sauvegarderont toujours avec BOM quel que soit l'état initial du fichier. Et... des outils qui le feront sans BOM.
Une autre façon de travailler est d'avertir clairement l'utilisateur quel est l'encodage attendu de ton application.
> On peut le faire de deux manières en fait, soit comme tu le suggérais avec Python et le module codecs, soit avec PyQt4, ce que conseillent les utilisateurs de ce toolkit.
Comme dit dans mon message précédent, je n'ai pas beaucoup d'expérience avec PyQt (j'utilise wxPython). Aucun doute que PyQt travaille correctement, mais encore faut-il veiller à travailler avec consistance.
J'ai ouvert un fichier utf8-BOM sans problème, mais la sauvegarde s'est faite avec l'encodage local (cp1252).
A noter que ce type de problème est identique si l'on travaille en pur Python via le module codecs.
#6 Le 25/11/2007, à 23:35
- kib2
Re : bseoin de testeurs
Merci pour vos conseils,
j'ai fait une petite update pour voir avec 3 choix : utf-8, latin-1 ou 2.
Merci de me dire si ça marche !
#7 Le 26/11/2007, à 13:15
- aleph
Re : bseoin de testeurs
cp1252 ?
#8 Le 27/11/2007, à 14:14
- kib2
Re : bseoin de testeurs
C'est fait pour cp1252.
#9 Le 27/11/2007, à 20:39
- aleph
Re : bseoin de testeurs
Bonne idée !
>>> import sys
>>> sys.platform
win32
>>> import locale
>>> locale.getdefaultlocale()
('fr_CH', 'cp1252')
#10 Le 01/12/2007, à 19:17
- kib2
Re : bseoin de testeurs
Le projet a été renommé PyK, un dialogue de Préférences à été ajouté, notamment pour l'encodage par défaut:
Pages : 1