À propos du projet

Semorphe est un outil pédagogique de programmation qui assure la synchronisation bidirectionnelle en temps réel entre trois vues : code, diagramme de flux et blocs. Toute modification sur l'une met instantanément à jour les deux autres. Il traite du code C++/Python réel ; la syntaxe non prise en charge est convertie en blocs grisés tout en conservant le texte original, évitant ainsi toute altération silencieuse du fichier. Le projet fournit une extension intégrée à Arduino IDE (et non une application autonome), où les blocs et les diagrammes apparaissent comme des onglets natifs de l'IDE, sans modifier le processus de compilation ou de téléversement. Il est également compatible avec VSCode, les deux partageant la même extension. La version web propose une disposition optimisée pour le toucher sur smartphone et tablette, et fonctionne entièrement hors ligne après le premier chargement. Soixante-six cours sont intégrés, répartis en six parcours (débutant C++, avancé C++, transition C, débutant Python, transition Python, spécial Arduino), chaque leçon réduisant progressivement la boîte à outils et fournissant un étayage. L'architecture repose sur un arbre sémantique comme source unique de vérité ; les trois vues en sont des projections, et les concepts linguistiques sont gérés via des composants standardisés (capsules) assurant la reconnaissance, la génération, la visualisation, la lecture et l'exécution. Le processus d'extension est assisté par un skill IA, couvrant la génération de composants, les tests aller-retour et les tests de fragmentation (fuzzing). La licence est MIT.