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)
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.
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.
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.
Ajouté le 30/07/2020 à 19:16 :
Petite mise à jour.
Contrairement aux TI-83 Premium CE françaises, les TI-84 Plus CE internationales n'ont finalement pas eu droit à la mise à jour d'OS 5.5.1. Mais ce n'était que partie remise...
Les nouvelles TI-84 Plus CE de cette rentrée 2020 viennent préchargées avec le nouvel OS 5.5.5, qui bien évidemment interdit les programmes en langage machine, appelés "assembleurs" dans la communauté :
https://tiplanet.org/forum/viewtopic.php?f=41&t=24097&p=254657#p254657
La mise en voie d'extinction de l'assembleur amorce donc désormais sa phase finale avec les TI-84 Plus CE, dernières calculatrices TI actuelles à encore le gérer...
Officiellement il n'y a donc plus aucune calculatrice Texas Instruments avec mode examen conforme (c'est-à-dire autorisée) à gérer les programmes assembleur.
Espérons que cela ne donne pas des idées à Casio...
Citer : Posté le 30/07/2020 21:13 | #
TI semble faire en sorte que les enseignants recommandent leurs produits à leurs élèves, il me paraît assez logique qu' ils retirent ce qui déplaît à beaucoup d' enseignants, à savoir la possibilité d'executer des jeux sophistiqués sur la machine.
On peut craindre que casio fasse de même, surtout si quelqu' un venait à découvrir un moyen de tricher depuis un add in (et contactait un certain prof qui ferait une vidéo montrant toute la manipulation alors qu'il expliquait dans l'introduction la cacher, faisant plusieurs millions de vues sans être modéré par youtube).
Aujourd'hui, ce ne sont plus les élèves, mais bien souvent le lycée qui choisit la machine. Ces marques ont donc tout intérêt à plaire aux profs, qui cherchent un machine simple, complète et sur laquelle les élèves "en situation de réussite différée" ne jouent pas à mario pendant leurs cours.
Je suis extrêmement pessemiste quand à l'avenir de la création d' adds ins sur casio, même si la suppression du support impliquerait d'inclure dans l' OS les add ins actuellement préchargés.
Citer : Posté le 26/02/2021 23:45 | #
Version 5.6.1.
Personnellement je n'y croyais plus...
Mais si, après des mois de protestations qui ont pu donner l'impression d'être à sens unique, et me concernant d'argumentations régulières en faveur de la communauté (oui que j'ai dû être lourd), malgré un contexte mondial que je pressentais comme défavorable, et bien surprise, TI accepte enfin de lâcher un peu de lest, et de laisser les développeurs de programmes ASM (programmes en langage machine compilés/assemblés à partir de code C/assembleur) poursuivre la diffusion de leurs créations pour TI-83PCE/84+CE via le jailbreak pour le moment :
https://tiplanet.org/forum/viewtopic.php?f=41&t=24636&p=259430#p259430
La situation n'en reste pas moins extrêmement fragile, nous sommes sur une crête et pouvons basculer aussi bien d'un côté que de l'autre.
Il faut éviter que l'ASM soit lié à de nouvelles publications déplaisant à TI : programmes ASM altérant le bon fonctionnement de la calculatrice en mode examen ou en examen tout court, nouveau tuto/vidéo détaillant de façon malveillante une méthode de fraude faisant appel à un programme ASM, etc.
Citer : Posté le 27/02/2021 08:33 | #
Aw, c'est super sympa de leur part pour la commu TI ! Après, le prochain pas serait de restaurer complètement l'ASM, mais c'est déjà sympa de leur part...
Bravo !
Citer : Posté le 27/02/2021 09:11 | #
Au moins une bonne nouvelle ! Je rejoins l'idée générale qu'il vaut mieux être dans une impasse qu'être dans un affrontement permanent, après tout les heures passées à mettre au point les jailbreaks sont bénévoles.
Maintenant c'est vrai que les opinions plus réservées exprimées sur Cemetech touchent un point sensible : c'est compliqué de s'engager tant que les intentions de TI ne sont pas claires, et la confiance est toujours dans l'azote liquide.
Enfin bon, pour l'instant c'est déjà satisfaisant de pas avoir un épisode de plus à la série arTIfiCE, en espérant que ce jailbreak reste suffisamment facile d'accès pour les nouveaux utilisateurs.
Citer : Posté le 27/02/2021 11:10 | #
C'est une excellente nouvelle ! Je ne crois pas me tromper en affirmant que c'est une première dans l'histoire des communautés de programmeurs sur calculatrice que de faire plier l'entreprise. Cela dans le meilleur des cas pourrait signer le début d'une "collaboration" entre TI et sa communauté, et dans tous les cas, c'est un bol d'air pour les développeurs asm sur TI !
Dijkstra - The Witcher