Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » KhiCAS, add-in calcul formel pour Graph 90+e et 35eii
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

KhiCAS, add-in calcul formel pour Graph 90+e et 35eii

Posté le 15/07/2018 12:09

KhiCAS est le portage de Xcas pour Casio Graph 90+e et 35eii. En résumé, il transforme votre calculatrice en calculatrice CAS (ce qui en fait de la 35eii la calculatrice CAS la moins chère du marché!), programmable en Python (soit avec MicroPython, soit en syntaxe Python dans Xcas).
Documentation
Version complète pour Graph 90 Fichier g3a et Fichier complémentaire (attention pour l'émulateur il faut utiliser ces fichiers g3a et complément).
Version courte pour Graph 90 Fichier g3a ou pour Graph 35eii Fichier g1a : certaines fonctions de Xcas ne sont pas disponibles (géométrie, moteur de rendu 3d, tableur, certaines commandes Xcas manquent, pas d'interpréteur MicroPython)
Video sur des exercices niveau lycee


Précédente 1, 2, 3, 4, 5, 6, 7 ··· 10, 11, 12 Suivante
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 02/09/2019 16:12 | #


Parisse a écrit :
Pour KhiCAS sur la Casio, je n'utilise aucun environnement, tout est code dans les fichiers sources (a partir des syscalls d'affichage de pixels ou de texte). Un gros travail avait ete fait pour l'UI d'Eigenmaths, j'ai ajoute l'affichage des graphiques, l'editeur d'expression, j'ai pas mal ameliore l'afficheur de texte pour en faire un edtiteur de programmes et j'ai adapte le reste.

D'accord, donc ça ce serait facile à porter sur la Symbolibre pouvu que tu aies la SDL ou équivalent si je suis bien.

Je ne sais pas encore ce que je vais faire sur la Numworks. Se glisser dans l'appli de calculs va vite atteindre ses limites, car il faut interagir avec leur systeme qui est beaucoup trop restrictif (par exemple toutes leurs fonctions utilisateur sont unaires. Reecrire tout un environement comme sur la Casio est un travail important, et qui ne donnera pas de resultats tangibles avant un long moment. Sauf peut-etre en faisant le coucou dans le shell Python...

Tu ne peux pas porter l'environnement existant que tu as utilisé sur la Graph 90+E (et pas que) ? :o
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 03/09/2019 07:01 | #


Si, c'est probablement ce que je vais faire. Mais c'est beaucoup de travail, il va falloir remplacer tous les syscalls Casio en cherchant l'equivalent Numworks ou en le codant. Il faut decortiquer epsilon, certes avec le code source, mais c'est du C++, pas du C--. En plus a premiere vue, ca a l'air tres oriente evenement, pas sur qu'il y ait des equivalents pour GetKey par exemple. Et il n'y a pas de filesystem.
Qu'en est-il du code source de Symbolibre? On peut le voir quelque part maintenant?
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 03/09/2019 09:59 | #


Hmm, pas facile, je vois. J'espère que la communauté autour de Numworks pourra aider en cas de besoin. Le coup du filesystem c'est un peu con.

Qu'en est-il du code source de Symbolibre? On peut le voir quelque part maintenant?

C'est honteux à admettre, mais l'administration n'a toujours pas bougé... on est bloqués...

Par contre je peux déjà te dire qu'on utilise Qt dans nos applications, et qu'on peut installer sans problème la SDL. Selon la façon dont seront construites les applications Symbolibre ce serait peut-être aussi possible d'embarquer des libs avec l'application (si elles ne sont pas déjà dans l'OS préinstallé).
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 03/09/2019 13:44 | #


Lephenixnoir a écrit :

J'espère que la communauté autour de Numworks pourra aider en cas de besoin.

Ca depend ce qu'on appelle communaute Numworks. J'ai bien peur qu'a l'heure actuelle, pas grand monde n'ait essaye de decortiquer epsilon, qui est en plus une cible mouvante (en partie a cause des contraintes de RAM et pour la N100 de flash). C'est aupres de Numworks que je pourrais esperer de l'aide, mais les derniers firmwares ont bloque le peu de calcul litteral qu'ils avaient, certainement pour pouvoir se vendre dans les pays hostiles au calcul formel, je ne sais pas du tout quelle attitude ils vont avoir vis-a-vis du portage de giac.


C'est honteux à admettre, mais l'administration n'a toujours pas bougé... on est bloqués...

Il n'est peut-etre pas inutile de leur faire remarquer que l'utilisation de code GPL dans un projet rendu public les force a diffuser l'ensemble du projet en GPL. S'ils ont effectivement les droits patrimoniaux sur votre code, c'est eux qui seraient inquietes en cas de recours.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 03/09/2019 13:55 | #


C'est aupres de Numworks que je pourrais esperer de l'aide, mais les derniers firmwares ont bloque le peu de calcul litteral qu'ils avaient, certainement pour pouvoir se vendre dans les pays hostiles au calcul formel, je ne sais pas du tout quelle attitude ils vont avoir vis-a-vis du portage de giac.

C'est sûr que s'ils veulent vendre leur calculatrice dans des pays où le cacul formel est interdit, l'existence d'un bon moteur de calcul formel installable assez facilement ne va pas leur simplifier les affaires. Enfin je suppose que leur business model avait prévu ce genre de cas, ils dont dû le voir venir. >_>

Il n'est peut-etre pas inutile de leur faire remarquer que l'utilisation de code GPL dans un projet rendu public les force a diffuser l'ensemble du projet en GPL.

Oui. Ils ne sont pas familiers avec l'open-source, mais je pense qu'avec un peu de discussion on peut les convaincre de la viabilité du modèle GPL.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 03/09/2019 16:14 | #


Lephenixnoir a écrit :

C'est sûr que s'ils veulent vendre leur calculatrice dans des pays où le cacul formel est interdit, l'existence d'un bon moteur de calcul formel installable assez facilement ne va pas leur simplifier les affaires. Enfin je suppose que leur business model avait prévu ce genre de cas, ils dont dû le voir venir. >_>

Quoi qu'on fasse pour indiquer l'utlisation ou non de giac, c'est evidemment contournable par quelqu'un qui sait compiler un firmware. De meme quelqu'un qui le veut peut stocker des documents dans un firmware de N110 en resistant au mode examen.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 03/09/2019 16:23 | #


En effet, j'ai vu que jean-baptiste boric propose un bootloader pour faire des applications complètement indépendantes... c'est une bonne ouverture d'un côté, mais un peu dommage parce que ça fait du développement Numworks officieux.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 05/10/2019 11:57 | #


Mise a jour de KhiCAS, qui corrige un certain nombre de bugs, en particulier dans la sauvegarde/restauration de session. La touche VARS permet maintenant d'afficher une estimation de la taille memoire occupee par les variables, et de la taille totale de memoire utilisee par KhiCAS, ce qui permet de purger des grosses variables que l'on n'utilise plus si la quantite de memoire disponible devient faible (je dirais en gros quand on depasse les 50K de memoire occupee estimee).
A noter que le parser consomme plus que ce que les variables occupent et fragmente alors le tas, on peut recuperer de la memoire en changeant d'application et en revenant sur KhiCAS.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 05/10/2019 12:02 | #


Merci pour cette mise à jour, liée au concours de rentrée si j'ai bien suivi sur TIP.

Est-ce techniquement faisable de libérer les données du parser automatiqmuement ? Ou peut-être qu'à chaque fois qu'on reparse il va se réinstaller dans la mémoire ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 05/10/2019 13:04 | #


Toutes les donnees utilisees par le parser sont liberees par des appels a delete/free, mais elles ne sont pas visibles immediatement quand on fait le raccourci OPTN-10^x-ON 5 9 6 3 5. D'ailleurs, est-ce qu'il existe un syscall pour acceder a cette information?
Experience: on ouvre KhiCAS et on execute le fichier du concours Python. La memoire disponible sur le tas diminue de 55K environ, alors que 35K sont indiques utilises par les variables en memoire. Si on purge le programme pk (7K d'occupation memoire estimee), c'est le quadruple qui devient disponible sur le tas, on est a 100K de libre. Si on parse juste le programme pk, on descend a 90K de libre. On a donc gagne presque 20K de tas en effacant le programme pk et en le reparsant. Je pense que la raison vient de la fragmentation du tas suite a toutes les operations faites par le parseur, ou peut-etre que l'affichage de la memoire disponible sur le tas affichee par le raccourci diagnostics est pessimiste.
J'ai donc beaucoup de mal a savoir ou est passee la memoire et comment optimiser la gestion des chaines de caracteres dans l'etape de traduction et dans le lexer.
Et il est difficile d'estimer la taille memoire occupee par les variables de KhiCAS a partir de laquelle il devient dangereux de lancer le parse d'un gros programme ou de lancer un calcul. A la louche, je conseillerais de ne pas depasser 40 a 50K de variables KhiCAS sur la 90 et 20K sur la 35eii (et ce sera pareil pour la Numworks que pour la 35eii). J'ai aussi mis (pour le moment) une limite a 8K sur la 90 et 3K sur la 35eii pour la taille d'un programme parsable. On peut bien sur decouper en deux (ou plus) et parser separement.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 05/10/2019 14:20 | #


D'ailleurs, est-ce qu'il existe un syscall pour acceder a cette information?

Hmm, je n'en connais pas...

Ah, je vois, c'est compliqué du coup. La fragmentation du tas est pas un truc que l'on peut gérer de l'extérieur.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 31/10/2019 10:09 | #


Je viens de mettre a jour KhiCAS pour la 90: j'ai ajoute des garde-fous pour eviter des crash en cas de manque de memoire sur le tas. Le principe: si malloc renvoie a un constructeur d'objet KhiCAS un pointeur situe dans les 32 derniers Ko du tas, le flag d'interruption est mis a true comme si on avait tape sur la touche AC/ON, ce qui interrompt en principe les calculs. Un message avertit alors que la memoire est pleine et qu'il faut faire des purge ou bien restart. Ca laisse environ 60K pour stocker des variables, ce qui est deja pas si mal.
Si ca fonctionne, je devrais pouvoir faire de meme sur la 35eii.

Ajouté le 17/01/2020 à 09:59 :
Ajout d'un lien vers une video faite par Eric SCHRAFSTETTER, universite d'Angers, dans le cadre du DAEU (diplome universitaire donnant l'equivalent du bac pour poursuivre des etudes a la fac), avec des exercices de niveau lycee.

Ajouté le 20/02/2020 à 15:37 :
Mise a jour pour la 90 et la 35eii:
* l'edition de matrice permet maintenant de rajouter une ligne ou une colonne (touche ,) ou effacer une ligne ou une matrice (touche DEL).
* on peut taper DEL pour saisir la commande d'effacement d'une variable dans le menu VARS
Quelques bugs corriges (grace au simulateur de la Numworks dans gdb, les portages de Xcas sur les deux calculatrices partageant une grande base de code en commun).

Ajouté le 19/11/2020 à 10:42 :
Mise a jour pour 90 et 35eii, tres peu de changements, un ou deux bugs corriges, la fonction getKey() a ete renommee en get_key() pour des raisons de coherence entre les divers ports de KhiCAS et MicroPython. Cette fonction get_key() renvoie dorenavant des codes entre 0 et 5 pour les touches du curseur, EXIT, toujours pour des raisons de coherence.


Juliot Invité

Citer : Posté le 19/11/2020 17:39 | #


Des fois il y a un message system ERROR lorsque j’effectue des calculs sur KhiCAS
Quelqu’un peut m’aider pour résoudre ce problème
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 30/11/2020 20:03 | #


C'est un plantage. Il faudrait savoir quelle est la commande qui a provoque cette erreur pour pouvoir la reproduire et esperer la corriger.

Ajouté le 19/10/2021 à 09:43 :
Petite mise a jour corrigeant 3 bugs d'interface:
1/ dans l'edtiteur d'expressions: si un argument d'une puissance est selectionne, l'appui sur backspace provoquait un crash
2/ toujours dans l'editeur d'expression: l'edition de la selection plantait si elle etait trop large
3/ dans l'historique, l'edition d'un niveau et sa reexecution (ainsi que les niveaux suivants) pouvait provoquer un crash

Graph 90
Graph 35eii
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 19/10/2021 09:47 | #


Merci beaucoup pour la maintenance (qu'on serait bien incapables de faire !). J'ai rarement de choses à ajouter mais c'est toujours apprécié
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 18/12/2021 09:21 | #


Apres environ 2 ans passes a developper sur d'autres calculatrices et suite aux deconvenues avec la politique de Numworks, je redecouvre la Graph 90, et je suis assez enthousiasme par les capacites de la machine (bien plus de RAM et de flash que la Numworks pour a peu pres le meme prix), capacites qui sont pour le moment sous-exploitees dans KhiCAS.
Grace aux conseils et aux tests de Lephenixnoir - j'en profite pour le remercier publiquement ici - je suis en train de developper une mise a jour de KhiCAS pour Casio Graph 90. Cette mise a jour devrait permettre d'acceder a plus de memoire RAM mais aussi a des ameliorations d'interface portees de KhiCAS pour Numworks/TI Nspire CX, pour l'instant la coloration syntaxique et le parenthese match en ligne de commande du shell.
Les personnes interessees peuvent telecharger une version alpha ici
khicas.g3a alpha
A moyen terme, j'espere pouvoir charger du code supplementaire dans de l'espace RAM inutilise et augmenter les fonctionnalites du noyau de calcul. Je pense par exemple au moteur de rendu 3d, qui en association avec les commandes de geometrie et 3d de Giac permettrait de faire des figures dans l'espace avec des fonctionnalites un peu differentes de celles de Graphe3d de Casio, cf. KhiCAS sur Numworks/Nspire.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 18/12/2021 14:36 | #


Merci ! On apprécie nous aussi ton intérêt renouvelé pour la machine. L'échelle de KhiCAS (utilise toute la ROM et beaucoup de fonctionnalités) teste un peu les limites de la machines (à la fois côté matériel et côté stabilité logicielle) donc c'est pas toujours facile, mais je pense que ça en vaut la peine. Parmi les add-ins qui se font sur Planète Casio, s'il y en a bien un qui augmente la valeur de la machine par rapport au marché, c'est bien celui-là
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 18/12/2021 16:39 | #


Je viens de rajouter la completion en ligne de commande, si on tape curseur vers le bas, l'index des commandes est affiche, avec positionnement au premier endroit ou il y a une commande qui commence par ce qu'il y a avant le curseur.

J'ai toujours un probleme de corruption apres un cyclr OFF/ON. Cette fois-ci j'arrive a le mettre en evidence avec la tortue logo, sans qu'il puisse y avoir d'interference avec l'allocation dynamique de memoire.
On lance KhiCAS, on charge la session https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/sessions/sapin.xw, puis EXIT pour entrer dans l'editeur de scripts puis EXE pour interpreter puis EXIT, puis sapin(4), qui renvoie un sapin "normal", mais si on fait OFF/ON le sapin est abime.
Niveau code: les etapes de la tortue sont dans un tableau situe dans les 512K de ram. L'UI est tres simple (elle ne fait pas appel a giac), uniquement a une methode draw() de trace de la tortue (dans kdisplay.cc), cf. ci-dessous. Et pourtant le sapin est abime, il doit se passer quelque chose... que je ne peux pas debuggueur (l'emulateur n'a pas de support pour off).

void displaylogo(){
#ifdef TURTLETAB
  xcas::Turtle t={tablogo,0,0,1,1};
#else
  xcas::Turtle t={&turtle_stack(),0,0,1,1};
#endif
  DefineStatusMessage((char*)"+-: zoom, pad: move, EXIT: quit", 1, 0, 0);
  DisplayStatusArea();
  while (1){
    int save_ymin=clip_ymin;
    clip_ymin=24;
    t.draw();
    clip_ymin=save_ymin;
    int key;
    GetKey(&key);
    if (key==KEY_CTRL_EXIT || key==KEY_PRGM_ACON || key==KEY_CTRL_MENU || key==KEY_CTRL_EXE || key==KEY_CTRL_VARS)
      break;
    if (key==KEY_CTRL_UP){ t.turtley += 10; }
    if (key==KEY_CTRL_PAGEUP) { t.turtley += 100; }
    if (key==KEY_CTRL_DOWN) { t.turtley -= 10; }
    if (key==KEY_CTRL_PAGEDOWN) { t.turtley -= 100;}
    if (key==KEY_CTRL_LEFT) { t.turtlex -= 10; }
    if (key==KEY_SHIFT_LEFT) { t.turtlex -= 100; }
    if (key==KEY_CTRL_RIGHT) { t.turtlex += 10; }
    if (key==KEY_SHIFT_RIGHT) { t.turtlex += 100;}
    if (key==KEY_CHAR_PLUS) { t.turtlezoom *= 2;}
    if (key==KEY_CHAR_MINUS){ t.turtlezoom /= 2;  }
  }  
}
...



Ajouté le 01/01/2022 à 22:37 :
Une nouvelle version de KhiCAS (1.5.2) est disponible au telechargement pour les Graph 90
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/khicas.g3a
Les principales nouveautes: coloration syntaxique et parenthese match en ligne de commande du shell KhiCAS, completion avec la touche shift-fraction (touche alpha G) ou plus simplement fleche vers le bas depuis le shell, et aussi nettement plus de memoire disponible (environ 500K contre moins de 128 auparavant, en combinant des allocateurs memoire: un specificique optimise pour KhiCAS, kmalloc de Lephenixnoir et le malloc de Casio). Quelques bugs ont ete corriges, j'espere que cette version est plus stable que la precedente. A noter un petit changement d'habitudes a prendre, c'est l'obligation de passer MENU shift ON pour eteindre.

Cette version devrait etre la version stable ultime (sauf bugfixes) compatible avec tous les modeles Prizm. Je vais ensuite travailler sur une version specifique Graph 90 (FXCG50?) qui devrait permettre de mettre a jour le noyau de calcul vers Giac 1.7 et ajouter les fonctionnalites disponibles sur Numworks et Nspire CX (par exemple la geometrie analytique, le moteur de rendu 3d, peut-etre aussi le shell MicroPython avec tous les modules de KhiCAS)

Ajouté le 14/01/2022 à 08:29 :
Lorsqu'on connecte la calculatrice en USB, le menu habituel apparait mais si on tape F1 rien ne se passe tant qu'on n'a pas tape MENU, ca vient du fait que c'est mon code qui gere maintenant le clavier en appelant GetKeyWait OS. Est-ce qu'il est possible de detecter l'evenement USB pour automatiquement simuler une frappe de la touche MENU?
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 14/01/2022 09:27 | #


Lorsqu'on connecte la calculatrice en USB, le menu habituel apparait mais si on tape F1 rien ne se passe tant qu'on n'a pas tape MENU, ca vient du fait que c'est mon code qui gere maintenant le clavier en appelant GetKeyWait OS. Est-ce qu'il est possible de detecter l'evenement USB pour automatiquement simuler une frappe de la touche MENU?

Est-ce que tu autorises le retour au menu dans le GetKeyWait du coup ?

À ma connaissance ce n'est pas possible de détecter l'événement parce que tout est en fait en interne dans la fonction GetKeyWait(). Quand tu la l'appelles le fait n'est pas encore établi et ensuite ton code ne s'exécute plus jusqu'à ce que tout soit fini. À part des trucs hideux genre mettre un timer et regarder périodiquement si la popup est apparue graphiquement, je ne vois rien.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 457 Défis: 0 Message

Citer : Posté le 14/01/2022 09:39 | #


Non, je gere moi-meme la touche MENU, l'appel est le suivant
int ret=GetKeyWait_OS(&col,&row, 2 /* KEYWAIT_HALTON_TIMERON*/, timeout_delay /*timeout_period*/, 1 /* 0: handle menu key*/, &keycode) ;
Quand on est dans le shell KhiCAS, si on branche la calc, le menu F1 etc. apparait, et l'appui sur F1 est pris en compte, mais ensuite plus rien ne se passe tant qu'on n'a pas tape sur une touche.
Je vais mettre ca dans la doc. C'est pas tres grave, au sens ou il n'y a pas de crash, et puis meme si les gens ne lisent pas la doc, ils vont bien finir par appuyer sur une touche.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 14/01/2022 15:39 | #


Oui je pense que tu as raison, ça ressemble à un genre de problèmes extrêmement casse-pieds à aborder pour finalement pas grand-chose.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4, 5, 6, 7 ··· 10, 11, 12 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 87 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