Symbolibre : une calculatrice graphique formelle et libre
Posté le 31/03/2019 21:55
Ceux d'entre vous qui connaissent feu le projet
LibreCalc connaîtront aussi le principe. Force est de reconnaître que les calculatrices graphiques d'aujourd'hui se ressemblent d'année en année, et le matériel a du retard technologique sur, par exemple, les smartphones. En plus les logiciels ne sont pas libres (vous savez qu'on aime le libre sur Planète Casio). Alors peut-on faire mieux ? La réponse est oui !
Dans le cadre d'un projet de master à l'ENS de Lyon, un ancien utilisateur d'Omnimaga et moi avons lancé l'idée de
construire une calculatrice graphique formelle libre. C'est ainsi que notre projet
Symbolibre a fait travailler 25 élèves de Master pendant un an. L'année touche à sa fin mais le projet continue en-dehors des cours pour mener la conception à terme. Voyons ensemble ce qu'on a réussi à accomplir en un an !
À quelques broutilles près ça donne ça.
Matériel
À une ère moderne sied du matériel moderne ! Oublions les 512k de RAM que l'on a l'habitude d'utiliser pour les add-ins, notre ordinateur de bord est un
Raspberry Pi Zero avec un
processeur ARM à 1 GHz et
512M de RAM. Autant dire qu'il y a de la puissance de calcul sous le capot ! Ce Raspberry Pi n'a pas de fonctionnalités réseau, ce que le rend utilisable
même en mode examen.
À cela nous joignons un
écran couleur 320×240 connecté en SPI (pour économiser les pins pour le clavier), un
clavier personnalisé imprimé sur un PCB agencé de façon hiérarchique à la Numworks, une
batterie de 2000 mAh pour environ 20 heures d'autonomie écran allumé, et une
coque imprimée en 3D. Les boutons sont aussi imprimés en 3D
Écran, Raspberry Pi Zero, batterie, et l'on aperçoit l'interface d'alimentation.
Système d'exploitation
Pas question d'en réécrire un de zéro, on tourne donc sous un bon vieux GNU/Linux,
Gentoo pour être précis. On l'accompagne de
Wayland avec pour l'instant Sway comme compositeur, même si ce n'est pas définitif ; et les applications sont développées avec
Qt. Tout cela s'installe aisément sur une
carte SD de 8 Go tout en laissant la majorité de l'espace disponible pour d'autres données. Beaucoup d'autres données.
L'idée est que l'environnement doit être le plus léger possible pour que la calculatrice soit très réactive. Linux nous aide beaucoup à monter le logiciel (notamment avec les drivers de l'écran et du clavier), mais il y a tout une suite qui vient avec et qu'il faut contrôler. Actuellement la calculatrice met 25 secondes environ à démarrer, un poil plus que les toutes nouvelles TI-Nspire II CX et CX CAS. Le système se lance sur un écran Plymouth suivi d'une connexion automatique à l'environnement graphique et l'affichage du menu principal.
Applications
Les applications sont donc développées en C++ avec Qt, et embarquent
Giac comme moteur de calcul formel (le même que sur la HP Prime !). Les programmes servent surtout d'interfaces graphiques pour accéder aux fonctionnalités mathématiques, que l'on ne recode pas. Giac le fait déjà et très bien ! On peut voir ça dans cette capture de la feuille de calcul prise sur un PC.
Feuille de calcul avec clavier simulé ; jusque-là, pas d'erreur de maths.
On a également une application de tracé de fonctions (un indispensable du lycée), qui exploite allègrement l'écran couleur et les performances du Raspberry Pi Zero. Elle affiche sans pression plusieurs courbes en résolution complète et en couleur, de façon parfaitement fluide !
Tracé de trois fonctions sur la calculatrice.
Enfin, et pas des moindres, il y a un IDE supportant
Python 3 et tous ses modules, ainsi que des restrictions du
Basic Casio et TI-Basic ! L'interface minimale cache une coloration syntaxique, insertion automatique de snippets et exécution dans un terminal. Tout est fait pour programmer aisément.
Alors où est-ce qu'on va ?
Le prototype que je vous ai montré au début de cet article n'est que le début du projet. Comme vous pouvez le voir, la calculatrice n'est pas encore complète. Les défis ont cependant été relevés, et après un an, nous espérons bien concrétiser ce projet et diffuser la calculatrice !
Comme le veut la tradition des projets d'informatique à l'ENS de Lyon, la calculatrice sera présentée lors de la deuxième partie des
présentations de projets à l'ENS de Lyon, le
Jeudi 4 Avril de 9 heures à 10 heures (il y a deux groupes, nous passons sur la deuxième moitié). Divers professeurs, chercheurs de l'ENS, étudiants ou lycéens seront présents ; si vous vous embêtez un Jeudi matin n'hésitez pas à passer nous voir !
Vous retrouverez tous les détails (et plus, comme notre sondage posé à des lycéens !) sur notre site web
symbolibre.org. Stay tuned!
Citer : Posté le 12/12/2019 21:03 | #
Pour mettre un casque ou des écouteurs. Il y a certes des adaptateurs mais je suis pas sûr que tout le monde en ait. D'où le "facilement" dans mon message précédente si tu veux.
Citer : Posté le 12/12/2019 21:05 | #
Depuis qu'Apple a viré la prise jack, ça se trouve facilement. Je voyais pas la possibilité d'écouter de la musique comme importante sur une calto… en fait ce sera un ordi de poche votre truc
Citer : Posté le 12/12/2019 21:44 | #
Donc, si tu gagne 2 ou 3 fois au lotto ou 1 fois à l'euromillion, tu brevets Symbolibre® et on la trouve dans nos boutiques ?
Citer : Posté le 12/12/2019 21:46 | #
Ha ha, ce serait bien si c'était comme ça.
En pratique, ce qui va se passer c'est qu'on va publier des plans et des images logicielles, et ce sera montable à la main.
Citer : Posté le 12/12/2019 21:52 | #
Vous avez déjà une idée de ce qu'il faudra débourser ? J'imagine que ce sera le meilleur rapport qualité-prix sur le marché des caltos !
EDIT : désolé j'avais pas vu que sur le site du projet, c'était écrit... En effet 80 €, c'est vraiment pas cher !
Dijkstra - The Witcher
Citer : Posté le 12/12/2019 21:55 | #
En vrai on prend un peu large... ce n'est pas une promesse, mais actuellement pour acheter tous les composants y'en a pour ~60€. Faut les monter ensuite.
Ça c'est pour un modèle où chacun se procure et monte la calculatrice. C'est la seule chose pour laquelle on a des "certitudes" pour l'instant.
Citer : Posté le 13/12/2019 09:25 | #
En vrai on prend un peu large... ce n'est pas une promesse, mais actuellement pour acheter tous les composants y'en a pour ~60€. Faut les monter ensuite.
Ça c'est pour un modèle où chacun se procure et monte la calculatrice. C'est la seule chose pour laquelle on a des "certitudes" pour l'instant.
Attends du coup si c'est totalement libre , vous gagnez quoi ?
Passé ici il y a peu. ಥ‿ಥ
Jouez à Mario sans arrêt sur votre Casio !
City Heroes
Piano Casio
Micro GIMP
Citer : Posté le 13/12/2019 09:32 | #
Démontrer ce qu'on peut faire avec une calculatrice et contribuer à la diffusion du libre !
Citer : Posté le 13/12/2019 14:27 | #
Démontrer ce qu'on peut faire avec une calculatrice et contribuer à la diffusion du libre !
Et pour les publicités , pour faire de la promotion lorsque le modèle sera prêt , vous comptez faire un financement participatif ? Ça pourrait vous soutenir financièrement en plus
Passé ici il y a peu. ಥ‿ಥ
Jouez à Mario sans arrêt sur votre Casio !
City Heroes
Piano Casio
Micro GIMP
Citer : Posté le 13/12/2019 14:30 | #
Notre meilleure publicité, c'est vous !
Citer : Posté le 13/12/2019 14:57 | #
Dès que les plans sont de sortie, aucun problème j'irai craner avec ma calculatrice partout où j'irai
Citer : Posté le 13/12/2019 16:40 | #
Je viens d'acquérir une bobine de filament 3D couleur "Or", donc j'ai hâte d'imprimer la calculatrice la plus blingbling au monde !
A mon humble avis, la perspective d'avoir du matériel personnalisable à souhait est un atout à part entière.
Et quand on voit des messages comme celui de Lephé "Notre meilleure publicité, c'est vous", impossible de ne pas craquer !
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 17/03/2020 22:47 | #
Petit message pour avoir des nouvelles du projet, savoir si c'est en en pause ou si ça avance...
Citer : Posté le 17/03/2020 22:53 | #
En M2 on a eu un peu la désillusion sur le fait qu'on avait pas le temps de faire des grands projets à côté des cours.
On a avancé un peu sur du code de GUI, et on a un modèle de transfert de données entre applications qui se profile, avec une gestion unifiée du calcul et des variables. Ce n'est pas phénoménal, il faut l'admettre. ^^"
Heureusement, j'avais un peu prévu le coup et je serai en césure pendant un an l'année prochaine, principalement pour travailler là-dessus ! J'ai confiance que ça avancera bien vite.
Citer : Posté le 16/03/2024 17:22 | #
Coucou ! Le dernier article date de 2021 et j'ai pas repéré de message de fin de projet officiel, quel est son statut ?
Mon blog ⋅ Mes autres projets
Citer : Posté le 16/03/2024 19:02 | #
Le statut est "inactif", on ne s'est pas coordonnées depuis un moment avec Nicolas dessus (on n'est plus dans les mêmes villes ce qui n'aide pas).
Mon ambition personnelle est d'avoir un proto communiquable (i.e. plans, les modèles imprimables 3D, etc) avant de mettre une pause officielle à l'histoire. (Je peux pas dire fin parce que je ne suis pas tout seul, mais je ne pense pas qu'il y ait beaucoup de mouvement.)
Le "quand" est resté indéfini pendant un moment mais c'est à une position explicite dans ma TODO list depuis Janvier... juste assez loin (le début est dans ma signature). Si je devais estimer, ce qui est un exercice risqué, j'espère y retoucher cette année.