Follow us on:

Accueil » Développeurs » Introduction

Introduction au développement d'Inkscape

Cette introduction est destinée de servir de guide pour commencer rapidement à développer Inkscape. Pour plus de détails, regardez le Wiki 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. Sur Debian et ses dérivés (par ex. Ubuntu), vous avez besoin d'installer le paquet bzr. Sur Windows, vous aurez besoin de télécharger et d'exécuter l'installeur.

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 <e-mail@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), e-mail@domain.tld est votre e-mail pour la correspondance relative à Inkscape (il peut être masqué 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, utiliser 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 faire ça via l'adaptateur git-bzr. Lisez notre guide pour les utilisateurs de Git.

Compiler Inkscape sur 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 sur 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 sur 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.

Inkscape Development

The Inkscape Codebase

Inkscape started as a fork of Sodipodi, a GNOME application based on GObject. Inkscape is written in a mixture of C and C++, due to historical reasons. We hope to eventually migrate it to C++. There is still however, a lot of GObject-based code, so some knowledge of GObject is necessary to work with Inkscape.

Inkscape uses the GTK+ widget toolkit and the Glib support library. We are in the process of migrating from GTK+ 2.0 to GTK+ 3.0. We also use the header-only parts of Boost (i.e. it is a compile-time dependency, but not a runtime dependency). The geometry library lib2geom, written in C++, is intended to eventually become a separate project. You can get the latest version of lib2geom from its Launchpad repository.

Knowing how to program in C++, and use GTK is essential for contributing to Inkscape. Fortunately, these aren't that difficult to learn, so do read relevant tutorials.

Programming Style

Inkscape's programming style guidelines can be found here

Community