BlocklyDuino reboot

Démarré par SebCanet, Août 27, 2018, 07:28:56 pm

« précédent - suivant »

SebCanet

Bonjour,
je n'ai pas fait avancer Blockly@rduino car j'ai travaillé sur son nouveau noyau.
De quoi qu'est ce que c'est donc qu'il s'agit il ?

Blockly est le moteur sous le capot de Blockly@rduino, développé pour AppInventor, il est aussi celui du futur Scratch3. Blockly évolue très vite, aussi bien dans les fonctions que (malheureusement) dans la syntaxe pour les développeurs comme moi. Si je veux mettre à jour les fichiers issus de Blockly dans Blockly@rduino, tout casse ! Donc je me suis entraîné en mettant à jour le projet initial BlocklyDuino, que j'ai intitulé BlocklyDuino Reboot (on verra si Gasolin veut changer le nom ou pas) : https://github.com/BlocklyDuino/BlocklyDuinoReboot

Ca avance...c'est globalement fonctionnel...mais il y a encore des erreurs de traduction en Arduino. Merci pour les courageux de bien vouloir tester et poster sur Github ce qu'il faut corriger.

Donc pour résumer, j'ai recréé BlocklyDuino à partir de Blockly (un 'fork'), pour plus tard recréer Blockly@rduino à partir de BlocklyDuino, ça facilitera les futures mises à jour.

C'est invisible, mais nécessaire...

g.reich

Août 29, 2018, 12:00:59 pm #1 Dernière édition: Août 29, 2018, 12:24:00 pm par g.reich
Bonjour Seb,

je viens de mettre la version reboot sur mon serveur.

Quand tu dis tester, tu entends quoi par là ? Tester des programmes et voir si le code généré est bon ? Ou voir si des blocs dysfonctionnent par rapport à la version actuelle ?

Déjà, après un rapide tour, j'ai vu que les "nouveaux" blocs spécifiques à Arduino ne fonctionnent effectivement pas en français. Du coup, j'ai créé le fichier fr_BD.js dans /BlocklyDuino/msg/js.
J'ai remarqué également que tu as mis un bloc "AnalogWrite PIN# (A0,A1,A2...) NUM 0". Il me semble que cette fonction concerne plutôt les pins PWM donc 3, 5, 6, 9, 10, et 11 non ?

SebCanet

Août 29, 2018, 04:10:45 pm #2 Dernière édition: Août 29, 2018, 04:17:52 pm par SebCanet
Salut,
il y a un pb dans le générateur pour les include, mon idée est de rendre BlocklyDuino le plus fonctionnel possible afin de disposer d'un noyau performant.
Comme ça tous les forks bénéficieront d'une souche complète, qui une fois améliorée sera bénéfique à tout le monde. Mais tout en gardant un esprit modulaire comme j'ai essayé de le faire dans Blockly@rduino.

Du coup je t'ai rajouté comme membre de l'équipe pour que tu pousses directement tes améliorations. Merci déjà pour les traductions, j'ai fait le principal sans me poser pour l'instant.

Par test, c'est vérifier si les blocs génèrent un code exact, bien formaté (ben oui c'est con mais je leur apprends aussi à faire beau, à être fier de leur boulot). Dans la foulée toute réflexion sur la structure des fichiers, leurs noms (je serais d'avis de ne pas garder d'AnalogWrite car c'est une connerie pour l'apprentissage), etc tout est le bienvenu ! C'est le prochain noyau et pas de la bidouille.

Merci de toutes les remarques.

Bzhtitude

Citer
Je serais d'avis de ne pas garder d'AnalogWrite car c'est une connerie pour l'apprentissage


+1 ... rien d'analogique la dedans. MLI ou PWM est à mon avis préférable (en plus ça fait du vocabulaire).

Citer
ben oui c'est con mais je leur apprends aussi à faire beau


Avec le formatage auto, aucunes excuses valables pour rendre un code non lisible, je pousse même le vice à leur faire mettre des commentaires...

Citer
(...) c'est vérifier si les blocs génèrent un code exact, bien formaté


La rentrée étant assez tendue, je ne peux pas apporter beaucoup d'aide pour le moment sur le moteur.

SebCanet

Citation de: Bzhtitude le Août 30, 2018, 10:00:58 pm
Citer
Je serais d'avis de ne pas garder d'AnalogWrite car c'est une connerie pour l'apprentissage


+1 ... rien d'analogique la dedans. MLI ou PWM est à mon avis préférable (en plus ça fait du vocabulaire).

Entièrement d'accord, ça aide à bien comprendre, et je ne pense pas que ce soit compliqué même au collège vu que de toute façon tu rentres une valeur entre 0 et 255 et non pas en %


Citation de: Bzhtitude le Août 30, 2018, 10:00:58 pm
Avec le formatage auto, aucunes excuses valables pour rendre un code non lisible, je pousse même le vice à leur faire mettre des commentaires...



