aboutsummaryrefslogtreecommitdiff
path: root/content/Informatique/2013-04-20-gueule1.rst
blob: 6fa3f04a78e80f702937c20c4b3801f9c6555119 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
.. -*- mode: rst -*-
.. -*-  coding: utf-8 -*-

Essai raté d'un plugin gedit
############################

:date: 20/04/2013
:tags: Programmation, Libre, Humeur, gtk
:logo: /images/gedit.png

.. default-role:: literal

En relisant mes articles, j'ai décidé d'utiliser languageTool_ pour vérifier la
grammaire avant de les publier. Puis en regardant l'outil, j'ai voulu voir s'il
existait un plugin gedit permettant de l'intégrer dans l'édition d'un texte
(j'utilise vim, je sais que ma compagne utilise gedit pour écrire ses textes).

Titivullus_ est disponible sur sourceforge, et est facile à installer (même si
l'auteur n'a pas compris comment fonctionnait SVN), par contre l'utilisation
n'est pas des plus pratiques : il faut charger la console d'erreur de gedit
(qui ne peut pas être réduite), et le plugin n'est pas configurable.

.. _languageTool: http://www.languagetool.org/
.. _Titivullus: http://sourceforge.net/projects/titivullus/

Heureusement, c'est du python !
===============================

Le code n'est pas compliqué à comprendre (il n'est pas parfait, mais à au moins
le mérite d'être là), et j'ai commencé à le modifier : première étape, appeler
languagetool en ligne de commande plutôt que de lancer le serveur web.
Deuxième étape, surligner dans gedit la ligne en erreur pour éviter d'avoir à
passer par la console pour savoir ce qui ne va pas ; on se plonge dans
l'édition de `plugin sous gedit`_, et là, c'est le drame !

.. _`plugin sous gedit`: https://live.gnome.org/Gedit/PythonPluginHowTo

Devant du code C
================

Le binding python est assez limité, il faut remonter dans l'API C pour trouver
ce que l'on cherche, et là :

* erreur 404 dans l'API (par exemple les liens de l'« Object Hierarchy » de
  GtkSourceView_)
* Des messages d'erreurs abscons dûs à l'introspection (par exemple en cas de
  mauvais objet passé en paramètre)
* Des dépendances de plus en plus importantes à chaque nouvelle étape (`gedit`,
  `gtk`, puis pango_\ …)

Plus j'avance, et plus j'ai l'impression que le chemin qui reste à parcourir
est grand ! Qu'il est loin le temps où je m'étais penché sur Vala_ pour
découvrir ! J'ai finalement laissé tomber, en ayant l'impression d'avoir perdu
mon temps : mettre en place un plugin sous gedit est définitivement trop
compliqué pour pouvoir être réalisé facilement, sans se plonger dans le code
GTK et le connaître sur le bout des doigts.

Dommage, pour une fois que j'avais envie de me plonger dans le code et
d'avancer… Je comprends que le greffon Titivullus soit resté à l'état de proff
of concept et que personne ne l'ai repris : cette petite aventure m'a fait
passer l'envie de me plonger dans du dev gnome !

.. _GtkSourceView: https://developer.gnome.org/gtksourceview/stable/GtkSourceView.html
.. _pango: https://developer.gnome.org/pango/stable/pango-Text-Attributes.html
.. _Vala: {filename}../Informatique/2010-06-11-vala.rst