π
<-

Présentation PB: Project Builder avec compilateur C en ligne

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Présentation PB: Project Builder avec compilateur C en ligne

Unread postby Adriweb » 18 Mar 2016, 21:30


Depuis sa création, TI-Planet met en avant la programmation, surtout sur les calculatrices TI, à travers un grand nombre de news, de présentations et tests de programmes, de tutoriaux, de concours etc.
Nous sommes ravis désormais de pouvoir lancer (en beta) une plateforme en ligne, et donc d'autant plus accessible à tous facilement, permettant d'aller encore plus loin dans cet effort de promotion de la programmation, que nous appelons le "Project Builder" (PB).

Le Project Builder, qu'est-ce que c'est ?
Simplement, c'est un "sous-site" de TI-Planet proposant à travers une interface simplifiée un ensemble d'outils ("modules"), comme par exemple des IDE (environnement de développement) pour créer, par soi-même ou à plusieurs, du contenu à travers des programmes pour calculatrices.

L'architecture modulaire du PB permet de gérer plusieurs types de projets, eux-mêmes contenant plusieurs éléments le cas échéant. Pour l’instant, le PB n'en est qu'à ses débuts, et le seul type de projet "prêt" est le compilateur C pour calculatrices CE (TI-83 Premium CE et TI-84 Plus CE), dont nous allons donner plus de détails dans la partie suivante.
En fait, on vous parlait déjà de ce Project Builder et son module de compilateur C depuis quelques temps (septembre 2015 !) dans le topic associé concernant ce module - ce n'est donc pas une véritable surprise ;)

Par ailleurs, dans le futur, on peut imaginer des modules comme des éditeurs de :
  • TI-Basic z80/eZ80 (séries 82/83/84)
  • TI-Nspire Lua
  • images/sprites
  • ...

Revenons un peu plus en détail sur la mention, plus haut, de la création "à plusieurs". En effet, le PB présente un aspect social et multi-utilisateurs :
  • Possibilité de partager ses projets avec d'autres personnes
  • Choix dudit partage en lecture-seule ou lecture-et-écriture
  • Possibilité de cloner/forker un projet existant
  • Édition collaborative en temps réel
  • Chat intégré


Nous espérons que ces efforts aideront à populariser la programmation auprès des collégiens, lycéens et étudiants, en leur fournissant une plateforme simple mais complète :)

Nous sommes par ailleurs fiers d'annoncer que le Project Builder est open-source, et même libre (GPLv3), pour permettre la contribution dans l’esprit de la communauté - il est conçu de telle sorte que son fonctionnement n'est pas verrouillé sur l’infrastructure du site. Nous encourageons (et remercions d'avance) toute personne intéressée à contribuer, pour rajouter des choses, corriger des bugs, etc. Le lien vers le code est disponible en bas de cet article.


Le compilateur C pour calculatrices CE, un module du PB
Ce n'est pas nouveau, depuis l'arrivée de la gamme "CE" des calculatrices TI en 2015, le nouveau matériel plus puissant les composant (CPU eZ80 plus rapide que le z80, davantage de RAM, etc.) permet de faire des choses bien plus intéressantes que sur les modèles d'avant, y compris donc de la programmation "native", en C, bien plus attrayante que de l'assembleur, et utilisée souvent sur ordinateur ou autres plateformes.
Le Project Builder intègre donc ce module "compilateur C pour CE", dont le back-end est basé sur les travaux de "MateoConLechuga" (que nous remercions bien) au niveau de la toolchain.

Fonctionnalités:
Relatifs au back-end (compilateur)
  • Compilation C pour CE via utilisation transparente de la toolchain C89/ANSI de ZDS (outil Zilog officiel)
  • Intégration d'includes (headers) standards améliorés
  • Link automatique des bibliothèques que vous utilisez dans votre code source le cas échéant (include dans lib/ce/)
  • Analyse statique automatique via cppcheck (avec présentation intégrée à l'éditeur)

Relatifs au front-end (interface utilisateur)
  • Coloration syntaxique
  • Auto-complétion semi-intelligente
  • Support de projets multi-fichiers
  • Console affichant la sortie du Makefile (log de build, link, etc.)
  • Indicateur d'état de build et timestamp associé
  • Affichage inline des warnings et erreurs
  • Exemples/templates intégrés pour pouvoir partir d'une base existante
  • "Goodies" divers sur l'éditeur
    • Auto-indentation, Sélections/curseurs multiples, Code folding...
    • Search&Replace intégré (avec option RegExp)
    • Ctrl/Cmd + survol de la souris sur une variable/fonction pour voir sa définition, ou clic pour aller à sa définition
    • Ctrl/Cmd + survol de la souris sur un nombre en base 10 pour le voir en base 16, ou clic pour le transformer en base 16

Spécifiques aux calculatrices CE
  • Export en fichier .8xp (programme) directement
  • Intégration d'includes (headers) standards spécifiques aux calculatrices CE (via Toolchain et Libraries)
  • Choix du nom du programme


Fonctionnalités prévues dans le futur...:
En plus d'améliorations diverses du GUI pour une meilleure expérience utilisateur, sont normalement prévues:
Show/Hide spoilerAfficher/Masquer le spoiler
  • Intégration du coeur de l'émulateur CEmu pour pouvoir tester et débugger ses programmes en temps-réel :bj:
  • Gestion du partage plus approfondie (en plus du read/write actuel, possibilité de choisir des utilisateurs spécifiques ayant accès)
  • Auto-complétion et aide inline pour les fonctions relatives à la CE
  • Liste dynamique/intéractive des fonctions du fichier en cours
  • Meilleure intégration des features de CodeMirror au niveau du multi-fichiers
  • Choix de compilation avec optimisation orienté vitesse (actuellement le cas) ou en taille
  • Choix du .8xp pour mettre le programme par défaut en RAM ou en Archive
  • Intégration de versioning (Git etc.)
  • Import/Export de projets
  • Intégration de la toolchain LLVM eZ80 quand celle-ci sera prête :)
  • Un thème sombre
  • Vos idées ?



Liens


Une question ? Une idée ? Un bug ? N'hésitez pas à participer sur ce topic !
Since its beginning, TI-Planet has promoted programming, especially on TI calculators, through many news, program features and reviews, tutorials, contests etc.
We are now proud to launch, in beta, a new online platform (online so as to be more easily accessible), to push even further this programming promotional effort. This online tool is called the "Project Builder" (PB).

What's the "Project Builder"?
Simply put, it's a "subsite" of TI-Planet, that offers a simplified interface through a set of tools ("modules"), such as an IDE, for creating, by oneself or with other people, content like programs, for calculators.

The modular architecture of the PB allows for multiple types of projects themselves possibly containing several elements. For now, the PB is still veyr young, and the only "ready" project type / module is the C compiler for the CE calculators (TI-84 Plus CE and TI-83 Premium CE), on which we will give more details in the next section.
In fact, we had already told you a bit about the PB and its C Compiler some time ago (September 2015!) in another topic, so it might not be much of a surprise ;)

Moreover, in the future, we can imagine other modules like:
  • TI-Basic z80/eZ80 (82/83/84 series)
  • TI-Nspire Lua
  • images/sprites
  • ...

Let's go back in a little more detail on the reference above, creating things "with other people". Indeed, the PB has social / multi-user features:
  • Possibility of sharing one's projects with other people
  • Such sharing can be in read-only or read/write access
  • Possibility of cloning/forking a project
  • Real-time multiuser editing/collaboration
  • Integrated chat


We hope that these efforts will help popularize programming among high school and university students, providing a simple yet comprehensive platform :)

We are also glad to announce that the Project Builder is open-source, and even free as in freedom (GPLv3), to enable the contribution in the spirit of the community - it is designed in such a way that its operation is not locked on a specific site infrastructure. We encourage (and thank in advance) anyone interested in contributing and helping in general, adding things, fixing bugs, etc. A link to the code is available at the bottom of this article.


The C Compiler for the CE calculators - a module of the PB
This isn't new - since the release of the CE calculators series in 2015, their new more powerful hardware (eZ80 CPU, faster than the Z80, more RAM, etc.) allows much more interesting things than on prior models, including indeed "native" C programming, much more attractive than assembly, and often used on PC or other platforms.
The Project Builder thus has a "CE C compiler" module, whose back-end is based on the toolchain work by "MateoConLechuga" (who we thank very much).

Features:
Relative to the back-end (compiler)
  • Compiling C for the CE via a transparent usage of the C89/ANSI ZDS-powered toolchain (using official Zilog tools)
  • Integrates enhanced standard include files (headers)
  • Automatic linking of libraries that you use in your source code (include in lib/ce/)
  • Automatic static code analysis via cppcheck (with built-in inline editor display)

Relative to the front-end (user interface)
  • Syntax coloring
  • Half-smart auto-completion
  • Multi-file project support
  • Console showing the Makefile output (build log, link log, etc.)
  • Build status indicator with associated timestamp
  • Inline display of compilation warning and errors
  • Embedded examples/templates so as to start from an existing base
  • Various editor "Goodies"
    • Auto-indentation, multiple selections/cursors, Code folding...
    • Built-in search&replace (with RegExp possibility)
    • Ctrl/Cmd + mouse-over on a variable/function to see its definition, and click to jump to it
    • Ctrl/Cmd + mouse-over on a base 10 number to see base 16 representation, and click to make it written in base 16

Specific to CE calculators
  • Export to .8xp (program) file directly
  • Integrates include files (headers) specific to the CE (via Toolchain and Libraries)
  • Program name choice


Features planned for the future...:
In addition to various improvements on the GUI for a better user experience, the following are on the TODO list:
Show/Hide spoilerAfficher/Masquer le spoiler
  • Integration of the CEmu emulator core in order to try and debug programs in real-time :)
  • Deeper sharing options (in addition to read/write currently, possibility to choose specific user access)
  • Auto-completion and inline help for CE-specific functions Done :)
  • Dynamic/Interactive function list in the current file Done :)
  • Improved integration of CodeMirror features for multi-file projects
  • Choice of compiling optimization towards speed (current setting) or size Done :)
  • Choice for the .8xp to be set by default in RAM or in Archive No need anymore, archive ftw :)
  • Versioning integration (Git etc.)
  • Project Import/Export Done :)
  • Integrating the LLVM eZ80 toolchain when it is ready :) Done :)
  • A dark theme Done :)
  • Your ideas?



Links


A question? An idea? A bug report? Feel free to reply in this topic!


TI-Planet-PB-presentation.ppsx
You do not have the required permissions to view the files attached to this post.

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14746
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Unread postby noelnadal » 18 Mar 2016, 21:36

Un juge en ligne, ça pourrait être intéressant même si c'est pas hyper-simple à coder. :D
Beau travail en tout cas, et bonne continuation. :bj:
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 37.1%
 
Posts: 2264
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Re: Présentation du Project Builder avec compilateur C en li

Unread postby QuanticPotato » 18 Mar 2016, 21:39

Woaw :o ça à l'air cool !

Alors là, respect :bj:
Je sais que tu t'appelle ClaudeBot [spider] !!
Image
User avatar
QuanticPotatoPremium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 46.5%
 
Posts: 100
Joined: 26 Jul 2014, 20:31
Location: Rennes
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP

Re: Présentation du Project Builder avec compilateur C en li

Unread postby critor » 18 Mar 2016, 21:41

Félicitations Adriweb pour cet excellent travail ! :bj:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Présentation du Project Builder avec compilateur C en li

Unread postby Adriweb » 18 Mar 2016, 21:43

noelnadal wrote:Un juge en ligne

Un quoi ?
:comprends_po:

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14746
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Unread postby critor » 18 Mar 2016, 21:45

Pour noter automatiquement les projets CE participant au TI-Concours ? :troll:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Présentation du Project Builder avec compilateur C en li

Unread postby Epharius » 18 Mar 2016, 21:54

Excellent ! Ça me redonne en vie de faire du C x)
Le truc, mais à mon avis impossible via le navigateur sans installer de plug-in toussa, ce serait de pouvoir transférer automatiquement le fichier à la calculatrice. Ce serait vraiment top, parce que là, il faut quand même télécharger, et aller dans le dossier pour envoyer le fichier via Ti-Connect CE...
Bref, si c'est pas possible, pas grave, c'est déjà tellement cool \o/

(J'attends le thème sombre :p )


EDIT : j'ai vu un bug, quand on build+Download et qu'on essaie de créer un nouveau projet :
[Error] Bad CSRF token. Please refresh.

Vous avez aussi ça, vous ?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.1%
 
Posts: 1161
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: Présentation du Project Builder avec compilateur C en li

Unread postby Adriweb » 18 Mar 2016, 21:58

Epharius wrote:Excellent ! Ça me redonne en vie de faire du C x)
Le truc, mais à mon avis impossible via le navigateur sans installer de plug-in toussa, ce serait de pouvoir transférer automatiquement le fichier à la calculatrice. Ce serait vraiment top, parce que là, il faut quand même télécharger, et aller dans le dossier pour envoyer le fichier via Ti-Connect CE...

Ca sera déjà mieux avec l'intégration de CEmu :P
Ensuite, le client TI-Planet pourra s'occuper de faire un lien entre les calculatrices branchées et le PB, pourquoi pas...

Epharius wrote:EDIT : j'ai vu un bug, quand on build+Download et qu'on essaie de créer un nouveau projet :
[Error] Bad CSRF token. Please refresh.

Vous avez aussi ça, vous ?

J'avais ça à un moment, mais plus depuis que j'ai corrigé le bug à l'origine de ceci...
Tu as fait quoi exactement ? (dans quel ordre etc.)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14746
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Unread postby noelnadal » 18 Mar 2016, 22:03

critor wrote:Pour noter automatiquement les projets CE participant au TI-Concours ? :troll:


Mais comment a-t-il deviné ? :troll:
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 37.1%
 
Posts: 2264
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Re: Présentation du Project Builder avec compilateur C en li

Unread postby Epharius » 18 Mar 2016, 22:04

Exactement, ma démarche c'est :
- Build&Get 8xp
- Annul (quand j'ai le petit pop-up qui me fait confirmer que je veux DL le fichier)
- New project

Et j'ai ce bug. Mais je crois que le moment où je clique sur annul n'est pas important.
J'utilise Win10, firefox 44.0.2
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.1%
 
Posts: 1161
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Next

Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: No registered users and 6 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1035 utilisateurs:
>969 invités
>59 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)