# 3.2. Comment installer de nouveaux types de données

## 3.2.1. Que sont les types de données ?

Un fichier contient uniquement des bits et des octects. Une des meilleures façons de les interpréter est de leur donner un sens. Une des méthodes habituelles pour ce faire est d'examiner le nom du fichier. S'il se termine par `.gif` (par exemple), on peut en déduire qu'il s'agit d'une image au format GIF. C'est ce que font de nombreux environnements de bureaux. KFM le fait également, puisque cela très rapide, mais cette méthode n'est pas très pratique. Si l'extension n'est pas disponible, on ne sait pas à quel type de données on a affaire et KFM ne saurait pas avec quoi l'ouvrir. Par conséquent, lorsque KFM ne peut pas se baser sur l'extension du nom, il examine les premiers octects du fichier et les compare à son fichier magic. Cette méthode est appelée automatic-mime-type-detection-magic et elle fonctionne relativement bien. Par conséquent, si une entrée correspondante à ce type de données existe dans le fichier magic `$KDEDIR/share/mimelnk/magic`, KFM saura alors que le fichier `MaFiancée` contient une image.

Vous pouvez enregistrer des types de données dans KFM. Pour vous aider, le pauvre petit aide doit connaître les extensions habituelles de ce type de données, l'icône à utiliser, le texte descriptif, éventuellement, quelle est l'application à utiliser par défaut (nous verrons ça un peu plus tard) ainsi que le type mime.

## 3.2.2. Qu'est-ce qu'un type mime ?

Les types mimes sont un standard issu d'Internet. Ce standard décrit la façon de nommer les types de données. Un type de données est divisé en deux sections. La première informe sur le nature générale des données (image, vidéo, audio, texte...). Comme il existe plusieurs types de textes (sources C, textes en anglais...), plusieurs formats d'enregistrement pour le son, la vidéo..., la seconde partie indique la nature du fichier. Un bon exemple est `image/gif`. La première partie indique qu'il s'agit d'une image tandis que la seconde précise qu'elle est au format GIF.

Si vous n'êtes pas certain d'un type mime, jettez un oeil au fichier magic. De très nombreux types mime y figurent déjà.

Habituellement, ce chapitre n'intéresse que les administrateurs système et les développeurs. Une installation correcte de KDE devrait déjà contenir tout ceci. Cependant, certaines personnes désirant savoir comment ce mécanisme fonctionne, examinons le.

Le répertoire `$KDEDIR/share/mimelnk` contient de nombreux sous-répertoires. Chacun correspond à la première section d'un type mime. Concrètement, notre exemple `image/gif` est représenté par un fichier nommé `$KDEDIR/share/mimelnk/image/gif.kdelnk`. Tous les fichiers de configuration de KFM portent l'extension `.kdelnk`. Parfois KDM cache cette extension puisqu'elle n'est pas très agréable à voir.

Vous vous apercevrez tôt ou tard que la structure de répertoires dans votre `~/.kde` (votre répertoire KDE) est la même que celle de KDE. En tant qu'administrateur de votre machine Linux, vous avez la possibilité de modifier l'ensemble des fichiers de configuration. Tel n'est pas le cas d'un utilisateur d'un ensemble de machines UNIX dans une université. Ce dernier ne peut modifier que ses propres fichiers de configuration. Tout ce que nous disons à propos du répertoire `$KDEDIR` est également valable pour votre répertoire `~/.kde`. Pour modifier les fichiers de configuration globaux stockés dans `$KDEDIR` vous devez posséder le mot de passe de l'administrateur système. Bien évidemment, ce n'est pas le cas pour vos fichiers.

## 3.2.3. Installer de nouveaux types mime

Ce chapitre pourrait être nommé Installer de nouveaux types mime pour les nuls puisqu'il y a de nombreuses images `:-)`.

Nous verrons par la suite comment installer le type mime `image/gif`. Nous n'avons pas besoin de reproduire ces étapes puisque ce type mime est déjà installé. Après avoir lu ce chapitre et après avoir examiné toutes les images, nous saurons comment en installer un nouveau..

Les chiffres noirs cerclés de jaune présents dans les images correspondent aux numéros de la liste figurant sous l'image.

### 3.2.3.1. Ouvrir une fenêtre KFM en ayant les droits de l'administrateur

Sur votre bureau se trouvent des icônes ressemblant à celle-ci :

Cliquez sur cette icône pour ouvrir une nouvelle fenêtre de KFM. C'est habituellement la bonne méthode. Pourtant, nous avons parfois besoin d'une fenêtre semblable tout en ayant les droits de l'administrateur système. Si vous désirez modifier les fichiers de configuration globaux, vous devez avoir un accès root puisque les droits d'écriture sur ces fichiers sont généralement réservés à l'administrateur. Si vous ne connaissez pas le mot de passe de l'administrateur système, vous ne pourrez modifier les fichiers de configuration globaux. Bien entendu, vous pourrez agir sur vos propres fichiers de configuration.

Il existe deux méthodes pour accéder à la fenêtre KFM de l'administrateur système. Vous pouvez vous déconnecter puis vous reconnecter en tant qu'administrateur. C'est la méthode disponible avec Windows NT, aussi nous voulions quelque chose de meilleur. Vous pouvez égamement ouvrir une fenêtre kvt puis devenir administrateur en utilisant la commande `su`. Vous devrez alors démarrer `kfm -ws`. Il est cependant plus agréable d'utiliser `Alt+F2` puis d'entrer `kfmsu`. Une fenêtre de terminal apparaîtra et vous demandera le mot de passe de l'administrateur. Indiquez le et une fenêtre KFM apparaîtra. Une fois que vous aurez terminé ce que vous avez à faire, n'oubliez pas de fermer la fenêtre KFM de l'administrateur système. Ceci fait, le terminal disparaîtra également. Le script `kfmsu` permet à l'administrateur d'accéder à l'écran. Il désactivera cette possibilité automatiquement lorsque vous aurez terminé.

Pour commencer, cliquez une fois avec le bouton gauche de la souris sur le répertoire `Modèles` (ou ouvrez une fenêtre KFM pour l'administrateur comme décrit ci-dessus). Examinez les fichiers présents dans ce répertoire, vous aurez à vous en souvenir plus tard dans ce chapitre.

Ouvrez maintenant le menu `Édition` et choisissez `Types Mime` (ou `Types Mime Globaux` si vous désirez modifier la configuration globale). Maintenant, vous devriez voir quelque chose ressemblant à ceci :

- C'est le fichier magic dont nous avons précédemment parlé. Vous devriez avoir à l'examiner plus tard mais ne soyez pas inquiet, vous n'aurez pas à le comprendre.

- Ce dossier contient le fichier correspondant au type mime `image/gif`. Cliquez sur ce dossier avec le bouton gauche de la souris pour l'ouvrir.

### 3.2.3.2. Créer un nouveau type mime

Ouvrez le menu `Fichier` et sélectionnez `Nouveau`. Vous pouvez dès à présent noter que les noms dans ce menu correspondent aux noms dans le répertoire des modèles. Ce menu vous permet d'accéder rapidement au modèles. Vous obtiendriez le même effet en ouvrant le répertoire Modèles puis en effectuant un glisser/déposer. Sélectionnez maintenant `Type Mime`. Une fenêtre semblable à celle-ci apparaîtra :

- Entrez le nom du fichier ici. Prenez garde à ne pas effacer l'extension `.kdelnk`. Vous pouvez ici remarquer que le nom du fichier n'est rien d'autre que la deuxième partie du nom du type mime. La première partie est composée du nom du répertoire dans lequel vous vous trouvez. Les noms du fichier et du sous-répertoire où vous le déposez n'ont pas beaucoup d'importance. Ce dernier doit juste être dans `$KDEDIR/share/mimelnk`.

- Cliquez maintenant sur le bouton OK et la nouvelle icône apparaîtra dans la fenêtre de KFM.

### 3.2.3.3. Ouvrir la boîte de dialogue des propriétés

Cliquez maintenant avec le bouton droit de la souris sur la nouvelle icône et sélectionnez `Propriétés` dans le menu contextuel. Une boîte de dialogue apparaît :

- Sélectionnez l'onglet nommé `Liaison`.

- Entrez quelque chose permettant d'identifier ce type de données. Si vous désirez utiliser plusieurs identifiants, vous devez les séparer par des `;`

- Entrez ici un texte descriptif. Si votre langue est supportée, vous noterez que la description est dans votre langue. KFM peut stocker plusieurs descriptions, une par langue. Si vous entrez quelque chose ici, cela stocké dans votre langue. Les développeurs devraient s'assurer qu'il y ait toujours une description en anglais. La façon de procéder sera décrite plus bas.

- Entrez le nom complet du type mime.

- Vous pouvez sélectionner une application par défaut ici. Ceci est intéressant si de nombreuses applications sont capables de gérer le même type mime. Si vous cliquez sur l'un de ces types de données, KFM saura quelle application utiliser.

- Sélectionnez une icône. Toutes les icônes sont stockées dans `$KDEDIR/share/icons`. Pour chaque icône existante, il en existe une portant le même nom mais étant deux fois plus petite. Ces dernières sont stockées dans `$KDEDIR/share/icons/mini`. Les icônes standard ont une taille de `32x32` tandis que les mini-icônes ont une taille de `16x16`.

- Cliquez sur le bouton OK.

Maintenant KFM parcourt tous les répertoires puisque les icônes et les paramètres ont pu changer. Vous pouvez forcer KFM à le faire en choisissant `Relire les liaisons` dans le menu `Affichage`. Votre type mime est maintenant enregistré et KFM sait quoi en faire.

Félicitations, vous avez survécu à cette leçon. Il est maintenant temps de faire une pause `:-)`

## 3.2.4. Structure interne d'un type mime

Les fichiers de configuration sont très simples et, bien évidemment, lisibles par un être humain. Vous pouvez en examiner un ci-dessous :

     # KDE Config File [KDE Desktop Entry]
     Type=MimeType MimeType=image/gif
     Icon=image.xpm
     Patterns=*.gif;*.GIF;
     Comment=Gif images
     Comment[de]=GIF Dokument
     Comment[nl]=Gif afbeelding

Vous n'avez pas besoin de comprendre ce que cela signifie puisque KFM dispose d'une interface graphique permettant de les configurer facilement. Les hackers voulant toujours en savoir plus, voici une brève description.

La première ligne correspond à l'en-tête de chaque fichier de configuration KDE. La ligne `Type` est inclue dans chaque fichier de configuration de KFM afin de savoir à quel fichier de configuration on est confronté. Celui-ci est suivi du nom du type mime, de l'icône, un`;` séparant la liste des identifiants et les commentaires en anglais, allemand, etc...

Maintenant les hackers peuvent quitter cette leçon.