▄─▄ ▄─▄ ▄─▄─▄ ─▄─ ▄ ▄ ▄─▄ ──▄ ▄─▄ ▄─▄ ▄─▄ ▄─▄ ▄ ▄ ▄─▄ █─ █─█ █ █ █ █ █ █ █─ █ █ █─ █─▄ █─ █─ █─▀ ▀─▄ ▀ ▀ ▀ ▀ ▀ ▀ ─▀─ ▀─▀ ▀─▀ ▀─▀ ──▀ ▀─▀ ▀─▀ ▀─▀ ▀─▀ ▀ ▀ ▀─▀
Par un geek, pour les geeks
————————————————————————————————————————————————————————————————————————————————————————————————————
github-summary, je contribue au logiciel libre
————————————————————————————————————————————————————————————————————————————————————————————————————

Il m’est arrivé par le passé de contribuer modestement à certains projets libres dont j’en ai oublié les noms. Auparavant, les projets étaient dispersés sur les sites des auteurs ou sur des forges comme Sourceforge ou Savannah. Habituellement pour participer à un projet il fallait soit patcher les sources du projet soit être membres d’un projet.
Puis vint Github, son point fort est qu’il vous oblige à forker le projet avant d’effectuer la moindre modification. Au premier abord, on pourrait penser que trop de fork aurait pour conséquence de tuer le projet initial, mais il n’en est rien !
Grâce à Git et Github il est beaucoup plus facile pour moi de contribuer d’avantage au logiciel libre. La prochaine étape serait d’apporter mon savoir faire dans une société Opensource.
Revenons à nos moutons :) Pour résumer mes contributions sur la page principale de mon blog, j’ai créé un outil qui permet de générer sous divers formats un condensé de mes projets github auxquels j’ai participés.
Installation
Pour installer github-summary, vous avez 2 possibilités:
Soit l’installer depuis PyPI
pip install github-summaryOu directement depuis le dépot GitHub :)
pip install git+git://github.com/badele/github-summary.gitUtilisation
Modifier le fichier de configuration ~/.github-summary.py ou config.py. Pour
des raisons de sécurité je vous conseille de modifier vos paramètres dans le
fichier ~/.github-summary.py afin d’y stocker vos identifiants
Github (token).
Puis il suffit de lancer la commande ci-dessous.
githubsummary -t rst/index-en.rst -j example_projects.json -s example.rstCeci génèrera une page au format RST (pour le blog Pelican) en utilisant les options JSON
Options
Vous pouvez apporter des options pour chaque projet, le paramétrage se fait au format JSON. Pour l’instant, il est possible de modifier les heures passées sur un projet (grâce à org2json), comme par exemple le temps passé sur la contribution d’un projet (Pour cela j’utilise l’excellent Org mode d’emacs).
{
"fabrecipes": {
"hours": "89",
"description": "A overwriting description text for fabrecipe."
},
"JobCatcher": {
"hours": "108",
"description": "Another overwriting description text for JobCatcher."
},
"gitcheck": {
"hours": "15",
"url": "http://bruno.adele.im/projets/gitcheck",
"description": "Check multiple git repository in one pass."
},
"github-summary": {
"coveralls": "True",
"description": "Python tool for generate github summary in multiple formats (TXT, RST, HTML, ...)",
"pypi": "True",
"pydownload": "True",
"hours": "30",
"travis": "True"
}
}Comme expliqué précédemment, il est possible avant d’appeler github-summary de
surcharger le fichier de configuration avec les heures passées sur un projet,
pour cela il suffit d’exécuter la commande suivante
org2json -o project.org -s example_projects.jsonVoici un exemple pour la génération d’une page example.rst
githubsummary -t rst/index-en.rst -j example_projects.json -s example.rstVous pouvez visualiser le résultat sur la capture ci-dessous ou sur mon site personnel

Metadatas
- Tags:
- planet-libre | Github | Git | Opensource
- Sources:
- www.sourceforge.net
- savannah.gnu.org
- github.com
- git-scm.com
- pypi.python.org
- blog.getpelican.com
- orgmode.org
- bruno.adele.im
- IA: Aucune IA utilisée pour ce billet.