KDevelop5/Manuel/Sessions et projets

From KDE Wiki Sandbox
Revision as of 06:15, 18 July 2018 by ChristianW (talk | contribs) (Created page with "* Ensuite '''KDevelop''' commencera à scruter la totalité du projet. Là aussi, cela prendra un certain moment pour parcourir tous les fichiers, pour indexer toutes les clas...")

Sessions et projets: les bases de KDevelop

Dans cette section, nous aborderons certains points de terminologie concernant la manière dont KDevelop voit le monde et comment il structure le travail. En particulier, nous introduirons le concept des sessions et celui des projets et expliquerons comment vous pourrez déclarer les projets sur lesquels vous voulez travailler à l'intérieur de KDevelop.

Terminologie

KDevelop utilise le concept de session et de project. Une session contient tous les projets qui ont quelque chose en commun. Dans les exemples ci-dessous, nous supposons que vous avez codé une bibliothèque et une application qui l'utilise. Pensez aux bibliothèques du coeur de KDE pour les premières et KDevelop pour le second. Un autre exemple: supposons que vous soyez un accroc du noyau Linux mais que vous travailliez aussi sur un gestionnaire d'équipement pour Linux qui n'a pas encore été intégré dans la dépendance du noyau.

Et donc, en prenant le dernier pour exemple, vous auriez une session dans KDevelop qui contient deux projets: le noyau Linux et le pilote de périphérique. Vous voudrez les rassembler à l'intérieur d'une même session (plutôt que d'avoir deux sessions avec un seul projet chacunes) car cela sera utile de pouvoir voir les fonctions du noyau et les structures de données dans KDevelop en même temps que vous écrirez le code source du pilote — par exemple afin d'avoir les fonctions du noyau et les noms des variables qui s'affichent automatiquement, ou bien afin de pouvoir voir la documentation des fonctions noyau alors que l'on développe le gestionnaire de périphérique.

Maintenant, imaginez que vous êtes aussi un développeur KDE. Ensuite, vous auriez une deuxième session qui contient KDE en tant que projet. Vous pouvez en principe avoir une seule session pour tout cela, mais il n'y a pas de raison valable: dans votre travail sur KDE, vous n'avez pas besoin d'accéder aux fonctions du noyau ou du pilote de périphérique; et vous ne voulez pas que les noms de classe KDE soient automatiquement développés en travaillant sur le noyau Linux. Enfin, la construction de certaines bibliothèques KDE est indépendante de la recompilation du noyau Linux (alors que chaque fois que vous compilez le pilote de périphérique, il serait bon de recompiler le noyau Linux si certains des fichiers d'entête du noyau ont changé).

Enfin, une autre utilisation pour les sessions est dans le cas où vous travaillez sur la version de développement actuelle d'un projet, en même temps que sur une branche: dans ce cas, vous ne voulez pas que 'KDevelop' perturbe les classes qui appartiennent à la branche principale et à celles de la branche dérivée, donc vous auriez deux sessions, avec le même ensemble de projets mais avec des répertoires différents (correspondant aux différentes branches de développement).

Démarrer une session et importer un projet existant

Restons avec l'exemple du noyau Linux et du pilote de périphérique — vous voudriez remplacer votre propre ensemble de bibliothèques ou de projets pour ces deux exemples. Pour créer une nouvelle session qui puisse contenir ces deux projets allez dans le menu Session -> Ouvrir une nouvelle session dans le coin supérieur gauche (ou bien, si c'est la première fois que vous utilisez KDevelop: utilisez simplement la session par défaut que vous avez eu à la première utilisation, et qui est vide). Ensuite, nous voulons remplir cette session avec des projets qui pour l'instant, nous le supposons, existent quelque part (le cas où les projets démarrent de zéro sera développé ailleurs dans ce manuel). Pour cela, il existe essentiellement deux méthodes, selon que le projet est déja quelque part sur votre disque dur ou bien qu'il doit être rapatrié d'un serveur.

Option 1: Importer un projet d'un serveur de système de gestion des versions

Supposons d'abord que le projet que nous voulons initialiser -- le noyau Linux -- est présent sous un système de contrôle de version sur un serveur, mais que vous ne l'avez pas encore ouvert pour le rapatrier sur votre disque dur. Dans ce cas, allez au menu Projet pour créer le noyau Linux en tant que projet à l'intérieur de la session courante puis suivez ces étapes :

  • Allez à Projets -> Rechercher un projet pour importer un projet
  • Ensuite vous avez plusieurs possibilités pour démarrer un nouveau projet dans la session courante, et cela en fonction de l'endroit où vos sources sont localisés : vous pouvez simplement faire pointer KDevelop vers un répertoire existant (voir option 2 ci-dessous), ou vous pouvez demander à KDevelop de récupérer les sources d'un dépôt.
  • En supposant que vous n'avez pas encore extrait de version:
    • Dans la boîte de dialogue, sous Choisir la source, sélectionnez l'utilisation de Sousversion, Git, ou l'un des autres choix
    • Choisissez un répertoire de travail comme destination dans lequel les sources seront extraits
    • Choisissez une URL comme adresse du dépôt contenant les fichiers source à extraire
    • Cliquez sur Obtenir. Ceci peut prendre du temps; selon la vitesse de votre liaison et la taille du projet. Malheureusement, dans KDevelop 4.2.x la barre de progression n'évolue pas, mais vous pouvez suivre cette progression en consultant périodiquement la sortie de la ligne de commande pour la commande suivante
      du -sk /path/to/KDevelop/project
      pour voir combien de données ont déjà été téléchargées.
Remarque
Le problème lié à la barre de progression a été référencé sous le numéro de bogue KDevelop 256832.
Remarque
Dans ce processus, j'obtiens aussi le message d'erreur Vous devez spécifier un chemin valide pour le projet qui peut être tout à fait ignoré.


  • Il vous est demandé de sélectionner un fichier projet KDevelop dans ce répertoire. Comme probablement vous n'en n'avez pas encore, cliquez simplement sur Suivant
  • Cliquez de nouveau sur Suivant
  • KDevelop vous demandera ensuite de choisir un gestionnaire de projet. Si ce projet utilise les fichiers make standards de Unix, choisissez le gestionnaire de projet du makefile client
  • Ensuite KDevelop commencera à scruter la totalité du projet. Là aussi, cela prendra un certain moment pour parcourir tous les fichiers, pour indexer toutes les classes, etc... . Dans le coin inférieur droit de la fenêtre principale, il y a une barre de progression qui indique la durée que prend ce processus. (Si votre processeur est à plusieurs coeurs, voous pouvez acccélérer ceci en allant sur l'élément de menu Configuration -> Configurer KDevelop , et en choisissant Analyser en tâche de fond sur la gauche, et en augmentant le nombre de processus pour l'analyse en tâche de fond, sur la droite.)

Option 2: Importer un projet qui est déja présent sur votre disque dur

Alternatively, if the project you want to work with already exists on your hard drive (for example, because you have downloaded it as a tar file from an FTP server, because you already checked out a version of the project from a version control system, or because it is your own project that exists only on your own hard drive), then use Projects -> Open/Import project and in the dialog box choose the directory in which your project resides.

Configurer une application en tant que second projet

The next thing you want to do is set up other projects in the same session. In the example above, you would want to add the device driver as the second project, which you can do using exactly the same steps.

Si vous avez de multiples applications ou bibliothèques, répétez simplement les étapes pour ajouter de plus en plus de projets à votre session.

Créer des projets à partir de rien

Il y a bien sûr aussi la possibilité pour vous de démarrer un nouveau projet de rien. Cela peut être fait en utilisant l'élément de menu Projets -> Nouveau à partir du modèle... , qui s'ouvre avec un dialogue de sélection de modèles.

Choisir une catégorie et un type de projet


Quelques modèles de projets sont fournis avec KDevelop, vous pouvez en trouver d'autres sur internet en cliquant sur le bouton Obtenir davantage de modèles, ou encore plus en installant l'application KAppTemplate . Choisissez le type de projet et le langage de programmation dans le dialogue, entrez un nom et la localisation de votre projet, et cliquez sur Suivant.

Choisir un système de contrôle des versions


The second page of the dialog allows you to set up a version control system. Choose the system you wish the use, and fill in the system-specific configuration if needed. If you do not wish to use a version control system, or want to set it up manually later, choose None. When you are happy with your choice, press Finish.

Votre projet est maintenant créé, vous pouvez donc essayer de le compiler et de l'installer. Quelques modèles vont inclure les commentaires dans le code, ou même dans un fichier README séparé, et il est recommander de les lire en priorité. Puis vous pourrez commencer à travailler sur votre projet, en ajoutant les fonctionalités que vous voulez.