Avis aux développeurs : Branche environnement de git

Les informations utiles aux développeurs de Pyromaths.

Modérateur : Développeurs

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

Avis aux développeurs : Branche environnement de git

Message par fabienm » 06 nov. 2012, 00:46

Bonsoir à tous,
J'ai contacté jérome il y a quelques temps, car je souhaitais modifier un peu le programme pour qu'il colle davantage à l'utilisation que j'aimerais en faire.
J'ai ouvert une nouvelle branche sur le dépot, la branche environnement.

Mon idée de base est que je souhaitais avoir une mise en page beaucoup plus compacte des exos (4 colonnes sur une feuille a4 en mode portrait, et une colonne pour chaque élève, 4 fois moins de photocopies !), car je pense que je ne suis pas le seul à avoir des quotas sur les photocops... Seulement, ça implique de changer la mise en page de tous les exercices un par un. Donc soit je change tout dans mon coin soit j'ouvre une branche qui permet de faire mes modifs de manière plus souple.

Actuellement y'a rien de nouveau vu de l'extérieur sur cette branche. A l'intérieur, l'affichage des onglets et des exercices se fait à l'aide d'un nouveau fichier, env.xml, et la liste d'exercice que l'on veut créer est construite à partir de ce fichier (Accessoirement, on peut donc changer simplement les menus et les onglets à l'aide de ce fichier). Ensuite, tous les fichiers des exos des différents niveaux ont été mergés dans un seul et unique dossier, exercices, et c'est le fichier liste.py qui se charge de tout importer et de fabriquer l'exo passé en paramètre.

Prochainement, je vais donc essayer de créer une variable globale contenant l'environnement en cours, et dans chaque exo d'afficher ou pas des multicols (par exemple, moi ça me suffira dans la plupart des exos...) suivant l'environnement ou on se trouve.

Je suis pas un très bon programmeur, et c'est la première fois que j'utilise git, donc j'ai essayé de mettre mon travail en ligne mais je suis pas sûr de mon coup... Ah, puis y'a sûrement des bugs qui trainent :)

Vous pouvez lire le fichier ENV ou j'ai essayé de détailler un peu plus les modifs que j'ai fait en interne.

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

Re: Avis aux développeurs : Branche environnement de git

Message par Arnaud » 07 nov. 2012, 22:35

Bonsoir,

C'est quand même une sacrée tâche dans laquelle tu t'es lancé.
Créer un modèle spécifique latex couplé avec une impression n-up ( n pages sur 1 ) ne suffirait pas à résoudre le problème ?

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

Re: Avis aux développeurs : Branche environnement de git

Message par fabienm » 12 nov. 2012, 03:12

Mon histoire d'environnement est fonctionelle, si on met de côté quelques imperfections.

Y'a une nouvelle option dans l'onglet option qui permet de changer d'environnement dynamiquement. Un des plus gros défaut actuellement est de bien vérifier quand on change d'environnement que le fichier de sortie des exos est bien celui voulu...

Y'a 4 environnements actuellement :
- pyromaths qui garde la config originale du logiciel
- par_themes qui garde les mêmes fichiers de sortie, mais classe les exos par thèmes au lieu de classes
- 4_colonnes qui tire des exos en 4 colonnes en mode portrait. Vu la config tex de sortie, peu d'exos sont disponibles dans cet environnement, il me sert à sortir des calculs brutaux.
- 3_colonnes qui fait pareil mais sur 3 colonnes, il y a plus de place et cet environnnement autorise plus d'exercices que 4_colonnes.

TODO :
- J'ai quelques soucis avec les locales pour mes noms d'onglets mais j'ai la flemme
- Je gère toujours pas les paramètres d'exos : Conversions est donc toujours non dispo
- Je voudrais que sur des exos comme les fractions, les devs, ou les equations, le nombre d'exos demandé correspondent au nombre de fractions, de devs, ou d'équations sorties sur le fichier tex.

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

Re: Avis aux développeurs : Branche environnement de git

Message par fabienm » 16 nov. 2012, 02:09

environnement gère maintenant les paramètres d'exos.

Tous les exos prennent obligatoirement deux paramètres : nb_exos et env.
Dans le source, on doit avoir
def exo_bidon(param_1, param_2, ....., param_n, nb_exos, env)

mais dans les fichiers env, on ne doit pas voir nb_exos et env
<exo name="mon exo bidon">fichier.exo_bidon(param_1, param_2, ....., param_n)</exo>

Les exos gèrent tous le nombre d'exercice demandé "intelligement", sauf quelques exercices en géométrie que je n'ai pas encore eut le temps de traiter.
exemple : Si on demande 5 exos "affine",y'aura 5 exos, avec 5 énoncés, 5 graphiques, 5 séries de questions, mais si on demande 17 exos fractions égales, il ne créera qu'un seul exo, avec 17 fractions à l'intérieur...

Je me suis permi, pardon aux auteurs, de retoucher le code des exos pour gérer le nombre d'exercices demandé, j'ai essayé à chaque fois de trouver un compromis temps/respect de l'esprit originale de l'exo.

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Avis aux développeurs : Branche environnement de git

Message par Jérôme » 16 nov. 2012, 20:28

Merci Fabien de nous faire part de tes avancées. J'essaierai de prendre le temps de voir ce que ça donne ce week-end.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

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

Re: Avis aux développeurs : Branche environnement de git

Message par fabienm » 18 nov. 2012, 00:39

Grosso modo j'ai fini, ça correspond à ce que je souhaitais faire.

Je gère pas les étiquettes, la mise en page est perfectible sur certains trucs.
Ca se lance chez moi sous debian...

Je vais grandement ralentir sur les petites modifs qu'il reste à faire, c'est fonctionnel tel quel mais j'ai pas essayé de compiler, de voir ce que ça donnait sous windows etc...

Voici par exemple 7 exos égalités de fractions, 5 exos addition de fractions, et 5 exos multiplication de fractions, sortis sous l'environnement pyromaths et sous l'environnement 4_colonnes.

Env pyromaths :
Image

Env 4_colonnes :
Image

Souvent je leur donne une colonne le mercredi, et ça me permet de leur donner 4-5 calculs toute la semaine à la maison en plus des éventuels travaux à la maison.

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Avis aux développeurs : Branche environnement de git

Message par Jérôme » 18 nov. 2012, 12:02

Bonjour Fabien,
tu as effectué un très gros travail en très peu de temps. Félicitations.
Est-il envisageable dans l'état actuel du code que l'environnement Pyromaths optimise le nombre de colonnes. Je m'explique : dans l'exercice 2, il y a quatre colonnes pour 5 calculs, ce qui fait qu'une colonne est vide. Il serait plus esthétique qu'il y ait 3 colonnes dans ce cas là, car sur 5 colonnes je pense que ça ne passe pas.
Plus ennuyeux : dans les sommes de fractions niveau 4e, les questions sont évolutives il me semble. Les premiers calculs ont des fractions avec dénominateur multiples, contrairement aux derniers. Comment gères-tu cela ?
Encore merci pour tout le travail fourni.
Amicalement,
Jérôme
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

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

Re: Avis aux développeurs : Branche environnement de git

Message par fabienm » 18 nov. 2012, 14:27

Jérôme a écrit :Bonjour Fabien,
tu as effectué un très gros travail en très peu de temps. Félicitations.
Merci, mais je n'ai qu'arrangé à ma sauce le logiciel, c'est finalement peu...
Jérôme a écrit : Est-il envisageable dans l'état actuel du code que l'environnement Pyromaths optimise le nombre de colonnes. Je m'explique : dans l'exercice 2, il y a quatre colonnes pour 5 calculs, ce qui fait qu'une colonne est vide. Il serait plus esthétique qu'il y ait 3 colonnes dans ce cas là, car sur 5 colonnes je pense que ça ne passe pas.
Par défaut dans le code de cet exo, il y a 4 colonnes, tout le temps. Ce qui ne posait aucun problème dans le code initial, ou 8 fractions étaient fournies c'est vrai.
J'ai fait le choix de laisser 4 colonnes tout le temps, par contre c'est vrai que c'est assez disgracieux qu'il n'y en ait pas dans les deux dernières, ça serait plus joli 2 dans la col 1 et 1 dans les autres.
Ca doit aussi etre possible de faire un nombre de colonnes dynamique, ça impose de mener une réflexion sur ce qui sera le plus esthétique en fonction du nombre de fractions demandé....
Honnetement c'est sûrement faisable de faire plus joli....
Jérôme a écrit : Plus ennuyeux : dans les sommes de fractions niveau 4e, les questions sont évolutives il me semble. Les premiers calculs ont des fractions avec dénominateur multiples, contrairement aux derniers. Comment gères-tu cela ?
Encore merci pour tout le travail fourni.
Amicalement,
Jérôme
Voila le code d'origine sur les choix :

Code : Tout sélectionner

    for i in range(8):
        if i%2:
            (l, sol, res) = sommes_fractions_4e(op.pop(0), i//2+1)
        else:
            (l, sol, res) = sommes_fractions_4e(op.pop(random.randrange(2)),
                                                i//2+1)
Voila le mien :

Code : Tout sélectionner

    for i in range(nb_exos):
        choix = random.randrange(2)
        if i < (nb_exos/4):
            (l, sol, res) = sommes_fractions_4e(op[choix], 1)
        elif i > (3*nb_exos/4):
            (l, sol, res) = sommes_fractions_4e(op[choix], 4)
        else:
            (l, sol, res) = sommes_fractions_4e(op[choix], random.randrange(2)+2)
L'opération est toujours random, au début on met la difficulté "facile", à la fin, que des "durs", et au milieu, on brode entre la difficulté 2 et 3...
Ca fait parti des choix drastiques, et discutables, que j'ai eut à faire...

Ici ça va, mais j'avoue que retoucher tous les exos était rébarbatif et que j'ai souvenir d'en avoir "saccagé" 1 ou 2 :oops:

De toute façon, ma branche, bien qu'utilisable, n'est pas prête à utiliser en production, il faudra peaufiner tout ça... Mais je vais prendre mon temps, je suis à la bourre sur mes copies avec ces histoires un truc de dingue !!!

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Avis aux développeurs : Branche environnement de git

Message par Jérôme » 18 nov. 2012, 15:24

fabienm a écrit : De toute façon, ma branche, bien qu'utilisable, n'est pas prête à utiliser en production, il faudra peaufiner tout ça... Mais je vais prendre mon temps, je suis à la bourre sur mes copies avec ces histoires un truc de dingue !!!
C'est très prenant, hein ? :D C'est pour cela que je ne veux pas y mettre les doigts tant que je prépare l'agreg.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

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

Re: Avis aux développeurs : Branche environnement de git

Message par fabienm » 18 nov. 2012, 20:23

Jérôme a écrit : C'est très prenant, hein ? :D C'est pour cela que je ne veux pas y mettre les doigts tant que je prépare l'agreg.
T'as bien raison :) Je suis inscrit aussi, mais c'est mal barré j'ai pas fait grand chose à part un peu d'algèbre.
Enfin moi de toute façon j'ai pas encore l'ancienneté, c'est juste pour voir à l'écrit si j'ai de beaux restes... ou pas...

Pour revenir aux exos, je ferai déja un certain nombre de commits quand je tirerai mes fiches pour mes élèves...

Bon courage pour l'agreg, ça approche !

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

Re: Avis aux développeurs : Branche environnement de git

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

J'ai fait quelques commits ces derniers jours :

- Les vignettes sont fonctionnelles dans tous les environnements.
- J'ai amélioré le rendu de certains exos, sous les environnements par_themes et pyromaths. J'ai essayé d'améliorer l'histoire des colonnes que tu m'avais signalé jérome, sur les fractions, histoire qui se retrouve sur d'autres exos, comme ceux de calculs mental, mais j'ai jamais réussi à pondre quelque chose de satisfaisant... J'ai donc laissé tel quel
- J'ai amélioré le code de certains exos, en particulier j'ai retrouvé les deux exos que j'avais saccagé :)
- Le fichier de sortie tex sélectionné dans la gui par défaut est le fichier default.tex qui se trouve dans l'environnement actuel.
- Je sais pas si je l'avais dit, mais j'ai fait un nouvel exos d'équations pour le niveau quatrième. Vu que pour le coup c'est mon premier bout de code "personnel", on voit bien ici mon piètre niveau de python quand à la structure du code :)
- J'ai corrigé divers bugs et imperfections que j'ai pu trouver.

Répondre