La liberté des calculatrices graphiques ?

Posté par  (site web personnel) . Édité par Julien Jorge, Benoît Sibaud et Pierre Jarillon. Modéré par Ysabeau 🧶. Licence CC By‑SA.
Étiquettes :
9
4
mar.
2025
Matériel

Les calculatrices graphiques sont de lointains dérivés des ordinateurs de poche des années 1980, dans lesquelles subsiste cette capacité native à pouvoir être programmé.
J’en serais probablement resté à mon expérience de lycéen, et l’éternel combat Casio / Texas Instrument, s’il n’y avait pas eu un virage (pas forcément bien courbe) autour de Python dans la fin des années 2010.

Entre passion de l’informatique, doux rêveur, promesse de calculatrice libre et réalité du marché… j’avais l’envie de vous partager mes quelques heures de recherches et de réflexions sur le sujet.

Sommaire

Ordinateur de poche, calculatrice et langage BASIC

Les ordinateurs de poche existent depuis les années 80 et ont fait le succès de sociétés telles que Sharp, Casio ou Psion. Ils se confondent avec les calculatrices les plus évoluées, et restent aujourd’hui les seules survivantes de ces deux mondes.

Elles sont programmables, majoritairement dans de nombreux dialectes du langage BASIC, directement sur la machine, mais aussi dans d’autres langages plus bas niveau, souvent via un ordinateur plus conventionnel.

Une évolution de rupture

Dans la fin des années 2010, deux évolutions sont poussées dans le monde des calculatrices : le « mode examen » et le besoin d’un langage plus moderne, beaucoup se tournant vers le langage Python.

C’est l’occasion pour NumWorks de se lancer dans ce marché très spécial. Deux point sont mis en avant :

  • Le langage Python comme le langage de programmation utilisateur (alors que ce n’est qu’un autre ajout pour les constructeurs historiques).
  • Un modèle « libre », qui as fait beaucoup parler de ce nouveau venu, notamment ici.

Libre - Un peu, beaucoup, à la folie, passionnément… pas du tout

La mise en application s’est vite montrée moins claire. La libération matérielle tient, à en juger par leur GitHub, à huit fichiers STL, sous licence CC-BY-NC-ND, et dont la dernière mise à jour date de 2020. Il est donc interdit d’en faire des modifications et/ou une utilisation commerciale… une liberté relative.

Le système d’exploitation, nommé epsilon, qui offre une bonne implémentation de Python, mais qui souffre de plusieurs problèmes de jeunesse, est bien disponible… mais également sous cette même licence CC-BY-NC-ND.

Omega

Critiquée pour cette différence entre le discours commercial de liberté, et la réalité de la licence, en mai 2018 elle fut finalement modifiée en CC-BY-NC-SA, autorisant donc la modification et la redistribution de versions modifiées. Il en naîtra notamment Omega un dérivé communautaire d’Epsilon, alors en version 11.

Ma petite CASIO

Dans un esprit de découverte, j’ai eu l’envie d’explorer moi-même ce nouveau monde du Python sur calculatrice. Peut-être un peu entrainé par les différentes lectures sur la calculatrice libre que je lisais un peu partout.

Cependant, l’interprétation assez personnelle de NumWorks du libre, et l’obligation de passer par leur site pour communiquer avec la calculatrice a orienté mon choix vers une Casio Graph 90E.

Pas que cette dernière soit plus libre, bien au contraire… juste qu’elle est simplement reconnue comme une clef USB pour y transférer des éléments depuis l’ordinateur et qu’elle a une communauté plus importante.

Le micro-python qui y est intégré est limité, et s’il permet de faire des choses… on voit que le constructeur s’est limité à ce qui était juste nécessaire. Ce qui limite les possibilités laissées aux utilisateurs.

J’aurais pu en rester là, et c’est même un peu ce que j’ai fait jusqu’à peu.

NumWorks - L’esprit d’ouverture… ou pas

Alors que j’explorais d’autres domaines, et que ma Casio prenait la poussière, le monde évoluait, et NumWorks en était à la 4ᵉ variante matérielle de sa calculatrice révolutionnaire.

La définition du « Libre » par l’entreprise avait elle aussi eu le temps d’évoluer.

Epsilon depuis sa version 16 du 30 novembre 2021, verrouille les calculatrices pour n’autoriser que les systèmes officiels du constructeur. Un peu à l’image des consoles de jeu, que certains hackent pour installer des homebrew ou firmware modifiés, il en devient de même pour la « calculatrice libre » : on chasse les évolutions communautaires.

Epsilon en est aujourd’hui (28 février 2025) à sa version 23… sans volonté affichée d’ouverture supplémentaire. Le dépôt GitHub n’affiche pas de licence dans ses métadonnées, mais une mention « Copyright - All rights reserved. NumWorks is a registered trademark. » figure en bas de la page de présentation.

Oméga a mis en pause son développement depuis février 2024, renvoyant vers une autre alternative Upsilon, qui ne s’installe pas mieux sur une calculatrice NumWorks verrouillée… mais quelqu’un a compilé pour la CASIO.

La magie du libre

C’est M. Bernard PARISSE qui a compilé une version d’Upsilon comme application pour la génération de CASIO que je possède. Je vous invite à en lire tous les détails sur la page de son projet.

Arrivant donc à avoir le meilleur des mondes, le travail de NumWorks, les additions de la communauté et plus de puissance supplémentaire de ce matériel.

Mais cela est conditionné par la possibilité de pouvoir faire fonctionner des applications tierces sur ces calculatrices…

Vers la fin des applications avancées

Il y a historiquement deux méthodes pour développer des applications pour ces calculatrices.

Un langage haut niveau, qui est un dialecte BASIC, une adaptation de Python, ou d’autres langages plus ou moins évolués, qui sont directement modifiables sur l’appareil (même si le clavier d’une calculatrice n’y est pas toujours optimal).

Un langage bas niveau, typiquement du C ou même de l’assembleur, édité et compilé sur un ordinateur puis transféré vers la calculatrice (même si certaines machines Sharp pouvaient se programmer en C directement sur la machine).

Et c’est un point que met en valeur Bernard PARISSE dans son argumentaire sur Upsilon pour CASIO : l’ouverture de ce constructeur aux développements tiers.

Mais voila, ce n’est pas forcément le sens que prennent les constructeurs, même chez CASIO.

Le test communautaire de la CASIO Math+, qui succède à la Graph 90E, ne permet pas ces applications tierces développées en langage de bas niveau, et la conclusion sur ce point est tout sauf optimiste.


Voila qui conclut ce petit tour dans le sous-domaine de l’informatique qu’est celui des calculatrices graphiques, même si ce n’est probablement pas ce qui vous servira dans une discussion autour de la machine à café (sauf, peut-être, si vous êtes prof de math).

Aller plus loin

  • # Pour les personnes qui font de l'électronique

    Posté par  . Évalué à 4 (+2/-0).

    C'est un sujet qui m'intéresse depuis que ma HP48sx a rendu l'âme…

    J'ai trouvé ceci, qui m'a l'air sous licence libre, mais il faut savoir se servir d'un fer à souder : Delta Pico

  • # HP48 GX

    Posté par  (site web personnel) . Évalué à 3 (+1/-0).

    Le bon temps. Dans ma classe, personne ne bossait plus et jouait aux jeux que j'avais programmés, d'abord sur Casio : Jackpot, Mastermind, Bataille navale, Space invader, etc.

    Plus tard, j'ai acheté une HP, HP48GX, beaucoup plus ouverte et extensible, notamment par des cartes mémoires et un port infrarouge. Bien pratique avec l'application télécommande universelle. Il y avait également les niveaux de gris, et une fameuse image de Claudia Shiffer:

    img

    Beaucoup de documentation, et de livres sur la logique interne, des clubs de passionnés, etc. Le langage RPL assez intéressant, et également la possibilité d'utiliser des instructions pseudo-assembleur via l'instruction SYSEVAL.

  • # Une autre alternative libre

    Posté par  . Évalué à 1 (+0/-0).

    On peut faire tourner du code libre sur les calculatrice de SwissMicros. Par exemple, il y a une ré-implémentation libre de la HP-48: DB48X dont le code est sous licence LGPL-3.0.

    Bien sûr, le coût de ces calculatrices n'est pas le même qu'une Casio, une TI ou une NumWorks…

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.