La
NumWorks était originellement un merveilleux projet de calculatrice graphique ouverte, rompant radicalement avec les usages des constructeurs historiques.
Le développement tiers a pu s'y hisser à un niveau jamais atteint sur la concurrence et permettre 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 du
firmware officiel
Epsilon comme la licence libre l'autorisait à l'époque,
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 quelques-uns 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€ !
On peut aussi citer 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 ainsi qu'un un tableau périodique des éléments (deux applications faisant toujours à ce jour cruellement défaut au firmware officiel Epsilon), ainsi qu'une bibliothèque de constantes physiques, un convertisseur d'unités, et bien d'autres choses encore. Le tout était en prime programmable en Python, avec une collection de bibliothèques importables bien plus étoffée que celle de l'application du firmware officiel, et surtout ici de façon intégrée, tes scripts Python pouvant même ici faire appel au moteur de calcul formel GIAC par l'intermédiaire de la bibliothèquecas.
- 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 autre tableau périodique des éléments par M4x1m3
Un gros avantage de plus était ici que
KhiCAS et l'ensemble des fonctionnalités rajoutées restaient accessibles en mode examen, de façon parfaitement légale et légitime en France, puisque ces fonctionnalités ne sont pas des données et venaient de plus directement intégrées à des modèles concurrents haut de gamme parfaitement autorisés.
Mais voilà, pour la rentrée 2021 la mise à jour
16.3 d'
Epsilon, le
firmware officiel des calculatrices
NumWorks, a introduit un verrouillage des modèles
N0110.
Toute
N0110 mise à jour ou venant préchargée d'une version
16.3 ou supérieure, comprend un chargeur de démarrage censé être non effaçable, et empêchant entre autres :
- l'installation de tout firmware non correctement signé par le constructeur, c'est-à-dire entre autres de tout firmware antérieur à la version 16 ainsi que de tout firmware non officiel dont Omega
- l'installation d'applications persistantes en mémoire Flash (logiciel intégré de Mathématiques avec moteur ce calcul formel KhiCAS, émulateurs Nintendo Game Boy et NES, tableau périodique des éléments, ...)
NumWorks a de plus profité de l'occasion pour révoquer sa licence libre, et interdire ainsi la réutilisation de tout code introduit à partir de la version
16 dans des
firmwares non officiels ;
Omega ne pouvait donc plus intégrer les dernières nouveautés.
La mort dans l'âme, nous t'annoncions donc à la rentrée 2021 l'
abandon en conséquence du projet de
firmware Omega.
Toutefois 2
forks en ont par la suite émergé successivement, les
firmwares Khi par
Bernard Parisse, puis
Upsilon.
Les utilisateurs informés qui avaient la chance d'avoir entre leurs mains des calculatrices non encore verrouillées avaient certes le choix mais restaient face à un très cruel dilemme :
- soit mettre à jour vers le firmware Epsilon pour bénéficier de toutes les dernières nouveautés officielles, mais en contrepartie renoncer définitivement aux formidables ajouts des firmwares tiers
- soit utiliser un firmware tiers, mais en contrepartie se priver des nouveautés officielles apportées à ce jour avec les versions 16, 17 puis 18
Dans une
actualité précédente, nous t'annoncions la sortie de
Phi par
M4x1m3, un des anciens de l'équipe de développement
Omega.
Phi est un chargeur de démarrage avec lequel il suffit d'écraser le chargeur officiel, grâce à une faille présente dans les
firmwares Epsilon officiels jusqu'à la version
18.2.0.
Après plus de 6 mois d'attente
Phi te permettait donc enfin de déverrouiller ta calculatrice. Mieux que ça, le nouveau chargeur de démarrage
Phi était ensuite capable de lancer aussi bien les
firmwares officiels
Epsilon (à partir de la version 16) que les
firmware tiers, à la seule condition que ces derniers aient été mis à jour pour supporter ce nouvel amorçage.
Le projet
Omega profita justement de l'occasion pour renaître de ses cendres avec une mise à jour compatible en version
2.0.0.
Encore mieux que ça, avec
Phi tu n'avais même pas à choisir entre fonctionnalités officielles et tierces, tu peux avoir les deux en même temps !
Phi rajoute un raccourci
reset+
4
permet de consulter l'état de la mémoire
Flash et de mettre la calculatrice dans un mode de mise à jour protégé car interdisant la réécriture du chargeur de démarrage. Rappelons que depuis le verrouillage la mémoire
Flash des
N0110 est partitionnée en deux moitiés égales de
4 Mio et pouvant chacune accueillir un
firmware. Justement à cet écran
Phi présente la mémoire
Flash comme découpée en 2
slots A et
B de
4 Mio chacun. Les nouveaux raccourcis
reset+
1
et
reset+
2
te permettent alors de basculer entre l'amorçage des deux
firmwares présents dans chacun de ces 2
slots. Du
multiboot sur une calculatrice, c'est absolument sensationnel !
Sauf qu'il y avait un problème extrêmement grave avec
Phi et
Omega 2.0.0.
Phi n'était pas conforme à la réglementation française du mode examen et était donc strictement interdit d'utilisation à tout examen exigeant l'activation de ce mode en France.
Le problème était que les raccourcis
reset+
1
et
reset+
2
permettant de basculer entre les deux
firmwares présents en mémoire désactivaient le mode examen et éteignaient donc la diode examen, chose aisément et rapidement détectable par les surveillants.
Certes, cela ne permettait a priori pas de tricher, vu qu'il s'agissait d'un
reset et que cela vidait donc le contenu mémoire. Le problème est ailleurs ; c'est strictement interdit par les
spécifications officielles du mode examen français. En effet le mode examen ne doit pas pouvoir être désactivé de façon autonome par les candidats, c'est-à-dire que la désactivation doit obligatoirement nécessiter un outil extérieur non présent sur leur table de composition car interdit en examen
(2ème calculatrice, ordinateur, smartphone, tablette, etc.).
Si tu introduisais
Phi dans une salle d'examen en France et te faisais prendre
(parce que tu auras basculé entre deux firmwares pendant l'épreuve et oublié de réactiver immédiatement le mode examen), tu risquais l'ensemble des désagréments possiblement dramatiques associés à une tentative de fraude
(non fixé sur ta réussite à l'examen à la veille de l'été comme les camarades et donc rien à fêter avec eux, le jugement nécessitant du temps alors qu'en prime les rectorats sont fermés une bonne partie de l'été risque de perdre ton inscription dans l'enseignement supérieur et donc une année, jusqu'à 5 ans d'interdiction de passer tout examen y compris le permis de conduire de quoi bien te gâcher la vie, ...).
Les mises à jour suivantes
de Khi puis Upsilon migrant vers ce nouveau mode de fonctionnement avec chargeur de démarrage, en ont profité pour traiter ce problème.
Le fonctionnement retenu était de dupliquer la configuration du mode examen dans les différents
slots lors du basculement de
firmware via les raccourcis
reset+
1
et
reset+
2
.
En théorie donc, le mode examen n'était donc plus désactivé et tu n'étais donc plus en danger.
En pratique toutefois ce n'était pas parfait.
D'une part ce n'était pas fiable à 100%. Il nous est arrivé que le mode examen se désactive lors d'une bascule entre les firmwares, plus précisément à la première activation suivant l'installation du bootloader associé. Pas réussi à date à reproduire le problème autrement ; mais comme les développeurs n'ont pas réussi à l'expliquer rien ne prouve que c'est impossible.
D'autre part, ce n'était pas gênant pour la France où seule le verrouillage du contenu mémoire préexistant est demandé en mode examen, mais dans d'autres pays le mode examen est également censé bloquer certaines fonctionnalités. Et là, la configuration dupliquée du mode examen n'était pas toujours comprise de la même façon lors du basculement entre les firmwares.
Aujourd'hui c'est enfin au tour du
firmware Omega d'être mis à jour afin d'améliorer la conformité avec le mode examen, mais cette fois-ci aussi bien en France que dans le monde !
La solution retenue avec
Omega 2.0.2 diffère donc de celle de
Khi et
Upsilon.
Le
bootloader est maintenant capable de détecter si l'un des
firmwares installés a été passé en mode examen.
La solution est beaucoup plus radicale ; dans ce cas les raccourcis
reset+
1
et
reset+
2
deviennent sans effet : c'est obligatoirement le
firmware passé en mode examen qui sera amorcé.
Tu ne peux donc plus, en mode examen, disposer à la fois :
- des dernières fonctionnalités d'Epsilon
- des fonctionnalités Omega
Il te faudra donc bien choisir en début d'épreuve dans quel
firmware tu actives le mode examen.
Si tu as installé
Phi + Omega 2.0.0 sur ta machine, dans ton propre intérêt ainsi qu'afin d'éviter toute mise en danger d'un utilisateur futur à qui tu vendrais/prêterais ta calculatrice, nous te conseillons très fortement d'accepter cette restriction en mode examen et de mettre à jour vers
Omega 2.0.2, vu que de toutes façons la vulnérabilité corrigée ne permettait déjà pas de tricher.
Attention, la vulnérabilité faisant partie du
bootloader, il te faut obligatoirement effectuer la mise à jour avec le mode de récupération accessible via le raccourci
reset+
6
; les mini-tutos suivent ci-dessous.