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 !