Elle bénéficiait de plusieurs avantages tous exclusifs au départ :
- première calculatrice à être officiellement programmable en Python dès sa sortie à la rentrée 2017, soit juste à temps pour les nouveaux programmes du lycée contrairement à l'ensemble de la concurrence
- dès décembre 2017 avec la mise à jour 1.2, un moteur de calcul exact très supérieur aux moteurs QPiRac de la concurrence, permettant également du calcul littéral, du jamais vu à ce tarif-là ; une fonctionnalité déclenchant toutefois l'hostilité de certains enseignants car peut-être trop en avance sur son temps, et hélas désactivée à partir de la mise à jour en version 11 en juin 2019.
- une application de Probabilités munie d'une interface universelle parfaitement intuitive, parlant en effet directement le langage des énoncés
Tout ceci enflamma littéralement la communauté de développement NumWorks, propulsant le développement tiers à un niveau jamais atteint sur la concurrence, et permettant l'émergence d'un projet formidable, Omega par Quentin Guidee et ses non moins illustres collaborateurs.
Il s'agissait d'un firmware alternatif pour ta calculatrice NumWorks. Basé sur le code source d'Epsilon comme la licence libre l'y autorisait, Omega avait pour but de regrouper et mettre en avant les meilleures contributions au code d'Epsilon, en incluant cette fois-ci celles laissées de côté par le constructeur.
Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'Omega. La NumWorks travaille en interne sur des arbres de calcul, mais les bridait donc artificiellement pour n'accepter que des valeurs numériques. Omega ré-autorisait à nouveau ces arbres à utiliser des lettres / inconnues, ce qui nous redonnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement 80€ !
Citons aussi un tableau périodique des éléments, ou encore la possibilité d'avoir une bibliothèque de constantes physiques avec unités bien avant que ce ne soit disponible dans le firmware officiel.
Outre ce qu'il intégrait, Omega offrait également l'avantage de pouvoir installer à chaud des applications, fonctionnalité jusqu'alors absente du firmware officiel Epsilon. Plusieurs applications de très haute facture furent développées, on peut citer entre autres :
- KhiCAS, une formidable application intégrée de Mathématiques et de Sciences par Bernard Parisse, enseignant-chercheur à l'Université de Grenoble, qui étendait gratuitement les capacités de ta calculatrice au niveau d'une HP Prime. L'application intégrait le moteur de calcul formel GIAC développé pour le logiciel Xcas du même auteur pour des possibilités en calcul encore plus étendues. Étaient également inclus un tableur, une bibliothèque de constantes physiques, un convertisseur d'unités, un tableau périodique des éléments et bien d'autres choses encore. Le tout était en prime programmable en Python, avec une collection de modules importables bien plus étoffée que celle de l'application Python officielle, et surtout ici de façon intégrée, tes scripts Python pouvant en effet faire appel au moteur de calcul formel GIAC par l'intermédiaire du module cas.
- Nofrendo, un émulateur de console de jeux Nintendo NES par zardam
- Peanut-GB, un émulateur de console de jeux Nintendo GameBoy par M4x1m3
- Periodic, un tableau périodique des éléments par M4x1m3
NumWorks n'a bien évidemment pas effectué ce retournement de veste à 180° par pur plaisir. La chose s'inscrivait à l'époque dans le cadre de difficultés concernant la validation de la N0110 pour les examens des Pays-Bas ainsi que du Portugal, deux pays mettant à jour chaque année une liste de modèles approuvés pour les examens, utilisant le mode examen, et interdisant les capacités de calcul formel ou même littéral.
Aux Pays-Bas, c'est dès février 2020 que la calculatrice NumWorks avait été annoncée comme autorisée à compte de la session d'examens 2022, tout semblait être en bonne voie. Sauf que Maurits, étudiant néerlandais en économie, a été profondément scandalisé contre cette autorisation. Dès avril 2020 il a publié une véritable diatribe contre NumWorks et les projets open-source en général, se devant selon lui d'être interdits d'utilisation en examen car facilitant la triche. Bien loin de s'arrêter là, Maurits a modifié le code source du firmware NumWorks officiel pour empêcher l'effacement à l'activation du mode examen des données préchargées, a installé ce firmware modifié sur sa calculatrice, a filmé la chose, publié la vidéo, et est allé jusqu'à envoyer le tout à https://www.examenblad.nl, l'autorité responsable de l'organisation des examens aux Pays-Bas.
Au Portugal, dès la rentrée 2020, la presse annonçait l'arrivée prochaine de NumWorks dans la liste de modèles approuvés pour la session d'examens 2021. Sauf que véritable camouflet, lors de la publication de la liste en question en mars 2021, la NumWorks était absente de la liste. Les motivations accompagnant la publication de la liste ne nommaient pas NumWorks, mais incriminaient clairement la possibilité d'installer des fonctionnalités de calcul formel sur de nouveaux modèles examinés dans le cadre de l'élaboration de cette liste. La NumWorks étant alors le seul modèle récent absent de la liste, aucun doute possible sur qui était visé. Non approuvées, les calculatrices NumWorks ont même fait l'objet à l'occasion d'une interdiction nationale pour la session 2021 (plusieurs documents sorties suite à cette mise à jour annonçant l'interdiction de toute calculatrice "open source"), un traitement auquel aucun concurrent n'avais jamais eu droit jusqu'alors.
Afin de pouvoir rester autorisé aux Pays-Bas et autorisé avec son nouveau modèle N0120 pour la session d'examens 2022 au Portugal, NumWorks a donc dû donner des garanties aux institutions concernées, peut-être malheureusement trop.
6qui donnait accès jusqu'alors à un mode de récupération permettant de re-programmer librement l'intégralité de la mémoire Flash.
Un support des applications tierces était certes rajouté en contrepartie mais avec de lourdes limitations (popup d'avertissement à fermer à chaque allumage, effacement définitif à chaque plantage, redémarrage, panne d'alimentation ou entrée/sortie du mode examen, ...), injustifiables pour la communauté car cette combinaison de restrictions est absente des modèles concurrents et ne serait donc logiquement pas exigée par les institutions réglementant les examens.
Au vue de ces contraintes non viables pour les développeurs, il était en effet impensable pour ces derniers d'espérer pouvoir fidéliser des utilisateurs si ces derniers devaient sans arrêt réinstaller leurs applications. Et d'ailleurs, de façon absolument pas surprenante, strictement aucune application tierce n'est sortie pour ce nouveau système jusqu'à ce jour, à ce qu'on sache.
Au même moment, NumWorks a révoqué sa licence libre, coupant ainsi les sources aux firmwares tiers comme comme Omega, qui reprenaient régulièrement les améliorations du firmware officiel Epsilon lors de leurs propres mises à jour.
NumWorks faisait donc un choix clair, ferme, et dur. Mais le problème est que cela intervenait après des mois d'échanges privés au sujet de ces problèmes avec la communauté de développement Omega, échanges pour lesquels la communauté avait imaginé et proposé d'autres solutions davantage gagnant-gagnant, et au cours desquels cet extrême n'avait jamais été annoncé. Ce choix inattendu, au bout de presque une année d'échanges, généra donc un très lourd ressentiment au sein de la communauté de développement Omega, contrainte suite à cet échec de communication/entente et à la révocation de la licence, d'annoncer la mort dans l'âme l'abandon du projet et la dissolution de l'équipe à la rentrée 2021.
Les pages de mise à jour n'ont jamais averti les utilisateurs de ces changements, ni ne leur ont donné la possibilité de les accepter ou refuser. Nombre d'utilisateurs se sont ainsi retrouvé "piégés" à la rentrée 2021 malgré nos efforts d'information, n'arrivant plus à rajouter des fonctionnalités légitimes qu'ils désiraient après avoir mis à jour leur calculatrice sans se méfier.
Cela avait également généré un ressentiment énorme au sein de la communauté et déclenché pour la rentrée 2020 une vague d'attaques sans précédent contre le modèle de sécurité de Texas Instruments :
- arTIfiCE pour rouvrir la possibilité de lancer des programmes en langage machine
- puis 2 attaques d'une violence extrême jamais vue dans toute l'histoire de la communauté TI, Cauldron et BootSwap, permettant de reprogrammer le Boot code pour faire sauter toutes les sécurités, ouvrant la voie à l'installation de systèmes non autorisés, modifiés ou tiers
- Omega 2.0, par l'équipe Omega
- Phi, par M4x1m3
Les mêmes causes produisant les mêmes effets... Phi est une attaque d'une violence inouïe contre le nouveau modèle de sécurité de NumWorks, comparable au BootSwap de la communauté TI. Phi est un bootloader destiné à écraser celui injecté par NumWorks lors du verrouillage, c'est-à-dire à déverrouiller ta calculatrice pour permettre par la suite entre autres l'installation d'Omega 2.0.
Nous traiterons pour le moment le cas d'une machine déjà verrouillée sur un firmware Epsilon en version 16 ou supérieure. Mais il est également possible et intéressant d'installer Phi sur une machine non verrouillée comme nous verrons plus loin.
À partir d'une machine déjà verrouillée donc, l'installation de Phi est possible très simplement via une application, s'appuyant donc sur les nouvelles possibilités de gestion des applications introduite avec la version 16 du firmware officiel Epsilon, un comble...
Une fois installée l'application d'installation de Phi via le lien en fin d'article, il te suffit de la lancer et d'effectuer dans l'ordre les 4 manipulations qu'elle te propose au menu :
- Unlock internal flash : déverrouillage de la flash interne au microcontrôleur, celle contenant le bootloader nous mettant en prison
- Erase bootloader : effacement du chargeur de démarrage, ce qui aurait dû être impossible et doit on suppose exploiter une faille
- Install custom bootloader : programmation du chargeur de démarrage Phi, alternative donc au bootloader de NumWorks
- Reset : redémarrage pour activer Phi, sans avoir à aller chercher un outil ce qui est bien pratique
Ta calculatrice redémarre maintenant sur son même firmware officiel Epsilon, Phi supportant en effet entre autres l'amorçage des Epsilon en version 16 ou supérieure. Rien n'a changé penses-tu ? Oh que si !
Il t'est maintenant possible via le raccourci reset+
6de passer la machine dans le mode de récupération non bridé :
- avec un porte-mine ou autre outil pointu, enfonce et maintiens le bouton reset au dos de ta calculatrice
- sans le relâcher, maintiens enfoncée la touche
6
- relâche en premier le bouton reset
Si c'est le cas, tu peux de suite installer Omega ou un de ses dérivés (Upsilon ou Khi) !
Il te suffit juste d'utiliser sur les pages en question le bouton d'installation spécifique aux calculatrices qui sont en mode de récupération.
- soit tu optes pour un firmware Omega et renonces alors à toutes les superbes nouveautés apportées par NumWorks avec les versions 16, 17 et 18...
- soit tu optes pour le firmware officiel Epsilon et renonces alors à tous les ajouts apportés par Omega et autres (calcul littéral, tableau périodique des éléments, calcul formel avec KhiCAS, émulateurs Nintendo NES et Game Boy, ...)
Phi t'active un nouveau raccourci, reset+
4, permettant de consulter l'état de la mémoire Flash et de mettre la calculatrice en mode de mise à jour.
Si tu calculatrice est à jour, tu obtiendras à ce jour comme ci-contre un écran t'indiquant 2 copies du firmware Epsilon 18.2.
Et bien justement, le nouvel Omega 2.0 apporte 2 avancées majeures dans ce cadre :
- il est compatible avec le chargeur de démarrage Phi, c'est-à-dire amorçable par ce dernier
- si installé depuis le site Omega, il s'inscrit dans le slot A sans écraser le contenu du slot B
- Omega 2.0 dans le slot A
- Epsilon 18.2 dans le slot B
Phi gère en effet le multiboot, et il t'est maintenant super facile de basculer à tout moment d'un firmware à l'autre grâce aux raccourcis reset+
1et reset+
2.
Espérons que les firmwares dérivés Upsilon ou Khi pourront rapidement être mis à jour pour être compatibles avec cette formidable possibilité.
Répondre parfaitement au dilemme en réutilisant différemment le modèle sécuritaire de NumWorks afin entre autres de conserver la compatibilité, c'est un bel exploit que nous ne pouvons que saluer !
Une configuration qui devient ainsi intéressante même pour les calculatrices qui ne sont pas encore verrouillées.
Si tu souhaites donc disposer sur une N0110 non encore verrouillée du multiboot avec un firmware Epsilon à jour en version 18.2, ta seule possibilité d'installation est de passer par le site officiel.
Tu dois donc commencer par verrouiller ta machine avec la dernière mise à jour 18.2.0, pour ensuite immédiatement installer Phi avec le lien en fin d'article.
Or, il ne fait aucun doute que NumWorks va se hâter de corriger la faille, et combattre l'installation de Phi. Tu as donc à notre avis une petite fenêtre de seulement quelques jours ou au mieux quelques semaines pour obtenir cette configuration. Si tu veux l'installer il y a donc urgence, tu dois te dépêcher, d'ici peu tu n'auras plus cette possibilité.
Aller consulter ce que cela implique dans le nouvel article, ou se référer au tutoriel d'installation lié en fin d'article qui sera pour sa part régulièrement mis à jour concernant les possibilités et limitations.
Mais mettons-nous toutefois maintenant du point de vue de NumWorks. Qu'on la juge légitime ou non, cette attaque ne sera pas appréciée et sera probablement perçue comme malveillante. En effet, elle sort juste avant les épreuves d'examens au mois de mai...
- Pour la France, à priori pas de problème
- Pour le Portugal non plus puisque Phi et Omega et les autres firmwares associés ne sont pas (encore ?) compatibles avec le seul nouveau modèle N0120 autorisé cette année.
- Par contre, reste le problème des Pays-Bas. Ce n'était peut-être pas l'objectif, mais Phi ouvre à nouveau la voie au calcul littéral et formel strictement interdit aux examens Néerlandais, et constitue donc dans ce pays un outil de fraude aux examens. Après le grave incident de Maurits en 2020, pas sûr que l'institution accepter à nouveau de donner une nouvelle chance à NumWorks. L'exclusion de NumWorks du marché néerlandais deviendrait une perte financière notoire, que la communauté ne sera à notre avis jamais capable de compenser.
Nous ne pourrons pas leur en vouloir dans ce contexte si jamais ce n'était pas le cas, mais espérons que NumWorks choisira la voie de la communication avec une transparence totale.
Tutoriels d'installation :
Installation :