English version here
Veuillez cliquer sur ce topic et répondre au sondage !
Bonjour à tous,
J'ai l'honneur aujourd'hui de vous annoncer le démarrage officiel d'un grand projet TI-Planet, de programmation Lua Nspire.
Ce projet, en résumé, est l'adaptation (plus ou moins libre) du célèbre programme EEPro des TI-89.
Pour ceux qui ne le connaissent pas, c'est à la base un programme décrit par TI comme suit: "Cette application permet de résoudre des problèmes d'ingénierie électrique. Elle est composée de 3 modules : Analysis, Equations (700 équations regroupées en 16 thèmes) et Reference." Bref, un programme puissant et très complet.
Vous pouvez consulter la documentation ici, pour avoir plus de détails sur ces différentes parties. Je vais cependant m'attarder un peu plus bas sur celle des "Equations".
Ce projet est d'une grande envergure, mais EEPro n'ayant pas d'équivalent pour Nspire, c'est donc une très bonne opportunité de montrer a tous (à la communauté, aux utilisateurs "casual", à TI aussi...) ce que l'on est capable de réaliser grâce au Lua.
La réalisation de ce projet nécessitera que plusieurs personnes participent, car comme déjà dit, c'est un gros projet, même si la séparation des 3 parties permettra de réduire le travail en travaillant partie par partie.
Cependant, ne voyez pas ca comme un "travail", mais juste un passe-temps, quand vous avez du temps-libre, ou pour se perfectionner en Lua, ou pour tout simplement participer dans un effort communautaire à grande échelle, pour un programme qui deviendra une référence certaine.
La réalisation au cours du temps aura des avantages au niveau programmation, que ce soit pour les débutants ou les plus avancés, car la structure du programme globale est complexe mais bien organisée, et tout se fera en POO (orientée objet), mais aussi au niveau scolaire/éducatif, car bien sûr, l'objectif de ce programme, est scolaire/didactique.
Les connaissances exploitées dans ce programme (EEPro pour 89) vont, je dirais, de la 1ère/Term S à la Maths Spé (prépa) ou plus. Cependant, ne vous enfuyez pas de projet si vous n'êtes pas aussi avancé.... je parlerai plus tard de tout ca, il y a des trucs à faire pour tout le monde
J'ai (Adriweb) commencé à établir un schéma explicatif de la structure du programme Lua à adopter :
Ainsi qu'un document sur Google Docs
Merci d'aller bien consulter et lire ce document pour bien comprendre la structure, les objectifs, les explications etc. sur tout ce que le projet comporte.
Bref, vous le voyez bien, les 3 parties sont bien distinctes.
Comme dit dans le document :
- La partie qui n'est pas spécialement dure à programmer sera la partie "référence". En effet, c'est en gros un espèce de résumé des cours. Avec pourquoi pas, dedans, des scripts interactifs. Sur EEPro, il y a : Color Chart Résistance → outil de couleur bon de faire, sur la CX, Valeur composant standard, Les données semi-conducteurs, Les expressions booléennes,algèbre booléenne, constantes, Préfixes SI, Alphabet grec.
- La 2e partie est la résolution d'équations.
Cette partie est déjà un peu plus technique à faire, car le challenge repose sur le fait qu'il faut avoir le code de base qui prend une base de données spécialement formatée (notre propre format), pour traiter, analyser, linker, comprendre etc. les formules: il a à lire à partir de la base de données: les input(s), les outputs, les unités, la description, le titre, etc Une fois que nous avons que l'algorithme qui gère une grande base de données en sachant quoi faire avec une formule que l'utilisateur veut résoudre, c'est juste une question de temps pour remplir la base de données avec les formules. Ce travail peut être fait par n'importe qui, car il n'a rien à voir avec le codage. Mais cette base de données à remplir n'est bien évidemment pas le focus du projet.
- L'autre partie (qui peut être la plus embêtante / la plus longue ...) sera l'analyse.
Pour l'instant, voir le manuel EEPro (lien en haut). Ce n'est pas la priorité pour le moment.
Ce qu'il faudrait faire dans un premier temps, c'est vraiment la partie gestion/résolution d'équation.
Cette partie pourra être nommée "FormulaPro", et peut faire l'objet d'un programme séparé, en plus, du programme général. En effet, beaucoup d'étudiants seraient plus intéressé par un super programme intelligent de gestion/résolution d'équations, qui serait assez bien fait pour pouvoir être étendu par des packs de formules que tout le monde peut faire. (d'où le format publique/détaillé des bases de données/ de formules).
Ce (sous-)programme, est lui-même séparé en plusieurs parties : Ecran d'accueil, proposant de naviguer par catégorie, par titre, par variable, mais permettant aussi de rechercher telle ou telle formule/équations via un outil de recherche intégrée intelligent (qui cherche parmi les titres, variables etc.), mais aussi proposant un "Assistant". Pour ces deux dernières idées, voir les paragraphes ci dessous.
Voilà quelques détails/idées/notes (traduits depuis le documents google docs) concernant la partie résolution/manager d'équations :
Nous devons faire en sorte que tout soit le plus possible extensible / plugin-able, afin que chacun puisse améliorer le programme principal avec ses propres trucs, quel que soit le sujet. Voir la note 2, ci dessous.
* Les formats des bases de données devront être publiques, bien connus et détaillés afin que les utilisateurs puissent faire leur propre base de données, que le programme va comprendre et ouvrir comme un module natif utilisable. Les bases de données utilisateur seront stockés dans la bibliothèque publique (MyLib), de telle sorte qu'il sera disponible partout, surtout à partir du script lua.
* Nous aurons à faire une fonctionnalité de smart-search, pour la partie de la gestion/résolution d'équations, entre autre.
Par exemple, disons que l'utilisateur veut avoir la «Puissance» (puissance électrique). Il aurait alors le choix de parcourir, dans les formules disponibles, par catégorie et par nom. L'autre option (en plus), est que l'utilisateur sera invité à choisir parmi une liste de [variables [et / ou] d'unités] celle qu'il veut savoir et celle(s) dont il dispose. Pour le «P» (puissance), par exemple, disons que l'utilisateur ne connaisse que le R (résistance) et la valeur de I (courant). Il sélectionne ensuite à partir de la liste: "P", "R", "I". Le programme affiche alors lui une liste de formules disponibles qui lient ces trois variables. Ici, il n'y aurait «P = R * I² (circuit résistif)". Cette liste doit être triée par nom de variable.
(En passant, cette formule (P = R * I²) est une formule «indirecte» : le programme lui-même l'a faite, avec l'algorithme sus-cité de compréhension intelligente de la base de données de formules, qui "comprend" toutes les parties d'une équation et liens des équations totalement Ici, il reliait U = R * I et P = U * I)
Bon, une motivation de plus ? ... je sais pas moi ... il y aura des récompenses pour les contributeurs actifs (dans la limite des stocks disponibles au cours du temps par contre ). Bref, c'est un très bon projet, même pas besoin de récompense, normalement...
Si ce projet vous intéresse, il y a de la place pour tout le monde, quelque soit votre niveau
Veuillez nous faire part de vos idées/commentaires/candidatures sur le topic ou par mail (info @ tiplanet . org)
Pour le moment, les personnes participant à ce projet sont : Adriweb, Critor, Levak, Jim Bauwens, RayQuaza (NeoCrisis).
J'espère que cette liste s'aggrandira avec vos noms !
Pour plus d'infos, merci aussi de demander sur le topic des questions / sous-forum.
Il serait aussi très intéressant que les contributeurs au projet se réunissent quand il le peuvent sur IRC : Serveur EFNet, channel #eepronspire. (Lien Mibbit) (Chan #nspire-lua pour le chat Lua Nspire général)
Merci à vous,
Adriweb,
Au nom de TI-Planet