Découverte : Tutoriel Python et GTK3
En consultant les flux RSS d’un des blogs auquel je suis abonné, j’ai fais une découverte intéressante qui aidera, j’en suis sur, plusieurs personnes qui codent en PyGTK. Nous assistons depuis pas mal de temps à beaucoup de changements au niveau programmation. Non seulement libglade est remplacé par GtkBuiler au niveau de la conception des interfaces graphiques faites par le formidable outil qu’est Glade3 mais nous avons aussi une évolution de Python qui passe de la version 2.7 à la version 3.2. Celle-ci casse la rétro compatibilité ascendante qui existait jusqu’à présent avec les version antérieurs cad qu’une application créer auparavant avec Python 2.5 fonctionnait avec Python 2.6 par exemple. Pour corser le tout, la fameuse bibliothèque graphique GTK passe aussi de la version 2 à la version 3. Avec ces évolutions majeures, ce ne sera plus le cas “out-of-box”. Le programmeur est dans l’obligation de modifier et d’adapter son code pour faire face. Pour rappel, des applications faites en PyGTK2 ne fonctionneront plus à partir de Perfide Pangolin en ce qui concerne Ubuntu si rien n’a été entrepris auparavant. De même que Python 3.2 sera probablement par défaut après Perfide Pangolin.
Cependant tout n’est pas rose. De nombreuses fonctionnalités ne sont pas encore présentes dans Python 3.2 (d’ où la raison de son adoption tardive en tant que version par défaut de l’ ‘interpréteur Python). Vous pouvez toutefois soit l’installer à l’aide d’un gestionnaire de paquet soit en le compilant. La procédure est décrite sur cette page du blog de Carl Chenet, développeur Débian et Python. Toutefois, je vous déconseille de l’installer en tant qu’ interpréteur par défaut. Du moins pas tout de suite.
Mais ce n’est pas tout car pour compliquer le tout, GTK subit sa grande mutation et passe en version 3. GTK3 introduit donc lui aussi beaucoup de changement. Beaucoup de code obsolète a été supprimé. De nouvelles fonctions ont fait leur apparitions. Si GTK3 est plutôt assez bien documenté, ce n’est pas le cas du successeur de PyGtk2 , PyGobject 3.0 que l’on appelle aussi PyGTK3. Or sans documentation, il est difficile de coder que se soit une nouvelle application ou bien une déjà existante. Tout est-il perdu ? Non.
Souvent dans le Libre, une ou des personnes s’ attachent à réparer ce manque. C’est le cas avec le créateur de Gnome DVB Daemon, Sebastian Pölster qui a commencé à créer une documentation sur PyGobjet 3.0. Cette documentation est téléchargeable sur Git et est régulièrement mise à jour. Mais elle est fortement avancée. Deux possibilités vous sont offertes. :
- vous allez directement sur le site pour visualiser/imprimer la dernière version en date à cette adresse
- vous récupérer la version Git et après son installation, vous disposerez de cette documentation en “dur” sur votre ordinateur que vous consulterez dans votre navigateur internet. A cette occasion, vous vous rendrez compte qu’ elle ne diffère en rien de la documentation officielle de Python.
Mais comment faire cette installation ? Voici la procédure que j’ai appliqué.
Commencer par installer une dépendance nécessaire à sa compilation. Il s’agit de python-sphinx à l’aide de votre gestionnaire de paquet ou bien en ligne de commande de la manière suivante :
sudo apt-get install python-sphinx
Ensuite, il faut récupérer la version sur Github. Pour cela, il faut déjà avoir l’outil Git d’installer, ce qui se fait par la commande suivante:
sudo apt-get git
On récupére proprement dit la version sur Git.
git clone https://github.com/sebp/PyGObject-Tutorial.git
En console on entre dans le dossier PyGObject-Tutorial crée puis on lance la commande suivante :
make html
Un nouveau dossier build est créer. Celui-ci est composé de deux dossiers qui sont les suivants : doctree et html. Dans ce dernier dossier vous avez un fichier index.html que vous lancer avec votre navigateur habituel, en ce qui me concerne Firefox.
Une page dans le style de la documentation python est ouverte, page que vous pouvez consulter/imprimer à loisir.
Et voilà. Il reste cependant une inconnue et de taille à laquelle je ne sais pas répondre maintenant. Comment faire pour mettre ce tutoriel à jour ? Certes, recupérer les changements d’une branche git est une chose facile mais faut-il recompiler à chaque fois ? Y-a-t-il une procédure propre à python-sphinx ? Pour l’instant, je ne sais pas.
En tout cas, vous avez maintenant toute la documentation officielle pour savoir faire évoluer l’interface de votre application de PyGtk2 à PyGtk3 ou plutôt, selon la nomenclature officielle à PyGObject 3.0.
Classé dans:Découverte, Planet-Libre, Programmation, Python, Tutoriels Tagged: Documentation, GTK3, PyGobject, Python, Tutoriels