<chapter id="kdevelop-survey">

<chapterinfo>
  <authorgroup>
    <author
><firstname
>Bernd</firstname
><surname
>Pol</surname
></author>
    <!-- ROLES_OF_TRANSLATORS -->
  </authorgroup>
</chapterinfo>

<title
>Vue d'ensemble des fonctionnalités de &kdevelop;</title>

<indexterm zone="kdevelop-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>aperçu</secondary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>vue globale</primary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>aperçu</primary
></indexterm>

<para
>&kdevelop; intègre une pléthore d'outils, de scripts et de modèles dans une interface utilisateur commune. Elle se compose essentiellement de <itemizedlist>
  <listitem
><para
>plusieurs <link linkend="uimodes-survey"
>modes d'interface utilisateur</link
> à partir desquels vous pouvez choisir l'apparence (ou <emphasis
>look and feel</emphasis
>) de votre espace de travail, </para
></listitem>
  <listitem
><para
>un <link linkend="applicationwizard"
>&appwizard;</link
> qui vous assiste lors de la configuration d'un nouveau projet, </para
></listitem>
  <listitem
><para
>plusieurs <link linkend="makesystems"
>systèmes de gestion de projet</link
> qui vous assistent lors de la conception et de la gestion de votre projet, </para
></listitem>
  <listitem
><para
>quelques <link linkend="editing"
>outils d'édition</link
>pour travailler facilement sur les textes de vos programmes, </para
></listitem>
  <listitem
><para
>divers <link linkend="file-browsers"
>navigateurs de fichiers</link
>, qui vous offrent différents affichages sur votre système de fichiers, </para
></listitem>
  <listitem
><para
>divers <link linkend="class-browsers"
>afficheurs de classes</link
> pour vous aider à maintenir les classes de votre projet de programmation orientée objet, ainsi que leurs relations, </para
></listitem>
  <listitem
><para
>une <link linkend="debugger"
>interface de débogage</link
> pour chercher et supprimer des erreurs de programmation depuis &kdevelop;, et </para
></listitem>
  <listitem
><para
>plusieurs <link linkend="plugin-tools"
>outils modules externes</link
> (ou <emphasis
>plugins</emphasis
>), des modules extensibles que l'on peut charger pendant l'exécution et à la demande. Ceci vous permet de n'activer ces fonctionnalités que si vous en avez réellement besoin. </para
></listitem>
  <listitem
><para
>un ensemble d'autres outils de diagnostic, de documentation et d'aide à l'optimisation. </para
></listitem>
</itemizedlist>
</para>

<note>
  <para
>En fait, il existe trois applications basées sur &kdevelop; : </para>
  <itemizedlist>
    <listitem
><para
>L'EDI &kdevelop; &mdash; l'endroit où vous travaillerez habituellement.</para
></listitem>
    <listitem
><para
>Le navigateur de documentation autonome de l'assistant &kdevelop; &mdash; isole toutes les puissantes fonctions de documentation de l'EDI &kdevelop; dans un outil séparé. Il est très pratique lorsque vous voulez consulter de la documentation sur la programmation mais que vous ne souhaitez pas démarrer l'EDI complet.</para
></listitem>
    <listitem
><para
>Le programme &kdevelop; Designer &mdash; améliore le concepteur d'interface utilisateur &Qt; par les éléments propres à &kde; et l'intègre avec élegance dans l'EDI &kdevelop;.</para
></listitem>
  </itemizedlist>
</note>


<sect1 id="uimodes-survey">
<title
>Modes d'interface utilisateur disponibles</title>

<indexterm zone="uimodes-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>modes d'interface utilisateur</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>interface utilisateur</primary>
  <secondary
>modes &kdevelop;</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>modes d'interface utilisateur (IU)</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Fenêtres enfants</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Pages à onglets</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Fenêtres de premier niveau</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>IDEAl</primary
></indexterm>

<para
>&kdevelop; offre aux développeurs quatre modes d'interface utilisateur séparés (cliquez sur le nom du mode pour afficher un exemple) : <itemizedlist>
  <listitem
><para
><link linkend="ideal-desc"
>IDEAl</link
></para>
  <para
>Il s'agit d'une approche originale d'interface utilisateur optimisant à la fois l'espace de travail et la gestion intuitive des outils. </para>
  <itemizedlist>
    <listitem
><para
>Toutes les vues correspondant aux outils sont intégrées à la manière d'une barre d'onglets autour de la fenêtre principale. Elles sont groupées à gauche, en bas et à droite, en fonction des services fournis. </para
></listitem>
    <listitem
><para
>Les vues de l'éditeur et du navigateur seront superposées dans une fenêtre à onglets de grande taille au milieu de la zone de fenêtre principale. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="mdi-desc"
>Fenêtres enfants</link
></para>
  <itemizedlist>
    <listitem
><para
>Toutes les vues correspondant aux outils sont intialement intégrées à la fenêtre principale.</para
></listitem>
    <listitem
><para
>Les vues de l'éditeur et du navigateur seront actives comme les fenêtres de premier niveau au sein d'une zone d'affichage de la fenêtre principale.</para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="tabbed-desc"
>Pages à onglets</link
></para>
  <itemizedlist>
    <listitem
><para
>Toutes les vues correspondant aux outils sont intialement intégrées à la fenêtre principale. </para
></listitem>
    <listitem
><para
>Les vues de l'éditeur et du navigateur seront superposées dans une fenêtre à onglets. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="toplevel-desc"
>Fenêtres de premier niveau</link
></para>
  <itemizedlist>
    <listitem
><para
>Toutes les vues de l'éditeur, du navigateur et des outils seront des fenêtres de premier niveau directement sur le bureau. </para
></listitem>
    <listitem
><para
>L'élément graphique (« widget ») principal ne contient que le menu, les barres d'outils et la barre d'état. </para
></listitem>
  </itemizedlist>
  </listitem>

</itemizedlist>
</para>

<sect2 id="uimodes-switch">
<title
>Comment changer de mode d'interface utilisateur</title>

<indexterm zone="uimodes-switch">
  <primary
>interface utilisateur</primary>
  <secondary
>changer de mode</secondary
></indexterm>
<indexterm zone="uimodes-switch">
  <primary
>changer de mode d'interface utilisateur (IU)</primary
></indexterm>

<para
>Pour changer le mode d'interface utilisateur, sélectionnez <menuchoice
> <guimenu
>Configuration</guimenu
> <guimenuitem
>Configurer KDevelop...</guimenuitem
> </menuchoice
> dans les menus. La boîte de dialogue <guilabel
>Personnaliser KDevelop</guilabel
> apparaît, dans laquelle vous sélectionnez <guilabel
>Interface utilisaeur</guilabel
> dans l'arborescence de la partie gauche. Cette action affichera la page de configuration illustrée ci-dessous. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="select-user-interface.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Choisissez un mode d'interface utilisateur </para
></caption>
  </mediaobject>
</screenshot>

<para
>(Les versions antérieures de &kdevelop; fournissent le début de la section relative au mode de sélection uniquement.) </para>

<para
>Dans la section <guilabel
>Mode d'affichage de l'interface utilisateur principale</guilabel
>, cliquez sur le bouton radio du mode interface utilisateur dans lequel vous voulez travailler. </para>
<para
>Selon le mode d'interface utilisateur que vous avez sélectionné, d'autres sections de configuration deviendront disponibles, où vous pouvez adapter plus de détails concernant l'apparence à vos préférences. Consultez le chapitre <link linkend="setup-ui"
>Sélectionner l'interface utilisateur</link
> pour plus de détails. </para>

<note
><para
>N'oubliez pas de redémarrer &kdevelop; afin que vos sélections puissent prendre effet. </para
></note>

</sect2
> <!-- uimodes-switch -->

<sect2 id="maximize-workspace">
<title
>Comment maximiser la zone d'espace de travail</title>

<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>espace de travail</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>maximiser l'espace de travail</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface utilisateur</primary>
  <secondary
>espace de travail</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface utilisateur</primary>
  <secondary
>barre de menus</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface utilisateur</primary>
  <secondary
>mode plein écran</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>mode plein écran</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>barre de menus</primary>
  <secondary
>masquer / afficher</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>masquer la barre de menus</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>afficher la barre de menus</primary
></indexterm>

<para
>Pour maximiser l'espace, vous disposez d'un mode fenêtre plein écran qui étend la zone de la fenêtre principale jusqu'aux bords de l'écran. Vous pouvez gagner de l'espace supplémentaire en masquant la barre de menus. Et, bien entendu masquer n'importe quelle barre d'outils comme d'habitude dans les applications <application
>KDE</application
>. </para>

<variablelist>
<varlistentry>
<term
>Mode plein écran</term>
<listitem>
<para
>Pour basculer vers, ou depuis le mode plein écran, sélectionnez <menuchoice
> <guimenu
>Affichage</guimenu
> <guimenuitem
>Mode plein écran</guimenuitem
> </menuchoice
> dans les menus ou appuyez sur <keycombo
> <keycap
>&Ctrl;</keycap
> <keycap
>&Maj;</keycap
> <keycap
>F</keycap
> </keycombo
>. Il y a également une icône <guiicon
>Mode plein écran</guiicon
> disponible dans la <guilabel
>barre d'outils du navigateur</guilabel
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Masquer / Afficher la barre de menus</term>
<listitem>
<para
>Pour <emphasis
>cacher</emphasis
> la barre de menus, sélectionnez <menuchoice
> <guimenu
>Configuration</guimenu
> <guimenuitem
>Afficher la barre de menus</guimenuitem
> </menuchoice
> à partir des menus ou appuyez sur <keycombo
> <keycap
>&Ctrl;</keycap
> <keycap
>M</keycap
> </keycombo
>. Vous pouvez également inclure une icône <guiicon
>Afficher la barre de menus</guiicon
> dans une barre d'outils appropriée, &pex; la <guilabel
>Barre d'outils du navigateur</guilabel
> dans ce but. Pour <emphasis
>afficher</emphasis
> la barre de menus, vous devez appuyer sur <keycombo
> <keycap
>&Ctrl;</keycap
> <keycap
>M</keycap
> </keycombo
> ou utiliser l'icône <guiicon
>Afficher la barre de menus</guiicon
> si elle est disponible. </para>
</listitem>
</varlistentry>
</variablelist>

</sect2
> <!-- maximize-workspace -->

</sect1
> <!-- uimodes-survey -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="ui-elements">
<title
>Éléments de l'interface utilisateur</title>

<para
>(... à écrire ...) </para>

<sect2 id="ui-elements-workarea">
<title
>La zone de travail</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-workarea -->

<sect2 id="ui-elements-titlebar">
<title
>La barre de titre de &kdevelop;</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-titlebar -->

<sect2 id="ui-elements-statusbar">
<title
>La barre d'état de &kdevelop;</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-statusbar -->

<sect2 id="ui-elements-menubar">
<title
>La barre de menus</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-menubar -->

<sect2 id="ui-elements-toolbars">
<title
>Les barres d'outils</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-toolbars -->

<sect2 id="ui-elements-treetoolviews">
<title
>Les vues des outils en arborescence</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-treetoolviews -->

<sect2 id="ui-elements-outputtoolviews">
<title
>Les vues des outils de visualisation des sorties</title>

<para
>(... à écrire ...) </para>
</sect2
> <!-- ui-elements-outputtoolviews -->

</sect1
> <!-- ui-elements -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="makesystems">
<title
>Systèmes de gestion des projets</title>

<indexterm zone="makesystems">
  <primary
>gestion des projets</primary
></indexterm>

<para
>Globalement, un projet repose sur une certaine forme de système de gestion de projet. &kdevelop; offre quatre <emphasis
>systèmes de gestion de projet</emphasis
> permettant au programmeur de faire son choix quand il crée un nouveau projet. <itemizedlist>
  <listitem
><para
>Les <link linkend="automake-project"
>projets Automake</link
> utilisent les outils standard de développement de &GNU;. </para
></listitem>
  <listitem
><para
>Les <link linkend="qmake-project"
>projets QMake</link
> utilisent le gestionnaire de projet QMake Trolltech. </para
></listitem>
  <listitem
><para
>Les <link linkend="ant-project"
>projets ANT</link
> utilisent le gestionnaire de projet Apache ANT pour le développement en &Java;. </para
></listitem>
  <listitem
><para
>Les <link linkend="custom-project"
>projets personnalisés</link
> exigent que vous mainteniez vos propres <filename
>Makefiles</filename
>. </para
></listitem>
</itemizedlist>
</para>

<sect2 id="automake-project">
<title
>Projets Automake</title>

<indexterm zone="automake-project">
  <primary
>projets</primary>
  <secondary
>automake</secondary
></indexterm>
<indexterm zone="automake-project">
  <primary
>automake</primary>
  <secondary
>projets</secondary
></indexterm>

<para
>Les projets créés avec l'&automanag; de &kdevelop; facilitent considérablement aux développeurs l'utilisation des outils standard de développement de &GNU;. Ils fournissent <itemizedlist>
  <listitem
><para
>une meilleure façon de générer un fichier <filename
>Makefile</filename
> et </para
></listitem>
  <listitem
><para
>une méthode excellente et fiable pour une adaptation rapide à différents systèmes par scripts <filename
>configure</filename
> générés par autoconf. </para
></listitem>
</itemizedlist>
</para>
</sect2
> <!-- automake-project -->

<sect2 id="qmake-project">
<title
>Projets QMake</title>

<indexterm zone="qmake-project">
  <primary
>projets</primary>
  <secondary
>qmake</secondary
></indexterm>
<indexterm zone="qmake-project">
  <primary
>qmake</primary>
  <secondary
>projets</secondary
></indexterm>

<para
>Pour les développeurs qui apprécient la souplesse et le profil du système qmake de &Qt;, &kdevelop; offre la capacité de gérer des projets basés sur qmake (fichiers .pro) au sein de l'interface graphique. </para>
<para
>Pour plus d'informations sur le gestionnaire de projet QMake, reportez-vous au « Guide de l'utilisateur qmake » qui devrait être inclus dans votre distribution ou jetez un coup d'œil à la page d'accueil de la <ulink url="http://doc.trolltech.com/"
>Documentation de TROLLTECH</ulink
> : vous y trouverez la documentation QMake de votre version du « Qt C++ GUI Application Development Toolkit ». </para>
</sect2
> <!-- qmake-project -->

<sect2 id="cmake-project">
<title
>Projets CMake</title>

<indexterm zone="cmake-project">
  <primary
>projets</primary>
  <secondary
>cmake</secondary
></indexterm>
<indexterm zone="cmake-project">
  <primary
>cmake</primary>
  <secondary
>projets</secondary
></indexterm>

<para
>CMake sera le système de construction &kde; pour &kde; 4 et &kdevelop; fournit déjà quelques modèles basés sur CMake en C et C++. Il ne vous faut que le programme cmake dans votre $<envar
>PATH</envar
> pour les construire. </para>
<para
>Pour configurer un nouveau projet C ou C++ dans &kdevelop; sélectionnez <menuchoice
><guimenu
>Projet</guimenu
> <guimenuitem
>Nouveau projet...</guimenuitem
> <guimenuitem
>C ou C++</guimenuitem
> <guimenuitem
>Projets basés sur CMake</guimenuitem
> <guimenuitem
>Un modèle de bibliothèque partagé ou le programme « Bonjour tout le monde »</guimenuitem
> </menuchoice
>. </para>
</sect2
> <!-- cmake-project -->

<sect2 id="ant-project">
<title
>Projets ANT (projets &Java;)</title>

<indexterm zone="ant-project">
  <primary
>projets</primary>
  <secondary
>ant</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>ant</primary>
  <secondary
>projets</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>projets</primary>
  <secondary
>Java</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>Java</primary>
  <secondary
>projets</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>développement</primary>
  <secondary
>Java</secondary
></indexterm>

<para
>Les développeurs &Java; peuvent être amenés à utiliser le gestionnaire de projet Apache ANT pour leurs projets. Pour configurer un nouveau projet Ant dans &kdevelop; sélectionnez <menuchoice
><guimenu
>Projet</guimenu
> <guimenuitem
>Nouveau projet...</guimenuitem
> <guimenuitem
>Java</guimenuitem
> <guimenuitem
>Projet Ant</guimenuitem
> <guimenuitem
>Application</guimenuitem
></menuchoice
>. </para>
<para
>Pour plus d'informations, reportez-vous à la page d'accueil du<ulink url="http://ant.apache.org/"
>Projet Apache Ant</ulink
>. </para>
</sect2
> <!-- ant-project -->

<sect2 id="custom-project">
<title
>Projets personnalisés</title>

<indexterm zone="custom-project">
  <primary
>projets</primary>
  <secondary
>personnalisés</secondary
></indexterm>
<indexterm zone="custom-project">
  <primary
>projets personnalisés</primary
></indexterm>
<indexterm zone="custom-project">
  <primary
>Makefile</primary>
  <secondary
>projets personnalisés</secondary
></indexterm>

<para
>Si vous préférez maintenir vos propres fichiers <filename
>Makefiles</filename
> pour votre projet, utilisez l'option de projet personnalisé de &kdevelop;. Cette opération peut s'envisager dans des projets structurés de façon inhabituelle ou si vous souhaitez garder un entier contrôle sur le processus <command
>make</command
>. </para>
<para
>De plus, si vous n'avez pas <emphasis
>réellement besoin</emphasis
> de la souplesse supplémentaire et du contrôle du gestionnaire de projet personnalisé, vous devriez penser à l'&automanag; ou à un des autres gestionnaires de projets, car ils facilitent considérablement la construction du programme et les processus de distribution. </para>
</sect2
> <!-- custom-project -->

<sect2 id="makesystems-distribution">
<title
>Comment distribuer votre application</title>

<indexterm zone="makesystems-distribution">
  <primary
>distribution</primary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>application</primary>
  <secondary
>distribution</secondary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>paquetages exécutables</primary
></indexterm>

<para
>La distribution de vos applications n'exige pas que l'utilisateur final ait quoi que ce soit d'autre installé que <itemizedlist>
  <listitem
><para
>un compilateur approprié,</para
></listitem>
  <listitem
><para
>un éditeur de liens, et</para
></listitem>
  <listitem
><para
>les bibliothèques de développement appropriées,</para
></listitem>
</itemizedlist>
</para>
<para
>ce qui, au moins pour les applications C++, est le plus souvent le cas. Mais vous pouvez également distribuer des <emphasis
>paquetages exécutables</emphasis
> de votre application. Dans l'une ou l'autre méthode, l'utilisateur final de votre produit n'a pas besoin que &kdevelop; soit installé. </para>
<para
>Pour diffuser vos sources, nous vous conseillons d'inclure le <emphasis
>fichier projet</emphasis
> de &kdevelop; également. Il sera ainsi beaucoup plus facile pour d'autres développeurs&mdash;s'ils utilisent &kdevelop; &mdash; de travailler avec vos sources. </para>
<para
>Pour les projets dans lesquels <emphasis
>plusieurs développeurs</emphasis
> travaillent peut-être à des endroits différents, ce devrait être la règle. Ainsi, vous pouvez vérifier que la cohérence des <filename
>Makefiles</filename
> ne pose pas de problème. </para>
<para
>En particulier, dans les applications multilangues, les <emphasis
>traducteurs</emphasis
> ne travailleront pas véritablement avec le code source, sauf dans les cas qui exigent une correction pour permettre la prise en charge de la traduction. </para>

</sect2
> <!-- makesystems-distribution -->

</sect1
> <!-- makesystems -->

</chapter
> <!-- kdevelop-survey -->
