<chapter id="tinkering-under-the-hood">
<!-- Uncomment the <*info
> below and add your name to be -->
<!-- credited for writing this section. -->

<!--
<chapterinfo>
<authorgroup>
<author>
<firstname
>Your First Name here</firstname>
<surname
>Your Surname here </surname>
</author>
</authorgroup>
</chapterinfo>
-->

<title
>Les secrets de &kde;</title>

<sect1 id="hand-editing-config-files">

<sect1info>
<author
><personname
> <firstname
>Nicolas</firstname
> <surname
>Goutte</surname
> </personname
> <email
>goutte@kde.org</email
> </author>
</sect1info>

<title
>Fichiers de configuration à modifier à la main</title>

<sect2 id="hand-editing-intro">
<title
>Introduction</title>
<para
>Dans &kde;, les fichiers de configuration sont faciles à modifier avec un simple éditeur de texte comme &kate; puisque les fichiers de configuration sont des fichiers textes.</para>

<para
>Un exemple de fichier texte :</para>

<programlisting
>[General]
AutoSave=1
LastFile=/var/tmp/test.txt</programlisting>

<para
>Les fichiers de configuration propres à l'utilsiateur sont stockés dans <filename class="directory"
>.kde/share/config</filename
> (remplacez <filename
>.kde</filename
> par votre paramètre $<envar
>KDEHOME</envar
>) et les fichiers globaux dans le sous-dossier <filename class="directory"
>share/config</filename
> du chemin d'installation de &kde;. (Vous pouvez trouver ce chemin d'accès en exécutant la commande <command
>kde-config --prefix</command
>.) Leurs noms de fichiers se terminent généralement par « rc » (sans point initial), par exemple <filename
>kopeterc</filename
>.</para>

<warning
><para
>Modifier des fichiers de configuration à la main peut mettre en péril la stabilité de votre installation &kde;. Les applications ne vérifient d'ordinaire ce qu'elles lisent dans les fichiers de configuration. Cela signifie qu'elles peuvent être perturbées par ce qu'elles obtiennent comme configuration, voire a planter ».</para
></warning>

</sect2>

<sect2 id="hand-editing-backups">
<title
>Sauvegardes</title>

<para
>Donc, la première règle est de faire une sauvegarde de votre fichier avant de le modifier. Il vaut mieux stocker la sauvegarde en dehors de tout sous-dossier <filename class="directory"
>.kde</filename
> (ou le dossier $<envar
>KDEHOME</envar
> correspondant). Les sauvegardes sont de toute façon une bonne idée en cas de dysfonctionnement majeur de &kde; qui endommagerait des fichiers de configuration importants (par exemple vos paramètres &kmail; qui sont dans le fichier <filename
>kmailrc</filename
>). (Un tel dysfonctionnement majeur a peu de chances de se produire, mais cela peut toujours arriver.)</para>
</sect2>

<sect2 id="hand-editing">
<title
>Édition</title>

<para
>Donc pourquoi voudriez-vous toucher aux fichiers de configuration en fait ? Bien, en premier lieu, vous devrez le faire quand vous voulez mettre en application le mode KIOSK. Peut-être un développeur vous a-t-il demandé d'ajouter un élément pour l'aider à résoudre un problème avec l'application. Peut-être voulez-vous tirer d'un problème sans avoir à supprimer tout le dossier <filename class="directory"
>.kde</filename
>. Ou alors voulez-vous approfondir les arcanes de &kde;.</para>

<para
>De toute façon, quelle que soit votre motivation, vous voulez modifier à la main un fichier de configuration.</para>

<para
>Lorsque vous projetez de modifier un tel fichier, assurez-vous que l'application qui l'utilise ne tourne pas. Si c'est un des fichiers de configuration fondamentaux, pensez à le modifier quand &kde; ne tourne pas du tout.</para>

<para
>Prêt ? Donc, faites une sauvegard du fichier (vous l'ai-je déjà dit ?), démarrez votre éditeur favori (supposons que ce soit &kate;), chargez le fichier (veillez à le charger au format UTF-8, &kate; l'affiche en tant que « utf8 »).</para>

<para
>Maintenant, vous avez un fichier comme :</para>

<programlisting
>[Group]
Key1=Value1
Key2=Value2
Key3=Value3</programlisting>

<para
>Vous pouvez maintenant le modifier (avec prudence !) puis l'enregistrer (à nouveau, soyez sûr qu'il est au format <acronym
>UTF-8</acronym
>).</para>

<para
>À présent, vous pouvez tester l'application et, si cette dernière ne fonctionne plus correctement, la fermer et restaurer la sauvegarde du fichier de configuration.</para>

<itemizedlist>
<title
>Informations connexes</title>


<listitem
><para
><xref linkend="kde-for-administrators"/> offre plus d'informations sur la structure de &kde; pour vous aider à chercher le fichier que vous devez modifier.</para>
</listitem>

</itemizedlist>

</sect2>

</sect1>

<sect1 id="scripting-the-desktop">
<title
>Scriptage du bureau</title>
<para
>Une brève introduction au scriptage DCOP. kdcop.</para>
</sect1>

<sect1 id="adding-extra-keys">
<title
>Ajouts d'associations de touches supplémentaires à &kde;</title>

<para
>De nombreux claviers modernes contiennent des touches supplémentaires qui ne sont par défaut affectées à aucune action.</para>

<para
>Les claviers « multimédia » offrent souvent de générer un signal et on peut simplement les choisir en tant qu'association de touches à l'intérieur d'une application exactement comme on choisirait n'importe quelle autre touche. Certaines touches, cependant, ne sont pas détectées et appuyer dessus dans <guilabel
>Configurer les raccourcis clavier...</guilabel
> n'a aucun effet.</para>

<para
>Certains ordinateurs portables IBM, par exemple, ont des touches supplémentaires autour des touches fléchées gauche et droite, qui ressemblent à <guiicon
>page gauche</guiicon
> et<guiicon
>page droite</guiicon
>.</para>

<procedure>
<step
><para
>Utilisez <command
>xev</command
> pour chercher le code des touches. Dans ce cas, il s'agit de 233 et234. </para
></step>
<step
><para
>Choisissez les symboles des touches. Comme il y en a toute une série qui ne sont pas utilisées par défaut, beaucoup sont libres. Vous pouvez en trouver la liste dans <filename
>/usr/X11R6/include/X11/keysymdef.h</filename
> (ou son équivalent sur votre système).</para
></step>
<step
><para
>Créez un fichier dans votre répertoire personnel appelé <filename
>.Xmodmap</filename
> et ajoutez-le à ceci :</para>
<screen
>keycode 233 = Next_Virtual_Screen
keycode 234 = Prev_Virtual_Screen</screen>
</step>
<step
><para
>Exécutez la commande <userinput
><command
>xmodmap</command
> <filename
>~/.Xmodmap</filename
></userinput
></para
></step>
</procedure>

<para
>À ce stade, vous devriez pouvoir exécuter <command
>xev</command
> à nouveau et constater que les touches génèrent maintenant les symboles de touches que vous avez affectés. Vous pouvez à présent simplement les affecter à n'importe quelle action, normalement.</para>

<itemizedlist>
<title
>Informations connexes</title>
<listitem
><para
>La page de manuel <command
>xev</command
>. Vous pouvez la consulter en saisissant <userinput
>man:/xev</userinput
> dans une fenêtre &konqueror; ou en saisissant <userinput
><command
>man</command
> xev</userinput
> dans un terminal.</para
></listitem>
</itemizedlist>

</sect1>

<sect1 id="keys-for-scripts">
<title
>Ajout d'associations de touches pour de nouelles actions</title>

<para
>La plupart des actions, soit dans le bureau, soit dans les applications, sont aisément disponibles pour une association de touche. Si l'action pour laquelle vous voulez un raccourci est quelque chose que vous avez écrit vous-même ou n'est pas disponible autrement, vous pouvez toujours affecter un raccourci.</para>

<para
>Pour relier les deux sections précédentes, peut-être voulez-vous affecter une touche, inutilisée autrement sur votre clavier, à un script ou à une commande dcop. Notre exemple ici consistera à affecter les deux touches que nous avons ajoutées dans <xref linkend="adding-extra-keys"/> pour aller sur le bureau virtuel précédent ou suivant, deux fonctions pour lesquelles vous aurez besoin de DCOP (comme étudié dans <xref linkend="scripting-the-desktop"/>.</para>

<para
>Vous y arriverez facilement à l'aide de la méthode suivante :</para>

<procedure>
<step>
<para
>Ouvrez &kcontrol; et, dans la section <guilabel
>Accessiblité &amp; Pays & langue</guilabel
>, sélectionnez <guilabel
>Raccourcis clavier</guilabel
></para>
</step>
<step>
<para
>Choisissez <guibutton
>Nouvelle action</guibutton
></para>
</step>
<step>
<para
>Nommez la nouvelle action, &pex; <userinput
>Écran virtuel suivant</userinput
></para>
</step>
<step>
<para
>Sélectionnez <guilabel
>Raccourcis clavier -> Commande / URL (simple)</guilabel
> pour le <guilabel
>Type de l'action :</guilabel
>.</para>
</step>
<step>
<para
>Dans l'onglet <guilabel
>Raccoucis clavier</guilabel
>, cliquez sur bouton dont vous souhaitez qu'il déclenche la commande. Pour cet exemple, cliquez sur celui sur lequel il y a l'image <guiicon
>Page suivante</guiicon
>. <keysym
>Écran_virtuel_suivant</keysym
> apparaît alors dans l'image de la touche.</para>
</step>
<step>
<para
>Dans l'onglet <guilabel
>Paramètres de la commande / de l'URL</guilabel
>, saisissez la commande à exécuter dans le champ : <userinput
><command
>dcop kwin default nextDesktop</command
></userinput
>.</para>
</step>
</procedure>

<para
>Répétez l'opération avec la touche <keysym
>Écran_virtuel_précédent</keysym
> et <userinput
><command
>dcop kwin default previousDesktop</command
></userinput
>.</para>

<para
>Maintenant, appuyer sur <keysym
>Écran_virtuel_précédent</keysym
> ou <keysym
>Écran_virtuel_suivant</keysym
> vous fera basculer sur le bureau virtuel précédent et suivant, respectivement.</para>

<para
>Évidemment, vous pouvez affecter n'importe quelle touche libre à n'importe quelle action.</para>

<itemizedlist>
<title
>Informations connexes</title
> 
<listitem
><para
>Reportez-vous à la documentation de <application
>KHotKeys</application
> en la cherchant dans le &centreAide; ou en saisissant <userinput
>help:/khotkeys</userinput
> dans une fenêtre &konqueror;.</para
></listitem
> 
<listitem
><para
><xref linkend="adding-extra-keys"/></para
></listitem>
<listitem
><para
><xref linkend="scripting-the-desktop"/></para
></listitem>
</itemizedlist>

</sect1>

<sect1 id="kdebugdialog">
<sect1info>
<authorgroup>
<author
><personname
> <firstname
>Adriaan</firstname
> <surname
>de Groot</surname
> </personname
> <email
>groot@kde.org</email
> </author>
</authorgroup>
</sect1info>

<title
>&kdebugdialog; - Contrôle de la sortie de débogage de &kde;</title>

<sect2 id="kdebugdialog-basic-usage">
<title
>Utilisation de base</title>

<para
>&kdebugdialog; n'est pas dans le &kmenu; par défaut. Vous devez le lancer depuis le shell ou le mini-CLI avec la commande <userinput
><command
>kdebugdialog</command
></userinput
>. &kdebugdialog; fait apparaître une fenêtre avec une longue liste de zones de débogage. Chaque zonecomporte une case que vous pouvez (dé)cocher afin de (dés)activer la sortie de débogage pour cette partie de &kde;.</para>

<para
>Comme la liste des zones de débogage est triée numériquement et non alphabétiquement, « kio » (127) vient avant « artskde » (400). Les nombres vont jusqu'à 200000 ou environ, mais il n'y a réellement que 400 zones. Vous n'avez donc pas à faire défiler la liste entière pour trouver la zone dont vous avez besoin, cependant. Il y a une zone de modification au début de la boîte de dialogue, où vous pouvez saisir une partie du nom de la zone que vous voulez. La liste des éléments qui est affichée est filtrée de façon à n'inclure que les zones de débogage qui contiennent le texte que vous avez saisi. Par exemple, la saisie de <userinput
>k</userinput
> ne filtre rien du tout, mais la saisie de <userinput
>kont</userinput
> vous affichera juste les zones de débogage de &kontact;. Comme moyen encore plus rapide de (dés)activer la sortie de débogage, il y a également les boutons <guibutton
>Tout sélectionner</guibutton
> et <guibutton
>Tout désélectionner</guibutton
>, qui amèneront &kde; à produire une énorme quantité de sortie de débogage ou très peu.</para>
</sect2>

<sect2 id="kdebugdialog-fullmode">
<title
>KDebugDialog en mode complet</title>

<!-- this text partly taken from the kdebugdialog handbook -->

<para
>En mode complet, ce que vous obtenez quand vous démarrez kdebugdialog en <userinput
><command
>kdebugdialog</command
> <option
>--fullmode</option
></userinput
>, la même liste de zones de débogage qu'en mode plein est disponible, mais vous ne pouvez en sélectionner qu'une à la fois dans une liste déoulante. Vous pouvez ensuite définir la sortie pour divers types de messages : Informations, Avertissement, Erreur et Erreur fatale. Pour chacun de ces types, vous pouvez choisir où sont envoyés les messages. Les choix sont :</para>

<para
>Fichier, dans lequel vous pouvez saisir un nom de fichier. Ce fichier est écrit dans votre répertoire $<envar
>HOME</envar
>.</para>

<para
>Boîte de dialogue. Chaque message de débogage est affiché dans une boîte de dialogue d'information et vous devez cliquer sur <guibutton
>OK</guibutton
> pour continuer avec l'application.</para>

<para
>Shell, l'élément par défaut. Les messages sont affichés sur stderr et apparaîtront soit dans la fenêtre du shell où l'application a été démarrée, soit dans <filename
>.xsession-errors</filename
>.</para>

<para
>Syslog. Cette option envoie chaque message de débogage à la fonction de journalisation système, qui peut effectuer son propre traitement du message.</para>

<para
>Aucun. Cette option supprimer la sortie de ce type de message.</para>

<para
>Pour les messages générés par des erreurs fatales, il est en principe peu judicieux de choisir « Aucun » ou « Syslog », puisque dans les deux cas, vous ne verrez probablement pas le message et que l'application qui rencontre l'erreur fatale disparaîtra sans laisser d'indices quand à la raison de sa disparition. Vous pouvez contrôler que l'application disparaisse ou non sur une erreur fatale avec la case <guilabel
>Arrêter lors de problèmes critiques</guilabel
>, qui est cochée par défaut  &mdash; mais vous pourriez vous attendre à ce qu'une application « plante » (d'une manière brutale) si elle rencontre une erreur fatale, de toute façon.</para>

<!-- Add links to "further reading" here -->
<itemizedlist>
<title
>Informations connexes</title>
<listitem
><para
></para>
</listitem>
</itemizedlist>



</sect2>
</sect1>
</chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:("index.docbook" "book" "chapter")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
