- Rentrée 1992, Texas Instruments sort la TI-85, sa 2nde calculatrice graphique avec laquelle j'entretiens un lien affectif tout particulier puisqu'il s'agit de ma première calculatrice graphique, initialement programmable en langage interprété dit TI-Basic.
- Novembre 1994, Dan Eble, Magnus Hagander et Rob Taylor entrent dans l'Histoire en tant que pionniers en sortant ZShell, un outil qui permettait :
- sur ton ordinateur de programmer en langage assembleur pour le processeur z80 de la TI-85
- de compiler le code en question en langage machine
- d'encapsuler le code machine obtenu dans un format de variable transférable sur TI-85, ici des chaînes de caractères
- et enfin d'exécuter les variables en question une fois transférées sur la TI-85
- Rentrée 1996, Texas Instruments sort la TI-83, dont le matériel et le logiciel seront repris après mise à jour pour les futurs modèles d'entrée de gamme TI-82 STATS (2004), TI-82 Stats.fr (2006) et TI-76.fr (2009). Impressionné de tout ce que la communauté avait pu réaliser sur la TI-85 (et ensuite TI-92) Pat Milheron, l'ingénieur ayant codé le logiciel en question avait réussi à faire accepter à des fins de tests l'intégration d'une commande cachée
Send(9prgm...
permettant de lancer des programmes écrits en langage machine improprement appelés assembleur ou ASM à partir de cette époque. - Rentrée 1997, Texas Instruments sort la TI-86. Le constructeur étant satisfait de l'expérimentation précédente, Pat Milheron avait cette fois-ci réussi à faire passer l'idée d'une commande parfaitement officielle, le
Asm(prgm
listé au catalogue que nous connaissions jusqu'à nos jours. - Rentrée 2015, Texas Instruments lance ses formidables TI-83 Premium CE et TI-84 Plus CE, des calculatrices graphiques couleur de milieu de gamme munies du mode examen et toujours de la commande magique
Asm(prgm
. Un véritable coup de foudre pour nombre d'utilisateurs, de développeurs et pour nous-mêmes.
Suite aux travaux de MateoConLechuga, jacobly, Runer112, et Adriweb notamment avec son Project Builder, il n'y avait plus besoin de connaître le langage assembleur eZ80 pour réaliser de grands projets. Les programmes en langage machine pouvaient également être compilés à partir de code source écrit en langage C ou même C++. Une démocratisation du développement qui a attiré un nouveau genre de développeurs. La communauté de développement ainsi réunie autour du projet hautement formateur de tester, expérimenter, créer et repousser les limites a atteint un tout autre niveau de développement jamais vu jusqu'alors, avec des réalisations de qualité professionnelle dépassant de loin en quantité et en téléchargements tout ce qui avait pu être réalisé pour les anciens modèles.
Une activité que nous mettions en avant dans un but pédagogique, incitant fortement et avec succès à partager également le code source des projets afin que chacun puisse l'étudier, le réutiliser, s'en inspirer et apprendre. Combien d'étudiants ou même ingénieurs aujourd'hui ont fait leurs premiers pas sur TI-83 Premium CE ?
Texas Instruments et sa communauté de développeurs ont ainsi cheminé ensemble main dans la main pendant 5 ans, unis autour de la mise en avant des formidables TI-83 Premium CE et TI-84 Plus CE et de la promotion des carrières en informatique et développement à travers de premiers pas sur les modèles en question.
On peut citer nombre de projets fantastiques : le mario-like Oiram CE, Pac-Man CE, Portal Returns CE, Geometry Dash CE, l'émulateur Nintendo Game Boy TI-Boy CE, et bien d'autres... tous avec code source. - Et le 28 juin 2016, Texas Instruments signe sa mise à jour 5.2.0, remplaçant l'effacement des programmes personnels en mode examen par un simple verrouillage, les programmes pouvant donc être récupérés après l'épreuve, une fois le mode examen désactivé.
Nous pensions initialement de façon bien naïve à une simple maladresse, sous le coup de l'émotion de la découverte de la chose...
Donc une vidéo déséquilibrée qui par défaut d'information sur le contexte et la portée de la chose devenait anxiogène. La communauté dont nous-mêmes ne manquons pas de lui apporter des précisions en réponse à la vidéo et ses divers tweets liés, sans le moindre retour de sa part.
Pire, le 17 février, le même enseignant persiste et signe la même communication non corrigée dans l'Alsace.
Aucune inflexion du discours donc, malgré les précisions apportées. Le but était-il vraiment d'informer ou bien plutôt de désinformer, générer de la peur et faire le buzz, dans un engagement certes respectable contre la réforme du lycée ? La popularité sur YouTube ferait-elle perdre tout sens des réalités ?
En tous cas cela n'a pas manqué, 100000 vues en deux jours, 170000 vues à la fin de la semaine en plein congés d'Hiver, 240000 vues aujourd'hui... Une vidéo sans doute visionnée jusqu'au plus haut sommet de l'Etat ainsi que par une part très significative de candidats au Baccalauréat 2020, ce qui a relancé l'intérêt pour les anciennes versions et les outils permettant de les installer, pas toujours avec succès certes. C'est triste à dire mais les examens 2020 ont été mis en très grave danger, dans un sens heureusement que le confinement et l'annulation des épreuves ont brutalement mis fin à l'escalade...
- à compter de la mise à jour 5.5.1 du 12 mai 2020 sur TI-83 Premium CE
- à compter de la mise à jour 5.6.0 du 30 juillet 2020 sur TI-84 Plus CE
Un coup dur pour la communauté, 5 années de fichiers servis gratuitement sur Internet désormais totalement inutilisables. Des 100aines de jeux et programmes cumulant plusieurs 100aines de milliers de téléchargements rien que chez nous jetés aux oubliettes de l'Histoire, des 10aines de niveaux perso bons pour la poubelle, des 1000iers d'heures de travail passionné parties en fumée... ce que l'on peut opposer à NumWorks qui cible d'une attaque hostile envers son mode examen courant 2019-2020, attaque sur laquelle une certaine personne n'est heureusement pas tombée, a au moins fait semblant de prendre l'avis de sa communauté et nous t'en dirons davantage en temps voulu.
Mais quel est le rapport entre les programmes ASM contribués par des tiers et un bug de codage introduit par le constructeur dans un menu parfaitement officiel ? Ben aucun, nous sommes incapables de saisir le lien logique, le bug était déjà corrigé depuis 2018, il suffisait déjà d'installer l'une des nombreuses mise à jour 5.3.1 à 5.4.0 disponibles... Si certains examens exigent l'installation d'une version spécifique et bien souvent la dernière (Baccalauréat International, Pays-Bas...), ce n'est pas le cas en France et les mises à jour 5.5.1 et supérieures n'y changent rien.
La communauté, particulièrement celle des développeurs anglophones, était déjà extrêmement remontée contre cette action des plus injustes, sans la moindre volonté de rechercher le compromis puisque sans le moindre échange préalable.
Texas Instruments a fait ensuite preuve d'une communication très étrange qui n'a fait que jeter de l'huile sur le feu pendant toute la période estivale, à un point tel que l'on se demande a posteriori si c'était possible sans le faire exprès.
A l'exception du dernier, tous les points suivants ont été relevés sur Cemetech, le lieu communautaire où il y a eu le plus de virulence de la part des membres, du moins en public :
- Promotion de la mise à jour 5.5 sans avertir les utilisateurs qu'il s'agissait d'une régression en fonctionnalités sans possibilité de retour en arrière, fonctionnalité de plus à l'époque toujours annoncée sur les pages officielles du produit. Volonté de prendre au piège les utilisateurs ?
- La communication officielle d'abord partagée de façon informelle parlait de "prioriser l'apprentissage" (prioritize learning), des mots perçus comme particulièrement insultants et méprisants envers le travail bénévole et passionné accompli en ce sens au sein de la communauté pendant 5 ans. Parce que des choses sont codées dans un langage autre que le Python choisi entre temps au lycée français elles n'auraient soudainement plus aucun intérêt pédagogique, scolaire ou formateur ? TI-France wrote:Chez TI, nous travaillons constamment sur des moyens d'améliorer nos produits pour donner aux étudiants plus d'occasions d'apprendre, d'explorer et d'étudier les mathématiques et les sciences. Après un examen attentif, nous avons pris la décision de supprimer la fonctionnalité ASM dans notre dernière mise à jour du système d'exploitation pour prioriser l'apprentissage et minimiser les risques de sécurité. Nous pensons que cela aidera également les élèves à se concentrer sur l'apprentissage des mathématiques et des sciences. Une fois que vous aurez mis à jour la version 5.5 du système d'exploitation pour la TI-83 Premium CE, vous ne pourrez pas passer à une version antérieure.TI-Dallas wrote:At TI, we’re constantly working on ways to improve our products to give students more opportunities to learn, explore and study math and science. After careful consideration, we’ve made the decision to remove ASM functionality in our latest OS update to prioritize learning and minimize security risks. We believe it will also help students focus on learning math and science. After you update the operating system version to 5.6 on the TI-84 Plus CE graphing calculator, you will not be able to downgrade.
- Des utilisateurs contactant le support technique au sujet de leurs jeux qui ne marchaient plus se sont fait répondre que de toutes façons l'utilisation de jeux annulait la garantie de la calculatrice.
- Une communication informelle a proposé de sortir une TI-84 Plus CE Developer Edition bien évidemment interdite aux examens... Décidément Texas Instruments semble ne pas comprendre sa communauté malgré une décennie d'échanges...
L'intérêt de développer pour TI-83 Premium CE et TI-84 Plus CE était justement de pouvoir partager ses créations auprès de la formidable base d'utilisateurs scolaires tout autour de la planète - quel intérêt à développer pour une machine interdite aux examens, machine que les scolaires n'achèteront donc pas, créant ainsi des programmes ASM qui ne fonctionneront pas sur les TI-84 Plus CE normales ? Une Developer Edition ne serait a priori achetée que par une petite niche de développeurs qui ne pourront donc que se partager des choses entre eux dans le plus total anonymat et l'indifférence générale, rien à voir avec ce qu'a été l'esprit de la communauté pendant des décennies... - La même communication informelle conseillait de passer au Python pour poursuivre nos superbes créations - était-ce se moquer du monde ?
Le Python de la TI-83 Premium CE ne dispose pas d'une fonction get_key() pour tester l'appui sur une touche, mais d'une fonction wait_key() bloquante. Autrement dit, à chaque fois qu'un jeu Python par exemple sera en train de tester une touche son affichage sera figé. Cela réduit déjà le champ des possibles aux seuls jeux pouvant se ramener à du tour par tour, extrêmement rares sur calculatrices où l'on ne joue pas souvent à plusieurs.
A croire que Texas Instruments ne connaît même pas les réalisations de sa propre communauté... - Enfin lors de ses formations en ligne en ce moment à l'attention des enseignants dont la toute dernière à ce jour, nous avons pu constater une communication spontanée assez étrange à ce sujet... ce n'est pas au mot près car l'enregistrement de la session en question n'est pas encore disponible, mais ça donnait à peu près ça :TI-France wrote:suite à une vidéo d'alerte, la mise à jour 5.5 supprime l'ASM et donc toute faille possible
Euh pardon ? Faille et bug ce n'est déjà pas la même chose... Mais en établissement un lien logique avec l'ASM et donc les développements tiers dans l'histoire, le constructeur ne serait-il pas en train de tenter de faire passer auprès des enseignants, qui pour la plupart ne s'y connaissent pas, sa propre erreur qu'il a lui-même introduite dans un de ses menus officiels en tant que faille forcée par des tiers ? C'est-à-dire de préserver son image en rejetant la faute sur sa communauté ?
La communauté a bon dos... Il nous semble qu'après des années de dévouement bénévole, elle mériterait mieux que ça. Nous comprenons parfaitement la situation critique, elle n'est toutefois en rien une raison valable pour jeter en pâture auprès du corps enseignant des tiers de bonne volonté parfaitement innocents et étrangers à l'histoire en question.
L'union fait pourtant la force, particulièrement dans la tourmente...
Partagé anonymement par un certain YvanTT, arTIfiCE, qui peut être vu comme le Ndless des TI-83 Premium CE et TI-84 Plus CE, te permet de lancer tes programmes ASM, en exploitant un bug dans l'application intégrée CabriJr.
Tu récupères ainsi une fonctionnalité légitime pour laquelle tu avais payé lors de l'achat de ta calculatrice.
Avec le degré de ressentiment et même de haine que les actions et communications de Texas Instruments ont allumé et attisé au sein de sa communauté de développement, pour nous c'était très loin d'être la fin de l'histoire... Nous craignions en conséquence des attaques contre le mode examen, mais plus tard dans l'année scolaire... Nous étions loin de nous douter que cela continuerait dès aujourd'hui.
Certains objectaient notamment que arTIfiCE ne serait qu'un feu de paille, que Texas Instruments allait rapidement sortir une mise à jour... ce denier point est sans doute vrai, même si nous pouvons objecter à notre tour :
- que c'est en période de rentrée que les utilisateurs sont le plus vulnérables
- que les mises à jour publiées en cours d'année scolaire ont beaucoup moins de succès, surtout quand elles n'apportent rien d'utile, les utilisateurs n'étant pas autant à l'affût des dernières nouveautés qu'en période de rentrée et donc de découverte de leur nouveau joujou
- que les stocks de machines préchargées avec la nouvelle version n'arriveront pas avant de longs mois, sans doute lors de l'approvisionnement pour la rentrée 2021 au printemps
Texas Instruments est donc dès maintenant assiégé avec Cauldron, une publication tout aussi anonyme de Ne3s2-3p4 cette fois-ci.
Cauldron ne s'attaque finalement pas au mode examen comme nous le prédisions hier, mais porte un coup d'estoc d'une rare violence à la sécurité codée par Texas Instruments sur ses TI-83 Premium CE et TI-84 Plus CE.
Visiblement, Texas Instruments a raté quelque chose ici aussi...
Le Boot est le code lancé au démarrage de la machine, s'occupant de lancer le système d'exploitation, et ayant également la charge d'en installer les éventuelles mises à jour. Dans ce contexte il effectue nombre de vérifications :
- depuis le début, vérification d'une signature électronique de 2048 bits à chaque installation de mise à jour, afin d'interdire l'installation d'un système modifié
- depuis la version Boot 5.1.5, inscription et vérification d'un numéro de version minimale autorisée dans une zone de la mémoire Flash ne pouvant être réinitialisée par aucun menu officiel
- depuis la version Boot 5.3.1 sur calculatrice physique (et 5.3.0 sur l'émulateur TI-SmartView CE), vérification d'une signature électronique de 1024 bits à chaque redémarrage de la calculatrice, afin d'interdire l'utilisation d'un système qui aurait été modifié après installation sur la calculatrice, ce qui te rajoute quelques secondes au démarrage avec le message
Tu peux vérifier ta version en tapant
mode
alpha
S.
Et bien Cauldron modifie le Boot afin d'altérer définitivement deux de ces sécurités si présentes :
- Boot 5.3.1 : la vérification de la signature 1024 bits au démarrage est désactivée, ce qui permettra à ta calculatrice de démarrer plus rapidement, et te permettra désormais d'utiliser librement des systèmes modifiés
- Boot 5.1.5 et 5.3.1 : l'inscription du numéro de version minimale autorisée est bloqué en dur sur 5.3.1, ce qui te permettra à tout moment de pouvoir réinstaller une ancienne version jusqu'à 5.3.1, et donc de retrouver la gestion des programmes ASM
Si seulement Texas Instruments pouvait en tenir compte...
Cauldron exploite donc une ancienne faille matérielle déjà corrigée, et ne cible que les révisions matérielles L et inférieures, assemblées jusqu'en Mai 2019. C'est-à-dire que :
- sont exclues l'intégralité des TI-83 Premium CE Edition Python
- sont gérées l'intégralité des simples TI-83 Premium CE
- sont exclues l'intégralité des TI-84 Plus CE-T Python Edition
- sont exclues les simples TI-84 Plus CE et TI-84 Plus CE-T en révision matérielle M à O, assemblées de Mai 2019 à Mai 2020
- sont gérées les simples TI-84 Plus CE et TI-84 Plus CE-T en révision matérielle L et inférieure, assemblées jusqu'en Mai 2019
Si tu es donc muni(e) d'une machine compatible avec Cauldron tu en prends ainsi le contrôle total et possiblement pour toujours ; tu n'auras plus à craindre les mises à jour de Texas Instruments. Tu pourras patcher le système comme tu voudras, mettre à jour et tant que tu le voudras toujours revenir à une version inférieure supportant l'ASM d'origine !
En théorie, il serait possible qu'une mise à jour système future de Texas Instruments s'occupe de réparer le Boot. En pratique cela nous semble extrêmement difficile, coûteux et donc peu probable :
- Déjà le Boot n'est pas censé être réinscriptible, et il y a sans doute nombre de contraintes...
- Contrairement aux TI-Nspire, les Boot TI-83 Premium CE et TI-84 Plus CE n'ont pas été conçus pour pouvoir être mis à jour - ils sont liés à des révisions matérielles spécifiques, une version plus récente risque tout simplement de ne pas marcher et donc bloquer définitivement la machine en question
- Le moindre incident lors de la programmation du nouveau Boot ou de son exécution, et la machine concernée sera définitivement morte, et c'est déjà arrivé lors de mises à jour TI-Nspire - mais après, possible que Texas Instruments juge le remplacement des machines accidentellement détruites par une telle mise à jour moins coûteux que le risque de perdre le maché français des calculatrices graphiques, le 2ème ou 3ème au monde à notre connaissance en terme de volume
Ce n'est certes pas une possibilité exceptionnelle ni scandaleuse. Modifier le système d'exploitation de sa calculatrice :
- était déjà faisable sur les calculatrices Casio Graph 35+E / 35+E II / 75+E / 90+E et fx-CP400+E bien que la manipulation soit technique et pas vraiment documentée publiquement
- était déjà réalisable chez NumWorks de façon officielle et bien plus accessible
L'argument que nous avions coutume d'opposer n'est donc plus valable aujourd'hui, nous avons tous déjà été punis pour ce que nous n'avons même pas fait.
Texas Instruments a tout gâché en seulement quelques mois, arrivant à écœurer nombre de fans 'bricoleurs' qu'une certaine concurrence accueille à bras ouverts, et si des attaques contre le mode examen doivent sortir il nous semble aujourd'hui hautement plus probable que ce soit chez Texas Instruments que chez la concurrence. Que ce soit en exploitant arTIfiCE, Cauldron, ou même autre chose.
Nous déplorons la situation, mais au vu des éléments précédents nous ne pouvons pas rejeter le fait que Texas Instruments a lourdement cherché la chose.
Il ne faut pas vendre la peau de l'ours avant de l'avoir tué.
Peut-être y a-t-il eu chez Texas Instruments un excès de confiance suite à l'apparente éradication de Ndless... Le constructeur devrait au minimum revoir sa communication pour être davantage compatible/inclusive, et envoyer un signal fort d'apaisement...
Sinon, avec des attaques aussi graves publiées dès la rentrée, où en serons-nous d'ici les examens 2021 avec la poursuite d'une telle escalade ?...
C'est quoi qui va sortir demain maintenant ?...
D'ailleurs rien à voir avec la fraude, mais dans l'immédiat nous te déconseillons l'utilisation de Cauldron.
L'outil nous semble avoir été codé rapidement de façon assez brouillon, ne dispose même pas d'interface aidant à son utilisation, et n'a fait l'objet que de peu de tests pour le moment.
La reprogrammation du Boot est une opération extrêmement dangereuse, toute erreur pendant une reprogrammation rendra ta calculatrice définitivement inutilisable.
Nous ignorons pour le moment le comportement de Cauldron dans nombre de cas particuliers : batterie déchargée, version Boot inconnue, version Boot déjà patchée...
Téléchargements :
- Cauldron (publication initiale, semble désormais indisponible)
- Cauldron (fork en cours d'amélioration par TheMachine02)
Sources :