Outils de développement du Terrier d'AbulÉdu

Un point rapide après deux jour passés avec André pour réfléchir aux outils de développement des logiciels du Terrier.

Ça fait déjà plusieurs années que nous sommes arrivés à la conclusion que TCL/TK ne correspond pas à notre "idéal" de développement pour les logiciels du Terrier d'AbulÉdu ... mais nous n'avons jamais vraiment trouvé de solution. Nous avons tentés python + wx window, python + qt, java ... et sans doute encore d'autres.

Rappel raide des contraintes de base pour le choix des outils de développement des logiciels du terrier:

  1. Multi plate forme, ça doit marcher sous windows, macos et linux
  2. Libre au sens GNU/GPL
  3. De préférence sans étape fastidieuse de compilation, donc un langage de script

Après avoir tenté beaucoup de choses, nous sommes donc arrivés à l'étape suivante: PyGame. Et ces deux derniers jours, passés en compagnie d'André ont été consacrés à ce choix: es-ce qu'on l'adopte pour de vrai ou pas ? là est encore la question.

Il faut savoir que si on fait le choix de PyGame ça implique un certain nombre de choses dont en particulier:

  • le "look" jeux au lieu du "look" application (ça veut dire qu'on perd l'ergonomie ou l'IHM habituelle)
  • sachant qu'il serait tout a fait possible que le mode "éditeur" ou "enseignant" du logiciel soit en PytonQt ou un truc du genre ... l'un n'empêche pas l'autre, si l'enseignant doit avoir accès à des fonctions comme le copier/coller, l'ouverture de fichier avec la boite gnome ou kde classique ou des fenêtres !
  • possibilité de passer en mode plein écran, exit donc la possibilité qu'un enfant aille cliquer dans des menus et lance d'autres applications
  • le besoin de trouver un ensemble d'outils permettant de gérer les choses que nous développions à base de fenêtres imbriquées (des widgets)

Après quelques heures de recherches, nous avons trouvés deux ensembles de widgets intéressants:

Si vous lisez l'anglais et que vous cherchez pourquoi utiliser des widgets, je vous propose de lire ceci

À priori nous sommes partis en direction de OcempGUI dont nous avons péniblement passés deux jours à coder un petit truc pour "voir" si les principales choses dont nous avons besoins sont disponibles et utilisables:

  • découper le code source en sous modules et classes distinctes pour n'avoir qu'un seul fichier de lancement à la racine de l'application
  • enchaîner les "tableaux" sans lancer un sous processus sur un nouveau fichier python (idée d'avoir un menu principal et ensuite les activités qui s'enchaînent)
  • positionner des boutons
  • gérer les évènements associés aux boutons
  • avoir une "fenêtre" de l'assistant "bob" ou "tux" qui donne un coup de pouce

Tout ceci est donc possible, le livre "Beginning Game Development Python Pygame" nous a été d'une aide précieuse et si vous voulez nous aider à nous améliorer dans le développement des futurs logiciels du terrier vous pouvez offrir ce livre aux développeurs: faites les livrer à l'adresse de RyXéo et je me chargerais de les redistribuer !

QR code
Send to friend

Commentaires

1 août 2009 10:12

j'avais particulièrement apprécié la convivialité, pour une néophyte, des deux logiciels du terrier programmés en python par andré,

je vous remercie du temps et de l'énergie que vous consacrez en amont à ces choix qui auront un impact capital pour les utilisateurs/trices que nous sommes, toujours en attente de nouveautés, pires que les oisillons quémandeurs dans leur nid

ania

ania

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.