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

). 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é...