Ah oui bonne idée, je vais enrichir BlocklyDuino avec mes blocs pour avoir celui du commentaire, du code, de la bibliothèque, etc.

Citation de: Bzhtitude le Août 30, 2018, 10:00:58 pm
La rentrée étant assez tendue, je ne peux pas apporter beaucoup d'aide pour le moment sur le moteur.

Bon courage !

philippej

Bonjour,

Ce projet est-il toujours d'actualité? Peut être que contribuer à ce niveau là serait le plus efficace?

Ce qui serait vraiment super pour éviter de perdre du travail, ce serait de définir une manière de créer des blocs avec tout le contenu dans un dossier pour chaque bloc. En regardant le code on y est presque, il y a encore la couleur et le générateur qui est dans un dossier séparé.

Si on pouvait avoir une structure du genre :

/monbloc/generator.js
/monbloc/definition.js
/monbloc/typing.js
/monbloc/image.png

on pourrait facilement s'échanger des blocs entre différents outils

Possible ou rêve? :-)

SebCanet

Toujours d'actualité ! Il fallait permettre la mise à jour de Blockly.
Mais je n'ai pas eu le temps de compléter le générateur, il y a encore quelques bugs.

Pour la structure c'est déjà fait, à part les codes qui sont en dehors pour reprendre l'idée initiale de Blockly. En effet je ne veux pas trop casser le point de départ, sinon les mises à jour vont devenir compliquées et trop spécifiques. Et du coup l'idée d'échanger des blocs ne serait plus possible.

SebCanet

Février 13, 2020, 08:14:23 pm #7 Dernière édition: Juillet 02, 2020, 04:55:00 pm par SebCanet
Salut,
gros déterrage de sujet !!!
Et bien je n'ai pas arrêté mais manque de temps cruel.
Le reboot a bien avancé : https://github.com/BlocklyDuino/BlocklyDuino-v2

Je pense que ça peut faire un noyau stable pour recréer Blockly@rduino (ou Blocklino ;-D) en gardant la modularité (donc les mises à jour, le projet Blockly n'ayant jamais été aussi vivace !) et en intégrant de l'accessibilité (ainsi que les nouvelles options de rendu/thème).

Merci d'avance des remarques.

SebCanet

Et zou ze come back !
Maintenant me voilà aux commandes du projet BlocklyDuino, Gasolin le créateur de BlocklyDuino canal historique m'a laissé les clés du camion, euh des dépôts, car il n'a plus le temps de s'en occuper et voit que je m'excite toujours autour de ça.

A tester : https://blocklyduino.github.io/BlocklyDuino-v2/
C'est surtout la mécanique générale qui est à fignoler, une fois ça fait on pourra réintégrer tous les blocs rapidement.

Vous pouvez aussi essayer la version logicielle Windows (désolé, pas le temps de bosser sur une version pluti OS pour l'instant) : https://github.com/BlocklyDuino/BlocklyDuino2Electron/releases/tag/0.3.0

Merci d'avance des coups de main ou remarque.

fontaine.jp

Salut,
 - dans le setup chaque clic recharge la page, donc si on change trois options ça recharge trois fois !
 - personnellement je trouve que les options pour changer le thème (couleur et forme) ça fait usine à gaz, je suis pour un style très épuré (tous les goûts sont dans la nature)
 - pour creér les variables dans la page web c'est OK, mais dans electron ça génère des erreurs
 - c'est quoi le "truc" sur le bloc <set mavariable to< on dirait un caractère mal encodé ?
Sinon c'est du super boulot
à +

SebCanet

Merci des retours sur les 2 sujets !
Justement je voulais t'écrire pour savoir si tu as un de temps pour fouiller le code comme tu avais fait pour nettoyer Blockly@rduino. Le but de ce reboot est de créer une base minimale sur laquelle on pourrait greffer ce qu'on veut et ainsi avoir sa propre version (CSS, générateurs, blocks). C'est aussi pour ça que je bosse sans bibliothèque, genre jQuery.

Pour le setup ce n'est pas encore fini car les options évoluent du côté de chez Blockly.
Pour les thèmes, c'est le problème de l'accessibilité, je ne compte en mettre beaucoup mais juste que ce soit fonctionnel pour quelqu'un qui veut en rajouter.
Pour les variables, ce que j'ai trouvé comme bidouille c'est ça : https://github.com/konsumer/electron-prompt/blob/master/prompt.js. Si tu as une autre idée je suis preneur.
Pour le truc, c'est une virgule car je cherche à mettre un picto pour chaque catégorie, pareil pour la RGAA.

fontaine.jp

Salut,
Pour les variables j'ai utilisé la même astuce.
Pour le code je vais regarder ça pendant les vacances.
à +

SebCanet

Pb des modal et window.prompt etc résolu ! J'ai utilisé un truc interne à BLockly, en développement mais utilisable depuis les démos.
Je booste la modularité pour que les forks  ;) soient hyper faciles à réaliser.