
Lancée pour la rentrée 2017, la calculatrice
NumWorks
était initialement un formidable projet de machine ouverte.
Le développement tiers a pu s'y hisser à un niveau jamais atteint chez la concurrence, et permettre l'émergence d'un projet formidable,
par
et ses non moins illustres collaborateurs.

Il s'agit d'un
firmware
alternatif pour ta calculatrice
NumWorks
. Basé sur le code source du
firmware
officiel
Epsilon 15.5
comme la licence l'y autorisait jusqu'alors,
avait pour but de regrouper et mettre en avant les meilleures contributions au code d'
Epsilon
, très souvent non reprises par le constructeur qui a son propre calendrier et sa propre vision de l'interface.
Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'
. Contrairement à l'ensemble de ses concurrentes de milieu de gamme, la
NumWorks
travaille en interne sur des arbres de calcul, une technique qui permet le calcul littéral. Toutefois elle les bridait artificiellement pour n'accepter que des valeurs numériques, empêchant donc tout calcul littéral.
à la différence autorise ces arbres à utiliser des lettres / inconnues, ce qui te donne ainsi un moteur de calcul littéral. De quoi même dériver à seulement
80€
, des fonctionnalités que la concurrence réserve usuellement aux modèles haut de gamme avec des prix à 3 chiffres !
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ègre,
offre é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 :
- , une formidable application intégrée de Mathématiques et de Sciences par , enseignant-chercheur à l'Université de Grenoble, qui étendait gratuitement les capacités de ta calculatrice au niveau d'une . L'application intègre 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, gros manque du firmware
officiel, 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 est en prime programmable en Python
, avec une collection de bibliothèques 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
. - , un émulateur de console de jeux
Nintendo NES
par - , un émulateur de console de jeux
Nintendo GameBoy
par - , un tableau périodique des éléments par
Les fonctionnalités du
firmware
ont été reprises par la suite pour plusieurs
forks
, les
firmwares
et
, ce dernier par nul autre que
en personne.
Un gros avantage de plus est ici que
KhiCAS
et l'ensemble des fonctionnalités rajoutées via des applications restent 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 viennent de plus directement intégrées à des modèles concurrents haut de gamme parfaitement autorisés.
Mais voilà, en 2020-2021 il y a eu 2 très graves incidents concernant le modèle ouvert de la calculatrice
NumWorks
:
- une initiative hostile d'un tiers en avril 2020 aux Pays-Bas, qui a effectué exprès une modification frauduleuse du
firmware
officiel avant de la filmer et l'envoyer à l'autorité de régulation des examens - un véritable camouflet au Portugal qui a formalisé pour la session 2021 une interdiction de toute calculatrice
open source
, sans doute choqué par le comportement hautement incorrect de NumWorks qui osait prétendre dans la presse portugaise à la rentrée 2020 que sa calculatrice serait autorisée, devançant ainsi de plusieurs mois la publication officielle de la liste de modèles approuvés (qui pour le coup n'a pas intégré la
NumWorks
, avec en prime le traitement de faveur de l'interdiction)

Après un simulacre de prise en compte de l'avis de sa communauté de développement sur la période 2020-2021, le constructeur a
contre toute attente clairement préparé tout autre chose dans le dos de sa communauté, introduisant lors de la mise à jour
de rentrée 2021 un verrouillage extrême de ses calculatrices
N0110
.
Toute
N0110
mise à jour ou venant préchargée d'une version
16.3
ou supérieure, comprend un
bootloader
(chargeur de démarrage)
censé être non effaçable, empêchant l'installation de tout
firmware
non correctement signé par le constructeur, c'est-à-dire entre autres de tout
firmware
tiers
.
Par conséquent, cela t'empêche également de bénéficier des applications additionnelles persistantes en mémoire
Flash
et en mode examen
(logiciel intégré de Mathématiques avec moteur ce calcul formel
KhiCAS
, émulateurs
Nintendo Game Boy
et
NES
, tableau périodique des éléments, ...)
.
Dans sa volonté de frapper très fort, le constructeur est même allé jusqu'à révoquer la licence ouverte de son
firmware
Epsilon
. Les développeurs des
firmwares
tiers n'ont depuis plus le droit d'en réutiliser le code des dernières nouveautés, et les
firmwares
en question restent basés sur le code d'
Epsilon 15.5
, la dernière version sortie sous licence ouverte. Passer outre serait s'exposer à des poursuites, les menaces semblant être un véritable réflexe chez ce constructeur.
Les quelques utilisateurs de
N0110
ayant eu la chance d'être informés avaient certes le choix mais étaient depuis face à un cruel dilemme :
- soit mettre à jour sur le
firmware
Epsilon
pour bénéficier de toutes les dernières nouveautés officielles, mais en contrepartie renoncer définitivement aux firmwares
tiers - soit rester sur un
firmware
tiers, mais en contrepartie se priver des nouveautés officielles

Dans une
actualité fin Mars 2022
, nous t'annoncions la sortie de
par l'équipe des développeurs
.
est un
bootloader
tiers avec lequel il suffit d'écraser le
bootloader
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
te permettait enfin de déverrouiller ta calculatrice et d'y installer librement le
firmware
de ton choix.
Mais mieux que ça,
supprimait également le dilemme précédent. Ce
bootloader
absolument génial introduisait en effet une fonctionnalité de
dualboot
, te permettant d'installer simultanément 2
firmwares
sur ta
N0110
dans 2 emplacements
Flash
appelés
slot A
et
slot B
, pour pouvoir par la suite basculer librement entre les deux à tout moment grâce aux raccourcis
et
!
Tu bénéficiais ainsi du meilleur des deux mondes :
- les quelques nouveautés apportées par les mises à jour officielles du
firmware
Epsilon
depuis la version 15.5
- toutes les géniales nouveautés apportées par les
firmwares
tiers , et
Les différents
firmwares
tiers
,
et
ont par la suite chacun intégré leur propre
bootloader
avec des spécificités,
n'étant nécessaire que si tu partais d'une machine déjà verrouillée.
Une grande ouverture d'esprit de la part de l'équipe de développement de ces
firmwares
tiers, qui malgré toutes les crasses auxquelles elle avait eu droit continuait à faire des efforts pour travailler avec le
firmware
officiel
Epsilon
et donc par extension avec
NumWorks
, et toujours bénévolement.
Bien évidemment malgré cette sortie tout sauf malveillante, les extrémistes de chez
NumWorks
ne l'ont pas entendu de cette oreille, ne saisissant pas la main tendue par une communauté qu'ils avaient eux-mêmes très profondément blessée.
Ils ont cherché par nombre de moyens depuis à empêcher l'utilisation des
bootloaders
tiers ainsi que de tout
firmware
tiers. Nous n'allons pas tout lister ici car ce serait particulièrement long, attardons nous aujourd'hui plutôt sur quelques points bien précis.
Les
bootloaders
tiers étaient donc capables comme expliqué précédemment d'amorcer n'importe quelle version du
firmware
officiel
Epsilon
conçue pour un
bootloader
. Tu pouvais ainsi installer et utiliser aussi bien
Epsilon 16
qu'
Epsilon 17
ou
Epsilon 18
.
Sauf que ce n'était comme par hasard plus le cas avec la mise à jour suivante
Epsilon 19
, finalisée en version stable pour
Juillet 2022
.
Histoire de bien rajouter des bâtons dans les roues, le constructeur a de plus fait le choix avec
Epsilon 19
de ne
plus publier l'intégralité du code source. Plusieurs éléments critiques en sont manquants, dont justement ce qui concerne l'amorçage. Déjà que l'on ne pouvait déjà quasiment plus rien faire du code suite à la révocation de la licence, désormais on ne peut donc même plus le consulter.
La correction a en conséquence pris plusieurs mois, et vient tout juste de sortir
fin novembre. En effet la dernière mise à jour
inclut un nouveau
bootloader
capable d'amorcer
Epsilon 19
.
Il y a de plus eu quelque chose d'autrement plus grave avec
Epsilon 19
si bien que, certes en partie par manque de temps en pleine période d'examens mais aussi pour te protéger, nous n'avons
annoncé Epsilon 19
non pas directement lors de la sortie de la
bêta
mais avec un peu plus d'un mois de retard, le temps de comprendre ce qui se passait.
En effet, lors de l'installation d'
Epsilon 19
, l'interface
web
se permettait d'installer une nouvelle version du
bootloader
sur certaines calculatrices. Après plusieurs semaines de tests et retours, nous avons pu comprendre que cela concernait :
- les
N0110
qui étaient dépourvues de bootloader
(versions d'
Epsilon
inférieures à 16, versions d'
,
ou
installées avant la sortie de
)
- mais également les
N0110
munies de versions avec bootloader
d', ,
Problème, ce nouveau
bootloader
officiel refusait le retour à la version 18 précédente. Les utilisateurs concernés étaient donc coincés sur une version bêta, et ce en plein mois d'épreuves d'examen dans l'hémisphère nord, totalement irresponsable et impardonnable de la part d'un acteur du secteur de l'Education !
Aucune trêve dans ce contexte, le constructeur s'est permis de mettre ses utilisateurs en danger
(surtout lorsque l'on a pu se rendre compte depuis qu'
Epsilon 19
présentait des calculs faux lorsque l'on faisait intervenir des pourcentages, et était de plus
instable, contrairement à toutes les versions l'ayant précédé)
. Quand on est capable de faire une telle chose pour servir ses propres intérêts, on ne mérite aucune confiance. Et quand en prime on perd la bienveillance envers les élèves/candidats, l'on n'a rien strictement à faire dans le secteur de l'Education.
Suite à ce comportement absolument scandaleux,
NumWorks
est tombé de son piédestal nous concernant. Chat échaudé craignant l'eau froide, lorsque la version bêta d'
Epsilon 20
est sortie, nous avons fait le choix de ne pas l'annoncer justement pour ne pas te mettre en danger, pour ne pas que tu te fasses une nouvelle fois piéger d'une façon ou d'une autre.
L'urgence était de ne pas se précipiter pour ne pas se faire avoir une nouvelle fois et griller une autre calculatrice. Notre priorité était avant tout de comprendre pour mieux t'informer : où était le piège ?
Epsilon 20
restait apparemment amorçable par le dernier
bootloader
d'
. Mais après l'incident précédent montrant que le constructeur
NumWorks
n'a aucun interdit moral lorsqu'il s'agit d'imposer ce qu'il pense être dans son intérêt, il était clair pour nous qu'il devait y en avoir un quelque part, si ce n'était même plusieurs.
Et effectivement la page d'installation d'
Epsilon 20
fait quelque chose de totalement anormal ; elle inscrit une copie du dernier
bootloader
officiel en mémoire
Flash
à une adresse a priori non amorçable, 0x10000.
Une image servant sans aucun doute à être comparée avec le
bootloader
installé sur la calculatrice. Après la question est pour quoi faire et nous pouvons imaginer nombre de choses, toutes malveillantes :
- écrasement par le
firmware
Epsilon 20
du bootloader
avec la copie de la dernière version officielle - refus par
Epsilon 20
de l'accès à certaines fonctionnalités jusqu'à-ce que l'utilisateur accepte de réinstaller un bootloader
officiel (mode examen, clignotement de la diode examen, outils en ligne, ...)
- marquage infâmant
(popup à chaque allumage avec un message effrayant pour l'utilisateur ou le surveillant qui verrait ça, signe distinctif dans la barre de titre, ...)
- ...
L'inconnue est de savoir quand est-ce que ça se déclenche et à ce jour n'avons pas de réponse, nous n'avons pas trouvé. Mais
NumWorks
n'a sûrement pas fait ça pour rien. Si ce n'est pas systématique ou pourrait penser au lancement du mode examen
(à moins que ce ne soit aléatoire pour mieux nous piéger)
. Mais peut-être que cette sécurité n'est justement pas complètement activée sur la version bêta cette fois-ci.

Et bien l'année 2023 commence bien, l'équipe de développement
Omega
vient tout juste de sortir
Omega 2.0.4
.
Cette mise à jour inclut un nouveau
pour
NumWorks N0110
destiné à te protéger contre toute initiative malveillante d'
Epsilon 20
. Le principe consiste à vérifier la présence de la copie non amorçable du
bootloader
officiel en mémoire Flash, et à l'effacer si trouvée. Quoi qu'il ait été prévu qu'
Epsilon 20
en fasse, ce sera alors strictement impossible. Une fois la mise à jour d'
Omega
effectuée, tu pourras alors enfin t'installer
Epsilon 20
sans crainte pour profiter des derniers ajouts !
Ce n'est pas la seule nouveauté.
Jusqu'à présent, pour régler le
firmware
à amorcer par défaut, tu devais utiliser une combinaison avec le bouton
reset
:
reset
+
1
pour régler l'amorçage par défaut sur le
slot
A
, et
reset
+
2
pour le
slot
B
.
Nécessité donc d'avoir à tout moment sous la main un outil pour actionner le bouton
reset
ainsi que de quelques acrobaties pour presser simultanément le bouton
reset
à l'arriège ainsi que la touche à l'avant, fort pénible.
Et bien le nouveau
supprime la nécessité de telles acrobaties dans ces cas-là : la simple pression des touches
1
ou
2
à l'écran du
bootloader
permet maintenant de sélectionner le
slot
et donc
firmware
par défaut, et la touche on/off permet alors immédiatement de l'amorcer !
Enfin, à partir du moment où le
bootloader
permet d'amorcer 2
firmwares
différents, qui stockent chacun séparément leur propre configuration du mode examen, le
bootloader
se doit d'en tenir compte afin de garantir la conformité de la calculatrice pour les examens.
Or, sans doute exprès pour pousser les
bootloaders
et
firmwares
tiers à la faute et ensuite pouvoir la dénoncer, le code source relatif au format de la configuration de mode examen écrit en mémoire Flash fait justement partie des
éléments censurés.
Malgré tout, il y a des améliorations de la gestion du mode examen avec le nouveau
bootloader
Omega 2.0.4
.
Par contre, nous déplorons la solution retenue dans ce contexte : pour ne pas s'embêter à gérer 2 configurations de mode examen utilisant 2 formats différents dont 1 format inconnu, le
bootloader
t'interdit de changer de
firmware
une fois le mode examen activé.
C'est hautement problématique et contraire à l'esprit initial du projet, car cela remet le cruel dilemme initial sur la table. Il faudra choisir en début d'épreuve entre :
- soit activer le mode examen dans , ou et bénéficier de leurs fonctionnalités additionnelles respectives, mais pas des derniers ajouts officiels
- soit activer le mode examen dans
Epsilon
et bénéficier des derniers ajouts officiels, mais d'aucune des fonctionnalités additionnelles tierces conçues pour , ou