Pyromaths est sur GitHub

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur : Développeurs

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

Pyromaths est sur GitHub

Message par Jérôme » 13 févr. 2015, 18:21

Bonjour,

j'ai enfin franchi le pas. Pyromaths est en ligne sur GitHub : https://github.com/JeromeO/Pyromaths
Je vais passer mon serveur Git en read only afin qu'il soit toujours lisible par ceux qui ont effectué des modifications.

Bon 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

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Pyromaths est sur GitHub

Message par Yves » 14 févr. 2015, 15:28

Salut Jérôme, j'ai fait un fork et j'ai envoyé un pull request.

Bon week-end à toi aussi.

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

Re: Pyromaths est sur GitHub

Message par Jérôme » 14 févr. 2015, 16:06

Salut Yves,

tout d'abord, désolé pour le bug que tu as soulevé, je l'ai oublié. J'essaierai de regarder ça rapidement et de poster une nouvelle version.

Pourrais-tu m'envoyer une version MacOS pour que je la publie sur le site ?

Enfin, je viens de regarder ce que tu as posté sur le GitHub. Logiquement, l'utilisation de latexmk devrait supprimer l'intérêt de la fonction nettoyage. En effet, l'appel à
latexmk -C
permet de nettoyer tous ces fichiers temporaires. j'aurais d'ailleurs dû modifier cette fonction, qui ne sert plus que pour supprimer le fichier latexmkrc. Qu'en penses-tu ?

Pour la deuxième modification, je pense que ce fichier ne sert à rien. Pour faire le binaire Windows, j'ai fait référence à/pyromaths.py et ça fonctionne très bien. Pourrais-tu essayer ?

À plus tard.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Pyromaths est sur GitHub

Message par Yves » 14 févr. 2015, 17:57

Voici une version OS X de Pyromaths 15.02: http://www.pyromaths.org/telecharger/py ... -macos.dmg

Pour mon pull request sur GitHub:
  • Sur mon Mac, j'ai 4 fichiers qui ne sont pas nettoyés automatiquement : exercices-corrige.auxlock, exercices-corrige.pre, exercices-pyromaths.log et latexmkrc
  • En faisant référence à /pyromaths.py, py2app ne fonctionne plus (erreur d'import de modules).
Je viens de voir que les fichiers figure*.md5 ne sont pas non plus nettoyés.

spalax
Messages : 86
Inscription : 20 juil. 2011, 02:23
Localisation : Isère
Contact :

Re: Pyromaths est sur GitHub

Message par spalax » 15 févr. 2015, 16:21

Jérôme a écrit :j'ai enfin franchi le pas. Pyromaths est en ligne sur GitHub : https://github.com/JeromeO/Pyromaths
Je vais passer mon serveur Git en read only afin qu'il soit toujours lisible par ceux qui ont effectué des modifications.
Super ! Petite question, du coup, puisque les deux dépôts sont différents : quel dépôt est le dépôt officiel, sur lequel le développement doit être fait : celui de github ou l'ancien ?

-- Louis

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

Re: Pyromaths est sur GitHub

Message par Jérôme » 15 févr. 2015, 18:27

Bonjour,
il ne faut utiliser que le GitHub. Je n'ai plus l'intention d'utiliser mon serveur Git.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

spalax
Messages : 86
Inscription : 20 juil. 2011, 02:23
Localisation : Isère
Contact :

Re: Pyromaths est sur GitHub

Message par spalax » 15 févr. 2015, 20:18

Jérôme a écrit :Bonjour,
il ne faut utiliser que le GitHub. Je n'ai plus l'intention d'utiliser mon serveur Git.
Très bien. Du coup, on a perdu les informations : branches, tags, etc. C'est fait exprès pour repartir de zéro ou pas ? Tu sais que tu aurais pu ajouter github comme deuxième « remote », faire un push, pour garder tout ça ?
Sinon, on peut aussi « à la main » ajouter les info importantes manquantes (je pense notamment à la branche develop).

Bonne soirée,
Louis

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

Re: Pyromaths est sur GitHub

Message par Jérôme » 16 févr. 2015, 15:21

Salut louis,
merci pour toutes ces informations. Comment dois-je procéder ? Un push de l'existant aurait sans doute été bien.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

spalax
Messages : 86
Inscription : 20 juil. 2011, 02:23
Localisation : Isère
Contact :

Re: Pyromaths est sur GitHub

Message par spalax » 16 févr. 2015, 16:31

Tant qu'on y est, je pense aux « organisations » sur github. Leur création nous est proposée dans le même menu que pour créer un nouveau dépôt (le + en haut, à côté de ton nom d'utilisateur ; il te propose de payer, mais il te propose aussi de sélectionner $0 si le logiciel hébergé est libre, ce qui est le cas). Une organisation est un moyen de créer des dépôt qui sont liés à une organisation (un groupe de personnes) plutôt qu'à une personne. Ça permet la création de plusieurs dépôt (pas forcément utile pour le moment pour pyromaths, sauf si tu veux aussi y mettre le site web, par exemple, s'il est aussi géré par git) ; ça permet aussi la gestion fine des autorisations : tu peux te mettre grand chef, et attribuer aux contributeurs des droits de modification sur un dépôt en particulier.

Un autre avantage (anecdotique) est que l'url du dépôt changerait (pyromaths/pyromaths plutôt que jeromeo/pyromaths), ce qui fait que le merge disgracieux de la méthode 2 (ci-après) n'aurait plus lieu d'être.

Honnêtement, je ne sais pas si c'est mieux que de laisser pyromaths comme un de tes projets (comme c'est le cas actuellement). À toi de voir !


=========
Méthode 1
=========

Tu n'as pas envie de faire ça, tu me donnes les droits sur le dépôt (sur github, je suis "paternal") et je m'en occupe.

=========
Méthode 2
=========

Avec git, on peut avoir autant de serveurs qu'on veut pour un même dépôt (c'est le côté décentralisé). La méthode suivante n'est pas la plus fine, mais elle permet de *tout* copier de ton serveur vers github. Vu que tu as déjà copié le code dans le dépôt actuel, on aura une trace de ça dans l'historique, mais rien de grave (de toutes façons, c'est git : rien ne sera perdu, même en cas de problèmes).

Dans ta version locale de ton dépôt git (celui correspondant à ton serveur, avec tout l'historique et les branches qu'on veut garder), modifie le fichier `.git/config`. Il doit contenir actuellement quelque chose comme :

Code : Tout sélectionner

  [core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
  [remote "origin"]
    url = ssh://git@pyromaths.org:7422/pyromaths.git
    fetch = +refs/heads/*:refs/remotes/origin/*
  [branch "master"]
    remote = origin
    merge = refs/heads/master
  [branch "develop"]
    remote = origin
    merge = refs/heads/develop
La ligne qui nous intéresse, c'est `url = ssh://git@pyromaths.org:7422/pyromaths.git`. Elle indique l'adresse du serveur. Il suffit de la remplacer par : `url = ssh://git@github.com:JeromeO/Pyromaths.git`. Ensuite :

1. Fait un `git pull origin master` pour récupérer le dépôt actuel qui est sur github, et le merger avec ton dépôt local.
2. Fait un `git push --all` pour pusher toutes tes branches sur github.
3. Fait un `git push --tags` pour pusher les tags sur github.

Normalement, on a tout.


Il serait aussi possible de supprimer le dépôt sur github pour le recréer ensuite, pour ne pas avoir besoin de faire le merge cité plus haut. Mais le problème est que si quelqu'un a déjà cloné ce dépôt, et qu'on le supprime/recréee, ça lui créera des trucs bizarres au prochain pull.



=========
Méthode 3
=========

Plus propre d'un certain point de vue, mais moins rapide.

En deux commandes, dans le dépôt original (dans ta copie locale, pas sur ton serveur) :

Code : Tout sélectionner

git remote add github git@github.com:JeromeO/Pyromaths.git
git pull github master
git push github master
La première commande signifie à git qu'il y a deux serveurs avec lesquels dialoguer : origin (ton serveur) et github.

La seconde commande (le pull) va synchroniser les branches master de github et de ton serveur. Si tu as fait des modif, il y aura un peu de boulot.

Ensuite, un `git branch -a` devrait te donner (je ne mets que les lignes correspondantes aux branches master).

Code : Tout sélectionner

* master                                        21b569e Version 14.06
  remotes/github/master                         36eba9e Initial commit on GitHub
  remotes/origin/master                         21b569e Version 14.06
Enfin, branche par branche, tu te déplaces dans ta branche `git checkout developp` et tu la push dans github `git push github developp`. Il faut faire ça pour chaque branche.

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

Re: Pyromaths est sur GitHub

Message par Jérôme » 16 févr. 2015, 19:33

Merci beaucoup pour toutes ces informations.

J'ai fait ce que tu m'as proposé (enfin je crois). J'ai créé une organisation Pyromaths et j'ai intégré les modifications comme convenu. À présent, puis-je supprimer JeromeO/Pyromaths ?
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

spalax
Messages : 86
Inscription : 20 juil. 2011, 02:23
Localisation : Isère
Contact :

Re: Pyromaths est sur GitHub

Message par spalax » 16 févr. 2015, 19:57

Jérôme a écrit : J'ai fait ce que tu m'as proposé (enfin je crois). J'ai créé une organisation Pyromaths et j'ai intégré les modifications comme convenu. À présent, puis-je supprimer JeromeO/Pyromaths ?
Les dépôts JeromeO/Pyromaths et pyromaths/pyromaths sont deux dépôts distincs. Tu peux supprimer JeromeO/Pyromaths sans incidence sur l'autre (il faudra juste qu'Yves refasse sa pull request). https://github.com/JeromeO/Pyromaths/pull/1

Bonne soirée,
Louis

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Pyromaths est sur GitHub

Message par Yves » 16 févr. 2015, 20:37

  • Sur mon mac, la commande latexmk -C ne produit pas l'effet escompté. Si ce problème était résolu, la fonction de nettoyage pourrait effectivement se limiter à la suppression du fichier latexmkrc.
  • Le fichier src/pyromaths.py est utile pour le packaging OS X.
Donc, en l'état actuel le pull request est toujours d'actualité. Je le referai sur le nouveau dépôt.

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

Re: Pyromaths est sur GitHub

Message par Arnaud » 16 févr. 2015, 22:09

Merci Jérôme pour la migration, je trouve que c'est une très bonne chose.
Ce n'était pas nécessaire d'aller me chercher sur github, je me serais inscrit tout seul :)

Merci aussi à spalax pour les explications sur la notion d'organisation, c'est intéressant.

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Pyromaths est sur GitHub

Message par Yves » 19 févr. 2015, 14:42

Le fait d'être à présent membre de l'organisation Pyromaths ne justifie plus l'utilité du fork et de la pull request. Merci Jérôme pour le retour de src/pyromaths.py. J'ai commité les changements relatifs à la notion de nettoyage, ça a de toute façon l'utilité de supprimer le fichier latexmkrc.

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

Re: Pyromaths est sur GitHub

Message par Jérôme » 19 févr. 2015, 15:34

Yves a écrit :ça a de toute façon l'utilité de supprimer le fichier latexmkrc.
Absolument. Pourrais-tu cependant vérifier la version de latexmk installée sous MacOS ? J'utilise la 4.39. C'est peut-être la raison pour laquelle ça ne fonctionne pas comme prévu.
As-tu testé un des nouveaux exercices de 2nde sous MacOS ? Ils utilisent à la fois Asymptote et tikz. Tu peux essayer celui intitulé « Tableaux de variations et courbe » par exemple.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Répondre