Page 1 of 2

Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 00:10
by cent20
Sur Python, il y a des librairies standardisées, des librairies qui sont portées, et des librairies propriétaires, attachées par exemple à un IDE ou plus souvent un device.

Les Casio et TI utilisent depuis longtemps un langage dérivé du basic, mais comme il a été intégré différemment les scripts Casio ne tournent pas sur TI et la réciproque est vraie. Cette stratégie à longtemps pénalisé le développement de l'algorithmique, car gérer 30 à 40 élèves avec des calculatrices différentes est complexe en algorithmique.

Fort heureusement, les nouveaux programmes de mathématiques, ont imposé un nouveau langage unique : le Python. Ce qui fait qu'en théorie tout script de base sera utilisable sur les trois grandes marques de calculatrices : Casio, NumWorks et TI.

Tout pourrait être parfait sauf que les constructeur commencent à implémenter dans leurs calculatrices des librairies non standardisées. Donc la fragmentation risque de se reproduire, et elle est dommageable !

À cette fragmentation entre calculatrices (et elle sera inévitable, probablement voulue par les fabriquants eux-mêmes dans une logique de segmentation du marché) s'ajoute une deuxième fragmentation, l'impossibilité de coder ces scripts depuis l'IDE de son choix.

Pour développer un projet graphique sur Numworks (un démineur, présenté ici, amélioré ici) j'ai cherché en vain à utiliser Kandinsky sur un IDE de PC.

Il faut être naïf pour chercher à utiliser une librairie propriétaire sur une IDE tiers. Je plaide coupable.
J'ai donc du développer sur l'interface du workshop, qui a des atouts mais pas que.

12223
Un éditeur python optimisé pour un écran 4k, il n'y a que ça de vrai.

Imposer un IDE pose des problèmes, en théorie on devrait avoir le choix de son IDE et coder sur un IDE qu'on connait permet d'être plus efficace.

J'ai donc soumis l'idée de "porter" Kandinsky sur PC, c'est à dire de faire en sorte que l'on puisse développer ou exécuter n'importe quel script NumWorks sur un IDE de son choix. Immédiatement des développeurs de Omega ont trouvé cette idée intéressante, et on commencé à chercher comment le faire avec leurs outils et leur connaissance du code de Epsilon, pour reprendre leur mots : "On va juste faire un vrai ide pour NumWorks online".

De mon coté j'imaginais juste coder les fonctions de Kandinsky avec un élève qui maîtrise déjà tkinker ou une bibliothèque graphique standardisée, pour émuler une NumWorks (tout du moins la couche graphique avec un écran contraint).

En fait cette problématique a déjà été rencontré lors du défi historique d'octobre 2019, et Pavel avait transcrit le script sous tkinter et de notre coté nous avions recodé et reproduit le fonctionnement du script original également sous tkinter.

Aussi je propose de constituer deux équipes.



L'équipe des pros, des membres de la team de dev de Omega qui veulent faire un simulateur NumWorks en exploitant le code de Epsilon.

L'équipe des amateurs, qui veulent juste porter les différentes fonctions de Kandinsky, Ion etc pour pouvoir coder sur un IDE Tiers.

Bien évidemment, il est interdit de solliciter Critor pour se faire aider sinon c'est trop facile, mais celui-ci peut aider un peu pour rétablir l'équilibre (donc à priori il doit aider les amateurs ! :D )

Bonus : Profiter de ce dev pour intégrer des outils qui évaluent lors de l’exécution du script la taille qu'il prend en mémoire, en ainsi sensibiliser le développeur aux seuils de 16ko / 32 ko qu'il ne faut pas dépasser.

(Version :troll: : Si > 16ko recommander Omega et envoyer un mail à NumWorks pour se plaindre, si > 32ko envoyer un mail à Omega pour se plaindre :troll: :troll: )

Délais : Il faut un bon mois à l'équipe des amateurs ! Les pros devront rendre leur copie avant !

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 00:11
by Golden Man
Dépêchez-vous, on a bientôt fini :whistle:

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 00:11
by cent20
... effectivement on a presque fini d'écrire le cahier des charges :troll:

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 02:13
by Adriweb
Et pourquoi pas un module pour le Project Builder, pour un "IDE" communautaire ?
Mais bon du coup ca dévie de l'objectif d'avoir un truc natif sur ordi en local. Parce que sinon je ne peux que conseiller PyCharm de JetBrains. Ils font des excellents IDE...

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 06:44
by Hamza.S
cent20 wrote:Bien évidemment, il est interdit de solliciter Critor pour se faire aider sinon c'est trop facile, mais celui-ci peut aider un peu pour rétablir l'équilibre (donc à priori il doit aider les amateurs ! :D )

Ils peuvent donc soliciter Bisam puisque ce n'est pas interdit par le règlement.

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 09:50
by cent20
Adriweb wrote:Et pourquoi pas un module pour le Project Builder, pour un "IDE" communautaire ?
Mais bon du coup ca dévie de l'objectif d'avoir un truc natif sur ordi en local. Parce que sinon je ne peux que conseiller PyCharm de JetBrains. Ils font des excellents IDE...


En théorie, ce que nous voulons faire permettra d'émuler l'écran graphique (et uniquement celui-ci) sur n'importe quel IDE. J'utilise Thonny (simple léger) et Spyder uniquement parce que se sont les deux que j'ai testé, je n'ai pas d'avis sur quel IDE est le meilleur, quand j'aurais le temps je testerais les autres ...

Tu as quelques liens sur "le Project Builder", je ne vois pas du tout de quoi tu parles.

Hamza. S wrote:Ils peuvent donc soliciter Bisam puisque ce n'est pas interdit par le règlement.


Je n'ai pas connaissance de la liste total des dev de ce site qui seront capable de faire ça les yeux fermés.
A priori il faudrait aussi ajouter Pavel, Jean-baptiste boric, Lionel Debroux, Parisse et Bisam donc mais il y en a surement d'autre plus silencieux mais tout aussi doué. Mon intuition me dit que Adriweb en fait parti également.

l'équipe des pro viennent de m'expliquer l'histoire du project builder : "En vrai modifier le project builder de tiplanet pour rajouter le simulateur Numworks c'est pas une mauvaise idée" donc j'imagine que c'est sur ce site web.

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 09:52
by redgl0w
Golden Man wrote:Dépêchez-vous, on a bientôt fini :whistle:

On a déjà de quoi créer des gists pour les save (mieux que le workshop du coup), un vscode (auto complete donc) et de quoi injecter les scripts dans le simu, et tout ça en ligne :troll:
Bon a côté on a aussi d'autres choses à faire sur oméga et le reste, donc ça va être un peu chaud, mais possible.
D'ailleurs, comme cet ide sera en ligne, on s'est demandé avec Maxime si ça intéresserait critor de l'intégrer aussi dans ti Planet, comme l'éditeur casino...
Edit : j'écris sur mobile, et l'auto correcteur veut pas écrire casio :troll:

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 10:16
by cent20
redgl0w wrote:Bon a côté on a aussi d'autres choses à faire sur oméga et le reste, donc ça va être un peu chaud, mais possible.


Le délai d'un mois n'est en effet réalisable que si l'on se prend une mesure de quarantaine de 14j, le virus est déjà a Montpellier (coucou Critor) encore 100km et il sera à Avignon. :whistle:

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 13:19
by Adriweb
@cent20 : pour le project builder:

le topic de presentation est la : viewtopic.php?t=18118
Son code source est la : https://github.com/TI-Planet/Project-Builder
Pour y accéder c'est ici : https://tiplanet.org/pb


Bon pour une intégration propre au sein du PB ce serait tout à fait possible mais demanderait plus de temps que d'héberger quelques fichiers html/ja/css que vous semblez avoir déjà. Donc ça pourrait être fait en plusieurs temps...

Re: Développe​r des projets avec Kandinsky sur PC

Unread postPosted: 29 Feb 2020, 13:22
by redgl0w
Adriweb wrote:@cent20 : pour le project builder:

le topic de presentation est la : viewtopic.php?t=18118
Son code source est la : https://github.com/TI-Planet/Project-Builder
Pour y accéder c'est ici : https://tiplanet.org/pb


Bon pour une intégration propre au sein du PB ce serait tout à fait possible mais demanderait plus de temps que d'héberger quelques fichiers html/ja/css que vous semblez avoir déjà. Donc ça pourrait être fait en plusieurs temps...


C'est exactement ce qu'on fait :troll: