Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Le CPC c'est très bientôt - quelques outils utiles pour coder avec PythonExtra
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Le CPC c'est très bientôt - quelques outils utiles pour coder avec PythonExtra

Posté le 16/08/2025 09:50

Pour celles et ceux qui auraient envie d'utiliser le langage Python pour programmer leur jeu pour le CPC#32 dont le thème sera révélé ce soir, nous vous rappelons que PythonExtra (version 0.4.0 Beta) offre une alternative puissante aux diverses moutures officielles du Python Casio ou des implémentations tierces. PythonExtra depuis peu offre aussi un support des ClassPad fxCP400 et assimilés (ClassPad II) jailbreakés avec HollyHock2.

Références documentaires :

La première indication utile est bien sûr la documentation des divers modules offerts par PythonExtra pour supporter le matériel Casio et pour offrir des fonctions avancées de rendu graphique et de gestion des événements du clavier par exemple. La documentation est disponible sur la forge Gitea de Planète Casio. La documentation est au format Markdown et est disponible en français et en anglais. Les modules suivants sont particulièrement détaillés :
le module gint permettant d'avoir accès aux fonctions avancées et utlraoptimisée du noyau du même nom et utilisé dans la construction d'addins natifs avec le fxSDK de Lephenixnoir
le module casioplot qui constitue la librairie graphique standard des machines Casio
les modules Numworks kandinsky, ion et time permettant de rendre les scripts Pÿthon NW compatibles avec votre Casio.

Il est à noter aussi le travail de documentation réalisé par Phoebe de la communauté ClassPad HollyHock2 spécifiquement pour le développement de scripts dédiés à leurs machines de coeur. Ce support peut être retrouvé ici Introduction to Python on ClassPad. Pour les afficionados (pas taper Lephé ), Phoebe met aussi à disposition un helper basé sur ChatGPT que vous pouvez interroger pour vous supporter dans vos développements sur ClassPad.

Préparation de vos ressources :

Les ressources de type fonts ou images utilisées par le module gint de PythonExtra nécessitent une mise au format adhoc tel que décrit dans la documentation du module vue plus haut. Cette conversion se fait classiquement avec les outils associés au fxSDK, à savoir fxconv que tous les développeurs C sur Casio de la communauté utilise classiquement.

Force est de constater que cela n'est pas "souple" pour les gens n'ayant pas cet outil, nous conduisons donc une expérimentation en mettant à disposition le temps du CPC#32 des outils prototypes permettant de convertir online vos ressources. Vous pourrez récupérer vos script .py automatiquement ou un zip contenant tout ce qui vous sera nécessaire et tous les fichiers générés sur le serveur.

Les outils sont disponibles ici :
convertisseur de fontes de caractères : PythonExtra online font converter
convertisseur d'images : PythonExtra online image converter
Vous permettant ainsi de récupérer vos ressources converties directement importables dans vos scripts Python.
Ces outils seront disponibles jusqu'à la fin du concours. Etant en phase de test, n'hésitez pas à faire remonter vos impressions ainsi que les bugs éventuels sur ce fil, selon les retours, ces outils seront possiblement déployés dans le futur.

Simuler un ClassPad :

Si vous voulez tester vos programme sur ClassPad et que vous n'avez pas cette belle machine, pas de panique. Phoebe (NDLR : et pas Phoene comme initialement écrit ) nous met à disposition un super outils pour simuler cette machine pour le développement Python. Vous trouverez toutes les infos sur le github correspondant ici. Pour info, c'est avec ce bel outil que j'ai pu vous faire les jolis screenshots et vidéo de la participation "ToSS Temple of the Spiral Serpent" lors de la Python Jam #2 ce printemps.


Phoebe Hors ligne Membre Points: 12 Défis: 0 Message

Citer : Posté le 16/08/2025 12:43 | #


Hello hello, "Phoene" est là !
Petite blague à part, le simulateur gint devrait être capable de fonctionner avec n'importe quel autre device, tant que vous connaissez les dimensions de son écran et comment bind les touches. Le choix de design fait dessus est de n'avoir qu'un seul fichier qui patch la runtime et simule globalement les méthodes et librairies. A noter que cet outil n'est pas parfait cependant, et il sera incapable de simuler précisément les performances sur un vrai device, ainsi que les petites différences avec python (par exemple l'accès à .__dict__ qui n'existe pas, il faut passer par getAttributes), un guide un peu complet (non officiel, pas vraiment à jour pour le moment sur les détails des modules car la plupart des infos sont directement sorties de MicroPython, mais mieux que rien du tout. Pour le guide officiel, voir ici) spécialement sur les optis et différences ici : PythonExtra genrst

J'en profite aussi pour ajouter un lien vers cette Template qui contient automatiquement tout ce qu'il faut pour développer avec PythonExtra dans VS Code, y compris un client vnc pour prévisualiser votre code sans besoin d'installer quoi que ce soit ! (Compte github requis)
Il devrait être assez simple d'adapter cette base pour votre modèle si vous n'avez pas peur de bricoler dans le gint.py !
Tout bug ou PB rencontré avec l'un de ces outils, des éléments manquants dans la doc, ou juste des idées à apporter sont les bienvenues ! Pour ceux qui préfèrent éviter GitHub, il en existe aussi un miroir sur gitea

Oh et, vous pouvez prendre des screenshots de haute qualité avec la touche impr écran depuis le simulateur gint, plutôt cool non ?

Bon concours à tous !
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 16/08/2025 12:55 | #


Désolé Phoebe, je corrige la faute de frappe

Merci pour tes ajouts et surtout pour les docs et le simulateur, c'est top et permet de ne pas passer son temps à transférer des fichiers sur sa machine physique (ce qui est un peu laborieux)
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir En ligne Administrateur Points: 25321 Défis: 174 Message

Citer : Posté le 16/08/2025 17:18 | #


La doc PythonExtra est très sympa. Je préférerais cela dit que ce soit marqué comme non-officiel ; la doc maintenue officiellement étant sur le dépôt. Je n'ai jamais lu le genrst et je vois des choses qui ne sont pas alignées avec le code actuel, donc je préfère le souligner.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Dimartino Hors ligne Maître du Puzzle Points: 344 Défis: 2 Message

Citer : Posté le 16/08/2025 19:57 | #


Hello ! Je suis désolé je n'ai pas vraiment suivi Python Extra, mais est ce que ça fonctionne sur Math+ ?
Mon projet du moment : Memen'Casio
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 16/08/2025 20:05 | #


Oui ça fonctionne sur math+ aussi. Aucun problème.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Dimartino Hors ligne Maître du Puzzle Points: 344 Défis: 2 Message

Citer : Posté le 16/08/2025 20:47 | #


Pourtant je n'arrive pas à lancer l'addin... J'ai bien mpm d'installé, mais quand je clique sur Python Extra ça ne se lance pas
Mon projet du moment : Memen'Casio
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 16/08/2025 21:03 | #


As tu bien pris la dernière version dans le fichier zip indiqué ici : https://git.planet-casio.com/Lephenixnoir/PythonExtra/releases/download/pe-0.4.0-beta/PythonExtra-pe-0.4.0-beta.zip ?

Logiquement cette version fonctionne sans problème.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 16/08/2025 21:07 | #


Etant pris d'un doute je viens de réinstaller cette version sur ma Math+ et je peux confirmer qu'elle s'installe et fonctionne correctement.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Dimartino Hors ligne Maître du Puzzle Points: 344 Défis: 2 Message

Citer : Posté le 16/08/2025 21:08 | #


Oui c'est ce que j'ai fait. En tout cas la version que j'ai fonctionne sur ma 90+E
Mon projet du moment : Memen'Casio
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 16/08/2025 21:27 | #


Le G3A fonctionne indifféremment sur la Graph 90+E et sur la Graph Math+.
L'addin détecte la machine et ajuste ses paramètres en fonction du matériel (RAM, clavier, etc..) donc a priori il devrait aussi fonctionner sur ta Math+.
Si cela n'est pas le cas, il serait intéressant que l'on comprenne pourquoi car a priori cela n'est pas normal.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir En ligne Administrateur Points: 25321 Défis: 174 Message

Citer : Posté le 16/08/2025 22:06 | #


La compatibilité Math+ pour PythonExtra a été ajoutée le 29 Mars, donc il te faut la dernière version, 0.4 : https://www.planet-casio.com/Fr/forums/topic17202-24-beta-pythonextra.html#199600 (ou compiler depuis dev)
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Dimartino Hors ligne Maître du Puzzle Points: 344 Défis: 2 Message

Citer : Posté le 16/08/2025 22:43 | #


J'ai utilisé la version du lien de Slyvtt tout en haut de ce topic. Il me semble que c'est bien la 0.4
Mon projet du moment : Memen'Casio
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 17/08/2025 07:40 | #


Un gros merci à Redoste qui me signale un pb de sécurité sur le serveur pour la conversion d'images et de fontes.

Je coupe donc le service, ne soyez pas surpris, c'est "Out-of-Service" pour le moment.


There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Slyvtt Hors ligne Maître du Puzzle Points: 2685 Défis: 17 Message

Citer : Posté le 18/08/2025 09:58 | #


Edit: le serveur est remis en route après correction des problème.

Je tiens à remercier Redoste qui a testé et a su vraiment bien m'aider à remettre tout en ordre. En plus d'être hyper forte, c'est hyper sympa de sa part d'avoir fait de super propositions pour rendre le serveur sûr. Merci donc beaucoup à toi pour ton aide précieuse (et très bien documentée) ❤️❤️❤️

Vous pouvez donc à nouveau utiliser cette ressource.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 117 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd