Bonsoir =)
tobiasBora wrote:Bonjour,
Comme les TI semblent mieux supportées sous linux (j'ai notamment entendu parler de tilp, si vous en connaissez d'autres, dites le moi), j'envisage peux être de prendre la TI nspire CAS (mais il faut que je me décide vite pour un éventuel achat groupé).
Elles sont supportées, mais pas par TI, saches le. TiLP est un programme communautaire d'une grande expérience et étant compatible avec toutes les calculatrices TI et étant multi-plateforme. Les logiciels de TI sont """"installables""""" sous linux via wine, mais les licences et les drivers causent problème.
- Premièrement, une question relative aux calculs, question basique... mais qui semble insoluble : comment
modifier une ligne de calcul plus haut dans l'historique ? J'ai essayé de remonter avec les flèches, de me déplacer dans la formule avec le curseur, mais dés que j'appuie sur un chiffre, rien ne se passe.
De même, est-ce possible
d’appeler une ligne écrite plus haut sans devoir la copier/coller. Par exemple, imaginons ceci :
- Code: Select all
> x^5-9x^4+e^x...
=> résultat
> 5+9
=> 14
> Sur quoi appuyer pour réecrire la formule x^5... à cet endroit pour la modifier ?
Non, et tout simplement "Enter". En fait, l'historique est là pour piquer dedans, soit avec Enter, soit avec Ctrl+C/Ctrl+V. Tu l'as remarqué, on ne peut pas l'éditer. La touche que tu cherches est donc Enter.
- Ensuite, pensez vous qu'acheter cette calculatrice est un bon investissement sur le long terme ? Car si il me faut en retrouver une dans deux ans pour les études supérieures, ce n'est pas la peine, je ne veux pas changer de calculatrice tous les ans.
A mon avis, tu ne changeras pas de calculatrice, pas forcément parce que tu vas l'aimer, mais plus parce que 1) tu va t'y habituer et 2) débourser 100€ tous les ans va te gonfler profondément. La gamme TI-Nspire a beaucoup de qualités et points que tu ne trouveras pas sur d'autres calculatrices (et pas seulement chez TI), mais a énormément de défaut. Pour résumer la situation, la gamme TI-Nspire n'a pas été conçue pour être utilisée par un élève seul, mais par des élèves encadrés par un professeur. De ce fait, la TI-Nspire n'est pas une calculatrice-jouet ou une calculatrice-dev mais une calculatrice-support-de-cours. Après, avec le temps, TI a essayé de faire le minimum vital pour regagner la tranche de clients qu'il avait perdu, avec l'arrivée du Lua et certaines commandes en Basic,
mais toujours dans l'optique que cela serve aux professeurs.
J'ai déjà, dans d'autres sujets que je ne saurais retrouver, expliqué et débattu sur ce point de vue borné qu'a TI avec la gamme Nspire.
- Je voulais également savoir comment... lancer un programme !
Ctrl+I, 1 (calcul), Ctrl+L (pour avoir le nom du programme, ou , tu le tapes), parenthèse ouvrante, les arguments (rien s'il n'y a rien) et parenthèse fermante, puis Enter
En effet, la seule chose que j'ai réussi à faire est de coder mon programme en multi fenêtré, de changer d'onglet (je ne sais pas comment aller dans la fênetre de gauche)
Ctrl+Tab.
Ctrl+6 pour dégrouper, Ctrl+4 pour grouper, Ctrl+Up pour accéder à la liste, Ctrl+Down pour descendre, etc ...
, et de taper le nom du programme. Et celà à chaque fois que je veux lancer mon programme... Et c'est lourd d'écrire à chaque fois une dizaine de lettres pour lancer le programme...
Il suffit d'appuyer sur Enter pur exécuter la dernière ligne exécutée. Ctrl+L ou Var est là pour t'aider aussi.
Sous Casio, j'avais juste à appuyer sur exit pour quitter le programme en cours, puis EXE pour lancer le programme.
Sauf que sur casio, tu n'as pas de système par classeurs, qui sont conçus pour réaliser des activités en classe, un peu comme un powerpoint sur calculatrice si tu veux. L'élève avance à son rythme sur l'activité en avançant dans la pagination. Comme déjà dit, c'est pas une simple calculatrice. C'est beaucoup plus que ça, avec tous les défauts du monde qui interviennent.
C'est un peu comme si tu passais d'une deux-chevaux à un Airbus. Dans l'airbus, tu as beaucoup plus de choses à connaître pour faire démarrer l'engin que la deux-chevaux et l'airbus est donc beaucoup plus puissant. Seulement, l'airbus a beaucoup de défauts à cause de ses qualités. Rajouté à cela, TI, qui n'écoute que les professeurs et pas ses clients particuliers (mais ça, tu as du le comprendre).
- Ensuite, plus axé sur la programmation, quels sont les différences entre le Basic TI, le lua, et l'assembleur ? Quelle est la spécificité de chaque langage ? Peut on programmer avec ces trois languages sur la TI, ou faut il programmer depuis l'ordinateur (ce qui m'interesse peut pour le moment) ? Et l'assembleur semble donner de grande possibilités mais n'est pas disponible partout ? Je n'ai pas tout compris...
Comme dit, tu as le Nspire-Basic (ne l'appelons pas le TI-Basic car cela porte à confusion avec celui des z80 et 68k qui sont beaucoup plus puissants), le Lua et le langage natif compilé ou assemblé (compris donc le C et l'ASM ARM).
Les différences sont simples : tu passes d'un langage interprété codé par TI, à un langage interprété libre implémenté par TI sur nspire, à un langage natif absolument déprécié de TI. Je pense que le mot "déprécié" n'est même pas assez puissant pour décrire la haine que les dirigeants de TI ont envers cet accès à l'assembleur sur leur machine dédiée à l'éducation. Car là est tout le problème, TI conçois un outils pour le professeur pour qu'il "maîtrise" ses élèves, et voilà que la communauté d'utilisateur accède à l'assembleur et donc change potentiellement le comportement, l'environnement et l'apparence de celle-ci, rendant le professeur incapable de contrôler la situation.
Ca, c'est la version TI des choses. De l'autre côté, on a des milliers voir des centaines de milliers d'étudiants qui ont acheté la calculatrice par choix (contrairement en classes pilotes - aux US majoritairement - où le professeur demande d'acheter cette calculatrice précisément) qui se retrouvent avec un objet, clairement, où ils ne peuvent pas faire ce qu'ils veulent, alors qu'il l'ont acheté.
C'est là qu'est né, dans ces moments de tourmente et d'effroi, Ndless, un jailbreak pour TI-Nspire, qui donne accès, grâce à des failles laissées par TI, donc basées sur chaque versions d'OS, à la programmation en langage natif, ce langage où lorsqu'on demande une instruction, il ne se passe pas 100ms, ce langage où, lorsqu'on désire dessiner des pixels, on ne doive pas passer par des nuages de points dans l'application statistique réduisant au point mort la vitesse du programme que l'on développe en Nspire-Basic.
Ndless existe en plusieurs versions, correspondant aux versions d'OS des Nspire. Ndless 1.7 s'installe sur l'OS 1.7, Ndless 2.0 s'installe sur l'OS 2.0 etc.
La dernière version de Ndless est 3.1. Le dernier OS de TI est 3.2. Si tu ne vois pas le problème, dit le =)
Suite à l'arrivée il y a quelques années de Ndless, les professeurs ont soit demandé un support officiel, soit Ndless a remué les cerveaux de TI, car TI a rendu à partir de l'OS 3.0 - non officiellement - la programmation via le Lua possible.
Ce que ça change ?
On passe d'une programmation séquentielle avec un manque sérieux, j'insiste, un manque sérieux, d'instructions, à un langage évènementiel (mieux pour gérer le clavier/environnement), script (on garde la simplicité du typage fable) et absolument puissant graphiquement (je compare essentiellement au Nspire-Basic. Inutile de préciser que l'assembleur/C tourne 1000x plus rapidement que le Lua). L'OS 3.2 apporte au logiciel PC/Mac un SDK Lua avec la doc officielle -- nous avions, en 1 an fait le boulot de TI plus vite qu'eux avec notamment la publication d'outils pour réaliser les scripts Lua, des colorations syntaxiques, etc .)
Revenons à nos octets.
* Le Nspire-Basic est officiellement programmable directement sur calculatrice.
* Le Lua ne l'est pas officiellement, mais l'est par l'intermédiaire d'un programme Lua, nommé oclua. C'est, je trouve, pas fameux, de programmer en Lua sur Nspire d'un point de vue environnement. Il faudrait que LuaCS soit terminé ou repris par quelqu'un d'autre pour vraiment parler de possibilités de coding oncalc.
* L'assembleur/C, est, autant le dire tout de suite, l'épine dans le pied de TI depuis que Ndless existe. C'est simple, depuis que Ndless existe, on a accès à la machine, mais aussi à comment ils ont codé la Nspire (je ne parle pas de code source bien entendu) et que l'on peut rendre leur produit meilleur, mais aussi parfois plus instable. Impossible de coder oncalc (pour le moment ?). Il faut également installer un environnement de développement (qui s'est récemment réduit à un simple copier/coller grâce au travail extraordinaire de l'auteur de Ndless).
Programmer sur calculatrice était également ma passion. J'ai peut être tiré les trais trop fort dans mon discours, mais il ne m'a pas été difficile d'évoluer vers la programmation native, en C. C'est d'ailleurs une bonne passerelle pour commencer à programmer en C pour PC.
Je préconiserais tout de même un passage vers le Lua, vu que Ndless n'a pas d'avenir certain (non maintenu par TI et déprécié par ce dernier).
- Ensuite, est-ce possible (si oui comment, et dans quel language), de faire ceci :
Ah ah, ça va être vite réglé, regardons ...
-- Demander à l'utilisateur de taper un nombre/une chaine
* En Nspire-Basic: Request, RequestStr
* En Lua : tu ponds un code de 50 lignes parce qu'il faut repartir from scratch, et c'est bon.
* En C : cf, Lua WAIT, non, car comme c'est du natif, on a accès à tout ce qu'on veut \o/ (pour ça que je disais que le C avait beaucoup de potentiel, ce que TI ne comprend pas visibilement). En C, on peut accéder directement aux popups du Nspire-Basic avec ce qu'on appèle des SYSCALLs. Typiquement, là, le Lua est en retard sur le point où il faille recoder soit même les interfaces utilisateur.
-- Détecter sur quelle touche appuie l'utilisateur pendant l'execution du programme (l'équivalent d'un GetKey sous Casio pour les connaisseurs). Ainsi, cela peut permettre de déplacer un personnage via les touches directionnelles,
* En Nspire-Basic : non, non, et non. nan mais c'est pas que je suis méchant, non, on ne peut pas.
* En Lua : moarf, facile, tu recodes tout via l'évènement on.charIn ou on.arrowKey
* En C : moarf, facile, tu recodes la boucle évènementielle et cf Lua.
de modifier l'affichage d'un graphique en temps réel...
* En Nspire-Basic : AAAAAAH, la, non, pardon, LA force du Nspire-Basic, les maths. Ca, je pourrais te le faire en chinois, TI a dû déja le traduire.
* En Lua, via math.eval, tu accèdes au Nspire-Basic, donc, oui
* En C : moarf, tu recodes la matrix
-- Afficher du texte à un emplacement précis sans meubler avec des espaces (par exemple, afficher un "X" 3e ligne, 2e colonne) (par exemple dans l'optique de faire un jeux avec un personnage noté # qui avance dans un labyrhinte etc...)
* En Nspire-Basic : Où sont les maths dans ta question ? Non, clairement, rien de graphique en Nspire-Basic
* En Lua : moarf, facile, gc:drawString(str, x, y)
* En C : mouais, ... recoder chaque caractères, allez, zoo !
-- Dessiner des formes géométriques sur un écran blanc (cercles, fonctions, segments...) par exemple pour faire un jeux de cibles
* En Nspire-Basic : Il est marrant lui
* En Lua : moarf, facile, gc:drawPolyLine (le plus général)
* En C : mouais, tu recodes tout à la mano. (quoique, j'ai réussi à utiliser les syscalls graphiques du Lua, donc bon ..)
-- Afficher un
menu du type :
- Code: Select all
#################
## Que faire :
1-> continuer
2-> arrêter
3-> modifier
:
############
et récupérer la sortie (si en plus on peut se déplacer dans le menu avec les flèches ou les raccourcis ça serait bien).
* En Nspire-Basic : Pourquoi vous me regardez comme ça ?
* En Lua : moarf, facile, tu recodes ton interface toi même
* En C : moarf, facile, tu cf Lua et tu répètes pas ce que tu viens de dire
- Est-ce possible de créer des addons (en C par exemple) qui apparaissent quand on va dans le menu de la calculatrice ?
Non \o/ Mais c'est en théorie possible, suffit de farmer pendant 3 mois 2 jours 1 heure le bin de l'OS.
En C ou ASM, tu accèdes à l'OS en mémoire, donc tu peux le modifier dynamiquement.
- Enfin, je voulais savoir si j'avais la possibilité de stocker mes programmes dans plusieurs mémoires (une de stockage (SD...) et une courante), ce qui est très utile lorsque l'on développe de gros programme de plusieurs fichiers : le programme en cours est dans la mémoire principale, et dés qu'on ne veux plus l'utiliser, on le met dans une autre mémoire. NB : Je considère l'utilisation de dossiers comme équivalente à l'utilisation d'une mémoire tiere, mais je ne sais faire ni l'un ni l'autre.
La Nspire a (en tout cas la CX) .... 100Mo de mémoire. Pour un classeur contenant un programme Nspire-Basic, __vraiment__ complexe (Make3D que j'avais fait il y a 4 ans) tu en as pour 30Ko à tout péter. En Lua, sans images, un programme complexe doit aller aussi autour de 20Ko. En C, la grosse blague, 10Ko c'est que tu as inclus en static toute la libc ou la SDL
Tu n'as, vraiment, pas besoin de mémoire externe. Ensuite, comme TI s'est dit "moarf ça sert à rien" et bien ils ne l'ont pas fait, même si ça figure dans le diags qu'il y a un supposé port pour carte SD.
Bref.
J'ai été, je te l'avoue, le plus méchant possible pour que tu te dises "ça, c'est le pire à venir". C'est gros, mais c'est surmontable, tu peux faire avec, d'une manière générale, tout le monde ici a fait avec, et tu ne vas pas mourir de haine (enfin, si, un peu, au début, mais après tu revis, c'est pas douloureux).
Comme déjà dit, la Nspire a un but complètement différent de ce que l'on peut en penser en France. C'est un outil avant tout éducatif.
Pour cela, il faudra faire pleins de compromis, mais également déouvrir une toute autre manière de penser qui peut (et ça a été mon cas) se révéler absolument magique. C'est pour cela, que beaucoup ont continué sur Nspire, non pas par amour, mais par espoir de voir la plateforme s'ouvrir.
TI n'a toujours pas ouvert sa plateforme, alors la communauté la fait, et là, c'est une véritable libération. C'est comme passer du moment où on te dit "tu dois utiliser cet ordinateur SANS RIEN CHANGER" au moment où on te dis "l'ordinateur est complètement à toi, fais en ce que tu veux, met linux si tu veux, je m'en fous". Ce même sentiment s'est produit lors de l'arrivée de Ndless. A chaque mise à jour de l'OS Nspire, c'est le sentiment inverse qui se produit, on passe de la liberté à "je reprends le contrôle de l'ordinateur, j'efface tout ce que tu as changé, tu n'as plus le droit de rien modifier".
J'ai également, et volontairement, évité de parler des points positifs en détail, car je trouve que c'est plus facile de les découvrir soit même (ou en lisant mes anciens posts que j'ai la flemme de recopier
).
Je troue que, depuis l'arrivée officielle du Lua, la TI a beaucoup moins de remords à se faire, car laissant tout de même la possibilité aux utilisateurs "normaux" de programmer des applications graphiques. C'est pourquoi, certains admin, dont moi, nous sommes rapproché de TI pour servir de porte-parole de la communauté d'utilisateurs (car nous sommes également des consommateurs et programmeurs !) afin de rendre le Lua des versions d'OS Nspire plus évolué, répondant aux questions et besoins, remarques et soucis que les programmeurs de la communauté disent et veulent voir apparaître dans un futur proche etc ..
Egalement, un point en vrac : Nous sommes, pour un combat que tu as du comprendre avec ces quelques paragraphes comme étant gigantesque, nous sommes peu. Peu à combattre, peu à influencer, peu à aider, peu à contribuer, beaucoup trop à utiliser. La communauté d'utilisateur Nspire est en effet composée à 98% de lycéens. Les 2% qui restent ? ceux qui étaient lycéens et qui ont gardé leur Nspire, ou ceux qui se sont dit "tient, pourquoi pas". Le problème ? Ce sont ces mêmes 2% + 5 autres % qui contribuent sur Nspire.
Nous sommes à peine 10% à contribuer pour les 90% restant qui passent leur BAC , ET CAY FINI. Nous sommes donc peu à aider et contribuer pour Ndless pour qu'il soit disponible pour chaque version d'OS, nous sommes peu pour réaliser de bons programmes, nous sommes peu pour influencer TI sur leurs décisions (comparé aux professeurs ciblés), mais nous sommes énormément à utiliser la Nspire et demander pourquoi "x" affiche "Variable non définie" parce qu'on a acheté la version non CAS.
TL;DR : achètes la TI-Nspire CX CAS et downgrade en 3.1, et réfléchis pas.