Documentation de Pyromaths 21.8.2

3. Bidouilles : Quelques outils pour développer Pyromaths

«  2. Tutoriel : Créer un nouvel exercice   ::   Contenu   ::   4. Personnaliser un modèle de document  »

3. Bidouilles : Quelques outils pour développer Pyromaths

Quelques outils permettent aux personnes développant Pyromaths de faciliter leur travail. Ces outils sont présents dans le dépôt mais ne sont pas distribués avec Pyromaths parce que :

Ces outils sont destinés à des développeurs ou développeuses : il se peut qu’ils ne fonctionnent que sous GNU/Linux, qu’ils soient cassés sans que personne ne s’en soit rendu compte, qu’ils soient obsolètes, ou autre. À utiliser à vos risques et périls.

Ils sont situés dans le dépôt, dans le dossier utils.

3.1. Tests de non régression

utils/bidouilles test

Cet outil permet de mettre en œuvre des tests de non régression pour les exercices.

3.1.1. Principe

Les exercices de Pyromaths sont générés aléatoirement. Néanmoins, en fixant la graine (random.seed()) du générateur aléatoire, il est possible de générer deux fois de suite exactement le même exercice.

Le principe de ces tests est le suivant : la personne concevant un exercice peut en valider un énoncé particulier. Plus tard, il sera possible de vérifier que l’exercice produit toujours exactement la même sortie.

Cet outil est conçu de telle manière à ce que l’appel au module unittest de Python (par exemple avec python3 -m unittest discover) effectue tous ces tests.

3.1.2. Commandes

3.1.2.1. Description rapide

Les commandes détaillées sont décrites ci-après. En voici une version simplifiée.

  • Création (python3 -m pyromaths.cli test create), suppression des tests (python3 -m pyromaths.cli test remove)
  • Mise à jour des tests (python3 -m pyromaths.cli test update) : Effectue les tests, et propose de mettre à jour les tests qui ont changé. Utile si le code LaTeX généré a changé, mais l’exercice reste valide pour autant.
  • Exécution des tests (python3 -m pyromaths.cli test check) : Effectue les tests. Les tests sont aussi exécutés lorsqu”unittest est appelé.

3.1.2.2. Description complète

3.2. Manipulation des tags

utils/bidouilles test

Cet outil permet de :

  • renommer un tag dans tous les exercices (par exemple, je veux que dans tous les exercices concernés, le tag systeme devienne Système d'équations ;
  • choisir les tags pour des exercices : pour chaque exercice donné en argument, cet outil affiche l’exercice, et la liste des tags, et permet de choisir des tags existants pour cet exercice, ou d’en ajouter de nouveaux.

3.3. Manipulation des exercices

utils/bidouilles exo

Cet outil permet de :

  • renommer un exercice. Attention : ce programme renomme des fichiers du dépôt git, et en modifie d’autres. Il est tout à fait possible qu’il ne fasse pas bien son travail. Il faut donc vérifier à la main, par la suite, que tout a été fait correctement.

3.4. Génération des vignettes

utils/creer-vignettes.py

Cet outil crée les vignettes des exercices (des images au format png de l’énoncé). Il ne prend pas d’arguments, mais ne crée que les vignettes des exercices qui ont changé.

3.5. Création d’une nouvelle version

utils/make_packages.sh

Cet outil crée une nouvelle version : changement du numéro, création d’un tag git, édition du changelog, etc.

«  2. Tutoriel : Créer un nouvel exercice   ::   Contenu   ::   4. Personnaliser un modèle de document  »