Sommaire

Introduction au développement d'Inkscape

Lien du code : lp:inkscape

Nous présentons ici une référence rapide, pour vous aider à commencer à développer Inkscape. Pour obtenir les détails, regardez le wiki d'Inkscape et les autres documentations spécifiques.

Créer un compte sur Launchpad

Pour rapporter des bogues et aider concernant les sujets techniques, vous aurez besoin d'un compte Launchpad. Pour publier du code source, vous aurez également besoin de configurer des clefs SSH pour votre compte. Des instructions détaillées pour créer et configurer un compte sont disponibles dans le didacticiel d'utilisation de Launchpad.

Récupérer le code source

La première étape est d'obtenir le code source. Télécharger les fichiers du code source de la version publiée (« Release ») n'est pas suffisant car vous aurez besoin de la dernière version du code source pour développer Inkscape.

Inkscape utilise le système de contrôle de version Bazaar. Des instructions d'installation en fonction de votre plateforme sont disponibles ici. Sous Debian et ses dérivés (par ex. Ubuntu), vous avez besoin d'installer le paquet bzr. Sous Windows, vous aurez besoin de télécharger et d'exécuter l'installateur.

Nous recommandons de configurer un compte Launchpad (voir ci-dessus) avant d'obtenir le code source car il sera ainsi plus facile de publier vos modifications lorsque vous obtiendrez les droits de publication. Après avoir créé votre compte Launchpad, exécuter les commandes suivantes :

bzr whoami "Vrai Nom <courriel@domain.tld>"
bzr launchpad-login nomdutilisateur

où Vrai Nom est votre vrai nom ou un pseudonyme que vous souhaitez utiliser (il devrait être reconnaissable par les gens de la liste de diffusion), courriel@domain.tld est votre adresse électronique pour la correspondance relative à Inkscape (elle peut être masquée si vous voulez), et nomdutilisateur est votre nom d'utilisateur Launchpad. Avec cette configuration, vous pourrez publier une fois que vous aurez été approuvé en tant que membre de l'équipe des Développeurs Inkscape sur Launchpad.

Pour obtenir le dernier code source, utilisez la commande suivante :

bzr checkout lp:inkscape

Pour mettre à jour le code plus tard, utilisez :

bzr update

Utiliser Git

Si vous voulez utiliser Git à la place de Bazaar, vous pouvez facilement le faire grâce à l'adaptateur git-bzr. Lisez notre guide pour les utilisateurs de Git.

Compiler Inkscape sous une machine virtuelle VirtualBox

La manière la plus facile de compiler Inkscape est probablement d'utiliser inkup, qui vous fournit un fichier Vagrant capable de construire une machine virtuelle, qui construit Inkscape à partir des sources. Cela nécessite d'avoir VirtualBox et Vagrant installés sur votre machine.

Compiler Inkscape sous Linux

Pour compiler Inkscape, vous aurez besoin d'installer le compilateur GCC et les fichiers de développement de toutes les bibliothèques utilisées. La façon la plus facile de faire cela sur Debian et sur les distributions apparentées est d'utiliser la commande :

sudo apt-get build-dep inkscape

Notez que ceci installera les dépendances de développement disponibles dans vos dépôts pour le paquet Inkscape. Si le paquet est vieux, vous aurez peut-être besoin d'installer des dépendances supplémentaires ; la sortie du script configure devrait vous donner des indices à propos des besoins additionnels. Une fois que les dépendances ont été installées, utilisez les commandes suivantes dans le dossier du source code d'Inkscape :

./autogen.sh
./configure
make -j8
sudo make install

L'argument -j8 pour make indique de traiter 8 processus en parallèle. Vous pouvez ajuster ce nombre pour correspondre au nombre d'unités de traitement matériel disponibles sur votre ordinateur.

Compiler Inkscape sous Windows

Pour Windows, les fichiers de développement sont gardés dans le dépôt Inskcape Devlibs. Il est recommandé de les récupérer dans le dossier par défaut C:\devlibs. En plus du contenur de ce dépôt, vous aurez besoin du compilateur MinGW (les devlibs sont connues pour fonctionner avec TDM-GCC 4.6.1), Bazaar, PuTTY et NSIS, que vous aurez besoin d'installer séparément.

bzr checkout --lightweight lp:inkscape-devlibs C:\devlibs

Pour compiler Inkscape, utiliser l'utilitaire btool.

mingwenv
g++ buildtool.cpp -o btool
btool

Inkscape étant un gros projet, cela peut prendre un certain temps pour le compiler sur certains vieux processeurs. Vous pouvez utiliser ccache comme celui-ci pour réduire la durée de compilation.

Pour plus d'informations, voyez la page du wiki Compiler Inkscape pour Windows.

Compiler Inkscape sous Mac

Les instructions arriveront bientôt. Voyez la page du wiki.

Processus de développement

Bazaar

Comme le projet Inkscape utilise Bazaar en tant que système de contrôle de version (VCS), vous aurez besoin de l'utiliser pour contribuer au projet. Des informations plus détaillées à propos de Bazaar sont disponibles sur le Wiki d'Inkscape et dans la documentation officielle de Bazaar.

Déboguer avec GDB

Inkscape devrait être compilé avec l'option -g pour g++ afin de pouvoir être débogué avec GDB.

Développement d'Inkscape

Le code d'Inkscape

Inkscape a démarré comme une copie de Sodipodi, une application GNOME basée sur GObject. Inkscape est écrit en une mixture de C et de C++, pour des raisons historiques. Nous espérons finir par migrer complètement vers le C++. Il y a toutefois toujours beaucoup de code basé sur GObject, donc des connaissances en GObject sont nécessaires pour travailler dans Inkscape.

Inkscape utilise la boîte à outils GTK+ et la bibliothèque de support Glib. Nous migrons actuellement de GTK+ 2.0 vers GTK+ 3.0. Nous utilisons également les parties « en-tête seulement » de Boost (c'est donc une dépendance de compilation, mais pas d'exécution). Il est envisagé que la bibliothèque de géométrie lib2geom, écrite en C++, devienne finalement un projet séparé. Vous pouvez obtenir la dernière version de lib2geom depuis son dépôt Launchpad.

Savoir bien programmer en C++, et utiliser GTK est essentiel pour contribuer à Inkscape. Heureusement, ils ne sont pas si compliqués à apprendre ; lisez donc des didacticiels appropriés.

Style de programmation

Le guide du style de programmation d'Inkscape peut être trouvé ici.

Communauté