Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Symbolibre : une calculatrice graphique formelle et libre
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

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!


Pages : 1, 2, 3, 4, 5, 6Suivante
CritorEn ligneAdministrateurPoints: 1430 Défis: 18 Message

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à.
RaderHors ligneMembrePoints: 194 Défis: 0 Message

Citer : Posté le 31/03/2019 22:03 | #



Cakeisalie5Hors ligneMembre de CreativeCalcPoints: 1753 Défis: 10 Message

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

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

Citer : Posté le 31/03/2019 22:40 | #


Critor a écrit :
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.

Cakeisalie5 a écrit :
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 !
CritorEn ligneAdministrateurPoints: 1430 Défis: 18 Message

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 !
Cakeisalie5Hors ligneMembre de CreativeCalcPoints: 1753 Défis: 10 Message

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.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

Citer : Posté le 31/03/2019 23:30 | #


Critor a écrit :
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.

Cakeisalie5 a écrit :
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

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.

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.

Combien de professeurs⋅eures avez-vous vu impliqué dans votre processus de développement ?

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 !
Cakeisalie5Hors ligneMembre de CreativeCalcPoints: 1753 Défis: 10 Message

Citer : Posté le 31/03/2019 23:38 | # | Fichier joint


Lephenixnoir a écrit :
Combien de professeurs⋅eures avez-vous vu impliqué dans votre processus de développement ?

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 ?

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

Citer : Posté le 31/03/2019 23:47 | #


Mais c'est super ça, il faut le mettre en valeur !

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 !

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 ?

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
CritorEn ligneAdministrateurPoints: 1430 Défis: 18 Message

Citer : Posté le 01/04/2019 00:01 | #


Lephenixnoir a écrit :
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.
RaderHors ligneMembrePoints: 194 Défis: 0 Message

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 )
DisperseurHors ligneMembrePoints: 1641 Défis: 1 Message

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
Mes meilleurs jeux
N'hésitez pas, notez !

Jeux BasicCasio / CBasicCasio:
-World Tank War II
-Apollo 11
-GeoGraph ! Élu Jeu du Mois de Mars 2019 !
Jeux C:
-Planétarium 2 ! Chef d'Oeuvre !


√(2+2-2+2-2+2+2-2-2-2) = 0
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

Citer : Posté le 01/04/2019 07:54 | #


Critor a écrit :
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é

Rader a écrit :
Ce projet donne envie! J'ai hâte de voir où ça va aller! (Probablement dans mes mains )

Merci, ça fait plaisir ! <3

Disperseur a écrit :
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 !
DisperseurHors ligneMembrePoints: 1641 Défis: 1 Message

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
Mes meilleurs jeux
N'hésitez pas, notez !

Jeux BasicCasio / CBasicCasio:
-World Tank War II
-Apollo 11
-GeoGraph ! Élu Jeu du Mois de Mars 2019 !
Jeux C:
-Planétarium 2 ! Chef d'Oeuvre !


√(2+2-2+2-2+2+2-2-2-2) = 0
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

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.
KikoodxHors ligneMembrePoints: 1482 Défis: 9 Message

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
Bum-bo wants coins

2+2=5
Breizh_craftEn ligneModérateurPoints: 982 Défis: 7 Message

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.
Informagicien professionnel, prestidigitateur système. Tout est possible.
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

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 :
Breizh_craft a écrit :
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.
RaderHors ligneMembrePoints: 194 Défis: 0 Message

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)
LephenixnoirEn ligneAdministrateurPoints: 16104 Défis: 140 Message

Citer : Posté le 01/04/2019 10:38 | #


Rader a écrit :
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.
Pages : 1, 2, 3, 4, 5, 6Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 81 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd