π
<-

News 2020

News 2019
June (1)
March (1)

News 2014

Symbolibre 0.2 : sources, nouvelles applis, début de doc

New postby Lephe » 06 Dec 2020, 23:25

Je suis super excité d'annoncer aujourd'hui une update importante de Symbolibre, avec les sources sous licence libre GPLv3 (github.com/symbolibre), plein de nouveautés sur les applications, et un nouveau site web avec de la documentation (symbolibre.org). Ça reste une release alpha, mais les progrès sont considérables. :D

Image

Pour replacer rapidement le contexte : le but de Symbolibre est de concevoir une calculatrice graphique à assembler et installer à la main, tournant entièrement sur des logiciels libres et avec un système logiciel moderne. C'est un projet Do-It-Yourself qui veut vous inviter à découvrir quelques concepts d'électronique, de systèmes d'exploitation, ou d'informatique en général à travers un objet courant du lycée. ^^

On a déjà eu l'occasion de parler du projet (sur TI-Planet comme sur Planète Casio) quand on l'a commencé il y a deux ans comme projet de Master. Après la fin de l'année on n'en a plus discuté publiquement, parce qu'on n'a avancé que doucement (avec principalement deux contributeurs, Nicolas — qui n'a pas encore de compte ici mais ça finira bien par arriver — et moi). On a fini les demandes pour pouvoir publier les sources en Septembre cette année, et voici donc notre première release officielle du logiciel. :)

Pas mal de choses ont changé depuis, et on a plusieurs articles à publier sur notre site pour raconter le processus de conception, de la structure des applications en applets QML au système mathématique en passant par l'interface utilisateur. Je publierai sans doute d'autre choses ici... mais je ne veux pas inonder, donc avec modération.

Vous pouvez déjà lire l'article de publication sur notre site web. (Il y a même un flux Atom - lien direct.)


Interface utilisateur unifiée



Cette release comporte trois applications qu'on avait déjà pu présenter : l'interprète de calculs, un traceur de fonctions, et un petit IDE pour programmer (pour l'instant) en Python.

Le gros changement dans cette release, en plus de l'ajout de pas mal de fonctionnalités de base dans ces applications, c'est que les outils internes et les interfaces graphiques ont été unifiées (les applications étaient développées quasi-indépendamment pendant le projet de Master). ;)

Sur l'interface utilisateur, on a beaucoup remanié les applications pour intégrer une « barre de fonctions » en bas, dont on peut activer les fonctions avec 5 touches F1...F5. C'est clairement inspiré de Casio.

Image

À l'origine on espérait garder un clavier le plus direct possible avec des labels les plus clairs possibles, mais les actions disponibles dans chaque application étaient trop variées et aucun schéma de nommage des touches ne permettait de les décrire de façon convaincante — on terminait avec des menus un peu partout, et donc des pressions de touches en plus.

Les touches de fonctions F1...F5 sont essentiellement des touches « à label variable », ce qui donne de la liberté pour assigner les fonctions de chaque application. Mais ce n'est pas sans défaut, parce qu'on a vite fait de mélanger plein de choses dans ce concept très large, et il faut explicitement ajouter de la structure pour que ça reste intuitif.

On a pas mal d'idées pour rendre cette interface progressivement plus intuitive, et on compte bien implémenter tout ça dans les prochaines versions. ^^


Systèmes internes : gestion des applications, mathématiques



On a aussi tranché plusieurs questions architecturales délicates. Une d'entre elles concerne le format des applications, avec plusieurs options entre des exécutables indépendants et un seul programme monolithique. Nos applications sont écrites avec le langage QML du framework Qt et leur chargement n'est pas immédiat (ce qui avantage le monolithique en performance), mais on veut aussi supporter des applications externes (ce qui nécessite de pouvoir travailler avec des exécutables indépendants).

On a décidé d'implémenter nos applications comme des applets QML ; essentiellement elles sont installées séparément mais chargées dans le même processus. Des applications externes écrites comme des applets QML peuvent profiter de la bibliothèque Symbolibre, mais d'autres exécutables Qt, SDL ou autres seront aussi supportés (ce qui sera intégré dans l'image OS de base n'est pas encore décidé, mais c'est le plan). ;)

Une autre question délicate concerne le système mathématique. On avait assez vite décidé d'utiliser Giac, mais on n'était pas certains de vouloir l'exposer de façon brute, et on a envisagé d'avoir un langage intermédiaire. On a fini par trancher pour exposer Giac directement, parce que les deux options nécessitent d'utiliser Giac comme une boîte blanche, et l'étape intermédiaire avait trop de complexité ajoutée. Je pense qu'on aura l'occasion d'en reparler !


Traduction des applications



On a intégré le système de traduction au projet, et tout est traduit en français et en anglais.

Image

Voilà de ce côté-là c'est tout. :p


Catalogues de saisie mathématique et Python



On a commencé à intégrer des catalogues de fonctions pour faciliter la saisie. Je ne vous présente pas le concept (y'a rien de nouveau ici), mais on s'attache à le faire soigneusement parce qu'une fonction nommée de façon peu intuitive et sans description n'est jamais facile à utiliser.

Image

La classification des fonctions est arborescente même si idéalement on voudrait éviter d'imbriquer les niveaux là où ce n'est pas intuitif. Pour chaque entrée, on a une description traduite et quelques exemples ; l'équivalent de ce que donne l'add-in HELP sur Casio (soit plus que le catalogue intégré, qui ne donne que les noms, quasiment tous obscurs).

Il y a actuellement deux catalogues de ce type : un pour la saisie des expressions mathématiques, et un pour les fichiers Python dans l'éditeur de code.

Image


Tester sur PC



Vous pouvez tester les applications sur un PC en les compilant depuis le dépôt, il y a des instructions dans le README. On a récemment migré vers CMake au lieu de l'ancien QMake, ce qui a beaucoup simplifié le procédé. Il y a un clavier intégré (en plus des touches de votre clavier physique, qui marchent tout aussi bien).

Image

Pour que ce soit plus facile à tester pour vous, on souhaite compiler une version web du logiciel à la façon de l'émulateur Numworks. C'est loin d'être évident, notamment avec Giac et Qt Quick, mais je promets de tester !


Concernant le montage matériel de la calculatrice



Pour tout ce qui est matériel, on est restés avec le prototype qu'on a construit en Master (ci-dessous). Nicolas et moi n'étions pas les soudeurs de l'équipe, donc je reprends progressivement les informations (et le coup de main au fer à souder) pour concevoir un deuxième prototype.

Image

Le défaut majeur du premier prototype était dans le montage, avec pas mal de fils encore volants dans le boîtier, et des contacts pas assez francs au niveau de l'écran. L'objectif pour le second est de tout router sur le PCB en connectant les composants avec des pin headers, ce qui donne un seul « format » à souder (du THT normalement accessible au plus grand nombre), peut-être évitable avec des pin headers sans soudure, et un minimum de risque de mauvais contacts. :)

On a aussi commandé des écrans plus grands, puisqu'on nous avait fait remarquer (à juste titre) que l'écran original était vraiment petit. L'écran n'effleurera probablement jamais le boîtier d'une façon super design à cause de subtilités de montage, mais ça devrait être un peu plus stylé !


Nouveau site web et documentation



Enfin, on a refait notre site web symbolibre.org ; le nouveau système ressemble au Wordpress qui était avant, à ceci près que si vous étiez abonné·e au flux RSS vous avez certainement re-reçu vos notifications avec le changement.

Quelque chose de vraiment nouveau est la documentation qu'on a commencé à pousser ; rien de transcendant encore, mais des bonnes bases pour le futur du projet. :)

Il y a notamment des notes sur la façon dont on génère des images OS Raspbian pour le Pi Zero, ce qui permettra à terme de créer des images OS personnalisées avec les paquets de votre choix. (Comme le Pi Zero n'a pas de réseau, le plus direct est de générer les images sur le PC puis de les installer ensuite.)


Conclusion et liens



Même si tout s'est produit un peu dans l'arrière-boutique, cette publication contient de l'ordre de 400 commits sur 18 mois, avec une bonne dose d'expérimentations sur le matériel et beaucoup de questions de conception, qu'on est très enthousiastes à l'idée de vous partager. :D

  • Vous pouvez lire et tester nos applications sur le dépôt Github github.com/symbolibre.
  • Vous pouvez lire nos articles et la documentation sur notre site web symbolibre.org.
  • Vous pouvez être notifiés des prochains articles en vous abonnant au flux Atom (celui-ci est en français) avec votre client préféré.

Ce projet a été très bien accueilli par la communauté précédemment, et j'espère vous rendre une partie de cet intérêt avec cette release. Merci à tous ! o/

Test Symbolibre, calculatrice libre avec CAS (giac) + Python

New postby critor » 15 Jun 2019, 20:43

La première calculatrice graphique française fut la LibreCalc en 2014. Il s'agissait d'un projet de calculatrice graphique visant à avoir un matériel ouvert et un code source libre, développé par deux ingénieurs Rennais.

Le projet fut abandonné brutalement contre l'avis de la communauté début 2015, dès les premières rumeurs d'introduction du mode examen, évoquant un manque d'intérêt de la part des enseignants, ainsi qu'une soi-disante impossibilité de rester sur un projet ouvert dans le contexte du mode examen. Deux arguments que la NumWorks a largement infirmés depuis.

A notre avis ce qui plombait réellement fin 2014 encore toute chance de succès de la LibreCalc, c'est qu'au-delà de son matériel et de son système d'exploitation Linux, elle n'avait rien à offrir, n'apportant strictement rien à l'enseignement. Les vidéos de démo mettaient tristement en avant ce qui était présenté comme un "simulateur de TI-82 Stats", mais qui bizarrement reproduisait au pixel près l'interface très inférieure de la TI-81, son ainée de 14 ans... C'était bien la pleine de se donner le mal de passer sur du matériel ouvert et du code libre, pour reproduire en moins bien ce que faisait déjà Texas Instruments. Sans compter que dans le contexte d'une commercialisation, le constructeur historique n'aurait certainement jamais laissé passer ça.

Mais des échecs naissent parfois les grandes victoires. Sébastien "Lephénixnoir" Michelland, administrateur de Planète Casio, et Nicolas Chappe, ancien membre Omnimaga, tous deux très affectés à l'époque par cet abandon, ont décidé de lancer un projet similaire, le projet Symbolibre. Notons qu'il ne reprend pas le code de la LibreCalc, et que par rapport aux prix actuels chez la concurrence la Symbolibre vise le créneau du milieu de gamme (~80€).

Symbolibre est donc le projet d'étude de l'équipe de pas moins de 29 personnes qu'ils ont formée avec leurs camarades étudiants et pilotée, en première année de Master Informatique fondamentale à l'ENS (Ecole Normale Supérieure) de Lyon.

1095410956Nous voici donc enfin à l'ENS de Lyon afin de découvrir la nouvelle calculatrice graphique française Symbolibre que nous t'avions déjà présentée.

Nous en profitons pour remercier l'équipe Symbolibre d'avoir bien voulu s'adapter à nos disponibilités en nous permettant de découvrir la calculatrice Symbolibre en avant-première, soit avant la présentation publique du projet.

10965Une fois dans le bâtiment de l'ENS, nous croisons une vitrine exposant une sélection d'innovations technologiques du XXè siècle, entre autres des calculatrices justement :
  • une calculatrice électronique Pocket Computer PC-1430 de 1985 par le constructeur Sharp, plus précisément une calculatrice scientifique programmable en Basic
  • une calculatrice mécanique manuelle Curta par le constructeur liechtensteinois Continenta AG Mauren, plus précisément la Curta type II de 1954 puisque l'on y note la possibilité d'entrer des nombres ayant jusqu'à 11 chiffres significatifs au lieu de 8 sur la Curta type I
  • une calculatrice mécanique électrique C116/2 de 1957 par le constructeur allemand Olympia Werke AG
10964109661097210973

De quoi nous mettre en bonne condition pour ce qui va suivre. ;)

10926Même jusque dans l'ascenseur nous trouvons de quoi nous mettre l'eau à la bouche. :D

Quelle émotion, mon coeur bat la chamade. Cela me rappelle quand j'enseignais encore en collège jusqu'en 2011, avec les petits Sixièmes qui après leurs recherches Internet racontaient que j'avais inventé une calculatrice. C'était mignon... Mais là pour le coup c'est une véritable invention, et nous sommes tout excités à l'idée d'assister pour la première fois à une telle naissance.

Et nous voici maintenant enfin arrivés auprès de la bête, nous allons donc pouvoir voir quels enseignements l'équipe a tirés de l'échec du projet LibreCalc, et ce qu'elle a à nous proposer avec Symbolibre.


Sommaire :Go to top




1) Tour du propriétaire :

Go to top

109291102411025Commençons par le clavier. Le prototype accédé ici en avant-première n'était pas encore muni de ses 45 touches clavier, puisqu'elles venaient tout juste d'être reçues.

Mais il reste parfaitement fonctionnel, et en cas de besoin tu pourras revenir te référer aux images d'illustration ci-dessous :
10941

Notons juste que l'on commence très fort niveau adéquation à l'enseignement scolaire français, puisque le clavier dispose enfin de touches dédiées aux instructions de programmation les plus courantes. Plus besoin de s'embêter à aller les chercher dans des sous-menus ! :bj:

1093410929Le boîtier non définitif à ce jour est un petit peu encombrant par rapport aux calculatrices de poche auxquelles tu es habitué(e), et les larges bordures entourant l'écran qui apparaît alors tout petit ne sont pas du meilleur effet.
10930109311093210933

10938Le boîtier est aussi assez épais.

Nous n'avons pas emporté notre balance, mais l'ensemble nous paraît relativement léger, donc il doit y avoir belle une marge d'amélioration possible. Il faudra juste doser le tout correctement afin de conserver aussi bas que possible le risque de casse dans le contexte scolaire hostile. Une autre possibilité serait aussi d'opter pour un écran plus grand.

Nous notons sur la tranche supérieure un interrupteur d'alimentation, ainsi qu'un port micro-USB.

109351093610937




2) Démarrage et Linux :

Go to top

10939Dès l'actionnement de l'interrupteur d'alimentation, la calculatrice commence à démarrer son système Linux embarqué. Cela lui demande un certain temps, une 40aine de secondes. C'est déjà un peu moins que ce qu'exigent les TI-Nspire CX. Notons l'écran de démarrage graphique de Plymooth qui, de façon fort bienvenue, nous fait patienter pendant le chargement en animant le symbole mathématique de l'infini. ;)

On peut aussi si tu préfères maintenir une touche pendant le démarrage pour réobtenir l'écran texte et voir un petit peu mieux ce qui se passe lors du démarrage de cette distribution Linux Gentoo choisie sous la direction de Nicolas :

109781100211001Ce n'est pas du tout son mode de fonctionnement normal, mais une fois la machine démarrée on peut utiliser la combinaison permettant de basculer sur le terminal texte (à condition de trouver les bons équivalents des touches) et faire joujou directement avec Linux. Comme tu peux le voir ci-contre, la commande free nous précise que la calculatrice ne manque pas de mémoire de travail, avec pas moins de 430,36 Mio libres pour une capacité de 479,54 Mio. ;)

Matériellement, on peut donc conjecturer 512 Mio de capacité RAM (mémoire vive).




3) Affichage et applications intégrées :

Go to top

10940Repassons en fonctionnement normal sur le terminal graphique. Nous voici donc à l'écran d'acccueil. Tu as peut-être eu l'impression en fin de démarrage sur la vidéo ci-dessus, plus précisément au lancement de l'environnement graphique sway, que la zone d'affichage se rétrécissait verticalement. Effectivement nous disposons d'un écran 320×240 pixels, mais l'écran d'accueil et les applications Symbolibre n'utilisent que 320×220 pixels. Les 20 premières lignes de l'écran sont en fait réservées pour l'affichage futur d'une barre d'état.

On apprécie la finesse du pixel. Niveau qualité de l'écran on regrettera par contre qu'il ne soit pas anti-reflets contrairement à certains excellents écrans de la concurrence.

L'écran d'accueil nous présente donc 5 applications que nous allons explorer ensemble :
  1. Calcul
  2. Graphique
  3. IDE
  4. Paramètres
  5. Éteindre

Un bon début, même si manqueront encore à ce jour pour la France quelques essentiels, comme statistiques, probabilités et suites numériques.




4) Application Calcul :

Go to top

1094310944Première application d'importance pour une calculatrice, Calcul est déjà très évoluée. Développée sous la supervision d'Aymeric Walch, elle interface GIAC, le moteur de calcul formel du logiciel libre Xcas par Bernard Parisse. Tu peux donc déjà faire du calcul exact, littéral et même formel comme tu le confirmeras ci-contre! :bj:

Mais cela ne veut pas dire pour autant qu'il n'y a pas eu du travail conséquent. Notons en effet que nous y disposons déjà d'un historique des calculs, que les expressions et leur simplification sont affichées en écriture naturelle ce qui n'est pas un problème simple, et même la saisie des expressions à évaluer s'effectue déjà en écriture naturelle ce qui est encore moins simple ! :o

Bref, une très belle interface pour GIAC ! :bj:




5) Application Graphique :

Go to top

10959Autre application d'importance pour une calculatrice graphique, Graphique, là encore développée en Qt sous la supervision d'Aymeric, adopte une interface par onglets très intuitive comparable à la NumWorks. :)

On peut toutefois regretter que l'onglet actif ne soit pas toujours visuellement évident avec les couleurs choisies.

1096110960Les différents onglets nous permettent donc de définir jusqu'à 3 fonctions, de configurer la fenêtre graphique puis de l'afficher.

10962Ce dernier onglet affichant la fenêtre graphique est codé autour du widget Qt QCustomPlot, avec plusieurs qualités remarquables par rapport à la concurrence.

Par exemple nous avons des étiquettes numériques venant expliciter les graduations tout le long de chaque axe. :)

Notons aussi que les graduations restent affichées en bordure si jamais l'origine tombe hors fenêtre, ce qui évite à l'utilisateur de se retrouver perdu comme sur d'autres modèles. :)

Mais ce n'est pas tout, il ne faut pas croire que tout ce qu'il y a de bon a déjà été inventé pour les calculatrices graphiques. Tu te souviens de l'aberration d'autres modèles où lorsque tu as le curseur sur un graphe, tu dois taper
pour passer au graphe suivant, et ce même si le graphe suivant est au-dessus ? De façon ici beaucoup plus intuitive, les touches
et
te permettront de basculer le curseur non pas vers le graphe précédent ou suivant, mais vers le graphe qui se situe au-dessus ou en-dessous du graphe courant ! :bj:

Et puisque nous y sommes, le curseur de graphe nous permet de constater la formidable puissance de la machine, le défilement de la fenêtre graphique étant parfaitement fluide, sans le moindre indice visible de retraçage des graphes lorsque le curseur sort de la fenêtre ! :bj:

De même, la fenêtre graphique peut être défilée horizontalement ou verticalement et même zoomée en toute fluidité ! :bj:

Une application Graphique qui arrive encore à innover après plus de 30 ans de calculatrices graphiques, bravo ! :bj:




6) Application IDE :

Go to top

109481094710946Voici donc maintenant IDE, l'application de programmation, thème transversal au lycée français, conçue par le groupe de Maxime Darrin.

Créons un nouveau fichier, l'application nous propose alors d'en choisir le type :
  1. Texte
  2. Python
  3. OCaml
  4. TI Basic
  5. Casio Basic
Pas moins de 4 langages sont donc gérés par cette application, dont les langages interprétés TI / Casio historiques pour faciliter la transition des élèves vers le Python ! :bj:

10949Le Python va fait l'objet d'un point séparé. A part cela, notons que l'éditeur dispose bien évidemment de tout ce qu'il faut, numérotation des lignes, coloration syntaxique et aide à la saisie des instructions ! :bj:




7) Application Paramètres :

Go to top

1095810957Et enfin nous avons l'habituelle application Paramètres, permettant de choisir la langue, régler la luminosité de l'écran, le délai d'extinction, ainsi que de configurer le comportement du moteur de calcul (résultats exacts ou décimal, notation scientifique, écriture naturelle...).




8) Python :

Go to top

10979Pour tester plus en profondeur le Python 3.6.6 de Symbolibre, nous allons repasser sur la console Linux.

Selon la commande help("modules"), nous avons droit à un Python exhaustif. Avec pléthore de modules ici illustrés seulement jusqu'à la la lettre G, il distance toute la concurrence avec au mieux sa petite 10aine de modules ! :bj:
10977109801098110982

On pourra par contre regretter de ne trouver aucun module graphique, ce qui aurait été bien utile pour le nouveau programme de Physique-Chimie Seconde rentrée 2019.

  1. 147+ modules : Symbolibre
  2. 13 modules : module externe TI-Python pour TI-83 Premium CE (firmware tiers)
  3. 8 modules : TI-83 Premium CE Edition Python + NumWorks + Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII + TI-Nspire (application MicroPython) + module externe TI-Python pour TI-83 Premium CE
  4. 3 modules : Casio Graph 35+E II / 90+E / fx-CG50




10996Nous notons entre autres la présence essentielle du module cmath apportant les fonctions complexes, et donc la gestion des nombres complexes pour les actuelles Terminales S / STI2D / STL (SPCL) d'une part, futures option Maths expertes en série générale et spécialité Physique-Chimie-Maths en série STI2D.

  1. Symbolibre + NumWorks + Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII (application CasioPython) + TI-Nspire (application MicroPython) + module externe TI-Python pour TI-83 Premium CE (firmware tiers) avec nombres et fonctions complexes
  2. Casio Graph 35+E II / 90+E / fx-CG50 avec nombres complexes
  3. TI-83 Premium CE Edition Python + module externe TI-Python pour TI-83 Premium CE




Regardons maintenant plus précisément le contenu de ces différents modules, à l'aide du script suivant :
Code: Select all
def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      print(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      print(hd+itms)
  if c>0:
    print(hd+"Total: "+str(c)+" item(s)")
  return c


10990Si l'on explore par exemple le module math avec explmod(math), on obtient pas moins de 55 élements, soit nettement plus que les au mieux 41 de la concurrence ! :bj:
109871098810989

  1. 55 éléments : Symbolibre
  2. 41 éléments : NumWorks + Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII (application CasioPython) + TI-Nspire (application MicroPython) + module externe TI-Python pour TI-83 Premium CE (firmware tiers)
  3. 28 éléments : TI-83 Premium CE Edition Python + module externe TI-Python pour TI-83 Premium CE
  4. 25 éléments : Casio Graph 35+E II / 90+E / fx-CG50




10986Si par contre on explore maintenant le module builtins avec explmod(builtins), on ne trouve bizarrement que 152 éléments, soit nettement moins que la concurrence. Nous avons toutefois omis de prendre note de ce qui pouvait bien manquer.

  1. 218 éléments : TI-Nspire (application MicroPython)
  2. 204 éléments : Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII (application CasioPython) + TI-Nspire (application MicroPython)
  3. 192 éléments : TI-83 Premium CE Edition Python
  4. 191 éléments : module externe TI-Python pour TI-83 Premium CE (firmware tiers)
  5. 190 éléments : module externe TI-Python pour TI-83 Premium CE
  6. 188 éléments : NumWorks
  7. 175 éléments : Casio Graph 35+E II / 90+E / fx-CG50
  8. 152 éléments : Symbolibre




10995Pour en apprendre davantage sur l'implémentation, explorons le module sys avec explmod(sys). Malheureusement la commande finit par partir en récursion infinie.
1099010991109921099310994

10985En allégeant un petit peu le script, on arrive à estimer 85 éléments, ce qui est déjà bien plus que ce qu'offre la concurrence. :bj:

  1. 85 éléments : Symbolibre
  2. 15 éléments : TI-83 Premium CE Edition Python + TI-Nspire (application MicroPython) + module externe TI-Python pour TI-83 Premium CE
  3. 12 éléments : Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII (application CasioPython) + TI-Nspire (application MicroPython)
  4. 0 élément : NumWorks + Casio Graph 35+E II / 90+E / fx-CG50




10997Tant que nous avons le module sys sous la main, remarquons que sys.maxsize==2**31-1, les nombres entiers sont donc codés nativement sur 32 bits (1 bit de signe). Et que comme sys.maxsize+1 ne retourne pas d'erreur, le support des entiers longs est donc actif.



Intéressons-nous maintenant à la mémoire de travail à l'aide du script suivant :
Code: Select all
def sizeenv():
  s=0
  import __main__
  for o in dir(__main__):
    try:s+=size(eval(o))
    except:pass
  return s
def size(o):
  s,t=0,type(o)
  if t==str:s=49+len(o)
  if str(t)=="<class 'function'>":s=136
  if t==int:
    s=24
    while o:
      s+=4
      o>>=30
  if t==list:
    s+=64
    for so in o:s+=8+size(so)
  return s
def mem(v=1,r=1):
  try:
    l=[]
    try:
      l+=[r and 793+sizeenv()]
      if v*r:print(" ",l[0])
      l+=[0]
      l+=[""]
      l[2]+="x"
      while 1:
        try:l[2]+=l[2][l[1]:]
        except:
          if l[1]<len(l[2])-1:l[1]=len(l[2])-1
          else:raise(Exception)
    except:
      if v:print("+",size(l))
      try:l[0]+=size(l)
      except:pass
      try:l[0]+=mem(v,0)
      except:pass
      return l[0]
  except:return 0


Malheureusement, le processus Python se voit assassiné à peine terminée l'allocation de son premier bloc mémoire. Cela nous permet toutefois une estimation, nous disposons donc au moins de 268,435 Mo pour l'exécution de nos scripts, quantité astronomique par rapport à la concurrence ! :bj:

  1. 268,435+ Mo : Symbolibre
  2. 2,049 Mo : TI-Nspire (application MicroPython)
  3. 1,033 Mo : Casio Graph 90+E / fx-CG50
  4. 257,63 Ko : Casio Graph 35+E / 35+USB/75/95 SH4 / fx-9750/9860GII SH4 (application CasioPython)
  5. 100,554 Ko : Casio Graph 35+E II
  6. 31,893 Ko : Casio Graph 35+E II / 35+USB/75/85/95 SH3 / fx-9750GII SH3 / fx-9860G/GII SH3 (application CasioPython)
  7. 22,914 Ko : module externe TI-Python pour TI-83 Premium CE (firmware tiers)
  8. 19,918 Ko : module externe TI-Python pour TI-83 Premium CE
  9. 19,550 Ko : TI-83 Premium CE Edition Python
  10. 16,233 Ko : calculatrice NumWorks




Enfin, terminons en voyant les performances. Commençons dans le cadre des nombres entiers avec le script suivant :
Code: Select all
try:
  from time import *
except:
  pass

def hastime():
  try:
    monotonic()
    return True
  except:
    return False

def genseed(ndigits):
  nmax,s,k=5*10**(ndigits-1),0,1
  while s<nmax:
    s+=k
    k*=2
  return s

def genarr(ndigits):
  sd,arr=genseed(ndigits),[]
  for k in range(1,ndigits):
    for j in range(ndigits):
      t=sd%10**k
      arr.extend([t,-t,10**k-t,t-10**k])
      sd=sd//10+(sd%10)*10**(ndigits-1)
  arr.extend([sd,-sd])
  return arr

def sortarr(arr,sdiff):
  segs=[0,len(arr)-1]
  while len(segs):
    iref=segs[0]
    for k in range(segs[0],segs[1]+1):
      if sdiff*(arr[k]-arr[iref])>0:
        t=arr[iref]
        arr[iref]=arr[k]
        arr[k]=arr[iref+1]
        arr[iref+1]=t
        iref+=1
    if iref>=segs[0]+2:
      segs.extend([segs[0],iref-1])
    if iref<=segs[1]-2:
      segs.extend([iref+1,segs[1]])
    segs.pop(0)
    segs.pop(0)
  return arr

def test(l,n):
  timed=hastime()
  start,stop,sdiff,arr=0 or timed and monotonic(),1,-1,[]
  arr.extend(genarr(l))
  for k in range(n):
    arr.extend(sortarr(arr,sdiff))
    sdiff=-sdiff
  stop=timed and monotonic() or 1
  return stop-start,len(arr),arr[0],arr[len(arr)//2-1],arr[len(arr)//2],arr[len(arr)-1]


10998De façon absolument extraordinaire, la commande test(9,2) se termine en 2,04s et explose presque toute concurrence ! :bj:

  1. 1,41s : TI-Nspire (application MicroPython) (32 bits : ARM9/ARMv5 @120MHz)
  2. 1,56s : TI-Nspire CM / CX révisions A-V (application MicroPython) (32 bits : ARM9/ARMv5 @132MHz)
  3. 2,04s : Symbolibre (?)
  4. 2,40s : TI-Nspire CX révisions W+/CR4+ (application MicroPython) (32 bits : ARM9/ARMv5 @156MHz)
  5. 3,74s : NumWorks (32 bits : Cortex/ARMv7 @100MHz)
  6. 4,75s : Casio Graph 90+E / fx-CG50 (32 bits : SH4 @118MHz)
  7. 8,81s : HP Prime G2 (32 bits : Cortex/ARMv7 @528MHz)
  8. 9,56s : Casio Graph 35+E/75+E / 35+USB/75/95 SH4 / fx-9750/9860GII SH4 (application CasioPython) (32 bits : SH4 @29,5MHz)
  9. 10,19s : Casio Graph 35+E II (application CasioPython) (32 bits : SH4 @59MHz)
  10. 12,99s : Casio Graph 35+USB/75/85/95 SH3 / fx-9750GII SH3 / fx-9860G/GII SH3 (application CasioPython) (32 bits : SH3 @29,5MHz)
  11. 14,93s : Casio Graph 35+E II (32 bits : SH4 @59MHz)
  12. 20,73s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  13. 23,20s : module externe TI-Python pour TI-83 Premium CE (32 bits : Cortex/ARMv7 @48MHz)
  14. 26,60s : TI-83 Premium CE Edition Python (?)
  15. 33,48s : module externe TI-Python pour TI-83 Premium CE (firmware tiers) (32 bits : Cortex/ARMv7 @48MHz)
  16. 60,71s : application KhiCAS sur Casio Graph 90+E / fx-CG50 (32 bits : SH4 @118MHz)
  17. 116,93s : application KhiCAS sur Casio fx-CG10/20 (32 bits : SH4 @59MHz)




Passons maintenant aux nombres flottants avec le script suivant :
Code: Select all
try:
  from time import *
except:
  pass

def hastime():
  try:
    monotonic()
    return True
  except:
    return False

def seuil(d):
  timed=hastime()
  start,stop,n,u,l,d=0 or timed and monotonic(),1,0,2.,1,d**2
  while (u-l)**2>=d: u,n=1+(1/((1-u)*(n+1))),n+1
  stop=timed and monotonic() or 1
  return [stop-start,n,u]


10999La ligne d'appel seuil(0.005) se termine en seulement 0,815s, atomisant cette fois-ci toute concurrence ! :bj:

D'où le classement suivant dans le contexte des calculs en virgule flottante :
  1. 0,815s : Symbolibre (?)
  2. 0,962s : HP Prime G2 (32 bits : Cortex/ARMv7 @528MHz)
  3. 1,08s : TI-Nspire CM / CX CR3- (application MicroPython) (32 bits : ARM9/ARMv5 @132MHz)
  4. 1,29s : TI-Nspire (application MicroPython) (32 bits : ARM9/ARMv5 @120MHz)
  5. 1,61s : TI-Nspire CX CR4+ (application MicroPython) (32 bits : ARM9/ARMv5 @156MHz)
  6. 2,036s : NumWorks (32 bits : Cortex/ARMv7 @100MHz)
  7. 3,068s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  8. 8,94s : Casio Graph 90+E / fx-CG50 (32 bits : SH4 @118MHz)
  9. 9,68s : module externe TI-Python pour TI-83 Premium CE (32 bits : Cortex/ARMv7 @48MHz)
  10. 10,38s : TI-83 Premium CE Edition Python (?)
  11. 10,68s : Casio Graph 35+E II (application CasioPython) (32 bits : SH4 @59MHz)
  12. 11,26s : Casio 35+E/75+E / 35+USB/75/95 SH4 / fx-9750/9860GII SH4 (application CasioPython) (32 bits : SH4 @29,5MHz)
  13. 11,46s : module externe TI-Python pour TI-83 Premium CE (firmware tiers) (32 bits : Cortex/ARMv7 @48MHz)
  14. 13,87s : Casio Graph 35+USB/75/85/95 SH3 / fx-9750GII SH3 / fx-9860G/GII SH3 (application CasioPython) (32 bits : SH3 @29,5MHz)
  15. 19,98s : application KhiCAS sur Casio Graph 90+E / fx-CG50 (32 bits : SH4 @118MHz)
  16. 25,19s : Casio Graph 35+E II (32 bits : SH4 @59MHz)
  17. 35,55s : application KhiCAS sur Casio fx-CG10/20 (32 bits : SH4 @59MHz)




L'équipe prévoit de rajouter le module giacpy afin de pouvoir faire également du calcul exact / littéral / formel en Python. Mais les conséquences vont bien au-delà de ça. En effet sur la concurrence actuelle, l'application Python est toujours cloisonnée dans son coin, incapable d'échanger la moindre information avec le reste des applications, et ne pouvant donc pas jouer pleinement sont rôle dans la résolution d'un problème. Cet ajout permettra donc au Python de sortir de sa bulle, faisant ainsi appel au moteur de calcul de l'application Calcul directement depuis l'application IDE ! :bj:




9) Application Éteindre :

Go to top

10945Voici bientôt l'heure de notre train. Il est donc grand temps de voir ce que la calculatrice Symbolibre a dans le ventre. Mais en attendant petit interlude, commençons donc par l'éteindre complètement, ce qui prend une 15aine de secondes :




10) Matériel :

Go to top

1100411003Nous voici donc maintenant parés pour la grande dissection et donc la découverte de l'oeuvre du groupe de Némo Fournier ! :bj:

Plusieurs éléments nous apparaissent :
  • une carte Raspberry
  • une carte clavier
  • une carte écran
  • une carte Adafruit
  • une batterie



11005Au coeur de la Symbolibre, nous avons donc la carte du nano-ordinateur Raspberry Pi Zero. Un choix fort bien calculé dans notre contexte, puisque c'est l'un des rares modèles Raspberry Pi à ne pas intégrer de capacités sans-fil interdites aux examens ! :bj:

Nous disposons donc :
  • d'un processeur ARM1176JZF-S cadencé à 1 GHz, un 32-bits de la famille ARM11/ARMv6, soit de génération supérieure aux ARM9/ARMv5 équipant encore de nos jours les TI-Nspire CX II ! :bj:
  • d'une mémoire RAM très confortable de 512 Mio, ce qui valide notre conjecture faite plus haut ! :bj:
  • d'un lecteur de carte mémoire microSD, permettant ici d'amorcer sur la carte de 8 Gio contenant le système d'exploitation Symbolibre
  • de deux ports au format micro-USB, l'un des deux étant dédié à l'alimentation et l'autre étant un port OTG
  • d'un port mini-HDMI



1102611027Les ports GPIO de l'ordinateur Raspberry Pi Zero permettent d'une part de le relier à la carte clavier, ici conçue sur mesures.


11007Ils permettent d'autre part de connecter la carte de l'écran, un 320×240 pixels comme déjà dit, plus précisément un 2,4 pouces de chez EastRising.
1103211033




110101100911008Le port micro-USB d'alimentation est quant à lui relié non pas à la batterie mais à une autre carte, une Adafruit PowerBoost 500C, carte qui expose alors son propre connecteur micro-USB sur la tranche supérieure de la calculatrice.
110281103011031


Cette carte est elle-même reliée à une batterie AdaFruit 3,7 Volts de 2000 mAh de capacité.
1102211023


Le rôle de cette carte interface Adafruit PowerBoost 500C est en fait de gérer la recharge de la batterie.




11) Connectivité et périphériques :

Go to top

1101511018Les calculatrices graphiques contemporaires ont perdu la quasi totalité de la riche connectivité dont disposaient leurs ancêtres des années 80, les "ordinateurs de poche". On ne peut y connecter qu'un nombre très restreint de périphériques, une rareté qui se paye cher. :mj:

Mais comme nous venons de le voir, la Symbolibre dispose d'un port micro-USB OTG standard. De quoi par exemple connecter un clavier USB une fois sorti le bon adaptateur.

Le clavier ainsi rajouté permet parfaitement de naviguer à travers les différentes interfaces de la calculatrice Symbolibre.

Il permet également de contrôler la console Linux ainsi que l'éditeur de l'application IDE tout en profitant de toutes les touches supplémentaires qu'il apporte, notamment la possibilité de sélectionner du texte ! :bj:

Un superbe confort de saisie ! :bj:

1101611017Mais ce n'est pas tout puisque la Symbolibre dispose également d'un port mini-HDMI. De façon encore plus exceptionnelle, avec utilisation de l'adaptateur adéquat, on peut donc connecter la calculatrice Symbolibre à un écran ou un vidéoprojecteur ! :bj:
110191102011021


De quoi vidéoprojeter facilement la calculatrice en classe ! :bj:
Même si avant ça, il faudra toutefois commencer par régler le problème de la résolution qui comme tu peux voir ne s'adapte pas au périphérique de sortie vidéo.

Toutefois, précisons que ces deux possibilités extraordinaires ne sont pas encore d'actualité. En effet, pour le moment, les connecteurs micro-USB OTG et mini-HDMI sont internes, et donc inaccessibles sans démonter la calculatrice.

Pour pouvoir les exploiter il faudra :
  • soit revoir l'ensemble de la conception et déplacer la carte Raspberry Pi pour acoller ces connecteurs à l'une des tranches du boîtier
  • soit exporter ces connecteurs vers les tranches du boîtier à l'aide de câbles prolongateurs, ce qui aura un coût




Conclusion :

Go to top

Même si divers points restent à améliorer, la calculatrice Symbolibre est un formidable projet très prometteur avec des points forts monumentaux :
  • un système d'exploitation non seulement libre mais aussi répandu (Linux) :bj:
  • de remarquables innovations niveau intuitivité et facilité de lecture, particulièrement dans le cadre des graphes de fonctions :bj:
  • une application Calcul qui n'a absolument rien à envier à la concurrence, bien au contraire :bj:
  • et qui en prime donne accès des fonctionnalités que la concurrence réserve habituellement au haut de gamme (calcul formel) :bj:

Niveau connectivité, les constructeurs historiques nous ont habitués à des périphériques propriétaires, conçus ou sélectionnés par le constructeur en partenariat avec d'autres entreprises, sans véritable concurrence qui puisse donc jouer dans l'intérêt de l'utilisateur, et donc forcément à des périphériques en pratique très rares et très chers. :mj:

La connectivité standard de la Symbolibre pourrait enfin permettre d'utiliser librement les périphériques de son choix peu importe leur marque, au moins déjà pour tout ce qui standard ! :bj:

Niveau capacités matérielles maintenant, mis à part pour le haut de gamme, la concurrence nous a régulièrement fourni jusqu'à présent le strict minimum nécessaire. Avec comme conséquence des modèles d'entrée et de milieu de gamme qui, à chaque changement significatif des textes réglementaires (mode examen à diode depuis la rentrée 2015, Python depuis la rentrée 2017, ...), doivent être remplacés et sont donc bons pour la poubelle. Quel gaspillage tous les deux ans pour les enseignants ou fratries ! :mj:

Mais avec la Symbolibre, nous obtenons au prix du milieu de gamme du matériel aux capacités haut de gamme, qui devrait bien être capable à la différence de survivre à bien des révolutions scolaires pendant nombre d'années ! :bj:

Toutes nos félicitations à l'équipe Symbolibre, en espérant que le projet pourra continuer maintenant qu'il n'est plus contraint par l'ENS. Nous souhaitons à l'équipe force et courage pour maintenant corriger divers détails évoqués et viser les phases de production et commercialisation. A très bientôt donc, on espère... ;)


Merci à tous ceux qui ont aidé à notre déplacement pour cette naissance ! :D

Une pensée envers, entre autres :

Référence : https://symbolibre.org/

Symbolibre: calc française Python et formelle (giac de Xcas)

New postby critor » 31 Mar 2019, 21:57

Quelle fut la première calculatrice graphique française ?

Non nous te ferons pas l'insulte de te dire une Lexibook. Bien que l'entreprise soit française et annonce une "conception en Europe" sur ses emballages, comme nous l'avons démontré maintes fois l'entreprise ne fait que dissimuler dans des boîtiers recolorés et estampillés à son nom des cartes électroniques de calculatrices de constructeurs asiatiques.

Et pourtant non, ce n'est pas non plus la NumWorks. Elle a certes à la différence son matériel et son logiciel conçus en France, mais c'est juste la première à avoir atteint la phase de commercialisation.

La première calculatrice graphique française fut la Librecalc par un duo d'ingénieurs Rennais. Il s'agissait d'un prototype de calculatrice graphique au code ouvert, tournant sous Linux, et dont plusieurs prototypes ont effectivement été produits en 2014-2015.

Sur le plan mathématique, elle utilisait ce qui était présenté comme un "simulateur de TI-82 Stats". Bizarrement, le simulateur ne reproduisait pas l'interface de la TI-82 Stats, mais au pixel près l'interface inférieure de la TI-81 de 1990, avec notamment seulement 4 définitions de fonction préfixées par des caractères deux-points.

Hélas, le projet fut abandonné le 20 janvier 2015 :
LibreCalc wrote:Après plusieurs semaines de réflexions, nous sommes finalement contraints de renoncer à l’idée d’industrialiser Librecalc un jour. Merci à tous ceux qui se voyaient déjà avec un modèle de Librecalc dans les mains. Nous aurions souhaité autant que vous que cela arrive ! Croyez que nous avons fait notre possible. Nous nous sommes investi à plein temps sur ce projet sans avoir d’emplois à coté, en espérant pouvoir en vivre, au bout de un ou deux ans.

Une nouvelle réglementation impose que les calculatrices possèdent un mode examen qui efface toute la mémoire de la calculatrice. L’activation de ce mode examen est indiquée par une LED. Ceci est incompatible avec les principes fondamentaux de Librecalc. Il faut ajouter à cela le fait que le projet Librecalc rencontrait déjà un engouement commercial assez mitigé notamment au contact des professeurs. Avec en plus la nouvelle de cette réglementation à venir, il est apparu de plus en plus difficile d’espérer vendre des quantités suffisantes pour en vivre.
Source : http://web.archive.org/web/201808262359 ... ecalc.com/

Une analyse très surprenante tant elle va à l'opposé de celle qu'a faite NumWorks avec le succès qu'on lui connaît aujourd'hui.

La communauté n'ayant à aucun moment été consultée sur ces réflexions en fut très attristée, particulièrement sur Planète Casio.

Le mode examen ne change pourtant strictement rien à l'ouverture du code comme l'a démontré depuis NumWorks, et il nous semble plutôt être utilisé comme un prétexte premettant d'excuser a posteriori un abandon qui avait déjà été décidé pour d'autres raisons. Surtout quand l'annonce arrive à lier un article publié dans le futur, et sans même attendre de prendre connaissance des modalités du texte officiel qui ne sortira finalement que le 2 avril 2015 soit plus de deux mois après.

Le travail sur le matériel et le système était sans doute remarquable, mais voilà une calculatrice graphique ce n'est pas juste un écran, un processeur, un clavier et un système. Il y a autre chose dedans, un logiciel conçu sur mesures pour le travail scolaire en Mathématiques et qui constitue selon nous l'essentiel du développement, point quasiment pas abordé sur le site du projet. Qui pouvait en 2014 se satisfaire d'un simulateur de TI-81 ? Sans compter qu'il n'est pas sûr que Texas Instruments aurait laissé passer la commercialisation d'une reproduction de ses interfaces au pixel près.

L'annonce se terminait toutefois par une ouverture plus positive :
LibreCalc wrote:Cependant, il s’agit d’un beau projet qui nous a permis d’apprendre énormément dans de nombreux domaines, et de partager ces connaissances le plus possible avec vous. Aucun de nous deux ne regrette d’avoir participé à ce projet. Les sources et les informations concernant le projet Librecalc sont disponibles sur ce site. S’il vous manque des informations, n’hésitez pas à nous contacter. Nous serions ravis de voir poindre le nez de projets dérivés de Librecalc, ou des reproduction « home made » à partir de nos plans.

Et justement, l'esprit LibreCalc n'est pas mort. Le projet renait aujourd'hui de ses cendres tel le phénix avec Symbolibre, le projet de calculatrice graphique libre de l'ENS (Ecole Normale Supérieure) de Lyon ! :bj:

L'équipe comprend pas moins de 22 personnes y étant étudiants en première année de Master Informatique fondamentale, dont plusieurs personnalités remarquables de la communauté comme Sébastien "Lephénixnoir" Michelland, administrateur de Planète Casio, ainsi qu'un ancien membre d'Omnimaga. Devineras-tu qui est ce dernier ? ;)

Le projet de calculatrice Symbolibre a pour but d'être entièrement transparent, alliant l'esprit du libre et du do it yourself. Les plans du matériel seront publiés avec le détails des composants, ainsi que bien évidemment le code source. De quoi te permettre librement de l'améliorer et/ou la réparer afin qu'elle te dure très longtemps ! :) Comme son nom l'indique, Symbolibre sera donc une calculatrice libre, et se pose ainsi comme digne successeure de la feu-LibreCalc..

Notons que Symbolibre n'est pas que le fruit d'une simple vision d'étudiants anciens lycéens, mais a bénéficié également des lumières de professeurs de l'IFÉ (Institut Français de l'Éducation), ainsi que comme nous allons le voir plus bas de Bernard Parisse, enseignant chercheur à l'Université de Grenoble (Institut Fourier).


Sommaire :



1) Matériel :

Go to top

Niveau matériel, la calculatrice Symbolibre dissimule sous le capot une carte clavier dédiée et reliée à un Raspberry Pi Zero. C'est-à-dire qu'elle nous offre :
  • un processeur ARM à 1 GHz ! :bj:
  • 512 Mio de mémoire RAM :bj:
Des spécifications donc astronomiques écrasant tout ce qui existe dans le monde des calculatrices graphiques à ce jour. Symbolibre sera donc une calculatrice graphique libre et surpuissante ! :)

Mais il n'empêche que le Raspberry Pi a quand même été choisi méticuleusement. En effet, le Raspberry Pi Zero est le seul Raspberry Pi à ne pas disposer de capacités de communication sans-fil. En effet depuis, la note de service du 17 mars 2015 redéfinit ce qu'est une calculatrice, et en exclut tout appareil disposant de fonctions de "communication par voie hertzienne". Ce fut une façon de disqualifier les tablettes tactiles que Lexibook avait tenté de vendre en rayon scolaire en tant que calculatrices conformes dès 2014-2015, et ce alors qu'elles disposaient du Wi-Fi.


Une calculatrice se devant d'être autonome, du côté de l'alimentation nous avons une batterie Li-ion de 2200 mAh connectée via une interface PowerBoost de chez Adafruit, constructeur dont nous te parlons donc beaucoup dernièrement. ;)

Et enfin nous avons l'écran, un EastRising avec une définition de 320×240 pixels et muni d'un contrôleur ILI9341. Et non tu ne délires pas, Symbolibre sera donc une calculatrice graphique libre, surpuissante et couleur ! :D
Source : https://symbolibre.org/2019/03/08/compo ... culatrice/



2) Système :

Go to top

Le prototype de calculatrice Symbolibre s'amorce à ce jour sur une carte SD interne de 8 Go, donc très facilement remplaçable en cas de fausse manipulation lors du développement. Le système d'exploitation est un Linux, et c'est la distribution Gentoo qui a été choisie face à Arch Linux.

Pour l'environnement graphique, c'est wayland qui a gagné face à X.

Et enfin pour la création des diverses interfaces graphiques de la calculatrice, c'est Qt qui a été retenu face à GTK.
Source : https://symbolibre.org/2019/03/12/choix ... gicielles/



3) Applications mathématiques et autres :

Go to top

Avec la calculatrice SymboLibre l'erreur du projet LibreCalc n'a pas été reproduite. La destination scolaire de l'outil a été prise en compte tout au long du déroulement du projet, notamment via un sondage réalisé auprès des lycéens, et donc bien évidemment avec le besoin d'avoir un logiciel mathématique dédié qui ne soit pas cette fois-ci une copie en moins bien de ce qu'a sorti la concurrence. :)

L'idée initiale était de compiler une version allégée de SageMath. Toutefois, son absence de modularité a limité les coupes possibles, si bien qu'il mettait près de deux minutes à s'initialiser à chaque appel tout en consommant 175 Mio de RAM.
L'équipe a donc fini par opter pour Giac, le moteur de calcul formel développé par Bernard Parisse pour le logiciel Xcas, ce même moteur qui est intégré à la HP Prime et a déjà été porté pour TI-Nspire et Casio Graph 90+E. Cette fois-ci il est parfaitement dimensionné par rapport au matériel, répondant à l'appel en moins d'une seconde en ne consommant que 15Mio de RAM. Et non tu n'es pas au paradis, Symbolibre sera bien une calculatrice graphique libre, surpuissante, couleur et formelle ! :bj:

Plusieurs interfaces faisant appel à Giac ont donc été développées depuis, notamment pour saisir et visualiser les expressions en écriture naturelle, et tracer des graphes de fonctions.

Niveau programmation, Symbolibre intègre l'interpréteur Python 3 avec l'intégralité des modules qui l'accompagnent, en conformité donc avec les programmes qui arrivent en Seconde et Première à la rentrée 2019. Et oui, Symbolibre sera donc une calculatrice graphique libre, couleur, surpuissante, formelle et programmable en Python; que demander de plus ? :#tritop#:
Mais ce n'est pas tout, tu y trouveras également des interpréteurs TI-Basic et Casio Basic pour ne pas être dépaysé(e), ainsi que OCaml.
Sources :



4) Prix + avant-première :

Go to top

Et combien avec ça ?

La calculatrice Symbolibre sera donc une calculatrice graphique libre, surpuissante, couleur, formelle et programmable en Python que l'équipe prévoit de commercialiser pour moins de 80€, tu te rends compte ? :bj:

Cette semaine seulement, tu as la possibilité exceptionnelle de venir découvrir la calculatrice Symbolibre en avant-première, à l'occasion de la soutenance publique du projet.
Cela se passera à l'ENS de Lyon (site Monod, 4ème étage, amphithéâtre B) ce jeudi 4 avril à 9h15, présentation à laquelle l'Inspection a même été conviée entre autres ! :)

Nous espérons t'y voir; à bientôt ! ;)

Source : https://symbolibre.org/
Référence : https://www.planet-casio.com/Fr/forums/ ... p?id=15667

Le projet LibreCalc avance bien

New postby totoyo » 09 Dec 2014, 16:58

Lancé par deux jeunes ingénieurs en informatique et mathématiques français, le projet LibreCalc a pour but de proposer une calculatrice graphique libre et ouverte au monde éducatif, et de stimuler l'intérêt pour l'informatique chez les jeunes lycéens. Nous vous en avons parlé en octobre. Vendredi dernier, les créateurs ont publié un nouvel article sur l'avancement du projet.

Comme nous le voyons dans la vidéo ci-dessous, le prototype présenté ressemble maintenant à une calculatrice graphique et fonctionnelle. De plus, il est autonome, dans le sens où il n'a pas besoin d'être connecté à un ordinateur et utilise sa propre source d'alimentation. De plus, nous ne pourrons que saluer le passage de la mémoire à 128 Mo.



Pour l'instant, l'écran est toujours en noir et blanc, mais la carte mère devrait supporter la couleur (cette fonctionnalité n'a pas encore été testée). Toutefois, l'ajout d'un écran couleur se fera au détriment de l'autonomie. Un choix est donc à faire.
Notez également que les touches ne réagissent pas toujours bien à la pression, notamment celles de direction. En effet, à 1 min 48 de la vidéo, la personne est littéralement en train d'écraser ces touches. Cependant, s'il l'ont croit à cette image de synthèse (voir ci-dessous), elles semblent plus grosses et, espérons-le, plus sensibles. Mais n'oublions pas qu'il s'agit encore que d'un prototype.

Image


Concernant le calendrier, les créateurs ne projettent pas de commercialiser la calculatrice avant la rentrée 2016/2017, soit à partir de juillet 2016, voire plus tard. Selon eux, de nombreuses améliorations sont encore à réaliser avant d'obtenir un produit fini. Enfin, n'hésitez pas à suivre le projet, surtout si vous désirez faire partie des bêta-testeurs. Peut-être auront-ils besoin de vous dans un avenir plus ou moins proches ;)

Nous sommes heureux de constater que LibreCalc semble avancer dans la bonne direction et nous garderons un œil attentif sur ce projet !

Sources : article du 5 déc et page éducation et professeurs
via Planète Casio
Link to topic: Le projet LibreCalc avance bien (Comments: 0)

Librecalc, la calculatrice graphique libre francophone

New postby critor » 11 Oct 2014, 09:55

Dans une actualité précédente, nous étions heureux de voir naître un tout premier prototype de calculatrice scientifique libre par la communauté chinoise cnCalc.org, après nombre de projets avortés dans les communautés anglophones dont Omnimaga n'ayant jamais conduit à la production d'un seul prototype.

Aujourd'hui est à nouveau un grand jour car nous vous proposons de découvrir le premier prototype de calculatrice graphique libre par une équipe d'ingénieurs Rennais, librecalc.


Librecalc est en effet défini comme une calculatrice graphique libre, réalisée avec des logiciels libres, utilisant des logiciels libres, et dont le matériel est libre.

Le matériel comprend entre autres un processeur i.MX23 de chez Freescale à 454MHz, 64Mo de mémoire DRAM, et un écran LCD monochrome de 2.7" en 400x240 pixels de chez Sharp.

Après un démarrage géré par U-Boot et Linux, la calculatrice utiliserait selon la page officielle un émulateur de TI-82 Stat.

Toutefois, au sens où nous comprenons le mot 'émulateur', cela nous semblerait totalement contradictoire avec l'esprit du projet, puisque émulateur veut dire utilisation sous une forme ou sous une autre de la ROM TI-82 Stats qui elle n'est pas libre.
Peut-être en fait que l'émulateur est bel et bien basé sur un émulateur de TI-82 Stats (c'est-à-dire TI-83 basique), mais que la ROM exécutée a été recodée à partir de zéro en s'inspirant de la TI-82 Stats.

En effet, l'éditeur de fonctions par exemple est limité à 4 entrées préfixées par des ":", ce qui diffère clairement des TI-83, TI-82 Stats ou même TI-82 grises.



L'émulateur TI-82 aurait ici été modifié en cours de production pour afficher en utilisant toute la résolution de l'écran comme vous pourrez le constater en comparant les deux vidéos ci-dessous:



Enfin, comme l'émulateur TI-82 tourne par-dessus Linux, il est possible de revenir au système Linux et de lancer un émulateur GameBoy comme mednafen.
Notons bien que ce n'est pas l'émulateur pour calculatrices TI, qui n'est pas compatible TI-82 Stats (uniquement TI-83 Plus.fr USB, TI-83 Plus SE et TI-84), qu'il aurait fallu de plus modifier pour pouvoir afficher au-delà de 96x64 pixels alors que les sources ne sont pas disponibles publiquement.


N'hésitez pas à suivre le projet en consultant la page officielle pour plus d'informations ! ;)


Source : http://www.librecalc.com/

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
640 utilisateurs:
>612 invités
>19 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)