Cette page n'est pas encore entièrement traduite. Les parties non encore traduites seront en anglais.
Index
Préparations
Créer un type de fichier personnalisé
Icône
Identification d'un fichier
Description
Application préférée
Attributs supplémentaires
Indexation
Remplir les données
Interrogation de la base de données

Atelier : Types de fichiers, Attributs, Index et Requêtes

Cet atelier est consacré à l’utilisation des attributs, requêtes, de l’indexation et des types de fichiers personnalisés. Pour illustrer leur utilisation, nous allons construire une base de données pour cataloguer notre collection de DVD.

index Préparations

Décidons d’abord du type de fichiers et des attributs dont nous allons nous servir. Au départ, je voulais utiliser pour chaque film un fichier lien vers sa description sur le site web IMdB, mais Haiku ne dispose pas encore de navigateur supportant ces liens, contrairement à BeOS qui avait NetPositive, donc j’ai choisi de conserver des fichiers d’image JPEG de la boîte du DVD.
Nous allons également ajouter quelques attributs. Nous devons décider ici de ceux qui serviront à faire des requêtes (et que nous devrons ajouter à l’index) et si besoin est, quel type d’attribut utiliser. Les nombres (entiers ou flottants) sont en effet comparés différemment du texte (</=/> au lieu de est/contient/commence par).

Voici donc les attributs que je voudrais utliser pour mes DVD :

index Créer un type de fichier personnalisé

Démarrez le panneau de préférences Filetypes et cliquez sur le bouton Add... (Ajouter) sous la liste hiérarchique de gauche. Une boîte de dialogue s’ouvre dans laquelle vous pouvez spécifier dans quel groupe MIME votre type de fichier va résider. Plaçons-le dans « applications » et réglons son nom (« Internal Name ») à DVDdb.

filetypes-new-file-type.png

Ensuite, un panneau de réglages pour votre nouveau type DVDdb s’affiche :

filetypes-dvddb.png

index Icône (Icon)

Double-cliquer sur la boîte d’icône pour ouvrir Icon-O-Matic et ainsi pouvoir dessiner un icône pour votre type de fichier. Vous pouvez aussi glisser-déposer un icône d’un autre type, afin de l’utiliser comme base pour votre version modifiée.

index Identification d'un fichier (File Recognition)

Vous pouvez définir des suffixes comme .txt, .jpg, .mp3 pour que les fichiers ayant cette extensions soient reconnus. Ceci est utile pour les systèmes de fichiers ne reconnaissant pas les types MIME. Nous n’avons pas besoin de cela pour notre exemple.

index Description

index Application préférée (Preferred Application)

Ce menu déroulant affiche une liste des application qui peuvent gérer ce type de fichier particulier. Vous pouvez y choisir quel programme ouvrira ce fichier spécifique lorsqu’il est double-cliqué.

Select... ouvre une boîte de dialogue où vous pouvez choisir avec quelle application ouvrir ce type de fichier. Ici, nous choisissons ShowImage pour afficher la couverture du DVD.
Same as... ouvre une boîte de dialogue où vous pouvez choisir n’importe quel fichier qui s’ouvre avec l’application que vous avez choisie.

index Attributs supplémentaires (Extra Attributes)

Here we enter all the custom attributes we decided on in our preparations. Clicking the Add... button opens a panel to enter all the data for the new attribute. You can edit an existing attribute with a double-click.

filetype-extra-attribute.png

Maintenant, insérez toutes les infos pour les attributs :

Nom interneType d'attributindexé ?Description
DVDdb:title text yes Titre du film
DVDdb:genre text yes Genre
DVDdb:url text no URL
DVDdb:cast text yes Réalisateur/Acteurs
DVDdb:plot text no Intrigue
DVDdb:rating int-32 yes Note de 1 à 10
DVDdb:coord text no Étagère
DVDdb:lent text yes Prêté à

index Indexation

Avant de commencer à entrer des données dans notre petite base de données, nous devrions ajouter certains attributs à l’Index. Seuls les attributs indexés peuvent être utilisés par les requêtes de Haiku.
Donc, qu’allons nous chercher dans le futur ? Nous n’allons probablement pas nous demander « Qu’il y a-t-il dans le coin B4 de mon étagère ? » ou « Est-ce que l’URL de ImDB contient le mot “pope-shenooda” ? ».

Cela laisse les attributs suivants :

Nom interneType d'attribut
DVDdb:titletext
DVDdb:genretext
DVDdb:casttext
DVDdb:ratingint-32

Pour les indexer, ouvrons un terminal et ajouter chaque attribut :

mkindex -t string DVDdb:title
mkindex -t string DVDdb:genre
mkindex -t string DVDdb:cast
mkindex -t int DVDdb:rating

L’option -t définit le type de l’attribut, qui est “string” (chaîne de caractères) pour tout sauf le classement, qui est un entier.

index Remplir les données

Maintenant que tout est configuré nous pouvons commencer à entrer quelques données dans notre base.
Comme notre type de base est une image de couverture, nous allons récupérer celle de notre premier film sur un site web comme IMdB, et l’enregistrer dans un nouveau dossier où nous conserverons tous nos fichiers DVDdb.

Une fois ce dossier ouvert, nous voyons fenêtre Tracker typique avec un fichier JPEG à l’intérieur. En effectuant un clic droit, nous réglons son type de fichier à application/DVDdb avec l’extension Filetype. Pour plus d’informations, consultez la page Types de fichiers.

Maintenant, nous pouvons activer tous nos attributs DVDdb via le menu Attributes de la fenêtre du Tracker et les réorganiser à notre goût :

filetypes-dvddb-empty.png

En cliquant sur un attribut vide (ou par la combinaison de touches CMD E) nous passons en mode édition et renseignons chaque attribut. Vous pouvez naviguer entre les attributs avec TAB et MAJ TAB.

Dans notre exemple, nous partons généralement d’une image JPEG téléchargée et changeons son type vers applications/DVDdb. Il existe une autre manière de créer un tel fichier. Copiez un fichier vide utilisant notre type de fichiers dans /boot/home/config/settings/Tracker/Tracker New Templates et renommez le vers DVDdb.

Par la suite, en effectuant un clic droit dans une fenêtre du Tracker, vous trouverez une nouvelle entrée dans le sous-menu New... en plus de l’entrée par défaut “New Folder” (Nouveau dossier).

index Interrogation de la base de données

Plusieurs heures de travail ingrat plus tard, nous obtenons un base de donner que vous pouvez interroger pour obtenir par exemple tous les films avec Christina Ricci notés 7 ou plus… :)

Vous pouvez choisir l'affichage des attributs de la fenêtre de résultats de vos requêtes de recherche.
Ouvrezs le dossier contenant vos fichiers DVDdb et arrangez les attributs comme vous le souhaitez. Copier cette disposition avec Attributes | Copy Layout.

Ouvrez /boot/home/config/settings/Tracker/DefaultQueryTemplates, créez un nouveau dossier et renommez le de la façon suivante groupe/type_de_ficher, en remplaçant les slashs par des caractères de soulignement; dans notre cas, « applications_DVDdb ».

Ouvrez le nouveau dossier et collez la disposition avec Attributes | Paste Layout. Et voilà:

query-dvddb.png