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 31/03/2019 21:58 | #
Waouh !
Décidément nous sommes gâtés ce soir sur Planète Casio !
Calculatrice libre, surpuissante, couleur, formelle (moteur giac de Xcas) et programmable en Python à moins de 80€, vous avez frappé très fort là.
Citer : Posté le 31/03/2019 22:03 | #
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779
Citer : Posté le 31/03/2019 22:04 | #
Well, vous avez besoin d'un gars qui s'y connaît en design pour faire la coque, poser une charte graphique, et tout le tintouin, mais voilà un projet en excellente voie ! J'espère que vous continuerez
Mon blog ⋅ Mes autres projets
Citer : Posté le 31/03/2019 22:40 | #
Calculatrice libre, surpuissante, couleur, formelle (moteur giac de Xcas) et programmable en Python à moins de 80€, vous avez frappé très fort là.
Oui pour de vrai, ce qui peut vraiment jouer si on arrive à l'industrialiser.
Well, vous avez besoin d'un gars qui s'y connaît en design pour faire la coque, poser une charte graphique, et tout le tintouin, mais voilà un projet en excellente voie ! J'espère que vous continuerez
Merci !
Pour la charte graphique, on a déjà des plans et nos compétences d'amateurs peuvent faire mieux que ce qu'on voit sur les screens. Si les choses sont encore assez dépareillées pour l'instant c'est parce que les applications ne sont pas encore très avancées donc on s'est vraiment concentrés sur les fonctionnalités.
Quant à la coque, pour l'instant elle n'est que comme tu le vois, rectangulaire avec le logo et le clavier. À peu près comme celle de LibreCalc en fait !
Citer : Posté le 31/03/2019 23:00 | #
C'est également annoncé de notre côté :
https://tiplanet.org/forum/viewtopic.php?f=112&t=22470#p241099
Rendez-vous donc à Lyon, jeudi 4 avril à 9h15 pour cet événement historique !
Citer : Posté le 31/03/2019 23:01 | #
Après je vous encourage à ne pas faire confiance à vos compétences d'amateur en design et plutôt récupérer quelqu'un dont c'est le métier… ou le design !
Après il y a quelques points très intéressants dans le développement de votre projet, notamment le fait que vous ayiez tenté d'avoir le feedback d'une partie de vos utilisateurs⋅trices au travers d'un sondage. Mais je pense que les efforts dans le domaine sont encore très insuffisants, et surtout que répondre à des questions fermées par des réponses que vous avez pré-sélectionnées ne permet pas aux utilisateurs⋅trices potentiels d'exprimer leurs besoins.
Combien de professeurs⋅eures avez-vous vu impliqué dans votre processus de développement ? Combien de tests et d'évaluation d'expérience utilisateur ont concrètement eu lieu ? Avez-vous passé une journée entière avec des professeurs de différents niveaux, de différentes classes (car la calculatrice ne sert pas qu'en classe de maths…), de différentes sections, voire dans d'autres domaines, pour les interroger, analyser leurs besoins et leur usage effective de la calculatrice ?
Le design ne doit pas être une création détachée des utilisateurs, mais bel et bien le produit de votre étude de marché et du feedback utilisateurs (sans compter ce dont ils n'auront pas forcément conscience, comme l'impact du choix des couleurs dans l'interprétation de l'interface graphique et de ce qui l'entoure). Les interfaces ne doivent pas l'être non plus, et si vous êtes seuls testeurs de votre produit, alors le produit n'est pas fait pour le reste du monde, mais pour vous.
Techniquement, c'est un merveilleux projet. Mais si vous voulez que ça devienne un game breaker et que ça se vende effectivement, il va falloir faire bien davantage auprès des utilisateurs⋅trices, et des professeurs⋅eures grâce à qui le projet se vendra ou non.
Mon blog ⋅ Mes autres projets
Citer : Posté le 31/03/2019 23:30 | #
C'est également annoncé de notre côté :
https://tiplanet.org/forum/viewtopic.php?f=112&t=22470#p241099
Merci ! Je rajoute immédiatement le lien à l'article.
Après je vous encourage à ne pas faire confiance à vos compétences d'amateur en design et plutôt récupérer quelqu'un dont c'est le métier… ou le design !
Alors ça ce serait une sorte d'idéal ! Pour l'instant on n'a pas de contributeur externe pour des raisons évidentes. Mais évidemment avoir de l'aide de quelqu'un de spécialisé, ce serait top
Il faut dire que le sondage a été fait au début du projet (donc avant que les spécificités de la Symbolibre n'apparaissent vraiment) et qu'il est rempli grâce à des profs qui acceptent gentiment de le faire faire à leurs élèves sur les cours. Il n'ont pas une demi-heure à y passer ; les champs de réponses libres n'ont pas beaucoup de succès. Vraiment, c'est un équilibre difficile ! Il est plus difficile qu'il n'y paraît d'obtenir des informations détaillées, il ne suffit pas de demander.
On a développé le projet sous les conseils de deux professeurs de maths de l'Institut Français de l'Éducation qui nous fourni des retours constructifs et pleins d'expérience en tant que professeurs.
Pour les autres questions, je pense que la réponse est évidente compte tenu du fait que le prototype est tout juste en train d'être fini et que les applications n'ont pas beaucoup plus de fonctionnalités que ce dont j'ai parlé dans l'article. Toutes ces activités ont été proposées par nos contacts de l'IFÉ (et sont réalisables !) mais ne sont pas encore planifiées parce qu'il est juste trop tôt !
Citer : Posté le 31/03/2019 23:38 | # | Fichier joint
On a développé le projet sous les conseils de deux professeurs de maths de l'Institut Français de l'Éducation qui nous fourni des retours constructifs et pleins d'expérience en tant que professeurs.
Pour les autres questions, je pense que la réponse est évidente compte tenu du fait que le prototype est tout juste en train d'être fini et que les applications n'ont pas beaucoup plus de fonctionnalités que ce dont j'ai parlé dans l'article. Toutes ces activités ont été proposées par nos contacts de l'IFÉ (et sont réalisables !) mais ne sont pas encore planifiées parce qu'il est juste trop tôt !
Mais c'est super ça, il faut le mettre en valeur ! Moi pour me faire une idée du projet je vais sur votre site et je trouve pas ça, je me dis que vous l'avez plus ou moins fait dans votre coin et que vous allez agir comme un vendeur de Darty qui passe 30 minutes à expliquer que son appareil photo est merveilleux jusqu'à ce qu'il nous demande et qu'on lui réponde qu'on a besoin d'un boîtier waterproof quoi : vous avez fait un super truc, mais je ne sais pas si vous répondez à mon besoin.
Après on a discuté un peu cible avec Critor sur la shoutbox, et du coup je me demandais : qui est votre cœur de cible ? Les professeurs, les élèves, d'autres acteurs, tous pêle-mêle ? Vous avez décidé d'une méthode, de comment vous allez le présenter ?
Mon blog ⋅ Mes autres projets
Citer : Posté le 31/03/2019 23:47 | #
En fait on a un compte-rendu de notre dernière recontre avec l'IFÉ dans les cartons pour notre prochain article, mais tout va si vite ! On n'a pas encore eu le temps de le finir et on a déjà la démo dans quatre jours !
C'est une très bonne question. Ultimement il ne faut pas oublier que les utilisateurs ce sont les élèves : notre cible finale, c'est donc eux. Mais pour y arriver, de nombreux moyens ou détours existent.
Actuellement notre collaboration avec l'IFÉ nous permet de toucher des enseignants, et à travers eux potentiellement des élèves, pour faire des essais en direct comme tu le mentionnais. Ils ont mentionné des contacts avec des inspecteurs régionaux, ce qui n'est pas rien ! Critor est aussi là pour nous rappeler qu'on peut aborder des associations de professeurs (merci Critor !). On a des pistes éparses en termes industriels, même s'il est un peu tôt pour y penser. Et il y a également tout le monde du logiciel libre dans lequel le projet a sa place. Je ne serai aux JDLL de cette année que comme visiteur (avec Dark Storm) mais j'espère qu'on pourra passer de l'autre côté l'année prochaine.
Donc on ne manque pas de pistes à explorer ! Mais avant ça, il faut un prototype fonctionnel...
Je devrais clarifier que ce post marque la quasi-fin de notre UE de Projet, avec la démo Jeudi, mais qu'on n'a pas un prototype entier ; je sais qu'en lisant un tel topic vous partez avec l'apriori qu'il est prêt mais ce n'est pas encore le cas. On a résolu la plupart des défis techniques, mais il reste une bonne marge à accomplir. C'est pour ça qu'on ne s'est pas précipités pour la faire tester, par exemple
Citer : Posté le 01/04/2019 00:01 | #
Wow, tant de messages ratés. Oui le boîtier est pas hyper attirant, portant il y a eu pire ! L'écran, on peut envisager d'en changer, c'est pas si difficile
L'écran n'est pas forcément un problème, mais il faut un boîtier qui le mette en valeur.
Là, les bordures autour de l'écran sont énormes, ce qui donne la (fausse) impression que l'écran est tout petit.
En gros, je dirais que ça ne donne pas envie. Et c'est bien dommage, car l'important c'est ce qu'il y a à l'intérieur.
Citer : Posté le 01/04/2019 00:06 | #
Ce projet donne envie! J'ai hâte de voir où ça va aller! (Probablement dans mes mains )
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779
Citer : Posté le 01/04/2019 07:41 | #
C'est super ! Je me demande vraiment pourquoi Casio n'as pas intégré à ses modèles les plus récents un processeur aussi rapide et autant de mémoire. Si le logiciel est si performant que tu le dit Lephenixnoir, dans le cas où vous la commercialisée, ce sera la nouvelle référence de la programmation. Pleins de langages disponibles .. pourquoi pas même programmer en C dessus (compiler, assembler... ).
C'est très impressionnant
-Planétarium 2
Citer : Posté le 01/04/2019 07:54 | #
Là, les bordures autour de l'écran sont énormes, ce qui donne la (fausse) impression que l'écran est tout petit.
Il n'est pas très grand, il faut l'admettre ! La densité correspond à du Full HD. On l'a choisi parce qu'il s'interface bien.
En fait on ne peut pas tellement réduire la taille du boitier actuellement, essentiellement il y a moins d'1cm de marge sur les PCBs du clavier et de l'écran. D'où la nécessité de chercher un peu plus !
Je n'avais pas réalisé que le clavier plus gros que l'écran produisait un tel effet. Merci bien de l'avoir relevé
Ce projet donne envie! J'ai hâte de voir où ça va aller! (Probablement dans mes mains )
Merci, ça fait plaisir ! <3
C'est super ! Je me demande vraiment pourquoi Casio n'as pas intégré à ses modèles les plus récents un processeur aussi rapide et autant de mémoire. Si le logiciel est si performant que tu le dit Lephenixnoir, dans le cas où vous la commercialisée, ce sera la nouvelle référence de la programmation. Pleins de langages disponibles .. pourquoi pas même programmer en C dessus (compiler, assembler... ).
Merci ! Pour Casio, l'héritage du SuperH dans leur OS et peut-être un partenariat avec Renesas (qui le produit) je pense. C'est sûr qu'en programmation on se pose vraiment bien. Compiler sur le Raspberry Pi Zero n'est pas aussi rapide que sur un ordinateur mais quitte à utiliser quelque chose de léger come tcc ça pourrait se faire bien !
Citer : Posté le 01/04/2019 07:59 | #
Ca serait super.. mais avant ça il faut que vous terminiez ce joujou de technologie
Edit:
Un truc qui serait cool serait de laisser en accès libre une sorte de "console" de type DOS ou dans le genre. Pour gérer de manière simple le système et les fichiers sans avoir le bel écran d'accueil
-Planétarium 2
Citer : Posté le 01/04/2019 08:38 | #
Le terminal, ça se fait très bien ! On a prévu d'en avoir un (plus ou moins caché je suppose, les lycéens ne veulent pas tomber dessus en général). Il n'y aura probablement pas les droits root (sinon impossible d'avoir un mode examen un tant soit peu correct), mais ça se hacke facilement via un PC.
Citer : Posté le 01/04/2019 08:48 | #
Ça a l'air très intéressant !
Pour le mode examen comment comptez-vous procéder ?
Est-ce que vous comptez prendre en charge la connexion en Bluetooth sur la calculatrice ? (Pour brancher un clavier ou échanger des données avec d'autres calculatrices ce serait super )
Sachant que le Pi Zero W intègre le module de base.
Quel est la taille de l'écran en mode console ? Si non présent, à combien l'estimez vous ?
Merci d'avance
Citer : Posté le 01/04/2019 09:30 | #
D'ailleurs, le fait d'avoir un Pi Zéro avec un Linux, ça implique pas un temps de boot ? Qui est inexistant chez la concurrence, il me semble.
Citer : Posté le 01/04/2019 09:32 | #
Merci ! Pour le mode examen, une de nos idées est de démonter le répertoire de l'utilisateur, de sorte que ses applications et ses fichiers deviennent indisponibles. Comme le reste du système appartient à root et les droits root ne sont pas accessibles, il est impossible d'accéder à des données préenregistrées.
Bluetooth c'est impossible car les machines ayant des capacités de communication sans-fil sont interdites aux examens. Il n'y a pas de contournement possible !
L'écran de 320x240 fait du 39 lignes par 15 colonnes dans le TTY ; selon la police on peut mettre un peu plus de lignes. En graphique on peut probablement faire un poil mieux en profitant de l'antialiasing.
Ajouté le 01/04/2019 à 09:34 :
D'ailleurs, le fait d'avoir un Pi Zéro avec un Linux, ça implique pas un temps de boot ? Qui est inexistant chez la concurrence, il me semble.
Oui, il y a environ 25 secondes avant d'arriver dans l'environnement graphique. C'est largement derrière la Graph 90+E (4-5 secondes) mais pas du tout inexistant ailleurs ; la TI-Npsire CX est réputée pour mettre 1 minute 40 à démarrer. Heureusement, la sortie de la TI-Npsire CX II vient corriger ça et ramène cette durée à 18 secondes environ.
C'est donc un point à travailler mais pas quelque chose de complètement incapacitant, ouf.
Citer : Posté le 01/04/2019 10:32 | #
Y'aura un moyens d'y mettre un mot de passe? (Au cas ou des gens mal intentionnés veulent tout supprimer)
Lien: https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15779
Citer : Posté le 01/04/2019 10:38 | #
Y'aura un moyens d'y mettre un mot de passe? (Au cas ou des gens mal intentionnés veulent tout supprimer)
Oui, c'est totalement dans le domaine du possible ; à la connexion, par exemple.