Pyromaths version activité mentale

Les informations utiles aux développeurs de Pyromaths.

Modérateur : Développeurs

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Pyromaths version activité mentale

Message par jbreizh » 14 déc. 2012, 23:39

------WARNING: Je ne suis pas un programmeur, mais un bidouilleur---------

Bonjour,
je suis enseignant au collège en Nouvelle-Caledonie. De ce fait, je suis officiellement en vacance :P :P (ne partez pas encore je vais me calmer).
Dans notre académie, la tendance est au retour au automatisme (calcul mental, question diverse en temps limité). La façon la plus admise de réaliser cette commande est de concevoir un ppt tel que:
- le ppt contient 10 types(ou pas) de questions sur 10 slides
- chaque slide contient une question pour l'élève à gauche de la table et une pour celui à droite de la table.
- le défilement est si possible automatisé avec un son pour signifier le changement de slide
Cela peut sembler un peu militaire, mais il y a un réel progrès des élèves qui adorent ça (bonne note ...) et placer en début de séance ça permet de les calmer tout en s'occupant de sa petite gestion (appel, cahier de texte...). Par contre, il y a un truc qui me gave, c'est de préparer ces pt@** de ppt ( 2*10 questions quasi tous les jours pour chaque classe :twisted: ).
D'ou l'illumination, il y 2 jours: Pyromaths activité mentale édition !!!! J'ai donc commencer au remanier les sources de pyromaths à ma sauce:
- Suppression du code qui me parait inutile (j'aime pas le jaune :D )
- Renommage de Pyromaths en Actimaths ( les copyrights vont revenir mais c'est juste une version en progrès)
- Construction d'un nouveau template latex utilisant Beamer ( Si quelqu'un sait y mettre du son + le défilement automatique)
- Conversion des exercices Pyromaths (quand c'est possible) en exercice Actimaths (beamer + 2 questions à la fois) (en cours)
- Construction de nouveau exercice (futur)
- Amélioration du Gui pour pouvoir saisir: Son nom, son établissement, la durée de chaque question (futur)
- Possibilité de reglage depuis le Gui de la dificulté ( taille maxi des nombres) (futur)

Le problème est que je ne suis pas un programmeur, mais un bidouilleur. Du coup, je maitrise un peu près le latex simple et je suis capable de modifier du code python existant (surtout qu'il est propre 8-) ). Malheureusement mes compétences s'arrètent là pour le moment, malgré tout, la conversion des exercices Pyromaths actuel ne me pose pas trop de soucis. Par contre, je ne vois pas du tout comment modifier le gui pour "pouvoir saisir: Son nom, son établissement, la durée de chaque question" (Je sais qu'il faudrait créer des variables ##Nom##, ##Etablissement## à mettre dans mon template, mais comment :?: )
Vous pouvez trouver "mes" sources ici :http://mathsecaillou.ile.nc/pyromaths/1 ... urceJB.zip, toutes remarques, critiques et aides sont les bienvenues, mais n'oubliez pas que je ne suis pas un programmeur.
Bonne journée
JB
Dernière modification par jbreizh le 18 déc. 2012, 07:51, modifié 1 fois.

fabienm
Messages : 28
Inscription : 06 nov. 2012, 00:20

Re: Pyromaths version activité mentale

Message par fabienm » 15 déc. 2012, 00:16

Salut cher collègue :)

J'avoue j'ai pas regardé ton code, mais pour tes histoires de noms d'établissement qui doivent rentrer dans les fichiers tex, de mémoire :

- Le code qui t'intéresse se trouve dans interface.py et system.py
- Grosso modo, les valeurs qui t'intéressent passent dans un dico qui s'appelle parametres (en particulier le nom de la fiche, et le titre)
- je crois me souvenir que le code qui remplace les templates dans le fichier tex est copie_tronc_modele dans sytem.py ou dans le genre, y'a pas grand chose à faire, il faut juste qu'au début de cette fonction, tu mettes tes valeurs dans une variable du meme nom que ton template. Exemple, si dans ton tex, ça s'appelle ##etablissement##, il faut qu'au début de copie_tronc_modele, tu mettre etablissement = parametre['etablissement'] ou dans le style. Regarde comment ça marche avec titre....

Bon courage...

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 15 déc. 2012, 08:17

Hello,
Merci pour ta réponse cela m'a bien aidé et du coup:

- Amélioration du Gui pour pouvoir saisir: Son nom, son établissement, la durée de chaque question (fait sauf pour le temps qui ne fait rien pour le moment)

Je dois dire que je suis impressionné par la base de code qui me permet d'avancer à 200 à l'heure.
Il faut maintenant que j'améliore mon template beamer. Si quelqu'un voit comment faire un fond bicolor (droite-gauche) sans passer par une image, je suis preneur.
Idem pour les transitions automatique et le son.
Vous pouvez trouver "mes" nouvelles sources ici :http://mathsecaillou.ile.nc/pyromaths/1 ... urceJB.zip et un exemple de production ici: http://mathsecaillou.ile.nc/pyromaths/sujet.pdf
Bonne soirée (enfin pour moi)
JB
Dernière modification par jbreizh le 18 déc. 2012, 07:52, modifié 1 fois.

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 16 déc. 2012, 07:51

Ça avance encore:
- le défilement automatique en mode présentation est fonctionnelle (testé sur reader et evince) et le temps est reglable a partir du GUI
- refonte des exercices de 5eme (si possible) faite

nouvelles sources ici : http://mathsecaillou.ile.nc/pyromaths/1 ... urceJB.zip

a+
Dernière modification par jbreizh le 18 déc. 2012, 07:52, modifié 1 fois.

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 17 déc. 2012, 00:43

j'en profite pour remonter 2 bugs que j'ai vu:

src/sixiemes/decimaux.py ligne 363: cor.append('{') --------------> devrait être cor.append('}')

src/quatriemes/fractions.py ligne 336: exo_sommes_fractions() --------------> n'a rien a faire ici

a+

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 17 déc. 2012, 06:47

rehello,
J'ai besoin de votre aide pour modifier le GUI.
À force de diviser chaque exercice de pyromaths en exercice élémentaire, je me retrouve avec trop d'exercice pour que cela tienne à l'écran. Du coup j'aimerais:
- indispensable: ajouter un ascenseur sur la partie centrale ou l'on selectionne les exercices. (je crois que c'est le tabWidget :?: :?: )
- optionnel: passer à une colonne au lieu de 2
- optionnel: rajouter un séparateur sur ma colonne pour séparer les exos par thèmes (fraction, relatif)... (surement en mettant un mot clef dans LESFICHES qui serait convertit en separator plutot qu'en spinbox)

Sinon ça avance:
- refonte des exercices de 4eme (si possible) faite

nouvelles sources ici : http://mathsecaillou.ile.nc/pyromaths/1 ... imaths.zip

merci d'avance
jb
Dernière modification par jbreizh le 18 déc. 2012, 07:53, modifié 1 fois.

fabienm
Messages : 28
Inscription : 06 nov. 2012, 00:20

Re: Pyromaths version activité mentale

Message par fabienm » 17 déc. 2012, 14:18

jbreizh a écrit : - optionnel: rajouter un séparateur sur ma colonne pour séparer les exos par thèmes (fraction, relatif)
Ma version fait ça, c'est la branche environnement du dépot, avec il est très simple de réorganiser les menus, ils sont stockés dans des fichiers xml... Et j'ai déja fait une version rangée par thèmes pour mes propres besoins :)

Pour modifier le gui c'est du taff... Faut que tu creuses la doc Qt4.... Et que tu mattes le source...

J'essaierai de poster mon source un jour pour ceux qu'on pas accès au dépot.

fabienm
Messages : 28
Inscription : 06 nov. 2012, 00:20

Re: Pyromaths version activité mentale

Message par fabienm » 17 déc. 2012, 14:32

http://www.filedropper.com/pyroenvtar

Attention, beaucoup de choses ont changé dans ma version, lis le fichier ENV ou mon topic

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 17 déc. 2012, 15:24

hello,
merci pour ton message, j'ai regardé ton fichier, les modifs faites me semblent interessantes. D'après ce que je vois mon travail peut être assez simplement intégré à pyromaths avec cette histoire d'environnement. En effet, ce que j'ai fait, c'est d'éclater les exercices de pyromaths en exercices élémentaires. Par exemple sur les fractions, j'ai créé un exercice pour les addition, un autre pour les soustractions.... Je les ai aussi mis à la sauce beamer pour obtenir une présentation avec 2 fois le même type de question par slide (pour éviter la triche). Du coup ce que je te propose c'est de créer un environnement "activité (ou calul) mental" et de nommer les exos que j'ai remaniés selon les nouvelles conventions.
Fais moi signe si ça t'interesse (tu peux consulter mes sources pour voir le rendu) et je me mets au travail, enfin d'abord je vais dormir 8-)
a+
jb

fabienm
Messages : 28
Inscription : 06 nov. 2012, 00:20

Re: Pyromaths version activité mentale

Message par fabienm » 17 déc. 2012, 15:36

C'était l'idée de base, fournir un code qui permet à chacun (ou presque) d'arranger le logiciel à sa sauce "facilement"

En fait l'autre jour j'ai essayé d'ouvrir ton pdf, mais ça a foiré...
Je suis sous debian depuis que je bidouille moi aussi pyromaths, et je maitrise pas encore tout, faudra que j'aille les ouvrir sous windows ...

Oui, fais moi un dossier dans le répertoire env pour ton projet, avec ton template tex, ton menu.xml, et éventuellement tu me mets dans un fichier texte les modifs qu'il faut apporter au code pour ton histoire de nom_etablissement et compagnie, ça je le rentrerai en dur et c'est pas ça qui va surcharger le code :)

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 18 déc. 2012, 07:17

Hello,
La première chose que je te propose est d'installer meld:http://meldmerge.org/ pour voir ce que j'ai fait. Pour chaque chose faite, je te mets le fichier avant et après, tu n'as plus qu'à les comparer avec meld (top logiciel en passant)
Voilà ce que j'ai fait aujourd'hui:
Modification de l'interface:
interface.py
rajout dans option de champ pour rentrer son nom, som établissement, le temps de présentation (c'est spécifique de mon environnement)
System.py
ajout dans le fichier de configuration des bon champ
creation des mots clef correspondant pour les templates
source: http://mathsecaillou.ile.nc/pyromaths/1 ... erface.zip
Création de l'environnement "activiteMentale"
creation du dossier dans data/env
creation d'un exercice demo "activite6eme_calcul_mental.py" (à ajouter dans liste.py)
source: http://mathsecaillou.ile.nc/pyromaths/1 ... entale.zip
Proposition de modification de la generation des pdf
System.py
modification de la fonction creation(): (résumé) plutot que de créer un fichier tex qui contient le sujet+corriger, je fais appel à ghostscript pour fusionner les pdfs sujet et corrigé.
++ permet de prendre en compte un template différent pour le sujet et le corrigé
++ simplifie le code
-- je viens de tester sur windows (XP machine virtuelle) et mon appel de ghostscript ne fonctionne pas :( (wind :evil: ws)
source: http://mathsecaillou.ile.nc/pyromaths/1 ... ionPdf.zip
Autre
Il a un bug qui fait que pyromaths génère plusieurs fois le .tex et donc demande plusieurs fois de l'enregistrer.
Le "plusieurs" n'est pas au hasard, mais dépend du nombre de fois que l'on change d'environnement. Au demarrage OK 1 changement d'env 2FOIS 2 changement 3FOIS.....
Une idée??

source complete: http://mathsecaillou.ile.nc/pyromaths/1 ... thsGit.zip

a+
JB

fabienm
Messages : 28
Inscription : 06 nov. 2012, 00:20

Re: Pyromaths version activité mentale

Message par fabienm » 19 déc. 2012, 21:51

De manière générale appuie toi sur mon source si tu veux, et quand j'aurai un peu de temps j'intégrerai tes modifs :)
Y'aura pas une tonne de lignes de code qui vont changer, ça devrait pouvoir se faire facilement, mais je vais pas rentrer les modifs tous les deux jours :P
Puis en ce moment j'essaye de bosser un peu l'interne moi aussi donc je m'occupe de ma version assez peu régulièrement

Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
Messages : 609
Inscription : 26 août 2006, 21:49
Localisation : Allemagne
Contact :

Re: Pyromaths version activité mentale

Message par Arnaud » 20 déc. 2012, 00:29

Bonsoir,

Je n'ai pas tout suivi de la discussion, je regarderai ça plus en détail après les fêtes.
Une simple remarque : git permet largement de gérer tout cela sans avoir à uploader sans cesse des nouvelles versions.
Il suffit pour cela de créer une nouvelle branche, par exemple actimaths, cela rendra le tout plus clair et homogène.

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Pyromaths version activité mentale

Message par jbreizh » 20 déc. 2012, 04:53

hello,
il faut en effet que je demande un accès git (à jérome c'est ça?).
J'ai mieux regarder ton travail fabien et je me permet quelques remarques (pas de critiques :? ) que j'espère constructives :

-------------------------------------------------------------1ere remarque---------------------------------------------------------------------
Constat:
- on doit retoucher tous les exercices pour rajouter le paramètre nombre et environnement
- on doit rajouter les modifications d'entête et de pied d'exercice pour son environnement dans tous les exercices concernés par son environnement.
- dans System.py on doit éventuellement rajouter des modifications pour des spécificités de son environnement.
Je pense que ce sont des erreurs de design qui vont devenir très pénalisante si l'on souhaite multiplier les environnements.

Je propose:
-de gérer les entêtes et les pieds d'exercice à l'extérieur des exercices eux même. Ceux ci sont rajouter au moment de la création de l'exercice (dans System.py création() ) et leur modèle sera stocké dans le dossier de l'environnement.
-que le nombre et le type de question d'un exercice soit gérer aussi par la fonction création de System.py et que ce nombre et le type soit stocké dans le dossier de l'environnement.
-que l'on separe chaque exercice en question élémentaire (la fonction création de System.py créera l'exercice selon les paramètre de l'environnement) et que l'on rajoute éventuellement un paramètre permettant de gérer la difficulté (sinon il suffit de faire un question par difficulté)
Je pense qu'avec ces modifications il sera plus facile de créer de nouvelles questions et donc de nouveaux exercices qui seront juste une simple composition de ces questions.

-------------------------------------------------------------2eme remarque---------------------------------------------------------------------
Constat:
Tu as mis tous les exercices dans le même dossier sans aucun sous dossier. Je trouve que cela va a l'encontre de ton objectif de clareté.
En plus j'ai remarqué que tu as regroupé des exercices ensembles, du coup on arrive à un fichier developpement.py de 1627 lignes !!! (oui j'ai choisis le plus gros pour bien exagerer :P ). Je comprends l'idée qui est d'éviter les duplications de code et les références croissés entre chaque exercice, mais je trouve encore une fois que ce n'est pas clair.

Je propose:
-de remettre des sous dossiers dans "exercice" pour faire l'arborescence suivante: exercice/"niveau"/"champ du programme"
-de sortir les fonctions utilisés plusieurs fois des exercices et de les mettres dans "outils" ou "classe" ?? (si on peut m'expliquer la différence=
-de découper chaque exercice en type question élémentaire et de faire un fichier par type de question.
Ces modifications permettront une contribution plus facile et plus rationnelle: on veut proposer une nouvelle question, on fait un nouveau fichier et on ne retouche pas le reste, parce que toucher à un fichier de 1600 lignes ça fait peur !!!


Pour le moment, je vais finir tranquillement mon fork dédié aux activités mentales sur la base du code source actuel. Une fois que j'ai un truc fonctionnel pour ce que je veux (c à d que je pourrais m'en servir à la rentré), je vais profiter des fêtes :D .
Puis je m'attaquerais aux modifications que je viens de proposer sur la base du code de fabienm. Si vous avez des remarques sur le design que j'ai proposé je serais ravi d'en débattre. La réalisation de ses modifications s'annonce compliqué pour moi, mais qui ne tente rien n'a rien. Le but est aussi de s'amuser et d'apprendre.
Sur ce bonne fête et a+
JB

culturoeil
Messages : 1
Inscription : 28 sept. 2012, 00:16

Re: Pyromaths version activité mentale

Message par culturoeil » 21 déc. 2012, 00:01

jbreizh a écrit :hello,
il faut en effet que je demande un accès git (à jérome c'est ça?).
J'ai mieux regarder ton travail fabien et je me permet quelques remarques (pas de critiques :? ) que j'espère constructives :
Fait gaffe hein ! Je suis susceptible !
jbreizh a écrit : -------------------------------------------------------------1ere remarque---------------------------------------------------------------------
Constat:
- on doit retoucher tous les exercices pour rajouter le paramètre nombre et environnement
C'est déja fait, ils sont tous retouchés. Oui, c'était chiant :)
jbreizh a écrit : - on doit rajouter les modifications d'entête et de pied d'exercice pour son environnement dans tous les exercices concernés par son environnement.
Oui mais t'auras pas le choix je pense, car c'est vraiment personnel à chaque exo. La bonne nouvelle est que je pense, dans la plupart du temps, que le template "par defaut" de chaque exo, celui du else, conviendra...
Pour les modifs je fais le choix de les placer dans les exos, car chaque exo a une mise en page bien particulière... C'était ma première idée de gérer la mise en page avant le code exo, mais honnêtement je ne vois pas comment le faire proprement...
jbreizh a écrit : - dans System.py on doit éventuellement rajouter des modifications pour des spécificités de son environnement.
Oui, y'a un bout de code dans system.py qui gère 2-3 trucs relatifs aux environnements. Pour l'instant c'est tout petit, mais si c'est amené à grossir ça devrait pas être trop dur à mettre dans une routine, voire un fichier à part... Je trouve pas ça gênant.
jbreizh a écrit : Je pense que ce sont des erreurs de design qui vont devenir très pénalisante si l'on souhaite multiplier les environnements.
Ce qui est sûr c'est que ma solution n'est pas parfaite... Je suis conscient que créer un nouvel environnement ne suffit pas, il faudra souvent rajouter un peu de code pour qu'il soit fonctionnel... comme pour toi avec nom_etablissement...
Mais je pense qu'elle peut permettre de bidouiller plus facilement ce merveilleux logiciel.
jbreizh a écrit : Je propose:
-de gérer les entêtes et les pieds d'exercice à l'extérieur des exercices eux même. Ceux ci sont rajouter au moment de la création de l'exercice (dans System.py création() ) et leur modèle sera stocké dans le dossier de l'environnement.
C'est pas bête :) C'est un boulot monstre par contre :)
jbreizh a écrit : -que l'on separe chaque exercice en question élémentaire (la fonction création de System.py créera l'exercice selon les paramètre de l'environnement) et que l'on rajoute éventuellement un paramètre permettant de gérer la difficulté (sinon il suffit de faire un question par difficulté)
Les exos sont décomposés en exo élémentaire lorsque l'exo le permet... L'appel des exos dans le menu.env permet de prendre en compte des paramètres dans l'appel de la fonction, dont un niveau de difficulté si le concepteur de l'exo a prévu ce genre de choses.
Je trouve que c'est un peu lourd de rajouter un param difficulté si 80% des exos n'utilisent pas cette fonctionnalité (le ratio doit tourner autour de ça....)
jbreizh a écrit : Tu as mis tous les exercices dans le même dossier sans aucun sous dossier. Je trouve que cela va a l'encontre de ton objectif de clareté.
T'as pas tord. J'ai tout regroupé un peu à l'arrache car je ne pouvais pas rester avec cette organisation par "classe", c'était illogique. Il faudrait regrouper par thèmes, et redécouper certains fichiers python, comme fractions ou developpements, c'est sûr. Encore une fois, c'est un sacré taff....
jbreizh a écrit : En plus j'ai remarqué que tu as regroupé des exercices ensembles, du coup on arrive à un fichier developpement.py de 1627 lignes !!! (oui j'ai choisis le plus gros pour bien exagerer :P ). Je comprends l'idée qui est d'éviter les duplications de code et les références croissés entre chaque exercice, mais je trouve encore une fois que ce n'est pas clair.
Y'a un gros boulot pour débroussailler le code des exos, j'ai tout regroupé à la main, c'était horrible, mais honnêtement jpense pas qu'il y ait trop de redondance (sauf pour thalès, la faudrait retoucher). Il faudrait aussi regrouper certaines routines dans outils, etc... C'est un sacré taff ;) Y'a aussi que l'ensemble des exos est un travail collaboratif, et qu'il est délicat de réorganiser le travail des autres. Bon ça m'a pas empeché de déposer mon ptit code partout dans chaque exo hein... Mais si celui qui a créé la majorité des exos de calcul littéral veut en créer un nouveau mais qu'il n'a plus ses repères car les appels des fonctions qu'il a créé ont changé, c'est embetant...
jbreizh a écrit : (...) Puis je m'attaquerais aux modifications que je viens de proposer sur la base du code de fabienm. (...)
JB
Bon courage, t'en auras besoin :). Dans le fond y'a beaucoup de modifs que tu envisages ou je suis pour, mais c'est juste que c'est un boulot de titan et qu'on a tous une vie à coté...

Répondre