<chapter id="ktimemon">
<chapterinfo>

<title>&ktimemon;</title>

<authorgroup>
<author><firstname>Martin</firstname> <surname>Maierhofer</surname> <affiliation> <address><email>m.maierhofer@tees.ac.uk</email></address>
</affiliation>
</author>
&traducteurYvesDessertine; 
</authorgroup>
<date>2001-11-29</date> <releaseinfo>0.03.01</releaseinfo> <abstract> <para>&ktimemon; est un moniteur système pour l'environnement de bureau KDE</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>ktimemon</keyword>
<keyword>moniteur système</keyword>
<keyword>timemon</keyword>
</keywordset>
</chapterinfo>

<title>Introduction</title>

<para>&ktimemon; est un petit programme pour garder une trace de l'utilisation système de votre ordinateur. Il peut afficher des histogrammes contenant des informations à propos du processeur, de la mémoire, de l'utilisation de la mémoire virtuelle, ainsi que de l'utilisation du disque et de l'activité de changement de contexte. Pour coller à l'esprit <ulink url="http://www.kde.org/">KDE</ulink>, il est configurable via une interface graphique. Il gère également le <emphasis>placement</emphasis> sur le tableau de bord, &cad; qu'il peut afficher des informations dans la boîte à miniatures du tableau de bord.</para>

<note>
<para>Actuellement, &ktimemon; ne supporte qu'un nombre limité de systèmes : les installations fondées sur &Linux; avec le système de fichiers <filename>/proc</filename>, les installations fondées sur &Solaris; avec la librairie <filename>kstat</filename>, et les installations fondées sur Digital &UNIX; (autrefois DEC / OSF1) avec l'appel système <command>table</command>(2). L'aide pour le portage vers d'autres plates-formes sera la bienvenue. </para>
</note>

<para>&ktimemon; peut être démarré depuis la ligne de commande ou depuis le menu <guimenu>démarrer</guimenu> de &kde; (dans le sous-menu <guisubmenu>Utilitaires</guisubmenu>). Si vous choisissez de le démarrer depuis la ligne de commande, &ktimemon; interprète les arguments de programmes habituels de &X-Window;, tels que <option>-geometry</option>. &ktimemon; <emphasis>gère les sessions</emphasis>, &cad; qu'il garde la trace de l'état actuel (couleur, &etc;) et le restaure à la prochaine session de l'utilisateur. </para>

<sect1 id="fund">
<title>Utilisation de l'interface</title>

<para>Après le démarrage de &ktimemon;, une petite fenêtre va apparaître affichant des informations rassemblées depuis le système d'exploitation. Si vous déplacez le curseur de la souris sur la fenêtre de &ktimemon; et restez dessus quelques temps, une <emphasis>Bulle d'aide</emphasis> (&cad; une petite fenêtre éphémère) apparaîtra. La bulle d'aide comporte des informations numériques à propos des paramètres systèmes représentés par des histogrammes. Les bulles d'aides peuvent êtres désactivées (reportez-vous à la section <link linkend="config">Configuration</link>). </para> 

<sect2 id="modes">
<title>Modes d'affichage</title>

<para>&ktimemon; peut afficher deux types d'informations système. Comme expliqué dans le chapitre <link linkend="config">Configuration</link>, les boutons de la souris peuvent être affectés à différentes actions. Par défaut, le bouton gauche de la souris est affecté à l'action changement de mode, &cad; qu'en cliquant avec le &BGS; n'importe où dans la fenêtre de &ktimemon;, les informations affichées passeront du <guilabel>Mode normal</guilabel> (le mode par défaut) au <guilabel>Mode étendu</guilabel>, et vice versa. </para>

<sect3 id="normalmode">
<title>Mode normal</title>

<para>Après le premier démarrage de &ktimemon;, celui-ci va afficher des informations quant à l'occupation actuelle du processeur, ainsi qu'à l'utilisation de mémoire et du fichier d'échange. Trois histogrammes sont utilisés pour afficher ces informations  ; ils sont mis à jour régulièrement (l'intervalle d'échantillonage par défaut est de 0,5 s, mais il peut être changé, reportez-vous à la section <link linkend="config">Configuration</link>). Les trois histogrammes représentent (de gauche à droite) : <variablelist>
<varlistentry>
<term>Utilisation du processeur.</term>
<listitem>
<para>&ktimemon; affiche les barres dans trois couleur différentes, qui représentent le temps passé par le processeur dans les différents modes. De bas en haut se trouvent : mode noyau, mode utilisateur et mode utilisateur avec priorité abaissée (<emphasis>nice</emphasis>) - comme les systèmes Solaris ne semblent pas supporter ce mode, la partie la plus en haut de la barre représente le temps passé en état <emphasis>wait</emphasis> sur ces systèmes. L'espace libre entre le haut de la barre et le haut de la fenêtre représente le pourcentage de temps d'inactivité du processeur.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Utilisation de la mémoire.</term>
<listitem>
<para>Similaire à la barre d'utilisation du processeur, cette barre est composée de trois zones, représentant (de bas en haut) : la mémoire allouée par les processus, la mémoire utilisée pour le tampon d'entrées / sorties, et la mémoire utilisée pour le cache de fichiers. Pour les systèmes basés sur Digital &UNIX;, la section du milieu représente la mémoire <quote>inactive</quote> (&cad; la mémoire allouée et inutilisée pendant un certain intervalle de temps), et sur les systèmes basés sur &Solaris;, la section du milieu de la barre n'est pas utilisée, et la section la plus en haut représente la quantité de mémoire utilisée par le noyau. Encore une fois, l'espace libre entre le haut de la barre et le haut de la fenêtre représente le pourcentage de mémoire libre.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Utilisation du fichier d'échange.</term>
<listitem>
<para>Cette barre est composée d'une seule zone représentant le fichier d'échange actuellement utilisé par rapport à la taille totale du fichier d'échange du système. </para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>Le fait de cliquer avec le bouton de la souris affecté à <quote>changement de mode</quote> dans la fenêtre de &ktimemon; passera en <quote>Mode étendu</quote>.</para>

</sect3>

<sect3 id="xtndmode">
<title>Mode étendu </title>

<para>Dans ce mode, les trois histogrammes sont utilisés pour afficher différents types d'informations système. Une fois de plus, de la gauche vers la droite, ils montrent :</para>

<variablelist>
<varlistentry>
<term>Activité de pagination.</term>
<listitem>
<para>Cette barre est composée de deux parties, la moitié du bas de celle-ci montre le nombre de pages mémoire écrites vers l'espace de stockage secondaire pendant le dernier intervalle de vérification. De la même façon, la moitié du haut indique le nombre de pages lues depuis l'espace de stockage secondaire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Activité du fichier d'échange.</term>
<listitem>
<para>La deuxième barre affiche des informations analogues pour l'activité du fichier d'échange.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Changements de contexte.</term>
<listitem>
<para>Une fois de plus, cette barre est composée d'une seule zone indiquant le nombre de changements de contexte pendant le dernier intervalle de vérification.</para>
</listitem>
</varlistentry>
</variablelist>

<para>Comme il n'y a aucun moyen <quote>naturel</quote> de mise à l'échelle de l'information affichée en <quote>Mode étendu</quote>, par défaut, &ktimemon; utilise une <emphasis>mise à l'échelle automatique</emphasis> (expliquée dans la section <link linkend="autoscaling">Questions et réponses courantes</link>). Vous avez toutefois la possibilité de spécifier les informations d'échelle, reportez-vous à la section <link linkend="config">Configuration</link>.</para>

<para>Notez que les deux jeux d'histogrammes partagent les même couleurs, &cad; que la configuration des couleurs pour le <quote>Mode normal</quote> est aussi utilisée pour le <quote>Mode étendu</quote> (reportez-vous à la section <link linkend="config">Configuration</link> pour savoir comment changer le modèle de couleurs).</para>
</sect3>
</sect2>
  </sect1>

<sect1 id="menu">
<title>Structure des menus</title>

<para>Par défaut, le &BDS; est affecté à l'action <quote>affichage du menu</quote>, &cad; que le fait de cliquer avec le &BDS; n'importe où dans la fenêtre de &ktimemon; affichera un menu, qui est décrit dans les sections suivantes. </para>

<sect2 id="config-menu">
<title><guimenuitem>Paramètres...</guimenuitem></title>

<para>L'entrée de menu <guimenuitem>Paramètres...</guimenuitem> est utilisée pour faire apparaître la boîte de dialogue de configuration. Les options de configuration sont décrites dans la section <link linkend="config">Configuration</link>. </para> 
</sect2>

<sect2 id="docked-in-panel">
<title><guimenuitem>Incrusté dans le tableau de bord</guimenuitem></title>

<para>En sélectionnant l'entrée de menu <guimenuitem>Incrusté dans le tableau de bord</guimenuitem>, &ktimemon; passe de l'affichage standard (&cad; une fenêtre normale) à l'état placé dans le tableau de bord, où la fenêtre de &ktimemon; disparaît et une version réduite est affichée dans le tableau de bord. À part la réduction de taille, le &ktimemon; <quote>placé dans le tableau de bord</quote> se comporte exactement comme son grand frère. </para> 
</sect2>

<sect2 id="help">
<title><guimenu>Aide</guimenu></title> &help.menu.documentation; </sect2>

<sect2 id="horizontal-bars">
<title><guimenuitem>Barres horizontales</guimenuitem></title>

<para>En sélectionnant l'entrée de menu <guimenuitem>Barres horizontales</guimenuitem>, &ktimemon; passe de barres verticales à des barres horizontales, et vice versa. Pas très utile, mais c'était facile à implanter ! </para>
</sect2>

<sect2 id="quit">
<title><guimenuitem>Quitter</guimenuitem></title>

<para>L'entrée de menu <guimenuitem>Quitter</guimenuitem> - surprise, surprise -- est utilisée pour terminer &ktimemon;. Il va enregistrer l'état actuel (&pex; le modèle de couleurs, la taille de la fenêtre, s'il est incrusté dans le tableau de bord ou non) et restaure l'état au prochain démarrage. </para>

<para>Les informations de configuration sont enregistrées dans le fichier <filename>$<envar>HOME</envar>/.trinity/share/config/ktimemonrc</filename>, où <filename class="directory">$<envar>HOME</envar></filename> se réfère au dossier utilisateur. Si ce fichier est supprimé, &ktimemon; démarrera dans son état par défaut lors du prochain démarrage. </para> 
</sect2>
</sect1>

<sect1 id="config">
<title>Configuration</title>

<para>Vous pouvez configurer &ktimemon; par le biais d'une boîte de dialogue très simple à utiliser (reportez-vous à la section traitant le <link linkend="config-menu">menu de configuration</link>). Dans la page <guilabel>Général</guilabel>, vous pouvez spécifier l'intervalle d'échantillonnage ainsi que les informations de mise à l'échelle (reportez-vous à la section traitant le <link linkend="xtndmode">mode étendu</link>). Si la case à cocher <guilabel>Mise à l'échelle automatique</guilabel> est cochée, (la mise à l'échelle automatique est détaillée à la section <link linkend="autoscaling">FAQ</link>), les facteurs d'échelle ne peuvent pas être édités, puisque &ktimemon; les détermine automatiquement. </para>

<para>Vous pouvez utiliser la page <guilabel>Couleurs</guilabel> pour vous façonner les couleurs de l'histogramme qui collent à vos préférences personnelles. Une petite barre d'échantillon vous donne une réaction immédiate. </para>

<para>Dans la page <guilabel>Interaction</guilabel>, vous pouvez adapter l'affectation des boutons de la souris. Le fait de cliquer avec un bouton de la souris dans la fenêtre de &ktimemon; peut être ignoré, déclencher un changement de mode (reportez-vous à la section <link linkend="modes">Modes</link>), appeler le menu contextuel (reportez-vous à la section <link linkend="menu">Menu</link>), ou appeler un processus externe. La ligne de commandes spécifiée pour les processus externes est interprétée par le shell standard, &cad; que vous pouvez utiliser les commandes du shell, les variables d'environnement, les redirections, &etc;</para> 

<para>La page <guilabel>Interaction</guilabel> comporte aussi une case à cocher pouvant être utilisée pour désactiver l'apparition automatique des bulles d'aide avec des informations numériques à propos des histogrammes (comparez avec <link linkend="fund">Utilisation de l'interface</link>).</para> 
</sect1>

<sect1 id="faq">
<title>Questions et réponses courantes </title>

<qandaset>
<qandaentry>
<question>
<para>Quels systèmes d'exploitation &ktimemon; gère-t-il ?</para>
</question>
<answer>
<para>&ktimemon; gère les systèmes fondés sur &Linux; avec le système de fichiers <filename class="devicefile">/proc</filename>, les systèmes fondés sur &Solaris; avec la librairie <filename>kstat</filename>, et les systèmes fondés sur Digital &UNIX; (autrefois DEC / OSF1) avec l'interface d'appel système <command>table</command>(2). Seule la version &Linux; a été complètement testée, si vous rencontrez des problèmes avec les portages &Solaris; / Digital &UNIX;, n'hésitez à me contacter. </para>

<para>De plus, des contributions à &ktimemon; pour l'adapter à d'autres plates-formes sont les bienvenues. Veuillez me contacter à <email>m.maierhofer@tees.ac.uk</email> si vous avez l'intention de porter &ktimemon; vers d'autres types d'&UNIX;. </para>
</answer>

</qandaentry>

<qandaentry id="autoscaling">
<question>
<para>Comment fonctionne la mise à l'échelle automatique ? </para>
</question>
<answer>
<para>Content que vous ayez posé cette question. Comme il n'y a pas de facteur d'échelle prédéterminé judicieux pour les opérations de pagination / utilisation du fichier d'échange et les changements de contexte (contrairement à, &pex;, l'utilisation de la mémoire, où vous pouvez prendre la taille totale de la mémoire comme base), &ktimemon; utilise un mécanisme semi-intelligent (hum&etc;) de mise à l'échelle. La mise à l'échelle automatique fonctionne de la façon suivante : </para>

<itemizedlist>
<listitem>
<para>Chacun des trois histogrammes ont un facteur d'échelle associé, comme expliqué à la section <link linkend="xtndmode">Mode étendu</link>. Les valeurs initiales de ces facteurs sont réglées sur des valeurs par défaut. </para> 
</listitem>
<listitem>
<para>À chaque fois qu'un nouvel échantillon est affiché, la valeur respective est provisoirement mise à l'échelle avec le facteur correspondant. Si la valeur peut être affichée avec l'échelle choisie par le facteur, aucun changement n'est effectué (&cad; que les petits changements d'activité sont reflétés par la hauteur changeante de la barre). </para>
</listitem>
<listitem>
<para>Si la valeur mise à l'échelle est soit trop grande, soit trop petite pour être affichée avec le facteur d'échelle actuel, l'échelle est ajustée de sorte que la nouvelle valeur soit affichée à environ la moitié de la barre. De cette façon, les changements ultérieurs auront une grande chance de pouvoir être affichés en fonction de la valeur actuelle, sans avoir à changer le facteur d'échelle une fois de plus. </para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>Pourquoi une boîte de message avec <errorname>diaglostic output from child command</errorname> s'affiche-t-elle : </para>
</question>
<answer>
<para>Si vous affectez un bouton de la souris à une commande comme expliqué à la section <link linkend="config">Configuration</link>, &ktimemon; ne vérifie pas que la commande soit valable. À la place, un shell de commandes est appelé pour exécuter la commande, vous pouvez donc utiliser des commandes du shell, des variables d'environnement et plus. Pour permettre un retour d'informations vers l'utilisateur, &ktimemon; surveille la sortie <systemitem>stderr</systemitem> de la commande shell, et la reporte dans cette boîte de message. </para>

<para>Si ce mode de fonctionnement peut être utile au cas où la commande ne serait pas trouvée, il peut être assez embêtant si la commande appelée affiche des informations anodines sur la sortie <systemitem>stderr</systemitem>. Une solution simple et élégante à ce problème consiste à ajouter <userinput>2&gt;/dev/null</userinput> à la fin de la commande. Ceci redirige les messages de diagnostic vers le cimetière des messages, et arrête l'affichage de la boîte de messages. </para>
</answer>
</qandaentry>

</qandaset>
</sect1>

<sect1 id="ktimemon-thanks-and-acknowledgements">
<title>Remerciements et mentions</title>

<para>&ktimemon; est basée sur une version de Xt de mon frère.</para>

<para>Remerciements à Tobe Toben, <email>ttoben@artis.uni-oldenburg.de</email>, Cristian Tibirna <email>ctibirna@gch.ulaval.ca</email>, Dirk A. Mueller <email>dmuell@rhrk.uni-kl.de</email>, Mark Krischer <email>krischem@amp.com</email>, et Lubos Lunak <email>l.lunak@sh.cvut.cz</email> pour leurs rapports de bogues, correctifs de bogues, commentaires, suggestions. </para>

<para>Traduction française par &YvesDessertine;.</para> 
&underGPL; </sect1>
</chapter>
