Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Actualités


Index du Forum » Actualités » TI supprime les programmes assembleur sur TI-83 Premium CE et 84+ CE version 5.5
Lephenixnoir Hors ligne Administrateur Points: 18132 Défis: 142 Message

TI supprime les programmes assembleur sur TI-83 Premium CE et 84+ CE version 5.5

Posté le 22/05/2020 23:28

On va pas se mentir, ce n'est pas une bonne nouvelle. La dernière mise à jour en version 5.5 des TI-83 Premium CE et 84+ CE supprime complètement la fonction Asm() utilisée pour faire tourner des programmes natifs et des jeux sur ces modèles.

Ces modèles étaient les derniers à supporter encore les programmes natifs, après que TI ait progressivement retiré (comme sur les TI-82 Advanced ou TI-84 Plus T) ou jamais autorisé la fonctionnalité (comme sur les TI-Nspire).

Sur TI-Nspire, le contournement avec Ndless peine à rattraper les patchs successifs de TI depuis plus d'un an, et beaucoup de jeux et applications communautaires partagées sur TI-Planet ciblaient alors la TI-83 Premium CE.

Cette nouvelle est un grand coup de massue, pour ne pas dire de poignard, envers la communauté de programmation TI, dont les nombreux travaux seront bientôt incompatibles avec les machines vendues préchargées avec l'OS 5.5 en magasin. Coincées entre le TI-Basic et le support encore bien trop frêle de Python, les calculatrices TI perdent soudainement une grande partie de leur attrait en tant que plateforme de développement.

On espère que la communauté TI, et notamment celle de TI-Planet, parviendra à trouver de nouvelles méthodes ou de nouvelles plateformes où concentrer ses efforts pour reconstruire ce qui vient d'être soudainement perdu.

Comment en est-on arrivés là ?

L'histoire remonte. Il se trouve que la mise à jour 5.1.5 (datant de fin 2015 !) contenait une faille permettant d'exécuter des programmes en mode examen, en utilisant un menu qui présentait par erreur tous les programmes de la machine, même ceux qui auraient dû être invisibles. Cela permet allègrement de tricher avec sa calculatrice.

Cette faille a été patchée entre fin 2017 dès qu'elle a été repérée. Mais dès lors, le support de programme assembleurs devient un problème. Normalement, la calculatrice refuse de revenir à une version antérieure pour que les bugs patchés comme celui-ci ne puissent pas être exploités. Mais un programme assembleur peut tout à fait modifier la mémoire Flash pour lever cette restriction, ouvrant la voie à de nombreux abus.

En Février, insouciants ou peut-être inconscients de la portée du problème, un élève et son professeur ont présenté en détail la manipulation sur Youtube, alors même que plus aucune machine vendue ou mise à jour depuis 2 ans ne présentait le bug original. La technique complexe et enterrée a resurgi aussitôt, laissant naïvement croire que le support des programmes assembleur était incompatible avec la sécurité du mode examen.

La suite on la devine ; soucieux de conserver la crédibilité nécessaire à la présence de ses calculatrices en salle d'examen, TI a certainement choisi de supprimer entièrement le support des programmes en assembleur pour éliminer les problèmes futurs.

Quelle morale en tirer ?

Maintenant que TI a supprimé les programmes en assembleur... rien. Cela n'a rien accompli ! o(x_x)o

Le mode examen n'est pas plus sécurisé qu'avant.

Tous les modèles ou presque ont des failles permettant de tricher à divers degrés, et beaucoup sont vulnérables à une modification du matériel ou de la LED examen. Cette année, il suffira de se présenter sans avoir mis à jour sa TI-83 Premium CE pour disposer du bug. À court terme, révéler la vulnérabilité n'a fait que la diffuser et accroître la triche.

Ce genre de retenue sur les contournements potentiels du mode examen est pourtant ce qui a permis à Planète Casio et TI-Planet de faire remonter aux constructeurs plusieurs failles gênantes concernant le mode examen, sans exposer les examens nationaux à davantage de triche.

Le débat sur la viabilité du mode examen n'a pas progressé.

Avec les vidéos de preuves-de-concept d'attaques du mode examen qui fleurissent sur Internet, les constructeurs sont obligés de fermer toujours plus les calculatrices pour maintenir la crédibilité de leur implémentation. Mais ces vidéos échouent à démontrer que le mode examen est impraticable car elles donnent l'illusion que patcher les bugs successifs est suffisant pour le rendre viable.

Or, la mise en place du mode examen requiert la coordination de plusieurs éléments. La sécurité des modèles en est un, et c'est un défi à part entière ; mais ce n'est pas le seul. De nombreuses questions se posent aussi dans la salle d'examen : comment contrôler l'activation du mode examen ? Les surveillants non formés sauront-ils repérer les tours de passe-passe et autres arnaques ? Peut-on désactiver le mode examen sur 50 ou 100 calculatrices rapidement à la fin d'une épreuve ?

Après plusieurs années, on sait bien que les vulnérabilités des modèles ne convaincront pas l'organisation des examens que le mode examen n'est pas viable en pratique. Mais elles suffisent à créer un sentiment d'injustice qui contribue à repousser son application d'année en année. La fâcheuse pandémie qui a repoussé les épreuves de Juin n'a fait que tirer cette situation à l'extrême.

Une application réelle du mode examen est nécessaire en salle, et vite. Les tenants du mode examen ont besoin de l'expérience du terrain pour prouver sa réalisabilité et son efficacité. Et leurs opposants en ont tout autant besoin pour prouver l'exact inverse. Une faille enterrée depuis deux ans ne peut plus rien changer à ces résultats-là, et ne fait que repousser l'inéluctable test en conditions réelles dont le débat a besoin pour progresser.

Le rôle des communautés dans ce processus est sous-estimé.

Par définition, les communautés de programmeurs et bidouilleurs sur les calculatrices regroupent les personnes les plus familières avec les modèles (après bien sûr les constructeurs eux-mêmes). De ce fait, elles disposent des compétences nécessaires pour repérer et signaler les vulnérabilités, bien avant qu'une diffusion au grand public n'en fasse les méthodes de triche dangereuses que les diffuseurs s'empresseront de dénoncer sans réaliser qu'ils les créent.

Les communautés sont aussi un intermédiaire fiable entre les utilisateurs finaux et les outils (programmes, logiciels...). Le fait que Planète Casio et TI-Planet regroupent une très grande majorité des programmes et logiciels disponibles sur les plateformes française en font des lieux de choix pour dissuader les candidats de tricher.

En expliquant clairement les enjeux et la gravité de la triche à leurs visiteurs, TI-Planet et Planète Casio contribuent à éliminer la triche par le biais de la dissuasion, car de nombreux candidats à la triche n'en réalisent pas les conséquences et s'abstiennent prudemment apprès un rappel.

Il est ironique au plus au point que, malgré tous les efforts de TI-Planet pour limiter les dégâts de la triche et du mode examen (car oui, dénoncer le mode examen n'a pas empêché la communauté de s'y préparer au mieux), le plus grand coup de massue qui lui soit adressé en plusieurs années soit causé par la publication peu réfléchie d'une méthode de triche contre le mode examen.

Peut-on éviter le même chemin côté Casio ?

Et voici la question qui nous torture tous. Va-t-il nous arriver la même chose à nous aussi ? Sans add-ins, coincés cette fois entre le Basic Casio et le Python très jeune, notre situation aurait peu à envier à celle de TI-Planet.

Je pense que c'est évitable. Après tout, Casio a largement toléré le support des add-ins jusqu'ici. Après un support complet avec un SDK sur Graph 85, Casio a décidé de ne pas renouveler l'expérience sur la Prizm. Non pas contre la communauté, mais par peur que cela en révèle trop sur leurs produits et ouvre la porte à de nombreuses contrefaçons, un phénomène très problématique sur le marché asiatique.

Plusieurs SDKs communautaires ont quand même été développés pour la Prizm. Les add-ins monochromes ont été portés vers les modèles SH4 puis vers la Graph 35+E II, et les add-ins couleur vers la Graph 90+E, sans poser de problème particulier. À ce jour, il n'y a qu'une partie des ClassPad et les émulateurs USB sans limite de durée qui sont restreints dans le support des add-ins.

À ce stade, je doute que Casio cherche activement à supprimer le support des add-ins. Casio est également conscient que les add-ins ne représentent pas les seuls contournements possibles du mode examen, et que tout patcher demanderait des changements importants à la fois logiciels et matériels. Pour éviter que la suppression des add-ins nous soit imposée par la révélation soudaine sur Youtube d'une faille jusqu'alors oubliée, une chose est sûre.

Les incertitudes sur le mode examen doivent être levées par un test en conditions réelles.

Si le mode examen se révèle vraiment inutilisable, comme nous le pensons en majorité dans les communautés de programmation, il devra être amendé (par exemple : n'autoriser que les calculatrices collège) ou supprimé. Dans tous les cas, les failles sont très susceptibles de changer, et le danger que peuvent représenter les applications natives, les protocoles de communications, et les modifications matérielles peut soudain disparaître.

Si le mode examen tient debout et accomplit son objectif, alors il sera nécessaire de garantir une sécurité sérieuse sur les modèles. Cela nécessitera une réflexion de fond sur la méthode à adopter pour traquer et corriger rapidement les failles, et sur les fonctionnalités à modifier ou supprimer pour garantir la sécurité. Une réflexion qu'il faudra mener sérieusement avec les chiffres à l'appui.

Rester coincés sans certitudes entre ces deux résultats très différents ne fait que fermer progressivement les modèles sans faire avancer les questions de fond.

Conclusion

La suppression du support des programmes assembleur sur TI-83 Premium CE et 84+ CE marque probablement la fin de toute programmation native sur les calculatrices grand public TI, et un coup dur pour la communauté, en particulier TI-Planet.

Je pense cependant que cet événement se noie tristement dans le marais général qu'est l'incertitude du public et l'indécision de la gouvernance sur la viabilité et la mise en place du mode examen.

Je dois avouer (non sans honte) ne pas connaître suffisamment bien l'environnement TI pour savoir si des portes de sortie sont envisageables pour la communauté de TI-Planet. Quelles sont, selon-vous, les échappatoires possibles ? Où la communauté peut-elle se diriger désormais ?

D'après vous, comment faut-il s'y prendre pour faire progresser la question du mode examen ? Pensez-vous que l'application complète du mode examen est incompatible avec les fonctionnalités sur lesquelles les applications et jeux qui nous font vivre sont construites ?

Source : Mise à jour 5.5 supprime assembleur TI-83 Premium CE & 84+CE (tiplanet.org)


Lephenixnoir Hors ligne Administrateur Points: 18132 Défis: 142 Message

Citer : Posté le 05/06/2020 09:04 | #


Je comprends la colère... et honnêtement j'ai un peu peur que les dégâts continuent tant que l'histoire du mode examen n'est pas réglée. Bien sûr le mode examen n'est pas le problème de fond si TI ignore de façon consistante la communauté, mais au moins les mises à jour destructives pourraient se calmer. Même si je suis là que depuis 6 ans maintenant, je me souviens pas que Casio ait fait de coups bas à la communauté, c'est pour ça que j'y crois encore.

En attendant, je fais partie de ceux qui pensent qu'on gagnerait à rapprocher les communautés pour rester constructifs et pourquoi pas montrer à TI ce qu'ils perdent.

Certains d'entre vous ont parlé de rapprocher les 2 communautés, ce serait l'idéal sauf que dans leurs esprits étriqués, ils se sont dit qu'ils vont casser la compatibilité avec la concurrence, ils ont sorti des modules qui n'ont rien à voir avec ceux de la concurrence, donc pour les trucs graphiques par exemple il faut adapter la partie graphique.

Si ce n'est "que ça", la barrière technique ne sera pas un problème. Critor a déjà écrit, il me semble, des petits programmes de compatibilité entre les différents modèles, utilisés pour tester le radar justement durant notre petit concours de démos Python.

Après ça inflige un coût supplémentaire sur la performance pour sûr, mais à part la TI-83 PCE qui est une cause perdue de toute façon, les modèles restants s'en tirent largement (vidéo ici, la Graph 90+E étant avantagée car pas de conversion d'API). Et rien n'empêche les programmeurs d'avoir plusieurs versions quitte à les générer automatiquement si les APIs sont assez proches.

De façon générale, les projets multi-plateformes sont forcément plus résistants aux décisions imprévisibles des constructeurs. Si on peut établir une façon de développer qui rende les portages plus facile, on pourra certainement éviter des déconvenues dans le futur.

Personnellement je suis prêt à explorer toutes les pistes qu'il faut s'il y a des gens partants pour rapprocher Planète Casio et TI-Planet sur les plans communautaires ou techniques. On peut par exemple voir si on peut faire tourner des jeux TI-83 PCE sur la Graph 90+E, modulo une couche d'émulation/conversion au préalable. Si c'est porté depuis le C, ça devrait pas être trop difficile. Pour les parties assembleur, émuler est un peu tendu car la Graph 90+E a moins d'un ordre de grandeur de performance en plus, mais on peut sans doute jouer avec une phase de recompilation.

Voilà, s'il y a des gens intéressés pour tenter ce genre de choses pour préserver un peu les projets ou en développer des nouveaux plus compatibles entre plateformes, je serai ravi d'aider.
Critor Hors ligne Administrateur Points: 1836 Défis: 18 Message

Citer : Posté le 05/06/2020 09:44 | #


Pour la compatibilité Python TI/Casio/NumWorks, j'y travaille et c'est en très bonne voie.
Le radar, je n'ai modifié qu'une seule ligne.
On devrait pouvoir mettre ça en avant dès le concours de rentrée.

Sinon effectivement je n'y avais pas pensé... ce serait cocasse d'avoir un émulateur / simulateur de TI-83PCE ou ASM TI-83PCE sur Graph 90+E.
J'adore, pas sûr que TI s'attendait à une telle réponse, ce serait un comble !
Un formidable pied de nez.

Voici le code de l'émulateur communautaire :
https://github.com/CE-Programming/CEmu


Reste le problème du prix de la Graph 90+E, qui a démarré à 120€ au lancement et est resté bien longtemps trop élevé, face aux ~80€ de TI et NumWorks pour l'entrée de gamme couleur.
Même si Casio a fait des efforts depuis, sans nouveau modèle et donc nouvel effet d'annonce, il est difficile de défaire la Graph 90+E de cette étiquette de modèle trop cher dans l'esprit des lycéens/familles/enseignants.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 22 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd