programmation

Vendredi 16 septembre 2005 5 16 /09 /2005 00:00
Je développe « à la maison » des petits programmes pour l'apprentissage de l'esperanto pour une machine sous GNU/Linux. J'aimerais bien, pour que ça puisse être utilisé par un maximum de personnes, programmer dans une optique multi-plateformes. Pour Linux c'est OK, mais il reste Windows et également Mac.

Premier essai : Pascal et GTK+
Le Pascal est le langage courant que j'utilise. Sous Linux, on a le très bon compilateur freepascal. Pour faire des interfaces graphiques j'ai préféré GTK+ à QT. Affaire de goût. L'avantage de ce choix est que sur le papier ça doit marcher dans d'autres environnements : freepascal est porté sous Windows et sous Mac/OSX, GTK+ l'est sous Windows et il existe un projet pour Mac.
Malheureusement, j'ai dû un peu déchanter car un petit programme assez simple ne réagis pas de la même façon en Linux et en Windows, pour ce qui est de la capture des événements claviers. Aïe...
De plus le déploiement de GTK+ sous Windows n'est pas aussi simple que je le voudrais. Je souhaite en effet une solution très simple, une installation en quelques clics et on n'en parle plus. Dans les tests que j'ai fait le portage « officiel » de GTK+ pour Windows pose les fichiers mais ne met pas à jour le chemin pour accéder aux bibliothèques et ça ne marche donc pas sans manipulation supplémentaire. Et j'aimerais bien ne pas avoir de distribution personnelle de GTK+ qui est quand même complexe.

Objectif
Je recherche donc une autre solution. L'objectif est :
- ça doit fonctionner au moins sous Linux et Windows et Mac serait un plus ;
- ça doit pouvoir gérer les caractères UTF-8 ;
- les pré-requis supplémentaires doivent s'installer facilement (sous Windows et Mac) ;
- le lancement doit être un exécutable natif ;
- une gestion simple de l'internationalisation serait bien.

Prochains essais
Il y a une solution qui correspondrait à l'objectif : Java. Je vais donc commencer à me former à ce langage et à son environnement bien particulier. Je vais utiliser Eclipse pour le développement.

Je vous ferais part de mes progrès dans ce journal...
Par Didier Halatre - Publié dans : programmation
Ecrire un commentaire - Voir les commentaires - Recommander
Vendredi 16 septembre 2005 5 16 /09 /2005 00:00
J'ai fais quelques essais avec Java/SWT pour écrire des programmes multi-plateformes selon le cahier des charges que je me suis fixé.

1. Fonctionnement sous Linux, Windows, Mac(?)
J'ai d'abord installé une machine virtuelle JAVA (le JRE de SUN) sur ma machine (Linux Mandriva LE2005) puis Eclipse et ça marche pas trop mal. J'ai essayé les éditeurs visuels mais ça plombe complètement mon pauvre 700 MHz/128 Mo. Java est quand même assez gourmand, le disque dur ne chôme pas.
Pour me former à Java, j'ai trouvé un didacticiel en français de M. Doudoux. Et j'ai donc assez vite réalisé une petite fenêtre avec les contrôles SWT. Là où j'ai galéré c'est pour faire tourner le « programme » en dehors d'Eclipse. Chez les canadiens, j'ai trouvé au bout d'un bon moment de recherche des didacticiels (dommage, en anglais) qui expliquent assez bien la marche à suivre. Et ce n'est pas simple.
Là où je me pose des questions, c'est que je dois diffuser, pour l'instant, trois fichiers pour que ça marche : le monApp.jar, le swt.jar et la bibliothèque libswt-gtk-3128.so. Le « so » me pose problème, ça veut dire que sous Windows je vais devoir déployer une « dll », et sur les autres systèmes ?
Va falloir déjà que je fasse mes tests de fonctionnement sous Windows maintenant.
Quant à Mac, comme j'ai pas de machine de chez la pomme, ça va être dur.

2. Utf-8
J'arrive à afficher un texte en esperanto avec accents sans problème sous Linux. Comme pour le §1 il faut que je teste sous Windows.

3. Installation de la machine virtuelle Java
J'ai choisi le JRE (Java Runtime Environment) de SUN. Sous Linux Mandriva, on récupère un rpm de 15 Mo et ça s'installe sans problème avec un petit coup de urpmi.
Il installe son bazar dans /usr/java/j2re1.4.2_09, il faut donc modifier le PATH. Sous Linux de toute façon, ça ne me dérange pas que l'installation nécessite des petites commandes, les gars sont habitués. Sous Windows, je « veux » du 1 clic. Après test, je suis rassuré, c'est simple.

4. Lancement d'un exécutable
Bon là faut que je creuse. Ça concerne de toute façon, les utilisateurs Windows, qui-ont-besoin-d'être-pris-en-main. Chez les canadiens du Manitoba (cf plus haut), il y a un didacticiel pour compiler sous GCJ, le compilateur Java GNU/Gcc. Ça génère un gros « exe » avec une machine virtuelle dedans. Fichtre, faut que je teste... Sinon il y a des outils (Launch4j, jstart32, JSmooth, etc.). Donc sur ce point y'a du boulot...

5. Internationalisation
J'ai vu des didacticiels qui en parlait donc on verra plus tard, on a déjà bien à faire.

Bon bin je vous tiens au courant. Apparemment ils annoncent de la pluie pour samedi-dimanche, héhé.
Par Didier Halatre - Publié dans : programmation
Ecrire un commentaire - Voir les commentaires - Recommander
Jeudi 22 septembre 2005 4 22 /09 /2005 00:00
Je suis bien embêté... SWT ou Swing ?
SWT est pas mal du tout au niveau présentation (Gtk2 sur Linux et standard windows sous Windows) mais il nécessite le déploiement d'un jar ce qui peut encore aller mais plus ennuyeux, dune dll/so.
J'ai donc essayé Swing et sur le plan déploiement, y'a rien à faire c'est top. Malheureusement, l'aspect visuel est pas évident, notamment sous Linux, dommage.

Quelques écrans :
D'abord sous Windows XP, aspect par défaut "metal" :

Exemple sous Windows, aspect metal

Toujours sous Windows XP en demandant l'aspect "system" :

Exemple sous Windows, aspect system

 Maintenant sous Linux, aspect par défaut "metal" :

Exemple sous Linux, aspect metal

J'aime bien le nom metal de cet aspect. Bon, je trouve ça moche... En demandant, l'aspect système ça donne la même chose.

En demandant l'aspect Gtk+ depuis la commande java :

Exemple sous Linux, aspect Java

Hum... C'est du mini-Gtk.
Bon, on va continuer de gratter...

Par Didier Halatre - Publié dans : programmation
Ecrire un commentaire - Voir les commentaires - Recommander
Vendredi 30 septembre 2005 5 30 /09 /2005 00:00
Ce n'est pourtant pas ce qu'il y a à faire qui manque. Mais bon, le soir et les fins de semaine passe vraiment à toute vitesse.
Du coup, mon petit programme en java n'avance pas du tout et j'ai juste corrigé quelques petits bogues dans la version Pascal/GTK+ donc uniquement pour Linux (disponible ici).
Allez, on va se remettre à swinguer...
Par Didier Halatre - Publié dans : programmation
Ecrire un commentaire - Voir les commentaires - Recommander

Calendrier

Décembre 2009
L M M J V S D
  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      
<< < > >>

Recherche

W3C

  • Flux RSS des articles
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus